Nginx -ו Apache -ב TLS 1.3 ליעפהל דציכ
TLS 1.3 לוקוטורפ לש רתויב תינכדעה הסרגה איה Transport Layer Security (TLS) ןקת םע 1.2 םייקה טרפמה לע תססובמ איהו IETF ןיקת: RFC 8446. וימדוקל סחיב רתוי םיהובג םיעוציב רופישו הקזח החטבא קפס
.Nginx וא Apache טנרטניאה יתרשב חראתמה םכלש ןיימודב TLS 1.3 לש הנורחאה הסרגה לוקוטורפ תא רשפאלו ףקת TLS רושיא תגשהל בלש רחא בלש ךירדמ םכל הארנ הז רמאמב
ןיפצהלמ TLS רושיא ןקתה
.גצומש יפכ סקוניל תכרעמב תושורדה תוליבחה םיטעמ םגו Acme.sh חוקל ןיקתהל םכילע ,Let's Encrypt -מ םניחב SSL תדועת גישהל ידכ
# 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
.ךלש יתימאה ןיימודה םשב ליעל הדוקפב example.com
תא ףלחה :הרעה
.ןלהל רבסומכ ךלש םוחתב TLS 1.3 תלעפהל האלה ךישמהל לכות ,SSL רושיא תנקתה רחאל
Nginx -ב TLS 1.3 רשפא
.הנורחאה הסרגל גרדשל ךילע הליחת ,Nginx לש רתוי הנשיה הסרגה תא ץירמ התא םא .Nginx 1.13 תסרגמ לחה ךמתנ TLS 1.3 ,ליעל תושירדב יתנייצש יפכ
# apt install nginx # yum install nginx
.(1.1.1 הסרג openssl -ו 1.14 תוחפל איה nginx תסרגש אדוו) Nginx הכרענ המעש OpenSSL תסרג תאו Nginx תסרג תא קודב
# nginx -V
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 ....
.nginx תנקתה תא תמאו לעפה ,לחתה וישכע
# systemctl start nginx.service # systemctl enable nginx.service # systemctl status nginx.service
.ךילע ףדעומה ךרועה תועצמאב ןלהל גצומכ הרושה ףוסב TLSv1.3 ףסוהו .Nginx תא שדחמ ןעטו הרוצתה תא תמא ,ףוסבל .הנורחאה הסרגל הליחת גרדשל ךילע ,י'צאפא לש רתוי הנשיה הסרגה תא ץירמ התא םא .TLS 1.3 תא לצנל ולכות ,Apache 2.4.37 -מ לחה .Apache בכרוה המעש OpenSSL תסרג תאו Apache -ה תסרג תא תמאל ךתורשפאב ,הנקתהה רחאל .nginx תנקתה תא תמאו לעפה ,לחתה וישכע .ךילע ףדעומה ךרועה תועצמאב Apache לש ילאוטריווה חראמה הרוצתה ץבוק תא חתפ תעכ .ןלהל גצומכ הרושה ףוסב TLSv1.3 ףסוהו .Apache תא שדחמ ןעטו הרוצתה תא תמא ,ףוסבל .+Chrome 70 תסריגב םורכ ןפדפד חותיפ ילכ תועצמאב TLS 1.3 לוקוטורפ לע םיידי ץחול םכלש רתאהש קודבל ולכות ,טנרטניא תרש ךרד ורידגתש רחאל .הטמל תורעהה ףיעסב לואשל ססהת לא ,הז רמאמ יבגל תולאש ךל שי םא .Nginx וא י'צאפא לש טנרטניאה יתרשב חראתמה ךלש ןיימודב TLS 1.3 לוקוטורפ החלצהב תלעפה .לכה הז# vi /etc/nginx/conf.d/example.com.conf
ssl_protocols
תא רתאו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;
}
# nginx -t
# systemctl reload nginx.service
י'צפאב TLS 1.3 רשפא
# apt install apache2
# yum install httpd
# httpd -V
# openssl version
-------------- 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
# vi /etc/httpd/conf.d/vhost.conf
OR
# vi /etc/apache2/apache2.conf
ssl_protocols
תא רתאו<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>
-------------- On Debian/Ubuntu --------------
# apache2 -t
# systemctl reload apache2.service
-------------- On RHEL/CentOS/Fedora --------------
# httpd -t
# systemctl reload httpd.service
TLS 1.3 -ב שמתשמ רתאה תא תמא