# مباحث متفرقه برنامه نویسی > تالار های مرتبط با شبکه و امنیت > امنیت در شبکه > مقاله: نحوه راه اندازی https در ویندوز سرور 2003

## raravaice

*بر نامه های مورد نیاز اولیه :*

1.*Appliaction Server*
2.*Certificate Services*


هر دو برنامه را از طریق *Add Or Remove Programs / Windows Component* انتخاب و کلید Next را بفشارید.
در این مرحله پنجره ویزاردی مشاهده میشود که به شرح زیر مراحل را پشت سر بگذارید.

1.انتخاب گزینه *Stand-alone Root CA* و فشردن کلید Next
2.انتخاب یک نام برای *Common Name For This CA* و همچنین تعیین مدت اعتبار گواهینامه های خود و فشردن کلید Next
3.انتظار برای اتمام مراحل نصب برنامه ها.

-----------------------------------------------------
*صدور درخواست گواهینامه SSL برای وب سایت مشخص.*
بعد از اتمام مراحل نصب دو برنامه مذکور،برنامه *Internet Information Services (IIS) Manager* را واقع در منوی *Start > Administrative Tools* را اجرا نمایید.

در بین شاخه های موجود در پنجره این برنامه شاخه *Web Sites* را انتخاب نمایید تا لیست وب سایتها شما نمایش داده شود. سپس وب سایت مورد نظر خود برای نصب SSL انتخاب و بر روی آن کلیک راست نمایید و از بین گزینه های موجود گزینه *Properties* را انتخاب کنید تا پنجره مشخصاب وب سایت مورد نظر باز شود.

"در این مثال Default Web Site انتخاب میکنیم که معادل با آدرس http://localhost خواهد بود"

در این پنجره از بین Tab های موجود گزینه *Directory Security* را مورد انتخاب قرار میدهیم و از بخش *Secure* *communications* کلید *Server Certificate* را میفشاریم تا پنجره ویزار مرتبط باز شود.
این ویزارد را با طی مراحل زیر به اتمام میرسانیم.

1.در پنجره خوش آمد گویی تنها کلید Next را فشار دهید.
2.در این پنجره گزینه پیش فرض *Create a new Certificate* را انتخاب کنید و به مرحله بعد بروید.
3.در این مرحله *Prepare the request now,but send it later* را انتخاب و به مرحله بعد بروید.
4.در این مرحله نام یک نام برای Cert خود در کادر *Name* انتخاب کنید و همچنین Bit Length کلید SSL را مشخص نمایید. ("در این مثال ما این 2 کادر را به صورت پیش فرض رها میکنیم یعنی Name: Default Web Site و Bit length : 1024 ") وارد مرحله بعد شوید.

5.در این مرحله نامی برای *Organization* و *Organizational unit* انتخاب میکنیم و به مرحله بعد میرویم.

6.در این مرحله نامی برای *Common name* انتخاب میکنیم که به طور پیش فرض نام Server میباشد.

7.در این مرحله *Country , State,City* را نام گزاری و به مرحله بعد میرویم.

8.درخواست گواهینامه ما تقریبا آماده است و در این مرحله این در خواست را به صورت فایل در هارد خود ذخیره میکنیم.

9.در این مرحله تمام مشخصاتی که در مراحل قبل وارد کردیم را مشاهده میکنیم و در صورت تایید کلید Next را میفشاریم و سپس کلید Finish.

درخواست گواهینامه ما با فایلی در پسوند txt بر روی دیسک سخت ما موجود است.
-------------------------------------------------

*ایجاد یک گواهینامه .*

از طریق منوی *Start > Programs > Administrative Tools* برنامه *Certification Authority* را اجرا میکنیم.
در پنجره موجود بر روی نام سرور خود کلیک نمایید تا زیر شاخه ها نمایش داده شوند.
حال بر روی نام سرور خود کلیک راست نموده و گزینه *All Task > Submit new request* را انتخاب میکنیم.
در پنجره باز شده فایل درخوست گواهینامه خود را که در مراحل قبلی و از طریق IIS آن را ایجاد و ذخیره کردیم را انتخاب میکنیم.
حال در خواست گواهینامه شما در زیر شاخه *Pending Requests* قرار میگیرد. بر روی این زیر شاخه کلیک نمایید و از طریق پنجره سمت راست گواهینامه خود را انتخاب و بر روی آن کلیک راست نمایید و گزینه *All Task > Issue* را انتخاب کنید تا گواهینامه شما ساخته شود.

بعد از انجام مرحله قبل گواهینامه شما در زیر شاخه *Issued Certificates* قرار میگیرد این زیر شاخه را انتخاب کنید تا گواهینامه خود را در پنجره سمت راست مشاهده کنید.
حال گواهینام خود را با انجام دابل کلیک بر روی آن باز کنید و وارد پنجره *Certificate* شوید.مشخصات گواهینامه شما قابل مشاهده است ، حال در این پنجره از بین Tab  های موجود *Details* را انتخاب کنید و کلید *Copy to File* را کلیک نمایید تا پنجره ویزار *Certificate Export Wizard* مشاهده شود.

طی مراحل ساخت فایل از طریق پنجره ویزارد :
1. در پنجره خوش آمد گویی کلید Next را بفشارید تا به مرحله بعدی بروید.
2.در این مرحله گزینه *DER encoded binary X.509 .CER* را انتخاب نمایید و به مرحله بعدی بروید.
3.در این مرحله از طزیق *کلید Browse* مسیری که میخواهید فایل گواهینامه در آن ذخیره شود را انتخاب کنید و نامی برای این فایل در نظر بگیرید. دقت کنید *پسوند این فایل cer خواهد بود*.حال کلید Next را فشار دهید و سپس کلید Finish تا گواهینامه شما ذخیره شود.

------------------------------------------------------
*پیوست گواهینامه به وب سایت مورد نظر.*

بعد از اتمام تمامی مراحل بالا و ایجاد گواهینامه SSL حال باید این فایل را به وب سایت مورد نظر خود معرفی نمایید که بر اساس مراحل زیر این کار را انجام میدهیم.

1.برنامه *Internet Information Services (IIS) Manager* را باز میکنیم و از طریق شاخه Web Sitse وب سایتی را که گواهینامه آن را ایجاد کرده ایم انتخاب و پس از کلیک راست گزینه *Properties* را انتخاب میکنیم و وارد Tab موجود *Directory Security* میشویم.
حال مجددا کلید *Server Certificate* را میفشاریم تا پنجره ویزار باز شود.

2.با فشردن کلید Next در پنجره خوش آمد گویی به مرحله بعدی میرویم.

3.در این مرحله چون 1 بار درخواست ساخت گواهینامه برای این وب سایت صادر شده گزینه های قبلی که در مرحله اول این مقاله با آن آشنا شدیم تغییر یافته پس گزینه اول یعنی *Proccess the pending request and install the certificate* را انتخاب میکنیم.
"شما میتوانید با انتخاب گزینه *Delete the pending request* درخواست خود را لغو نمایید"
حال کلید Next را بفشارید.

4.در این مرحله شما میبایست مسیر فایل گواهینامه خود را که در فایلی با پسوند cer در مرحله قبل ذخیره سازی کردید را مشخص نمایید و بر روی کلید Next کلیک کنید.

5.در این مرحله شماره پورت پروتکل https را مشخص کنید و بر روی کلید Next کلیک نمایید.
"به صورت پیش فرض شماره پورت 443 را انتخاب کنید."

6.در این مرحله مشخصات گواهینامه مذکور را مشاهده میکنید و در صورت تایید بر روی کلید Next و سپس Finish کلیک کنید.

حالا شما میتوانید از طریق آدرس https://localhost وارد وبسایت امن خود شوید.

----------------------------------------------------
*پ.و*
1.این گواهینامه تنها برای ایجاد یک پروتکل https ساده میباشد و به علت نداشتن CA معتبر در مرورگر های Firefox 3 و IE 7 با مشکلاتی مواجه است ولی از لحاظ امنیتی هیچ تفاوتی با گواهینامه هایی با CA معتبر ندارد.

2.تمامی مراحل فوق بر روی Windows Server 2003 Enterprise Edition انجام و به اتمام رسیده است.
---------------------------------------------------------------------------
"کلیه حقوق این مقاله آموزشی متعلق به سایت barnamenevis.org میباشد و درج آن تنها با ذکر منبع مجاز است. *:)* "
محمد جاهد منش
موفق باشید

----------


## m.hamidreza

ممنون قربان...



> ولی از لحاظ امنیتی هیچ تفاوتی با گواهینامه هایی با CA معتبر ندارد.


البته گواهینامه های دیجیتال هم سطوح امنیتی متفاوتی دارن U Mean این با کمترین سطح امنیتی CA های معتبر برابری میکنه ؟

----------


## raravaice

> البته گواهینامه های دیجیتال هم سطوح امنیتی متفاوتی دارن U Mean این با کمترین سطح امنیتی CA های معتبر برابری میکنه ؟


CA های معتبر یه جورایی میشه گفت فقط یه نقش روانی رو برای مشتری بازی میکنن مثلا فرض بگیر یه چک داری از یه شخص معتبر توی بازار که سر شناس هست.
 خوب این ربطی به امنیت نداره،CA ها در اصل نقش همون آدم معتبر رو بازی میکنن.
شما وقتی اطلاعات رو با SSL به قول معروف رمز میکنی در حالت معمول 1024 بیتی عمل میکنی و هنگامی که داری این گواهینامه رو میسازی دست خودت هست که چند بیتی باشه البته پیشنهاد میدم برای یه سایت ساده به همون 1024 اکتفا کنی چون بیشتر از اون به علت اینکه حجم داده ها زیاد میشه سرعت ارسال و دریافت کم میشه.

چند تن از دوستان اهل فن در این تاپیک به طور مفصل مورد ابهام شما رو تشریح کرده اند.
https://barnamenevis.org/showthread.php?t=8734


موفق باشید

----------


## m.hamidreza

من این تاپیک رو قبلا دیده بودم، خیلی از مطالبی که جناب Insprise فرمودن به نظر من جای تامل داره! به اونا کاری ندارم.
اتفاقا سطح امنیتشون متفاوته!
اگر انواع محصولات گواهینامه دیجیتال یه CA رو با هم مقایسه کنی میبینی که از لحاظ امنیتی با هم متفاوت هستن مثلا اکثر غریب به اتفاق CA ها ارزونترین محصولشون مینیمم بیتش 40 یا 56 هست و ماکسیمم 128. وب سایت هایی که از این نوع گواهینامه خریداری کردن در مرورگرهای با ورژن پایین مثه IE5 یا روی سیستم عامل ویندوز 2000 حداکثرشون میشه 40 بیت نه 128 ! و این به سادگی قابل هک کردن هست! ولی نوع محصول SGC که قیمت بالاتری هم داره حداقل 128 بیت رو در هر شرایطی تامین میکنه و طبق ادعای CA ها این مشکل رو روی مرورگرهای قدیمی حل کرده!
حالا این چیزی که شما معرفی کرده از لحاظ سطح امنیتی در چه جایگاهی هست؟

----------


## vcldeveloper

> من این تاپیک رو قبلا دیده بودم، خیلی از مطالبی که جناب Insprise فرمودن به نظر من جای تامل داره! به اونا کاری ندارم.
> اتفاقا سطح امنیتشون متفاوته!
> اگر انواع محصولات گواهینامه دیجیتال یه CA رو با هم مقایسه کنی میبینی که از لحاظ امنیتی با هم متفاوت هستن مثلا اکثر غریب به اتفاق CA ها ارزونترین محصولشون مینیمم بیتش 40 یا 56 هست و ماکسیمم 128.


در اون تاپیک هم بحث سر این بود که شما باید به CA مورد نظر اعتماد داشته باشید. اینکه یک CA گواهینامه هایی با کلیدهای کوچک (مثلا 40 بیتی) ارائه میکنه، به دلیل ضعف فنی یا انحصار گواهینامه های با کلیدهای بزرگتر در دست عده ایی شرکت محدود نیست، بلکه این CA بنابر ملاحظات خودش، که شاید منطقی هم نباشه، از کلیدهای بزرگ استفاده نکرده. خب شما هم می تونید برید از یک CA دیگه که برای گواهینامه هاش از کلیدهای بزرگتری استفاده میکنه، سرویس بگیرید. اینطور نیست که تصور کنیم فقط تعداد محدودی CA در دنیا قابلیت ارائه گواهینامه هایی با کلیدهای بالای 128 بیت را دارند! در همین مثالی که دوستمان با استفاده از Win2003 زد، کلید استفاده شده 1024 بیت بود!! شما خودتون می تونید به راحتی اندازه کلید را مشخص کنید.




> حالا این چیزی که شما معرفی کرده از لحاظ سطح امنیتی در چه جایگاهی هست؟


الگوریتم های استفاده شده که در همه - چه CAهای معتبر بین الملی، چه همین CA شخصی که در این مقاله ساخته شد - یکی هست، چون همه از یک استاندارد مشخص و آزاد پشتیبانی می کنند. امنیتش بر میگرده به طول کلید استفاده شده. در مثالی که در این مقاله زده شد، طول کلید را خودتون می تونید مشخص کنید. این دوستمان هم طول کلید را 1024 بیت در نظر گرفتند:




> .در این مرحله نام یک نام برای Cert خود در کادر Name انتخاب کنید و همچنین Bit Length کلید SSL را مشخص نمایید. ("در این مثال ما این 2 کادر را به صورت پیش فرض رها میکنیم یعنی Name: Default Web Site و *Bit length : 1024* ") وارد مرحله بعد شوید.

----------


## m.hamidreza

> الگوریتم های استفاده شده که در همه - چه CAهای معتبر بین الملی، چه همین CA شخصی که در این مقاله ساخته شد - یکی هست، چون همه از یک استاندارد مشخص و آزاد پشتیبانی می کنند. امنیتش بر میگرده به طول کلید استفاده شده.


نه قربان!
در تمام محصولات یک CA معتبر طول کلیدی که برای CSR باید تولید کنی همون 1024 بیت هست! اگه الگوریتم یکی هست چرا با ثابت بودن طول کلید در تمام محصولات VeriSign یا Thawte محصولاتشون رو تو سطوح امنیتی متفاوت میفروشن؟ 
اتفاقا CA ها شما رو به این عدد محدود نمیکنن شما میتونی بیشتر هم انتخاب کنی فقط مشکلی که ممکنه پیش بیاد نوع مرورگر هست که بخاطر سایز بالای کلید ممکنه بترکه! :لبخند: 
منظور من از اون 40 بیت یا 56 و 128 طول کلید نبود :

 Standard SSL Certificates provide a minimum of 40-bit and up to 256-bit SSL encryption. However, certain older browsers and operating systems will not connect at the strongest encryption level available to them unless there is a Server Gated Cryptography (SGC)-enabled certificate on the server. Choose Secure Site Pro, an SGC-enabled Extended Validation SSL Certificate, to enable 128- or 256-bit SSL encryption for over 99.9% of site visitors.

When an SSL handshake occurs between a client and server, a level of encryption is determined by the Web browser, the client computer operating system, and the SSL Certificate. Strong encryption, at 128 bits, can calculate 288 times as many combinations as 40-bit encryption. That’s over a trillion times a trillion times stronger. At current computing speeds, a hacker with the time, tools, and motivation to attack using brute force would require a trillion years to break into a session protected by an SGC-enabled certificate.

The Advanced Encryption Standard (AES) enables 256-bit encryption, much stronger than 128-bit. If your server and your site visitor’s browser support 256-bit encryption, then all VeriSign SSL Certificates will deliver this higher level of protection.

Even though an SSL Certificate is capable of 128-bit or 256-bit encryption, certain older browsers and operating systems still cannot connect at this level.
 Without an SGC certificate on the Web server, Web browsers and operating systems that do not support 128-bit strong encryption will receive only 40- or 56-bit encryption. Users with the following browser versions and operating systems will temporarily step-up to 128-bit SSL encryption if they visit a Web site with an SGC-enabled SSL Certificate:

Internet Explorer export browser versions from 3.02 but before version 5.5
 Netscape export browser versions after 4.02 and up through 4.72
Windows 2000 systems shipped prior to March 2001 that have not downloaded Microsoft’s High Encryption Pack or Service Pack 2 and that use Internet Explorer

 (Internet Explorer browser versions prior to 3.02 and Netscape browser versions prior to 4.02 are not capable of 128-bit encryption with any SSL Certificate.)
Because Web site visitors cannot easily determine the encryption strength of a given session, they depend on the site owner to protect them. True 128-Bit SSL Certificates enable every site visitor to experience the strongest SSL encryption available to them.

 VeriSign is the leading SSL provider of SGC-enabled SSL Certificates, enabling 128- or 256-bit encryption to over 99.9% of Web site visitors
---------------------------------------
Without an SGC-enabled certificate on your site, your visitors using certain older browsers and many Windows 2000 users will only receive 40- or 56-bit encryption. _thawte_ is one of a very few Certification Authorities (CAs) with SGC-enabled SSL certificates that can provide true 128- or 256-bit encryption to the most website visitors. 128-bit encryption offers 2^88 as many possible combinations as 40-bit encryption  That's over a trillion times a trillion times stronger
.

----------


## raravaice

برداشتی که من داشتم اینه که شما خود SSL رو با Server Gated Cryptography که یک مکمل اضافی برای SSL هست اشتباه گرفتی.

http://en.wikipedia.org/wiki/Server_gated_cryptography


*How strong are InstantSSL server certificates?*
              InstantSSL server certificates are 1024 bit capable and support                128 bit browsers.
               The strength of the public key in the certificate is defined by                you when you generate the key pair for your server. If you generate                a 1024-bit key pair and submit the associated CSR (Certificate Signing                Request), then the certificate you receive contains the 1024-bit                public key. If you generate a 512-bit key pair then the certificate                contains the 512-bit public key. 
http://certs.centurywebdesign.co.uk/faq.html

-------------------------------------------
*What is the encryption strength of GeoTrust certificates?*

  All GeoTrust certificates are 128-bit. For each and every session, the server and browser negotiate and choose the highest common encryption strength between them. So if a 40-bit browser user hits your SSL-secured site, the resulting connection will automatically become a 40-bit strength encryption.
  GeoTrust recommends that end-user Subscribers select the 1024-bit encryption strength or the equivalent descriptor option when generating their certificate requests. When the certificate's key length is 1024 or longer, the SSL session key will be 128 bit. If the certificate key length is 512, the SSL session key will be 40 bit or 56 bit.
  If you are running Windows, see Microsoft's bulletin Q300398: "You install a 128-bit high encryption certificate onto Internet Information Server (IIS) version 4.0 or 5.0, then browse with a 128-bit enabled Web browser to IIS by using https://. However, the Web browser only makes a 40-bit or 56-bit Secure Sockets Layer (SSL) session with IIS (size 7927 bytes, updated 6/13/2001 12:54:00 PM GMT)"

http://www.sargasso.net/kb/q104658.j...d=GBBNKPHGBPOF
-----------------

*Server-Gated Cryptography*

Server-Gated Cryptography (SGC) is an extension of SSL that allows financial institutions with export versions of IIS to use strong 128-bit encryption. Although SGC capabilities are built into IIS, a special SGC certificate is required to use SGC. For more information about SGC, see Server-Gated Cryptography.

http://technet.microsoft.com/en-us/l.../cc783543.aspx





و طبق گفته شخص شما :


Standard SSL Certificates provide a minimum of 40-bit and up to 256-bit SSL encryption

خیلی واضح و روشن داره میگه اگر شما از 1024 bit استفاده کنی مرورگرها عملا تا 128 رو پشتیبانی میکنن و اگر از 512 bit استفاده کنی 40 یا 56 رو جواب میدن.
ولی اگر از SGC استفاده کنی شرایط فرق میکنه.

اینم ببین ضرر نداره :
http://www.devx.com/webdev/Article/17085/1763/page/2

این هم کتاب خوبی هست در این خصوص :
http://books.google.com/books?id=pL8...um=1&ct=result

البته تمامی موارد فوق تنها در صورتی صادق هستند که شما از بین هزاران مورد استفاده SSL تنها از آن در وب بخواهید استفاده کنید.

باز هم شاید من در اشتباه باشم ولی اطلاعاتی که من دارم در همین حد هست.

موفق باشید

----------


## m.hamidreza

آقا ممنون بخاطر لینک ها...



> برداشتی که من داشتم اینه که شما خود SSL رو با Server Gated Cryptography که یک مکمل اضافی برای SSL هست اشتباه گرفتی.


البته به نظر من SGC یه مکمل اضافی برای SSL نیست یه توسعه برای SSL هست که تضمین کننده ی امنیت SSL تا حد 99.9 درصد هست، بعبارت دیگه وب سایتی که از SGC استفاده نمیکنه از لحاظ امنیت با وجود داشتن SSL ضعف حاد داره.
(البته حد امنیت متناسب با نیاز امنیتی هست)




> خیلی واضح و روشن داره میگه اگر شما از 1024 bit استفاده کنی مرورگرها عملا تا 128 رو پشتیبانی میکنن و اگر از 512 bit استفاده کنی 40 یا 56 رو جواب میدن.
> ولی اگر از SGC استفاده کنی شرایط فرق میکنه.


 40 بیتی شدن مستقل از 1024 یا 512 بیت بودن CSR هست! حتی اگه CSR همون 1024 هم باشه باز تو IE5 یا سایر مرورگرها و سیستم عامل هایی که معرفی کردم امنیت شما نهایت 56 بیت هست و این خطرناکه حسن...  :افسرده: 
به نظر من لزوم استفاده از CA معتبر صرف امضاء گواهینامه نیست دو تا نکته ی مهم که CA فراهم میکنه یکی همین SGC هست و اون یکی وارانتی ترنس اکشن ها که حتما باید این دو تا نکته رو در حالت استفاده از SSL بدون CA در نظر گرفت.
من تا الان جایی ندیدم که SGC رو بدون CA بشه فراهم کرد آیا این کار شدنیه؟

پ.ن: دوستان اگه اطلاعاتی راجع به امنیت سایت بانک سامان دارن بفرمایند چون SSL این بانک هم بدون SGC هست!

----------


## vcldeveloper

> من تا الان جایی ندیدم که SGC رو بدون CA بشه فراهم کرد آیا این کار شدنیه؟



SGC was created as an extension to SSL, with SGC certificates only issued to financial organisations.

 ...

*This legislation has now been revoked and SGC certificates can now be issued to any organisation.*
 
منبع

----------


## m.hamidreza

:لبخند: 
من نفهمیدم! به نوع Organization کاری ندارم، صادرکننده SGC کیه؟ در انحصار فقط CA ها هست؟

----------


## alimooghashang

آقا من الان یکی ساختم اما نمیدونم چطوری به سایتم ووصل کنم
باید کجا اپلود کنم؟

----------


## m.hamidreza

> آقا من الان یکی ساختم اما نمیدونم چطوری به سایتم ووصل کنم
> باید کجا اپلود کنم؟


این کار باید روی سرور انجام بشه! از پشتیانی هاست بخواین برای وب سایتتون انجام بدن...
(البته شاید هم انجام ندن به دلایلی که خودشون میدونن!)

----------

