آموزش راه اندازی ca server Certificate Authority
Certificate Authority
برای وارد شدن به گروه تخصصی شبکه لینک زیر را کلیک کنید
https://t.me/joinchat/JrNxcE-Os-Byjwto3A8UqQ
ca server مخفف certificate Authority هست و این سرویس فقط در مایکروسافت وجود دارد cs سرویس به معنی صادر کردن گواهینامه میباشد
مبحث ca server یکی از پیچیده ترین سرویس های مایکروسافت هست و فقط مختص به مایکروسافت هست یعنی ca server نه در لینوکس هست و نه در سیسکو و نه در میکروتیک و نه جای دیگه فقط مختص به مایکروسافت هست
ca server مسئول صدور گواهینامه به کامپیوتر ها و کاربران سرویس های نرم افزار و سخت افزار شبکه می باشند
نصب و کانفیگ CA server
کلا نصب ca server توی دوتا فاز هست active direstory certificate authority که ما در این مقاله بهش می پردازیم خوب میریم سراغ نصب ca server مون
توی قسمت roleand feature addگزینه server managment قسمت role base و انتخاب رول active directory certificae
pki مخفف Public Key Infrastructure هست
public key و private key
ما یک کلید publik key داریم و یک کلید private key
دیتای ما با public key رمز نگاری میشود و با private key از رمز نگاری در میاد
کاربرد pki
1- میتوانیم برای مقاصد امنیتی استفاده کنیم که شامل EFS میشود Encription
Https ssh ,ssl 2-
3- dihital signinig
4-software signing
5-smart card
این مثال های بود برای استفاده از pki
یه مثال راحت میزنم برای اینکه بهتر متوجه شوییم
من میخواهم به سرور بانک وصل شوم یعنی درخواست میکنم کلید publik kay بانک را
بانک میفرسته public key را اگر اون وسط یه هکر این public key را عوض کنه و برای من public key خودش را برای من بفرسته چی
اون موقعه هست که باید ca server باشد که جلو این هکر ها را بگیرد
کانال تلگرامی شبکه
نصب و کانفیگ CA server
کلا نصب ca server توی دوتا فاز هست active direstory certificate authority که ما در این مقاله بهش می پردازیم خوب میریم سراغ نصب ca server مون
توی سرور منیجمنت گزینه add role and features رول active directory certificate autority را انخاب میکنیم
قسمت certificate autority را انتخاب میکنیم
و گزینه install رو میزنیم
کانفیگ ca server
گزینه configure active directory certificate web service را انتخاب میکنیم
و با اعتبار administrator
میخواهیم certificate autority را کانفیگ کنیم
میگه میخواهی enterprise ca داشته باشی یا stand alone چون اکتیو دایرکتوری نداریم stand alone میسازیم
میگه میخواهی enterprise ca داشته باشی یا stand alone چون اکتیو دایرکتوری نداریم stand alone میسازیم
میگه root-ca باشه یا subordinate
ما root-ca را انتخاب میکنیم
میگه یک private key بساز و اگر موجوده انتخاب کن
طول کلید نباید بیشتر از 768 باشد و ما 1024 انتخاب میکنیم و یک hash algoritm انخاب میکنیم
و یک نام برای ca server مون انتخاب میکنیم من گذاشتم root-ca
تاریخ اعتبار CA CERVER
میگه این CERTIFICATE تا چند سال اعتبار داشته باشه
و مسیر دیتابیس را انتخاب میکنیم
حالا توی administrative tools کنسول Certification Authority را باز میکنیم
extention
ما روی root کلیک راست میزنیم قسمت extention میگه crl destinistion pont cdp
همه رو remove میکنیم و میگیم مسیرم کجا قرار بگیره
و من گفتم توی درایو c:/crl/a.crl و اسم فایل را a.crl بزار و بعد تیک publish crl to this location میزنیم
حالا روی ریوک کلیک راست all task گزینه publish و new crl میزنیم و فایل ما با نامcrl در پوشه crl ساخنه میشه
الان فایل a.crl من ساخته شد حالا این فایل را باز میکنم این فایل لیست فایل های certificate های باطل شده هست
حالا برای اینکه کلاینت ها از هر جای دنیا بیان این لیست certificate های باطل شده را بگیرن باید از یه وب سایت دریافت کنن حالا ما یه iis نصب میکنیم و این فایل را داخل این وب سایت قرار میدهیم
IIs
توی IIS یک سایت با نام crl میسازیم و اون مسیر را داخلش قرار میدهیم که بتونن دانلود کنند
include crl و include cdp
حتما باید این دو تا گزینه را تیکشون را بزنیم include in crls client use this to find data crl location
توی IIS یک سایت با نام crl میسازیم و اون مسیر را داخلش قرار میدهیم که بتونن دانلود کنند
حالا برگردیم توی قسمت extention و ما گفتیم cdp کجا باشه توی مسیر c و پوشه crl حالا یه بار دیگه add میکنم و وب سایتی را که قرار دانلود کنه میزنیم http://192.168.10.1/a.crl را
و میگم این مسیر را قرار بده داخل certificate هایی که صادر میکنی ،که کلاینتی که میخواداین certificate را بگیره این مسیر را برداره و دانلود کنه و نگاه کنه ببینه شما جز این certificate باطل شده نباشید
حتما باید این دو تا گزینه را تیکشون را بزنیم include in crls client use this to find data crl location
include all crls species where to publish in the active directory
کلا من یه وب سروری داریم با وب سایت که یک کلاینتی داریم میخواد این وب سایت را با https ببینه پس پای یه certificate سروری وسط هست ما میایم certificate رو توی مد stand alone و توی حالت root-ca کانفیگ کردم هست
حالا باید cdp را کانفیگ کنم که اومدم توی درایو c یه فولدری بساختیم به نام crl و به cdp گفتم برو توی درایو تو این پوشه بشه cdp ات
یعنی هر وقت خواستی لیست certificate های باطل شده را publish کنی توی این فایله بزار
حالا ما یه مسیری باید بگم که کلاینت های کل دنیا بدون یوزر و پسورد به این وصل بشن و این لیست را دانلود کنن اگر شبکه دومین بود میتونستم ldp کنم و یا شیر کنم و چون ما standalone هستیم و در سطح اینترنت مورد استفاده شاید قرار بگیره بهترین راحل مسیر url هست پس ما کانفیک کردم پد را path مسیر را
گرفتن certificate
حالا مراحل بعدی مرحله ای هست که وب سرور من پابلیک کی و پرایوت کی جنریت کنه و ارسال کنه به ca server و ما import کنیم توی ca و ما issue کنیم certificate را و اکسپورت بگیریم certificate را و بفرستیم برای وب سرور ما و import کنیم certificate را داخل وب سایت کل کار ما این هاست یعنی 7 مرحله هست
مراحل دریا فت certificate
1- genrate publik key and private key
2- send publik key to ca
3-import publik key to ca
4-issue to ca
5- export certificate
6- send export to web server
7-import to web service
میریم سراغ وب سرور این وب سرو یه سایتی داره به عنوان mcseha.ir که میخواد یه ثرتیفیکیتی certificate بگیره یعنی میخواد یه publik key و private key جنریت کنه , public key را بده ca server که اون را امضا کنه و برگردونه میایم توی یک سیستم دیگه که وب سرور مون هست قسمت server certificate
آموزش راه اندازی ca server Certificate Authority
مرحله 1
قسمت creat certificate request
creat certificate reques
درخواست یه ثرتیفیکیت میدیم بعد در پنجره ای که باز میشه قسمت comon name میگه این ثرتیفیکیت برای کی باشه من اسم سایت را زدم یعنی میخواهم مجوز برای این وب سایت بگیرم
یک مسیر برای ذخیره درخواست انتخاب میکنی
حالا در خواست ارسال شده را باید بفرستی برای ca server
این درخواست را من share کردم
و ارسال به ca server از طریق share
برای ca server فرستادم حالا توی ca server باید این درخواست را سابمیت submit کنم کلیک راست روی root-ca
و گزینه all task و گزینه submit new request
pending request
بعد از اینکه submit کردیم یعنی درخواست های ارسال شده توی pending قرار میگیره
issue
در خواستی که توی pending قرار داره میفرستیم توی مرحله issue ما توی issue ثرتیفیکت درخواست شده برای اون وب سایت امضا میشود و بعد این ثرتیفیکیت را میفرستیم برای وب سرویسی که درخواست ثرتیفیکیت داد
در تب certificate path میگه root-ca یک ثرتیفیکیت
certificate صادر کرده برای www.mcseha.ir
اطلاعاتی که برای ما مهم هست توی تصویر گذاشتم
export
حالا این ثرتیفیکیت را امضا کردیم و از مرحله ایشو issu میخواهیم اکسپورت export کنیم و برای وب سرویسی بفرستیم که تقاضای ثرتیفیکیت کرد توی مرحله ایشو issu ثرتیفیکیت را باز کرده و از تب details قسمت copy to که در شکل بالایی هست مسیر انتخاب میکنیم و اکسپورت میکنیم
بعد از اینکه اکسپورت کردیم میفرستیم برای وب سرویس ثرتیفیکیت اکسپورت شده را
حالا در وب سرویس iis ثرتیفیکیت خود را وارد میکنیم گزینه complete request certificate را میزنیم
بعد توی قسمت وب سرویس گزینه bindings و http را میتونین حذف کنید و https را اضافه کنید بورت https 443 میباشد وسمت freaindly name هم همونی که قبلا گذاشتیم خودش میاد
وارد کردن certificate ca به certificate های تراست شده در کلاینت
یعنی ما بخواهیم سایت را باز کنیم در یک کلاینت یک خطایی به ما نشان میدهد
There is a problem with this website’s security certificate
و این پیام خیلی خطرناک هست بیشتر فشینگ ها این روشی هستند و شما تحت هیچ شرایطی نباید دکمه continue را بزنین اگر زدین یعنی هک میشین
این پیام یعنی سایت امن نیست پس باید ca server خودمون را بهش تراست کنیم
در قسمت run دستور MMC را وارد میکنیم . پنجره مربوط به کنسول باز میشود و از منوی فایل add remove snap-in را وارد میکنیم و طبق شکل زیر انجام دهید
بعد از وارد کردن ca ما به certificate های تراست شده سایت https://www.mcseha.ir باز میشود و تو جه کنید تصویر یک قفل کنار وب سایت هست و اون پیام دیگر نشان داده نمیشود There is a problem with this website’s security
code signin
در قسمت run دستور MMC را وارد میکنیم . پنجره مربوط به کنسول باز میشود و از منوی فایل add remove snap-in را وارد میکنیم و طبق شکل زیر انجام دهید
کد ساین این code sign in برای یوزر هست و میتونیم یه متن را امضا دیجیتال کنیم
برای یوزر code sign in و mail sign in و dfs هستن
من اگر یک ثرتیفیکیت یوزر بخواهم بگیرم باید توی MMC گزینه add remove -snap in یه ثرتیفیکیت یوزر میخواستیم
درخواست certificate code sign in
گفتیم CODE sign in برای یوزر صادر میشود
user certificate
همان طور که توی شکل گفتم گزینه propertice کلیک کنید و در تب genral یک friendly name انتخاب کنید که من administrator گذاشتم
همان طور که توی شکل گفتم گزینه propertice کلیک کنید و در تب genral یک friendly name انتخاب کنید که من administrator گذاشتم
common name
در تب subject ثرتیفیکیتی که ما میخواییم باید common name اش معادلش اون یوزر باشه و دکمه add را میزنیم
در تب extention میگیم key usage برای چه کاری باشه کلا key usage یک تایپکال typecall کلی هست و extended key usage یعنی فقط یه کار خاص را میتونی انجام بدی و من در قسمت extended usage گزینه code sign in زدم
در این قسمت base 64 را میخواهیم و یه نام برای ثرتیفیکیت میزاریم این ثرتیفیکیت را در یک مسیر ذخیره میکنیم دقیقا این ثرتیفیکت مثل همونی هست که توی وب سرویس درخواست میدادیم
issue و این ثرتیفیکیت را می بریم توی ca server مون سابمیت submit و pending
و امضا کردن مجوز و برگشت ثرتیفیکیت امضا شده
در واقع ما یک publik key دادیم به ca , ca به ما یه private key داده و موقع که مجوز صادر شده میبین عکس کلید روشه یعنی هم publik key و هم private key به ما داده
حالا توی mmc در قسمت ثزتیفیکیت یوزر را import میکنیم
حالا روی ثرتیفیکیت عکس یه کلید هم هست یعنی هم publik key و هم private key هست
اول توی سیستم وب سرور و در کنسول dns یه رکورد به نام rdp و با ایپی 192.168.10.20 میسازیم حالا بخواهیم از یه کلاینت ریموت دسکتاپ بزنیم به وب سرور باید یه ثرتیفیکت صادر کنیم به ca server و امضا بخور برگرده و کلاینت این ثرتیفیکیت را تراست کنه تا بتونه ریموت کنه
توی mmc قسمت certificate local computer و درخواست request میدین یه نکته مهمی که هست در تب extention
server authenticate
زیر منوی extended key usage را باید server autenticate قرار بدیم
حالا بعد از اینکه certificate درخواست را ایجاد کردم میفرستم برای ca که امضاش کنه و برگردونمش توی وب سرور تو کنسول ثرتیفیکیت computer را import کنم
آموزش راه اندازی ca server Certificate Authority
مراحل ثرتیفیکیت توی 7 مرحله بود که ما انجام میدادیم
دریافت certificate در سه مرحله
یک راحش اینه که در سه مرحله هست به وسیله وب بیس یعنی اون کاربر یا کامپیوتر درخواستش وب بیس یه ca server میدهد و issue میشود و دوباره وب بیس در واقع ثرتیفیکیت تایید شده را بگیریم و نصبش کنیم
سناریو ما این هست که یک وب سرویس را از طریق ca سکیور secure کنیم و این وب سرویس برای اینکه با ca ارتباط برقرار کنه قرار نیست اون هفت مرحله را انجام بده همش در سه مرحله انجام میشه سناریو به این صورت هست یک سیستم به عنوان وب سرویس که dns و iis را نصب میکنیم و یک سیستم به عنوان ca server که certificate autority و دیگری که certificate autority web enrollment را کانفیگ میکنیم و یه سیستم دیگر به عنوان کلاینت استفاده میکنیم
نصب certificate authority web enrollment
همراه خودش iis را نصب میکند certificate authority web enrollent
در iis یک فولدر certenrollment و یک فولدری به نام cert srve ایجاد کرده این دو تا توی زیر مجموعه defult web site در iis که در web enrollment هست ما توی ca کنسول ca را باز میکنیم و propertice وتب extention که ما حذفشون کردیم اینجا file , ldap را پاک میکنیم و اصلا کاری به c نداریم و http را هم پاک میکنیم و به جاش add میزنیم و اینو قرار میدیم http://192.168.10.30 و ادامه اش اون مسیر را بعد از dns name را کپی میکنیم و دو تا چک مارک include crl و cdp را میزنیم
و حالا در وب سرور میخواهیم درخواست به صورت وب بیس بدیم پس ایپی ca را میزنیم و ادامه certsrv رو اضافه میکنیم http://192.168.10.30/certsrv میزنیم توی مرورگر
ما درخواست certificate request میدیم
برای web browse میخوای
اول باید ca برای خودش ثرتیفیکت بگیره ویه دونه قبلا هم برا مجوز کارش گرفته که اون با این فرق میکنه
توی iis سیستم ca را بازمیکنیم و قسم server certificate و درخواست create request میده همون 7 مرحله را انجام میدی بعد توی خود ca سابمیت submit میکنی و پندینگ pendndingو ایشو issue و اکسپورت export میکنی توی مسیر دسکتاپ و توی iis باید complet کنی
داخل تنظیمات وب سایت قسمت binding یک https با ایپی خود اضافه میکنیم که secure باشه و دستور MMC را اجرا میکنیم و certificate را تراست میکنیم