Enterprise PKI with Windows Server 2019 Active Directory Certificate Services Part 1

مقدمه

تکنولوژی PKI به شدت برای رمزگذاری داده ها و تأمین امنیت معاملات استفاده می شود و یک الزامی برای متخصصان فناوری اطلاعات برای به دست آوردن مهارت در پیاده سازی PKI با ویندوز سرور در شبکه خود وجود دارد.پس در نتیجه در ادامه سناریو که در قسمت قبل خدمتتون ارائه کردم در این قسمت میخواهیم یک AD CS آن هم از نوع Enterprise را برای این لابراتوار مجازی راه اندازی کنیم. در ادامه با یک مقدمه میریم سراغ نصب و راه اندازی. در نظر داشته باشید تمامی شبکه و نصب و راه اندازی ما بر پایه Windows Server 2019 انجام میگیرد.

PKI چیست

تکنولوژی PKI خلاصه شده عبارت Public Key Infrastructure می باشد که از این تکنولوژی جهت رمزنگاری Data انتقالی بین کامپیوتر ها و شبکه ها استفاده می شود. این تکنولوژی به روش رمز نگاری نامتقارن یا Asymetric Cryptography معروف است.

در این روش ۲ کلید مجزا جهت رمز نگاری وجود دارد و استفاده می شوند که عبارتند از :

  •    Public Key
  •   Private Key

از مهمترین کاربرد های PKI ایجاد زیرساخت امنیتی جهت ساختن امضاهای دیجیتالی (Digital Certificates) و گواهینامه های دیجیتالی   (ِDigital Certificates) می باشد که برای اهراز هویت کاربران و Encrypt شدن Data انتقالی بین آنها و سرویس در حال استفاده مورد استفاده میشود. 

تشریح سناریو

شش مرحله زیر فرایند اصلی اجرای PKI را تشکیل می دهد.در این سناریو یک سرور داریم به نام RootCA که به صورت standalone server ( عضو هیچ Domain ای نمی باشد و مستقل از شبکه ما می باشد). سپس یک Subordinate CA با نام SubCA در ویندوز سرور ایجاد می کنیم که در Domain ای به نام rebeladmin.ir عضویت دارد برای صدور گواهینامه های دیجیتال در شبکه.امنیت RootCA را ما با افلاین کردن اون و قطع کردن ارتباطات شبکه ای آن تامین میکنیم و فقط زمانی انلاین میشه که بخواد برای Subordinate CA ما گواهینامه صادر کنه.

مراحل اصلی

  1. ساختن یک standalone root CA
  2. ایجاد یک enterprise subordinate CA
  3. گسترش certificate templates در شبکه یا به اصطلاح Deploy کردن آن
  4. Enable certificate auto-enrollment
  5. Set certificate revocation policies
  6. Configure and verify private key archive and recovery

۱- ساختن یک standalone root CA

این اولین نقش AD CS است که در یک PKI سازمانی نصب می شود. برای محافظت از CA root، یک روش معمول این است که آن را به صورت آفلاین نگه دارید تا مخاطره را به حداقل برسانید و آن را فقط هنگام صدور گواهینامه Subordinate CA آنلاین کنیم. خوب من یک ویندوز سرور ۲۰۱۹ اماده کردم که توی شبکه ما به صورت مستقل می باشد و یک رول AD CS روی اون اضافه و پیکربندی می کنیم.

هنگامی که CA نصب می شود، نقش AD CS را به عنوان یک Standalone CA و از نوع Root CA پیکربندی کنید. در اینجا، همانطور که در زیر نشان داده شده، طول کلید را به ۴۰۹۶ تنظیم کردم و آن را به عنوان RebelAdminRootCA نامگذاری و پنج ساله گیکربندی شد.

هنگامی که CA ایجاد می شود، نیاز به پیکربندی تنظیمات CA با اطلاعات مربوط به Subordinate CA است. روی زبانه Extensions کلیک کنید و یک CDP را به Subordinate CA که یک distributing certificates است اضافه کنید. شکل زیر یک CDP با optional settings به صورت زیر پیکربندی شده است نشان می دهد :

http://subCA.rebeladmin.local/certdata/<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl

همچنین یک لوکیشن جدید برای AIA با optional setting

http://subCA.rebeladmin.local/certdata/<ServerDNSName><CaName><CertificateName>.crt

حالا revocation list را publish کنید .

در کنسول Certificate ، MMC را snap-in کنید و export کنید فایل cer.، بدون کلید خصوصی، و همچنین برای دسترسی های بعدی Subordinate CA  محتوای C:\Windows\System32\CertSrv\CertEnroll را به محل $rootca\_pocket کپی کنید، همچنان که در زیر نشان داده شده است.

خوب کار ما برای مرحله اول به اتمام رسید و ROOTCA در جایگاه خود آماده سرویس دهی می باشد.

۲- ایجاد یک enterprise subordinate CA

در این مرحله من یک Subordinate CA در AD برای پاپلیش کردن certificate به تمامی کلاینتهای شبکه نصب و راه اندازی می کنم. در این مرحله بر روی سروری که عضوی دامین rebeladmin.local است Role مربوط به ADCS را با CA و Web Enrollment services نصب می کنیم و همان طور که در شکل مشاهده می کنید Setup type را Enterprise CA و CA Type را اینبار به جای root CA گزینه subordinate CA را انتخاب می کنیم.

در نظر داشته باشید که من یک ویندوز سرور ۲۰۱۹ در پستهای قبلی با نام Rebel-DC1 و دومین rebeladmin.local راه اندازی کردم، در نتیجه دراین مرحله من از همان سرور استفاده کرده و این سرور جدید رو به همان دومین join می کنم و مراحل رو ادامه می دهیم.

و در عکس زیر نشان می دهد که آن به نام RebeladminSUBCA نامگذاری شده است و یک فایل درخواست در محل پیش فرض ذخیره می شود.


root CA certificate را در سرور Subordinate CA نصب می کنیم و دقت داشته باشید که هنگام نصب local machine’s انتخاب و مانند عکس زیر در Trusted Root CA certificate ذخیره کنید.


همچنین c: \ inetpub \ wwwroot \ certdata را ایجاد کرده و فایل crl و crt را از سرور CA root به صورت زیر قرار دهید.

خوب در این مرحله کار ما در سرور Subordinate CA تمام شده است و الان کاری که بایستی انجام شود این است که فایل درخواست ایجاد شده را که دارای پسوند req است (محل فایل درخواست ما در درایو C سرور دوم ذخیره شده است که آن را وارد سرور اول میکنم) بصورت دستی روی Root CA کپی کرده و وارد کنسول مدیریت CA در Root CA شوید و مراحل زیر را انجام دهید، ابتدا بر روی نام CA راست کلیک کنید و گزینه Submit new request را انتخاب کنید، در اینجا محل قرارگیری فایل درخواست را مشخص کنید و در نهایت Open را بزنید. دقیقا مشابه آنچه که در پایین مشاهده می کنید.

گام بعدی خروجی گرفتن یا کپی کردن Certificate صادر شده از قسمت Issued می باشد. برای کپی کردن Certificate کافیست ابتدا بر روی Certificate مورد نظر راست کلیک کرده و گزینه Open را بزنیم و سپس تب Details را باز کنیم و گزینه Copy to file را انتخاب کنیم، طبق مراحل جلو برویم، توجه کنید که در اینجا حتما گزینه p7b بایستی برای خروجی انتخاب شود. به تصاویر زیر دقت کنید.

هنگامی که گواهی p7b صادر می شود، آن را باز کرده و تمام گواهی ها را برای مطمئن شدن مورد بررسی قرار دهید، همانطور که در زیر نشان داده شده است.

ومرحله نهایی، در سرور subordinate CA اگر دقت کنید سرویس CA service فعال نیست و در حالت Stop دارد، در نتیجه کنسول CA را باز می کنیم و فایل p7b ی را که در مرحله قبل در سرور ROOTCA خروجی گرفتیم به این سرور انتقال داده و مطابق شکل زیر Install می کنیم و سپس CA service را Start می کنیم.

همانطور که درعکس زیر نشان داده شده است، هنگامی که سرویس CA با موفقیت راه اندازی شد، نماد در حالت علامت چک سبز رنگ می باشد.

در این زمان وقت آن رسیده است که Root CA certificate را روی دومین کنتر لر خودمون (DC) در قسمت Trusted Root CA به صورت زیر import می کنیم.بخازر اینکه در صورتی که سیستمهای ما توی شبکه این certificate رو نداشته باشند certificate ی که از طرف SubCA دریافت می کنند به صورت غیر قابل اعتماد (not trusted) می باشد.

۳- گسترش certificate templates در شبکه

در این مرحله بعد از آماده شدن ساختار CA مرحله بعدی certificate templates را گسترش میدهیم یا به اصطلاح deploy می کنیم.در نتیجه در سرور Subordinate CA بعد از باز کردن کنسول CA مشابه شکل زیر روی فولدر Certificate Templates کلیک راست کرده و managing را انتخاب می کنیم.

در این مرحله از کنسول Certificate Template یک template را انتخاب کرده و یک کپی از آن میگیریم و تغییرات مورد نظر را روی آن انجام داده و به اسم دلخواه ایجاد می کنیم. در شکل زیر به عنوان نمونه تغییرات بر روی smart card logon و web server را انجام داده ایم که میتوانید مشاهده کنید:

و همچنین Web Server

همانطور که در زیر نشان می دهد کنسول قالب های گواهینامه شامل دو قالب جدید تعریف شده است.

مرحله بعدی، publish کردن دو templates برای صدور (issuing) گواهینامه ها (certificates) است. در کنسول CA بر روی پوشه Certificate Templates کلیک راست کرده و همانند مراحل زیر انجام میدهیم.

ما certificate templates ایجاد کردیم و آنها را published کردیم در نتیجه همه چیز آمادس پس در نتیجه در این مرحله من برای تست، یک سرور جدید ایجاد کردم به نام IIS که به شبکه Join شده و به عنوان Web Server من هستش ( در سناریوی میتونید مشاهده کنید ) و در اون من یک درخواست domain certificate از کنسول IIS رو میدم، که در زیر می تونید ببینید که کار به درستی انجام شده.( ما نیاز به این وب سرور در سناریوی اصلیمون نداریم ولی میل سرور و اسکایپ ما به همین صورت هستن و ما با این تست مطمئن میشیم و دیگه به مشکل بر نمیخوریم)

در شکل زیر web server certificate ما به درستی ایجاد شده.

۴- Enable certificate auto-enrollment

قابلیت Auto-Enrollment فقط در محیط دومین قابل پیاده سازی می باشد. 
برای اینکه کاربرها بتوانند اتوماتیک این Certificate را درخواست دهند و بر روی خود اعمال کنند. تمامی مراحل درخواست ، تمدید و بروزرسانی به صورت خوذکار انجام می شود. این تنظیمات در قسمت Public Key Policies از طریق GPO انجام می گیرد.

مراحل زیر فعال کردن certificate auto-enrollment برای AD CS client روی dc.rebeladmin.local را نشان می دهد:

برای تست کردن و تائید کارهای که انجام دادیم به عنوان نمونه بعد از مراحل بالا در سرور Subordinate CA دستور gpupdate /force بزنید تا Group Policy بازنویسی ( refresh ) شود و مطابق شکل زیر از کنسول mmc برای بررسی certificate صادر شده برای User استفاده کنید.

امیدوارم تا اینجای کار مشکلی نداشته باشید.

ادامه مراحل در قسمت بعد

یا حق.

۰ ۰ votes
Article Rating
اشتراک گذاری:
مسولیت زندگیتان را به عهده بگیرید. این را بدانید … فقط شما هستید که میتوانید خودتان را به جایی که میخواهید برسانید، نه هیچکس دیگری.
پست ایجاد شده 14
اشتراک در
اطلاع از
guest

16 نظرات
قدیمی ترین
جدیدترین بیشترین رای
Inline Feedbacks
View all comments
live score 22 may 2017
۴ دی ۱۳۹۷ ۵:۳۱ ق٫ظ

Thanks for every other informative blog. Where else may I get that kind of information written in such an ideal means?
I have a mission that I’m simply now running on, and I’ve
been at the glance out for such information. http://jugendfest.de/jugendfestler/pages/ref.php?wohin=http%3A%2F%2Fconcanchamberofcommerce.net%2F__media__%2Fjs%2Fnetsoltrademark.php%3Fd%3D918.network%2Fdownloads%2F85-download-live22

download cashman casino
۵ دی ۱۳۹۷ ۳:۴۹ ق٫ظ

If you get doubts when contacting a person, might find be pay day loans looking pertaining
to else. Keep your content short and just the guide.

Are you using keywords that are extremely competitive? http://Www.serialblog.com/__media__/js/netsoltrademark.php?d=www.timebra.com%2Fhome.php%3Fmod%3Dspace%26uid%3D133707%26do%3Dprofile

play8oy android download
۵ دی ۱۳۹۷ ۷:۲۴ ق٫ظ

This is when you must be a very good writer. Your visitors have to be perfect for learn regarding product of
as well as be entertained by you. It is also can increase your blog’s google page rank. https://918kiss.host/71-playboy-casino

live blackjack indiana
۵ دی ۱۳۹۷ ۹:۱۷ ق٫ظ

Excellent post. Keep posting such kind of info on your blog.
Im really impressed by your blog.
Hey there, You’ve done an excellent job. I will definitely digg it and individually suggest to my
friends. I am sure they’ll be benefited from this website. http://totaltransformation.org/__media__/js/netsoltrademark.php?d=918.network%2Fdownloads%2F82-ntc33

918 kiss
۵ دی ۱۳۹۷ ۹:۱۹ ق٫ظ

It’s difficult to find knowledgeable people about this subject,
but you seem like you know what you’re talking about!
Thanks https://918.network/downloads/79-download-918kiss-download-918-kiss-download-scr888

Jimmy
۶ دی ۱۳۹۷ ۶:۱۰ ب٫ظ

It’s very easy to find out any matter on net as compared to textbooks, as I found this paragraph at this site. I’ve been surfing online greater than three hours these days, yet I by no means discovered any fascinating article like yours. It’s pretty price enough for me. In my view, if all site owners and bloggers made just right content material as you probably did, the net will probably be much more helpful than ever before. Everyone loves what you guys tend to be up too. This type of clever work and reporting! Keep up the excellent works… ادامه مطلب »

Sail-buffalo.com
۸ دی ۱۳۹۷ ۹:۵۵ ب٫ظ

I really like looking through a post that will make
people think. Also, thank you for allowing for me to comment!

afrikinterim.com
۹ دی ۱۳۹۷ ۷:۲۸ ب٫ظ

I’m not that much of a online reader to be honest but your blogs
really nice, keep it up! I’ll go ahead and bookmark your site to come back in the future.
Cheers

Helene
۱۰ دی ۱۳۹۷ ۳:۱۹ ق٫ظ

I am really inspired with your writing talents and also with
the layout in your weblog. Is this a paid topic or did you customize it your self?
Either way keep up the excellent quality writing, it is uncommon to peer a nice weblog
like this one today. http://mipedu.nhc.ac.uk/UserProfile/tabid/106/userId/3492086/Default.aspx

sterre.co.za
۱۰ دی ۱۳۹۷ ۳:۲۶ ق٫ظ

Just desire to say your article is as surprising. The clearness to your post is
just spectacular and i could assume you’re knowledgeable
on this subject. Well together with your permission let me to
clutch your RSS feed to stay up to date with forthcoming post.
Thank you one million and please carry on the rewarding work.

turmeric And Ginger
۱۰ دی ۱۳۹۷ ۳:۵۸ ق٫ظ

Unquestionably believe that which you said. Your favorite justification seemed to be on the internet the simplest thing to
be aware of. I say to you, I certainly get annoyed while
people think about worries that they just do not know about.
You managed to hit the nail upon the top and also defined out the whole thing without having side
effect , people can take a signal. Will likely be back to
get more. Thanks https://mse.gist.ac.kr/~nsl/public_html/index.php?mid=sub_020301&document_srl=1228703

Agence communication
۱۵ دی ۱۳۹۷ ۱۱:۱۳ ق٫ظ

Tout start par la création de votre web site internet.

how to win at a casino
۱۷ دی ۱۳۹۷ ۶:۴۷ ب٫ظ

I’m truly enjoying the design and layout of your blog.
It’s a very easy on the eyes which makes it much more enjoyable for me
to come here and visit more often. Did you hire out a developer to create your theme?
Exceptional work!

toilet repair
۱۸ دی ۱۳۹۷ ۸:۰۹ ق٫ظ

I savor, cause I found exactly what I used to be looking for.
You have ended my four day long hunt! God Bless you man. Have
a great day. Bye

Eli Tiger
Eli Tiger
۹ بهمن ۱۳۹۷ ۱۰:۵۳ ق٫ظ

.Hi.I think I’ve found the solution
Thank you,

محمدیوسف میرجلیلی
محمدیوسف میرجلیلی
۱۱ بهمن ۱۳۹۸ ۳:۴۳ ق٫ظ

با سلام و تشکر فراوان؛
از این مقاله خیلی بهره بردم. ممنون که به زحمتش را کشیدید.

پست های مرتبط

متنی که میخواهید برای جستجو وارد کرده و دکمه جستجو را فشار دهید. برای لغو دکمه ESC را فشار دهید.

بازگشت به بالا
11
0
Would love your thoughts, please comment.x