Categories: آموزش

نحوه فعال سازی TLS1.3 بر روی CentOS8

419views

 

 

 

 

TLS 1.3 نسخه‌ای از پروتکل TLS یا به اختصار Transport Layer Security می‌باشد، که در سال 2018 به عنوان استاندارد پیشنهادی در RFC 8446 منتشر شد. TLS1.3 ادامه دهنده راه TLS1.2 می‌باشد با این تفاوت که ویژگی‌های ناامن و منسوخ نسخه قدیمی خود را بهبود داده است و شامل SHA1, MD5, RC4, DES, 3DES, AES-CBC. می گردد.

در زیر راهنمای فعال سازی TLS1.3 را با استافاده از وب سرور ngnix در CentOS 8 نشان داده‌ایم.

 

ملزومات:

  • وب سرور Nginix 1.13.0 یا بالاتر
  • OpenSSL ورژن 1.1.1 یا بالاتر
  • یک سرویس کلاد مانند DigitalOcean که CentOs 8 روی آن نصب شده باشد.
  • یک دامنه معتبر و یک A/AAAA/CNAME DNS که به صورت صحیح پیکر بندی شده باشد.
  • یک گواهی معتبر LTS

 

خب قبل از آن که شروع کنیم بهتر است نسخه CentOS خود را بررسی کنیم برای این منظور:

 cat /etc/centos-release
# CentOS Linux release 8.1.1911 (Core)

 

حالا یک یوزر جداگانه از root با استفاده از دستورsudo اضافه می‌کنیم:

useradd -c "Saman Yn" samanyn && passwd samanyn
usermod -aG wheel samanyn
su - samanyn

 

به یاد داشته باشید که samanyn نام کاربری یا یوزر است و آن را با نام کاربری مورد نظر خود جابجا نمایید و یک پسورد و گذرواژه قدرتمند انتخاب نمایید. (اگر از قوانین CentOS در زمینه گذرواژه تبعیت کنید که بسیار بهتر است)

 

حالا منطقه زمانی سیستم را تنظیم می‌نماییم.

timedatectl list-timezones

sudo timedatectl set-timezone 'Region/City'

 

و از بروز بودن سیستم اطمینان حاصل می‌کنیم.

 

sudo dnf update

 

می‌توانید پکیج‌های مورد نیاز را با دستور زیر نصب کنید.

 

sudo dnf install -y socat git wget unzip

 

برای راحتی بیشتر می‌توانید SELinux و فایروال را غیرفعال نمایید.

 

; sudo setenforce 0

 ; sudo systemctl stop firewalld

sudo systemctl disable firewalld

 

 

نصب کلاینت acme.sh  و دریافت گواهی TLS

توصیه میکنیم acme.sh را بعنوان کاربر root نصب نمایید یا با دستور sudo اقدام به تبدیل یوزر خود به یوزر root نمایید.

 

sudo su - root

 

حالا acme.sh را نصب نمایید.

 

git clone https://github.com/acmesh-official/acme.sh

cd acme.sh

./acme.sh --install --accountemail

your_email@zagrio.com

cd ~source ~/.bashrc

 

 

ورژن نسخه نصب شده را کنترل نمایید.

 

acme.sh --version

 https://github.com/acmesh-official/acme.sh#

V.2.86#

 

گواهی‌های RSA و ECDSA  را برای دامنه خود دریافت نمایید.

 

RSA#

acme.sh --issue --standalone -d zagrio.com --keylength 2048

 ECC/ECDSA#

acme.sh --issue --standalone -d zagrio.com --keylength ec-256

 

به یاد داشته باشید که zagrio.com را با نام دامنه خود عوض نمایید.

برای گواهی خود یک دیرکتوری جدید بسازید.

mkdir -p /etc/letsencrypt/zagrio.com

mkdir -p /etc/letsencrypt/zagrio.com _ecc

 

 

گواهی را در دایرکتوری مورد نظر نصب و کپی نمایید.

# RSA

acme.sh --install-cert -d zagrio.com --cert-file 

/etc/letsencrypt/zagrio.com/cert.pem --key-file 

/etc/letsencrypt/zagrio.com/private.key --fullchain-

file /etc/letsencrypt/zagrio.com/fullchain.pem 

# ECC/ECDSA

acme.sh --install-cert -d zagrio.com --ecc --cert-file 

/etc/letsencrypt/zagrio.com/cert.pem --key-file 

/etc/letsencrypt/zagrio.com/private.key --fullchain-

file /etc/letsencrypt/zagrio.com/fullchain.pem 

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

  • RSA: /etc/letsencrypt/zagrio.com
  • ECC/ECDSA: /etc/letsencrypt/zagrio.com _ecc

 

حالا می‌توانید به یوزر عادی خود بازگردید

 

exit

 

نصب Nginix

Nginix پشتیبانی از TLS1.3 را در نسخه 1.13.0 خود اضافه کرد. و CentOS8 با نسخه‌ای از Nginix و OpenSSL عرضه شده که توانایی پشتیبانی از TLS1.3 را دارد. پس شما نیازی به ساخت نسخه‌ای سفارشی ندارید.

 

نصب Nginx

sudo dnf install -y nginx

 

 

بررسی نسخه

nginx -v

nginx version: nginx/1.14.1#

 

 

بررسی نسخه OpenSSL

nginx -V
# built with OpenSSL 1.1.1 FIPS  11 Sep 2018 (running with OpenSSL 1.1.1c FIPS  28 May 2019)

 

 

شروع استفاده و فعال کردن Nginx

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

 

 

پیکربندی Nginx

حالا که موفق به نصب Nginx شدیم وقت آن است که آن را برای استفاده از TLS1.3  پیکربندی نماییم.

این کامند را اجرا نمایید. sudo vim /etc/nginx/conf.d/zagrio.com.conf و فایل را با اطلاعات زیر پر نمایید.

server {

  listen 443 ssl http2;

  listen [::]:443 ssl http2;

  server_name zagrio.com;

  # RSA

  ssl_certificate /etc/letsencrypt/zagrio.com/fullchain.cer;

  ssl_certificate_key /etc/letsencrypt/zagrio.com/ zagrio.com.key;

# ECDSA

  ssl_certificate /etc/letsencrypt/zagrio.com_ecc/fullchain.cer;

  ssl_certificate_key /etc/letsencrypt/zagrio.com_ecc/zagrio.com.key;

  ssl_protocols TLSv1.3 TLSv1.2;

 

 

فایل را ذخیره کنید و خارج شوید.

به پارامتر جدید TLSv1.3 بخشنامه ssl_protocols توجه کنید. این پارامتر فقط برای فعال کردن TLS 1.3 در Nginx ضروری است.

حالا پیکربندی را بررسی کنید.

sudo nginx -t

 

Nginxرا دوباره بارگذاری کنید

sudo systemctl reload nginx.service

 

برای تایید TLS1.3می‌توانید از ابزار توسعه دهدگان مرورگر یا SSL Lab استفاده نمایید. در تصایر زیر می‌توانید Chrome security Lab را مشاهده نمایید.

 

 

 

تبریک می‌گویم شما به راحتی TLS1.3 را در Apache  سنت ‌او اس خود فعال نمودید. مانند HTTP/2  می‌توان TLS1.3 را نیز یک تکنولوژی و پروتکل هیجان انگیز تلقی کرد که در سالها آینده بیشتر از آن بهره ببریم اما در نظر داشته باشید که نسخه آخر TLS1.3 در آگوست 2018 عرضه شده پس مطمئنا بهترین زمان برای پیکربندی و راه اندازی آن را انتخاب نمودید.

Saman Yazdannik

laus Deo

Recent Posts

12 ویژگی سرور ایمیل + دسته‌بندی رنگی در Outlook

دسته‌بندی رنگی در Outlook این ویژگی در Outlook نرم افزاری و تحت وب به شما…

8 ماه ago

12 مزیت برون سپاری مدیریت سرور

مدیریت سرور، چرا و چگونه؟ در این مطلب قصد داریم به شما کمک کنیم که…

8 ماه ago

نصب مخزن EPEL داخل کشور بدون تحریم

رفع مشکل مخزن EPEL با سرور داخلی بدون تحریم و کاهش سرعت مخزن EPEL (Extra…

8 ماه ago

به‌روزرسانی خودکار سرور برای تامین امنیت

آموزش به‌روزرسانی خودکار سرور لینوکسی، اطلاعات ضروری برای تصمیم گیری در خصوص استفاده و یا…

8 ماه ago

تقویت امنیت HTTP response headers

مقدمه سربرگ‌های پاسخ HTTP جفت‌های نام-مقدار رشته‌ای هستند که از سمت سرور با محتوایی که…

1 سال ago

دسکتاپ ابری چیست؟ | مزایا و امکانات آن

یکی از مهم‌ترین سوالا‌هایی که ممکن است برای شما پیش بیاید، | دسکتاپ ابری چیست…

3 سال ago