راه اندازی Certificate Authority در لینوکس | Linux CA

در این محتوا قصد داریم به نحوه راه اندازی یک Certificate Authority در سرور های لینوکسی بپردازیمنویسنده: امیرحسین تنگسیری نژاد بررسی مفهوم CA و یا همان Certificate Authorityدرمجموع CA و یا همان Certificate Authority به سرویسی می‌گویند که وظیفه دادن ایجاد Certificate و یا گواهی‌های دیجیتال را برای یک سازمان و یا کاربر خاصی دارند. این سرویس جز ایجاد Digital Certificate وظایف و کارایی های دیگری را نیز برعهده دارد که به شرح زیر هستند: Public And Private Key GeneratorPublic And Private ProtectionDigital Signature Generation And Protection این گواهی‌های دیجیتال همانند یک مجوز در دنیای واقعی در دنیای اینترنت فعالیت می‌کنند و موارد مختلفی را برعهده دارند و تقریبا استفاده های بسیاری دارنداستفاده از گواهی‌های دیجیتال در وب سایت هاوب سایت های مختلفی هستند که از این گواهی‌های دیجیتال استفاده می‌کنند و با پرداخت مبالغی این گواهی‌ها را برای بالا بردن میزان امنیت وب سایت استفاده می‌کننددومثال از این نوع CA:DigiCertVeriSign نکته: از CA های درون سازمانی و ایجاد شده توسط سرویس های شخصی نمی‌توان برای وب سایت ها استفاده کرد و حتما نیاز به خرید یک گواهی معتبر می‌باشداستفاده در ارتباطات Tunneling: از این گواهی‌های دیجیتال درارتباطات Tunneling استفاده های بسیاری ‌می‌شود زیرا موجب بالا رفتن امنیت و پیاده سازی مکانیزم های زیر می‌شود:Data-Encryption Data-Integrity Anti-Reply انواع CAدرواقع CA ها به دو دسته خصوصی و عمومی تقسیم می‌شوند Private CA:در واقع این CA ها وظیفه ایجاد گواهی های درون سازمانی را دارند و ما توانایی استفاده از آن برای قسمت همچون وب سایت هارا نداریم ولی در قسمت های دیگه ایی مثله ارتباطات Tunneling و احراض هویت کاربران توانایی استفاده از آن را داریمPublic CA:این CA ها در سطح وب و اینترنت فعالیت دارند و ما از طریق گواهی های که این CA ها برایمان ایجاد می‌سازند می‌توانیم فرایند کارمان را بر روی اینترنت انجام دهیم و توانایی استفاده از آن بر روی وب سایت های خودرا نیز داریمراه اندازی CA در لینوکسبرای راه اندازی یک CA در لینوکس می‌بایست از openSSL که یک Library متن باز به منظور رمزنگاری می‌باشد و از نرم افزار و پروتکل های مختلف ارتباطاتی به منظور جلوگیری از حملات مختلف و استراق سمع محافظت و جلوگیری می‌کند.‌ این Library بر روی اکثر وب سایت های بزرگ‌ Https مورد استفاده قرار گرفته است و از توانایی اجرای پروتکل های رمزنگاری SSL و TLS را فراهم می‌سازدنصب openSSL➜ ~ wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz ➜ ~ tar -xzvf openssl-1.0.2p.tar.gz ➜ ~ cd openssl-1.0.2p/ ➜ ~ ./config ➜ ~ make ➜ ~ make test ➜ ~ sudo make installنصب از طریق مخازن Aptsudo apt-get install opensslپس از طی کردن فرایند بالا می‌توانید openSSL را دستور زیر در سیستم پیدا کنید:➜ ~ whereis openssl openssl: /usr/bin/openssl /usr/include/openssl l /usr/share/man/man1/openssl.1ssl.gzتست openSSL و گرفتن ورژن آن:➜ ~ /usr/bin/openssl version OpenSSL 1.1.1f 31 Mar 2020کار با CAساخت یک RSA Private Key➜ ~ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pemادغام سازی آن به یک کلید PKCS#12 (P12)openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12ساخت یک Root Certificate➜ ~openssl genrsa -out PrivateKeyForCA.key 2048 ➜ ~openssl req -x509 -new -nodes -key PrivateKeyForCA.key -sha256 -days 365 -out testCA.crt -config localhost.cnf -extensions v3_ca -subj &quot/CN=SocketTools Test CA&quotدیدن مشخضات Certificate➜ ~openssl x509 -text -noout -in certificate.pemساخت یک Certificate Signing Request (CSR)➜ ~openssl req -new -key privkey.pem -out CSR.csr