تا %60 تخفیف خرید برای 3 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آموزش جامع PKI در مایکروسافت و Certificate Services : قسمت 3

بعد از نصب اولین CA در ساختار شما باید Authority Information Access (AIA) and CRL distribution point (CDP) extensions را قبل از هر گونه Certificate Issue تنظیم کنید.در تعریف AIA باید بگم، Subjectها توسط AIA می توانند به CA Server دسترسی داشته باشند و همچنین CA's Certificate و بقیه Certificate را تایید اعتبار و برسی کنند. CDP به Subject ها کمک می کند که به لیست CRL دسترسی داشته باشند و از اخرین Certificateهای باطل شده اطلاع یابند. نکته: اطلاعات CDP and AIA بر روی همه Certificateهای که صادر می شوند اعمال می شود.و جزئی از اطلاعات همراه آن Certificate محسوب می شوند.

Certificate Revocation List چیست؟

شاید برای خیلیا هنوز جا نیفتاده که لیست Certificateهای باطل شده چی هست و چرا باید در کل ساختار منتشر یا پخش شود؟ دوستان هر Certificateی که صادر شود دارای یک طول عمر Life time می باشد و با تمام شدن این Life time آن Certificate دیگر اعتبار ندارد و باطل می شود. در شرایطی که کلید خصوصی آن Certificate توسط هکری یا کسی کشف شود یا در هر موقعیت خطرناک دیگری ادمین می تواند قبل از اتمام life time سرتیفیکت را باطل کند.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم



حالا سوال اصلی اینجاست که چرا باید Certificateها طول عمر داشته باشند؟
به خاطر دلایل زیر:

  1. کشف کردن کلید خصوصی Certificate توسط هکر.
  2. لو رفتن کلید خصوصی CA Server (مصیبت بزرگیه برید از بانک ملی ایران بپرسید به خاطر این اتفاق چه پوستی از آنها کنده شد. (این قضیه متعلق به خیلی وقت پیشه))
  3. خطراتی کلید خصوصی Certificate یا CA's Certificate را تهدید می کند.
  4. CA Server سرتیفیکتی را به یک CA Server تقلبی ارسال کند.
  5. ادمین Certificateی را صادر می کند ولی بعدا متوجه می شود که این Certificate مناسب آن کار نیست.
  6. Subject برای ادامه کار خود نیاز به Certificate ندارد.

و دلایل دیگر .....
نکته: حتی اگر شرایط بالا اتفاق نیفتد باز هم Certificateها نیاز به طول عمر دارند و بعد از سپری شدن طول عمر آنها باطل می شوند و باید آنها را renew کرد.
خب شما در نظر بگیرید در چنین شرایطی Certificate یکی از سرویسهای مهم بنا به دلایلی باطل شود ... الان اگر Subjectی بدون اطلاع از باطل شدن این Certificate از آن استفاده کند چه مشکلی پیش می آید؟؟؟؟ توانائی استفاده از آن سرویس را ندارد . اگر آن سرویس یک VPN Server باشد کاربران نمی توانند به VPN Server وصل شوند....پس برای حل این مشکل باید یک مکانیزمی وجود داشته باشد که وقتی Certificate باطل شود توی شبکه جار بزند که اقا آن Certificate باطل شد جان عزیزتون از آن استفاده نکنید D: پس در نتیجه علت بوجود آمدن لیست سرتیفیکت های باطل شده یا CRL به همین خاطر می باشد. وقتی این لیست در AD منتشر شد کلاینتها این لیست را در خود Cache میکنند تا دم به دقیقه دنبال این لیست نباشند. برای دیدن این لیست بر روی کلاینتها دستور زیر را اجرا کنید:

certutil -urlcache CRL
آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


برای اینکه این لیست از اهمیت زیادی برخورداره در تنظیمات CA Server قسمتی برای تنظیم دستیابی به این لیست وجود دارد.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


دوباره عرض می کنم که: CDP extension به کلاینتها می گوید کجا بتوانند به لیست CRL دسترسی داشته باشند.همانطور که در تصویر بالا مشاهده می کنید چندین مکان یا بهتره بگم مخزن (بنا به تعبیر مایکروسافت) برای دسترسی به این لیست وجود دارد. وقتی کلاینتی نیاز به این لیست داشته باشد به این مخازن رجوع می کند و به ترتیب از اولین مخزن تا اخرین مخزن را به دنبال لیست CRL می گردد.
ما کلا دو لیست CRL داریم:
Base CRLs:
Base CRL لیستی از Certificate های هستن که Expire نشدن ولی بنا به دلایلی ادمین آنها را Revoke یا باطل کرده است.
Delta CRLs:
لیستی از Certificate های باطل شده می باشد که بعد از اخرین انتشار یا Publish لیست CRL ایجاد شده اند. در بعضی از داکیومنتهای مایکروسافت به این لیست، آخرین Certificateهای باطل شده اطلاق میشه. یکی دیگر از مزیتهای این نوع لیست انتشار به روزترین Certificateهای باطل شده می باشد و به علت کم حجم بودن این لیست سرعت دستیابی به آن زیاد است.اگر کلاینتی از دو ایتم بالا استفاده کند، برای تشخیص باطل بودن Certificate باید هر لیست بالا را دانلود کند.

خوبه یه نگاهی به لیست CRL بندازیم:

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم

 

Version: V2 means version 2 of the CRL Profile which is defined in RFC 5280
Issuer: The CA that issued the CRL
Effective Date: The date and time that the CRL first becomes valid
Next Update: The date and time that the CRL expires
Signature Algorithm: The Public Key Cryptography Algorithem and the Hashing Algorithem that were used to sign the CRL
Signature hash algorithm: The hashing algorithm used in to sign the CRL
Authority Key Identifier: This field gives additional information used to identify the issuer of the CRL
CA Version: The bersion number of the CA certificate
CRL Number: A unique identifier for the CRL
Next CRL Publish: The date and time that the next CRL will be published
Freshest CRL: If you are using Delta CRLs this field will show where the Delta CRL can be retrieved, typically this is the same location as the CRL.

با تمام جرات می تونم بگم مهمترین تنظیماتی که در زیر ساخت کلید عمومی وجود دارد تنظیمات همین CDP Extension می باشد. اگر Application نتواند لیست CRL را بدست آورد نمی تواند از خدمات CA Server سرور استفاده کند.ما در تنظیمات CDP Extension دو مخزن مهم برای انتشار CRL داریم:
LDAP:
لیست CRL در Configuration Partition اکتیو دایرکتوری ذخیره می شود و بوسیله Replication در کل Forest منتشر می شود. یکی از مزیتهای آن دسترسی آسان به این لیست می باشد. و معایب آن عدم دسترسی کلاینتهای غیر ویندوزی می باشد و همچنین کاربران اینترنت توانائی دسترسی به این لیست را ندارند.
HTTP:
لیست CRL بر روی یک وب سرور قرار می گیرد. مزیتهای این روش اینست که کاربران از هر جائی می توانند به این لیست دسترسی داشته باشند ومزیت دوم، برای بدست آوردن این لیست نیازی به Authenticate نیست.
علاوه بر مخازن بالا میتوان مخازن دیگری هم ایجاد کرد مانند File یا Share Folder و غیره
خب!!!
شما می توانید توسط اینترفیس های زیر CDP and AIA را تنظیم کنید:

  1. Certification Authority interface
  2. Windows PowerShell
  3. certutil command

ما از محیط گرافیکی استفاده می کنیم.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


همانطور که در بالا می بینید بصورت پیش فرض دو مخزن بصورت اتوماتیک برای کاربران دومین ایجاد شده اند. یکی Share Folder و دیگری LDAP. گذینه های زیر هم نوع Publish کردن لیست CRL می باشد که واضح هستند و نیازی به توضیح خاصی ندارند.انتخاب این گذینه ها برای هر یک از مخازن بصورت استاندارد توسط مایکروسافت تعیین شده (بدین معنی نیست که شما حتما باید مطابق شکل زیر ست کنید ولی یک استانداره)

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


در بعضی از سناریوها لازم میشه که شما مخزن HTTP را برای کاربران بیرون از سازمان مانند کاربران Forest های دیگر یا کاربران اینترنت تنظیم کنید. برای اینکار شما نیاز به یک Web Server دارید که تنظیمات زیر بر روی آن انجام شود.
قبل از اینکار نکات زیر را راعایت کنید:

  1. حتما از DNS Name استفاده کنید نه اسم کوتاه یا NetBIOS
  2. اسم سرور NetBIOS نباید شامل FQDN باشد.
  3. سعی کنید Web Server بر روی سروری غیر از سرور CA Server باشد.
  4. اگر قرار است این وب سرور به کاربران بیرون از سازمان یا کاربران اینترنت سرویس دهد باید A Record آن را در DNSهای خارجی سازمان ایجاد کنید و این سرور را Publish کنید.

ناگفته نمونه اگر CA Server را فقط برای کاربران داخلی سازمان ایجاد کردید نیازی به انجام دادن مراحل زیر نیست.
نکته: در تنظیمات زیر از اسامی و FQDNهای دلخواه یا سازمانی خود استفاده کنید.
و اما تنظیمات:
یک پوشه به نام PKI در درایو C:\ وب سرور ایجاد کنید و آن را Share کنید و به گروه Cert Publishers مجوز Read/Write دهید.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


در آموزش قبلی توضیح دادم گروه Cert Publishers چی هست.
کنسول IIS را اجرا کنید و یک Virtual Directory ایجاد کنید به نام PKI و ادرس پوشه PKI را معرفی کنید.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


در آخر OK کنید.
الان باید به گروه های ANONYMOUS LOGON; Everyone مجوز لازم را بدیم برای اینکار:

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم

 

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


بعد از ایجاد تنظیمات بالا، در همان صفحه وارد تنظیمات Request Filtering شوید و گذینه زیر را انتخاب کنید:

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


و گذینه زیر را تیک بزنید

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


و بعد از آن سرویس IIS را ریستارت کنید.
قدم بعدی باید CA's Certificate و لیست CRL را به این Virtual Directory منتقل کنیم. پس دستورات زیر را در Power Shell اجرا می کنیم:
نکته: این دستورات را در CA Server اجرا کنید.

certutil –crl
copy C:\Windows\system32\certsrv\certenroll\*.crt \\web-srv\pki
copy C:\Windows\system32\certsrv\certenroll\*.crl \\web-srv\pki
Restart-Service certsvc

قدم بعدی ایجاد مخزن HTTP بر روی CA Server میباشد. برای اینکار وارد تنظیمات CDP Extension شوید و HTTP را پاک کنید و بعد از آن دکمه ADD را کلیک کنید و عبارت زیر را در قسمت Location کپی کنید:

http://pki.mycity.local/pki/.crl

و گذینه های زیر را انتخاب کنید:

  • Include in CRLs. Clients use this to find the Delta CRL locations
  • Include in the CDP extension of issued certificates
آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


بعد از آن سرویس CA Server را ریستارت کنید.برای دیدن نتیجه کار در CA Server دستور pkiview.msc را در منوی Run اجرا کنید

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


مشاهده می کنید که CDP Extension با موفقیت تنظیم شد است. و کلاینتها علاوه بر مخازن دیگر میتوانند از مخزن HTTP استفاده کنند.

Authority Information Access (AIA)


الان نوبت به تنظیمات AIA می رسد.AIA بوسیله Applicationها و Subjectهای شبکه برای دستیابی به CA Server و تایید اعتبار آن مورد استفاده قرار می گیرد. این تنظیمات مانند تنظیمات CDP Extension دارای چندین مخزن می باشد:

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


که بصورت پیش فرض مخازن Share Folder و LDAP برای کاربران داخلی ایجاد شده. و ما قصد داریم مخزن HTTP را هم برای کاربران داخلی و خارجی تنظیم کنیم. برای اینکار مخزن پیش فرض HTTP را پاک کنید و دکمه Add را کلیک کنید. و عبارت زیر را در قسمت Location کپی کنید:

http://pki.mycity.local/pki/_.crt

و گذینه Include in the AIA of issued certificates. را انتخاب کنید.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


الان شاید از خودتون بپرسید ما از همان محتوای Virtual Directory تنظیمات CDP استفاده می کنیم!!! قراره اونجا Certificateی کپی کنیم؟؟؟ باید عرض کنم آره ما در تنظیمات قبلی مربوط به CDP در Virtual Directory علاوه بر لیست های CRL سرتیفیکت Certificate CA را هم کپی کردیم. که Subjectها برای دسترسی به CA Server و تایید اعتبار آن استفاده می کنند. از این به بعد Subject ها علاوه بر LDAP, Share Folder مخزن HTTP را نیز دارند که می توانند از آن استفاده کنند.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


الان اگر بریم چک کنیم تنظیمات به درستی اعمال شده!!!! می بینیم جلوی همه مخازن در قسمت Status واژه OK نوشته است و به معنی درستی و صحت تنظیمات می باشد.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت سوم


در آخر باید به این نکته اشاره کنم که کلاینتها برای دسترسی به CDP and AIA بصورت Orderی استفاده می کنند و از هر مخزنی که این اطلاعات را بدست آورند متوقف می شوند و از مخازن دیگر استفاده نمی کنند. کلاینتها برای استفاده از این اطلاعات در هر بازه زمانی 15 ثانیه سعی خواهند کرد به اطلاعات دست یابند و اگر نتوانند در این 15 ثانیه اطلاعاتی بدست آورند درخواست آنها Time Out می شود پس درنتیجه مخازن بلا استفاده و تنظیم نشده را پاک کنید. در جلسه بعدی یکی از کامپوننتهای مهم CA Server به نام Online Responder که مباحث وتنظیمات تکمیلی این جلسه می باشد را آموزش خواهم داد. دوستان بعد از تمام شدن مباحث Certificate Revocation و بقیه مباحث شروع به آموزش Certificate Template و Certificate Enrollment که پایه استفاده از این سرویس می باشد را شروع میکنیم. دندون رو جگر بذارید این مباحث سنگین و حیاتی رو تموم کنیم D:

موفق و سربلند باشید.

نویسنده : احمد جهلولی
منبع : جزیره امنیت اطلاعات و ارتباطات وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

نظر شما
برای ارسال نظر باید وارد شوید.
13 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند