Jinsi ya kuwezesha TLS 1.3 katika Apache na Nginx
TLS 1.3 ni toleo la hivi punde zaidi la itifaki ya Usalama wa Tabaka la Usafiri (TLS) na inategemea vipimo vilivyopo vya 1.2 vilivyo na kiwango kinachofaa cha IETF: RFC 8446. Inatoa usalama thabiti na uboreshaji wa juu wa utendakazi kuliko watangulizi wake.
Katika makala haya, tutakuonyesha mwongozo wa hatua kwa hatua ili kupata cheti halali cha TLS na kuwezesha itifaki ya hivi punde ya toleo la TLS 1.3 kwenye kikoa chako kilichopangishwa kwenye seva za wavuti za Apache au Nginx.
- Toleo la Apache 2.4.37 au zaidi.
- Toleo la Nginx 1.13.0 au zaidi.
- Toleo la OpenSSL 1.1.1 au zaidi.
- Jina halali la kikoa lililo na rekodi za DNS zilizosanidiwa ipasavyo.
- Cheti halali cha TLS.
Sakinisha Cheti cha TLS kutoka Let's Encrypt
Ili kupata Cheti cha SSL bila malipo kutoka kwa Let's Encrypt, unahitaji kusakinisha mteja wa Acme.sh na pia vifurushi vichache vinavyohitajika kwenye mfumo wa Linux kama inavyoonyeshwa.
# 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
KUMBUKA: Badilisha example.com
katika amri iliyo hapo juu na jina halisi la kikoa chako.
Pindi tu unaposakinisha cheti cha SSL, unaweza kuendelea zaidi ili kuwezesha TLS 1.3 kwenye kikoa chako kama ilivyoelezwa hapa chini.
Washa TLS 1.3 kwenye Nginx
Kama nilivyotaja katika mahitaji hapo juu, kwamba TLS 1.3 inatumika kuanzia toleo la Nginx 1.13. Ikiwa unatumia toleo la zamani la Nginx, unahitaji kwanza kupata toleo jipya zaidi.
# apt install nginx # yum install nginx
Angalia toleo la Nginx na toleo la OpenSSL ambalo Nginx iliundwa (hakikisha kwamba toleo la nginx ni angalau 1.14 na toleo la openssl 1.1.1).
# 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 ....
Sasa anza, wezesha na uthibitishe usakinishaji wa nginx.
# systemctl start nginx.service # systemctl enable nginx.service # systemctl status nginx.service
Sasa fungua faili ya usanidi wa nginx vhost /etc/nginx/conf.d/example.com.conf
ukitumia kihariri chako unachokipenda.
# vi /etc/nginx/conf.d/example.com.conf
na utafute ssl_protocols
maelekezo na uambatanishe TLSv1.3 mwishoni mwa mstari kama inavyoonyeshwa hapa chini.
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; }
Hatimaye, thibitisha usanidi na upakie upya Nginx.
# nginx -t # systemctl reload nginx.service
Washa TLS 1.3 katika Apache
Kuanzia Apache 2.4.37, unaweza kuchukua faida ya TLS 1.3. Ikiwa unatumia toleo la zamani la Apache, unahitaji kwanza kupata toleo jipya zaidi.
# apt install apache2 # yum install httpd
Mara tu ikiwa imewekwa, unaweza kuthibitisha Apache na toleo la OpenSSL ambalo Apache iliundwa.
# httpd -V # openssl version
Sasa anza, wezesha na uthibitishe usakinishaji wa nginx.
-------------- 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
Sasa fungua faili ya usanidi wa mwenyeji wa Apache kwa kutumia kihariri chako unachopenda.
# vi /etc/httpd/conf.d/vhost.conf OR # vi /etc/apache2/apache2.conf
na utafute ssl_protocols
maagizo na uambatishe TLSv1.3 mwishoni mwa mstari kama inavyoonyeshwa hapa chini.
<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>
Hatimaye, thibitisha usanidi na upakie upya Apache.
-------------- On Debian/Ubuntu -------------- # apache2 -t # systemctl reload apache2.service -------------- On RHEL/CentOS/Fedora -------------- # httpd -t # systemctl reload httpd.service
Thibitisha Tovuti Inatumia TLS 1.3
Baada ya kusanidi kupitia seva ya wavuti, unaweza kuangalia kama tovuti yako inapeana mkono na itifaki ya TLS 1.3 kwa kutumia zana za ukuzaji wa kivinjari cha chrome kwenye toleo la Chrome 70+.
Ni hayo tu. Umewezesha itifaki ya TLS 1.3 kwa ufanisi kwenye kikoa chako kilichopangishwa kwenye seva za wavuti za Apache au Nginx. Ikiwa una maswali yoyote kuhusu nakala hii, jisikie huru kuuliza katika sehemu ya maoni hapa chini.