Apache ve Nginx'te TLS 1.3 Nasıl Etkinleştirilir?
TLS 1.3, Aktarım Katmanı Güvenliği (TLS) protokolünün en son sürümüdür ve uygun IETF standardına sahip mevcut 1.2 spesifikasyonlarını temel alır: RFC 8446. Öncekilere göre daha güçlü güvenlik ve daha yüksek performans iyileştirmeleri sağlar.
Bu makalede, geçerli bir TLS sertifikası almak ve Apache veya üzerinde barındırılan alanınızda en son TLS 1.3 sürüm protokolünü etkinleştirmek için size adım adım bir kılavuz göstereceğiz. Nginx web sunucuları.
Gereksinimler:
- Apache sürümü 2.4.37 veya üstü.
- Nginx sürüm 1.13.0 veya üzeri.
- OpenSSL sürüm 1.1.1 veya üstü.
- Doğru yapılandırılmış DNS kayıtlarına sahip geçerli bir alan adı.
- Geçerli bir TLS sertifikası.
Let's Encrypt'ten TLS Sertifikası yükleyin
Let's Encrypt'ten ücretsiz bir SSL Sertifikası almak için, Acme.sh istemcisini ve ayrıca gösterildiği gibi Linux sistemine gerekli birkaç paketi yüklemeniz gerekir.
apt install -y socat git [On Debian/Ubuntu]
dnf install -y socat git [On RHEL/CentOS/Fedora]
mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --home /etc/letsencrypt --accountemail [email
cd ~
/etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
/etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
NOT: Yukarıdaki komutta example.com
'u gerçek alan adınızla değiştirin.
SSL sertifikasını yükledikten sonra aşağıda açıklandığı gibi alan adınızda TLS 1.3'ü etkinleştirme işlemine devam edebilirsiniz.
Nginx'te TLS 1.3'ü etkinleştirin
Yukarıdaki gereksinimlerde de belirttiğim gibi TLS 1.3, Nginx 1.13 sürümünden itibaren desteklenmektedir. Eski Nginx sürümünü çalıştırıyorsanız öncelikle en son sürüme yükseltmeniz gerekir.
apt install nginx
yum install nginx
Nginx sürümünü ve Nginx'in derlendiği OpenSSL sürümünü kontrol edin (nginx sürümünün en az 1.14 olduğundan emin olun) Strong> ve openssl sürümü 1.1.1).
nginx -V
Örnek Çıktı
nginx version: nginx/1.14.1
built by gcc 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)
built with OpenSSL 1.1.1 FIPS 11 Sep 2018
TLS SNI support enabled
....
Şimdi nginx kurulumunu başlatın, etkinleştirin ve doğrulayın.
systemctl start nginx.service
systemctl enable nginx.service
systemctl status nginx.service
Şimdi favori düzenleyicinizi kullanarak nginx sankon yapılandırması /etc/nginx/conf.d/example.com.conf
dosyasını açın.
vi /etc/nginx/conf.d/example.com.conf
ve ssl_protocols
yönergesini bulun ve aşağıda gösterildiği gibi satırın sonuna TLSv1.3 ekleyin
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
}
Son olarak yapılandırmayı doğrulayın ve Nginx'i yeniden yükleyin.
nginx -t
systemctl reload nginx.service
Apache'de TLS 1.3'ü etkinleştirin
Apache 2.4.37'den itibaren TLS 1.3'ün avantajlarından yararlanabilirsiniz. Apache'in eski sürümünü çalıştırıyorsanız öncelikle en son sürüme yükseltme yapmanız gerekir.
apt install apache2
yum install httpd
Kurulduktan sonra Apache'yi ve Apache'nin derlendiği OpenSSL sürümünü doğrulayabilirsiniz.
httpd -V
openssl version
Şimdi nginx kurulumunu başlatın, etkinleştirin ve doğrulayın.
-------------- On Debian/Ubuntu --------------
systemctl start apache2.service
systemctl enable apache2.service
systemctl status apache2.service
-------------- On RHEL/CentOS/Fedora --------------
systemctl start httpd.service
systemctl enable httpd.service
systemctl status httpd.service
Şimdi favori düzenleyicinizi kullanarak Apache sanal ana bilgisayar yapılandırma dosyasını açın.
vi /etc/httpd/conf.d/vhost.conf
OR
vi /etc/apache2/apache2.conf
ve ssl_protocols
yönergesini bulun ve aşağıda gösterildiği gibi TLSv1.3'ü satırın sonuna ekleyin.
<VirtualHost *:443>
SSLEngine On
RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
ServerAdmin [email
ServerName www.example.com
ServerAlias example.com
#DocumentRoot /data/httpd/htdocs/example.com/
DocumentRoot /data/httpd/htdocs/example_hueman/
# Log file locations
LogLevel warn
ErrorLog /var/log/httpd/example.com/httpserror.log
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/example.com/httpsaccess.log.%Y-%m-%d 86400" combined
</VirtualHost>
Son olarak yapılandırmayı doğrulayın ve Apache'yi yeniden yükleyin.
-------------- On Debian/Ubuntu --------------
apache2 -t
systemctl reload apache2.service
-------------- On RHEL/CentOS/Fedora --------------
httpd -t
systemctl reload httpd.service
Sitenin TLS 1.3 Kullandığını Doğrulayın
Bir web sunucusu aracılığıyla yapılandırma yaptıktan sonra, Chrome 70+ sürümünde Chrome tarayıcı geliştirme araçlarını kullanarak sitenizin TLS 1.3 protokolü üzerinden el sıkışıp sıkışmadığını kontrol edebilirsiniz.
Bu kadar. Apache veya Nginx web sunucularında barındırılan alanınızda TLS 1.3 protokolünü başarıyla etkinleştirdiniz. Bu makaleyle ilgili herhangi bir sorunuz varsa, aşağıdaki yorum bölümünde sormaya çekinmeyin.