اگر کاربران با استفاده از سرویس HTTPS به وب سایت متصل می شوند، می توانید دستگاه FortiWeb را به گونه ای تنظیم کنید که کاربران را ملزم به ارائه یک Personal Certificate در حین عملیات تایید اعتبار کند. این عمل، احراز هویت از نوع Public Key Infrastructure - PKI نامیده می شود. PKI دارای فاکتور های زیر جهت تایید هویت کاربر می باشد:
- Sole Private Key Possession
مشابه با همه ی X.509 Certificate ها، هویت یک کاربر تنها درشرایطی می تواند به صورت اجتناب ناپذیر تایید گردد که هیچ شخص دیگری به جز خود کاربر Private Key مربوط به Certificate را نداشته باشد.
Public key Encryption یک نوع Encryption نا متقارن می باشد.این Encryption بر اساس دو Key عمل می کند. این دو Key با با وجود تفاوت با یکدیگر ولی در مقابل دقیقا با یگدیگر جفت هستند.
تنها Private Key می تواند داده هایی که توسط Public Key مربوطه Encrypt شده اند را Decrypt کند. و همچنین برعکس تنها Public Key می تواند داده ها یی را که توسط Private Key مربوطه Encrypt شده را Decrypt کند.
- Digital Signatures
- Chain of Trust
تنظیمات PKI Authentication مربوط به کاربر
- در مرحله ی اول Personal Certificate و Private Key مربوطه را از طریق یک CA، برای کاربر فراهم کنید.
- در ادامه Certificate فوق را به همراه Public Key دانلود کنید. بنابرین هر Personal Certificate ای که توسط CA امضا شده قابل تایید می باشد.
- Personal Certificate را به همراه Private key بر روی کامپیوتر کاربر نصب کنید.
- Certificate را در Trust Store مربوط به FortiWeb نصب کنید.
- اگر یک لیست مربوط به Certificate های باطل شده دارید آن را در تنظیمات FortiWeb اعمال کنید.
- بر اساس Operation Mode دستگاه FortiWeb، یک Server Policy یا Server Pool را جهت بررسی Certificate در هنگام تایید Certificat کاربر پیکربندی کنید.
- Server Policy را جهت پذیرفتن HTTPS پیکر بندی کنید.
در ادامه جهت آشنایی بیشتر و فهم بهتر مطلب مثال هایی ذکر خواهد گردید.
مثال: بررسی تنظیمات مربوط به تولید و دانلود یک Personal Certificate از Microsoft Windows Server 2003
اگر سرویس های Microsoft Certificate را بر روی Microsoft Windows 2003 Server اجرا می کنید، می توانید از سرور به عنوان یک CA جهت تولید و امضا کردن Personal Certificate استفاده کنید.
به عنوان بخشی از مراحل امضای Certificate، نسخه ی Personal Certificate توسط CA به مرورگر فرستاده خواهد شد. در نتیجه زمانی که عملیات تولید Certificate به اتمام رسید ، شما باید Certificate را از بخش Trust Store در کامپیوتر Export کنید.
تولید یک Personal Certificate در 2003 Microsoft Windows Server
- مرورگر را باز کرده و URL روبرو را وارد کنید:
/https://<ca-server_ipv4>/certsrv
منظور از ca-server_ipv4 همان IP Address مربوط به CA Server می باشد.
- در ادامه در صفحه ی Login با اکانت Administrator وارد شوید. Home Page مربوط به Microsoft Certificate Services را مشاهده خواهید کرد. بر روی لینک Request a Certificate کلیک کنید.
- در ادامه صفحه ی Request a Certificate را مشاهده خواهید کرد. در این صفحه بر روی لینک Advanced Certificate Request کلیک کنید.
- در صفحه ی جدید بر روی لینک Create and Submit a Request to this CA کلیک کنید.
- در صفحه ی بعدی تنظیمات Template مربوط به Certificate Request را مشاهده خواهید کرد.در فیلد Certificate Template گزینه ی Client Authentication را انتخاب کنید. در فیلد Name نام کاربری که درخواست Client Certificate داده است را وارد کنید و در انتها بر روی گزینه ی Submit کلیک کنید.
- در صفحه ی بعدی بر روی لینک Install this Certificate کلیک کنید.
- مرورگر، Certificate را به همراه Private Key دانلود و آن را در Trust Store نصب خواهد کرد. اگر با هشداری مبنی بر اینکه، این وب سایت یک یا چند Certificate در کامپیوتر شما نصب خواهد کرد، مواجه شدید گزینه ی Yes را انتخاب کنید.
Export کردن یک Personal Certificate از Trust Store در Microsoft Windows 7
- مرورگر Internet Explorer را باز کرده و از نوار بالای صفحه Tools را انتخاب و به Internet Option بروید. سپس مطابق شکل بر روی تب Content کلیک کرده و سپس Certificates را انتخاب کنید.
- در صفحه ی جدید و در تب Personal بر روی Certificate مربوطه کلیک کرده و گزینه ی Export را انتخاب کنید.
- در مرحله ی بعد گزینه ی Yes, export the private key را انتخاب کرده و بر روی Next کلیک کنید.
- در صفحه ی بعد گزینه ی Personal Information Exchange - PKCS #12 - .PFX را به عنوان فرمت فایل انتخاب کنید. در صورتی که قصد دارید هویت کاربر را کاملا گارانتی کنید گزینه ی Delete the private key if the export is successful را نیز انتخاب کنید.
- بعد از انتخاب گزینه ی Next در مرحله بعد باید برای فایل مربوطه یک پسورد انتخاب کنید.
- در مرحله ی پایانی برای فایل Export شده یک نام انتخاب کنید.
- در پایان شما می توانید فایل مربوطه با فرمت pfx را به همراه پسورد در اختیار کاربر قرار دهید.
مثال: دانلود CA Certificate از Microsoft Windows Server 2003
اگر با استفاده از سرویس های Microsoft Certificate در Microsoft Windows 2003/2008 عملیات تولید و امضای Personal Certificate را انجام داده اید باید CA Certificate را جهت استفاده در دستگاه FortiWeb، دانلود کنید. بنابراین دستگاه FortiWeb قادر به تایید CA Signature بر روی هر Personal Certificate خواهد بود.
بررسی چگونگی دانلود یک CA Certificate از Microsoft Windows Server 2003
- مرورگر را باز کرده و URL روبرو را وارد کنید:
https://<ca-server_ipv4>/certsrv
منظور از ca-server_ipv4 همان IP Address مربوط به CA Server می باشد.
- در ادامه در صفحه ی Login با اکانت Administrator وارد شوید. Home Page مربوط به Microsoft Certificate Services را مشاهده خواهید کرد. بر روی لینک Download CA certificate, certificate chain, or CRL کلیک کنید.
- در صفحه ی جدید در قسمت Encoding Method گزینه ی Base64 را انتخاب کرده و سپس بر روی لینک Download CA certificate کلیک کنید.
- در ادامه Certificate مربوطه را دانلود خواهد شد. جهت ذخیره ی فایل، یک مسیر مناسب در کامپیوتر خود انتخاب کنید.
مثال: وارد کردن Personal Certificate و Private Key در Trust Store کاربر در Microsoft Windows 7
اگر قصد وارد کردن یک یا دو Certificate را بر روی کامپیوتر یک کاربر دارید، می توانید به صورت Manual فایل با فرمت pfx را وارد کنید.
بررسی چگونگی وارد کردن یک Client Certificate در Microsoft Windows 7
- مرورگر Internet Explorer را باز کرده و از نوار بالای صفحه Tools را انتخاب و به Internet Option بروید. سپس مطابق شکل بر روی Content کلیک کرده و سپس Certificates را انتخاب کنید.
- در صفحه ی جدید و در قسمت Personal گزینه ی Import را انتخاب کنید.
- در مرحله بعد فایل مربوطه را جهت Import انتخاب کرده و بر روی گزینه ی Next کلیک کنید.
- در ادامه باید پسوردی که جهت افزایش امنیت Private Key در مراحل قبلی استفاده شد را وارد کنید.
- در پایان و در مرحله ی Certificate Store دو گزینه خواهیم داشت:
- Automatically select the certificate store based on the type of certificate: با انتخاب این گزینه Personal Certificate به صورت اتوماتیک در قسمتی که به طور پیش فرض برای Personal Certificate Store در نظر گرفته شده است، قرار می گیرد.
- Place all certificates in the following store: با انتخاب این گزینه می توانید با کلیک بر روی Browse محل مورد نظر خود را برای Personal Certificate Store تعیین کنید.
- در ادامه بر روی گزینه ی Next کلیک کرده و در انتها گزینه ی Finish را انتخاب کنید.
- سپس در کامپیوتر کاربر، مرورگر Internet Explorer را باز کرده و از نوار بالای صفحه Tools را انتخاب و به Internet Option بروید. سپس مطابق شکل بر روی تب Advance کلیک کرده و سپس در قسمت Setting و در قسمت مربوط به Security گزینه ی Check for server certificate revocation را فعال کنید. با فعال کردن این گزینه لیست Certificate های باطل شده چک خواهد شد.
تنظیمات FortiWeb جهت تایید اعتبار Certificate کاربر
جهت معتبر بودن Certificate یک کاربر به موارد زیر توجه شود:
- Certificate فوق نباید Expire شود.
- نباید توسط یک Certificate Revocation List - CRL یا همان لیست های باطل شده عملیات لغو شدن بر روی آن انجام گیرد.
- توسط Certificate Authority - CA که در مراحل قبل در دستگاه FortiWeb وارد کردید، امضا شود.
- شامل یک فیلد CA باشد که مقدار این فیلد با CA Certificate یکسان باشد.
- شامل یک فیلد Issuer باشد که مقدار این فیلد با فیلد Subject مربوط به CA Certificate یکسان باشد.
بررسی تنظیمات مربوط به یک Certificate Validation Rule
Rule های Certificate Validation تعیین می کنند که دستگاه FortiWeb از کدام مجموعه از CA Certificate ها جهت تایید اعتبار Personal Certificate استفاده کند. همچنین اگر Certificate کاربر باید جهت عملیات باطل سازی چک شود، این Rule ها یک CRL را مشخص می کنند.
قبل از شروع تنظیمات باید در ابتدا یک CA Group را پیکر بندی کنید. می توانید جهت گروه بندی CA از مقاله آپلود CA Certificate استفاده کنید. همچنین اگر نیاز به ۀغو و باطل سازی Certificate های نامعتبر دارید، باید یک فایل CRL را آپلود کنید. بحث لغو Certificate ها را در آموزش های بعدی مورد بررسی قرار خواهیم داد.
- از منوی سمت چپ به مسیر System > Certificates > Certificate Verify رفته و گزینه ی Create New را انتخاب کنید.
نکته:
- برای فیلد Name یک نام منحصر بفرد انتخاب کرده تا در دیگر بخش های تنظیمات بتوانید به راحتی از Rule فوق استفاده کنید.در انتخاب نام مورد نظر از Space یا کاراکتر های خاص استفاده نکنید.همچنین حداکثر طول نام باید 35 کاراکتر باشد.
جهت اعمال یک Certificate Verification Rule یکی از موارد زیر را انجام دهید:
- Rule فوق را در تنظیمات Server Policy یا Server Pool ای که دارای سرویس HTTPS می باشد انتخاب کنید.
- Rule فوق را در تنظیمات مربوط به SNI انتخاب کنید.
زمانی که یک کاربر به وب سایت متصل شود، بعد از این که دستگاه FortiWeb یک Server Certificate را ارائه داد از کاربر تقاضا می کند Certificate خود را ارائه دهد. مرور گر صفحه جدیدی را نمایش خواهد داد که به کاربر اجازه می دهد Personal
Certificate مربوطه را ارائه دهد.
استفاده از URL با هدف ملزم کردن یک کاربر جهت ارائه ی Certificate
شما می توانید از Certificate Verification در یک Server Policy جهت ملزم کردن کاربر به ارائه ی یک Personal Certificate استفاده کنید. این مورد در صورتی که دستگاه FortiWeb در حالت Reverse Proxy قرار دارد استفاده می شود.
همچنین می توانید از Certificate Verification در تنظیمات یک Server Pool جهت ملزم کردن کاربر به ارائه ی یک Personal Certificate استفاده کنید. این مورد در صورتی که دستگاه FortiWeb در حالت True Transparent Proxy قرار دارد استفاده می شود.
به صورت جایگزین و به جای استفاده از دو مورد بالا جهت ملزم کردن کاربر به ارائه ی یک Personal Certificate، می توانید با انجام تنظیمات مربوط به ویژگی URL-Based Client Certificate در یک Server Policy یا Server Pool، کاربر را ملزم به ارائه ی یک Personal Certificate کنید. این ویژگی به شما این امکان را می دهد که تعدادی از درخواست ها را ملزم به ارائه ی Certificate کنید در حالی که دیگر درخواست ها ملزم به انجام این کار نیستد. اینکه آیا یک کاربر ملزم به ارائه ی یک Personal Certificate می باشد و یا خیر، بستگی به URL درخواست شده و Rule هایی که در URL-Based Client Certificate Group مشخص می کنید، دارد.
بررسی تنظیمات مربوط به یک URL Certificate
- از منوی سمت چپ به مسیر System > Certificates > URL Certificate رفته و گزینه ی Create New را انتخاب کنید.
- بعد از اختصاص نام مورد نظر بر روی گزینه ی OK کلیک کرده و در ادامه گزینه ی Create New را انتخاب کنید.
نکته:
زمانی که URL مربوط به درخواست یک کاربر با مقدار تعیین شده برای فیلد URL یکسان باشد و همچنین گزینه ی Match فعال شده باشد، دستگاه FortiWeb کاربر را ملزم به ارائه ی یک Private Certificate می کند.
- به تعداد URL های مورد نظر مراحل بالا را تکرار کنید.