amirhoseintangsirinet
amirhoseintangsirinet
خواندن ۴ دقیقه·۴ سال پیش

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

در این محتوا قصد داریم به نحوه راه اندازی یک Certificate Authority در سرور های لینوکسی بپردازیم

نویسنده: امیرحسین تنگسیری نژاد

بررسی مفهوم CA و یا همان Certificate Authority

درمجموع CA و یا همان Certificate Authority به سرویسی می‌گویند که وظیفه دادن ایجاد Certificate و یا گواهی‌های دیجیتال را برای یک سازمان و یا کاربر خاصی دارند. این سرویس جز ایجاد Digital Certificate وظایف و کارایی های دیگری را نیز برعهده دارد که به شرح زیر هستند:

  • Public And Private Key Generator
  • Public And Private Protection
  • Digital Signature Generation And Protection

این گواهی‌های دیجیتال همانند یک مجوز در دنیای واقعی در دنیای اینترنت فعالیت می‌کنند و موارد مختلفی را برعهده دارند و تقریبا استفاده های بسیاری دارند

استفاده از گواهی‌های دیجیتال در وب سایت ها

وب سایت های مختلفی هستند که از این گواهی‌های دیجیتال استفاده می‌کنند و با پرداخت مبالغی این گواهی‌ها را برای بالا بردن میزان امنیت وب سایت استفاده می‌کنند

دومثال از این نوع CA:

  • DigiCert
  • VeriSign

نکته: از 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

نصب از طریق مخازن Apt

sudo 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


certificateCertificate Authorityopensourceopenssllinux
شاید از این پست‌ها خوشتان بیاید