అపాచీ మరియు ఎన్గిన్క్స్లో టిఎల్ఎస్ 1.3 ను ఎలా ప్రారంభించాలి


టిఎల్ఎస్ 1.3 ట్రాన్స్పోర్ట్ లేయర్ సెక్యూరిటీ (టిఎల్ఎస్) ప్రోటోకాల్ యొక్క తాజా వెర్షన్ మరియు ఇది సరైన ఐఇటిఎఫ్ ప్రమాణంతో ఉన్న 1.2 స్పెసిఫికేషన్లపై ఆధారపడి ఉంటుంది: ఆర్ఎఫ్సి 8446. ఇది దాని పూర్వీకుల కంటే బలమైన భద్రత మరియు అధిక పనితీరు మెరుగుదలలను అందిస్తుంది.

ఈ వ్యాసంలో, చెల్లుబాటు అయ్యే TLS ప్రమాణపత్రాన్ని పొందటానికి దశల వారీ మార్గదర్శిని మీకు చూపుతాము మరియు అపాచీ లేదా Nginx వెబ్ సర్వర్uలలో హోస్ట్ చేయబడిన మీ డొమైన్uలో తాజా TLS 1.3 వెర్షన్ ప్రోటోకాల్uను ప్రారంభిస్తాము.

  • అపాచీ వెర్షన్ 2.4.37 లేదా అంతకంటే ఎక్కువ.
  • Nginx వెర్షన్ 1.13.0 లేదా అంతకంటే ఎక్కువ.
  • OpenSSL వెర్షన్ 1.1.1 లేదా అంతకంటే ఎక్కువ.
  • సరిగ్గా కాన్ఫిగర్ చేయబడిన DNS రికార్డులతో చెల్లుబాటు అయ్యే డొమైన్ పేరు.
  • చెల్లుబాటు అయ్యే TLS ప్రమాణపత్రం.

లెట్స్ ఎన్క్రిప్ట్ నుండి TLS సర్టిఫికేట్ను ఇన్స్టాల్ చేయండి

లెట్స్ ఎన్క్రిప్ట్ నుండి ఉచిత SSL సర్టిఫికేట్ పొందటానికి, మీరు చూపిన విధంగా Acme.sh క్లయింట్uను మరియు అవసరమైన కొన్ని ప్యాకేజీలను Linux సిస్టమ్uలో ఇన్uస్టాల్ చేయాలి.

# 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 ను మీ నిజమైన డొమైన్ పేరుతో భర్తీ చేయండి.

మీరు SSL ప్రమాణపత్రాన్ని వ్యవస్థాపించిన తర్వాత, క్రింద వివరించిన విధంగా మీ డొమైన్uలో TLS 1.3 ను ప్రారంభించడానికి మీరు మరింత ముందుకు సాగవచ్చు.

Nginx లో TLS 1.3 ని ప్రారంభించండి

పైన పేర్కొన్న అవసరాలలో నేను చెప్పినట్లుగా, ఆ TLS 1.3 Nginx 1.13 వెర్షన్ నుండి ప్రారంభమవుతుంది. మీరు పాత Nginx సంస్కరణను నడుపుతుంటే, మీరు మొదట తాజా సంస్కరణకు అప్uగ్రేడ్ చేయాలి.

# apt install nginx
# yum install nginx

Nginx సంస్కరణ మరియు Nginx సంకలనం చేయబడిన OpenSSL సంస్కరణను తనిఖీ చేయండి (nginx సంస్కరణ కనీసం 1.14 మరియు ఓపెన్uసెల్ వెర్షన్ 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
....

ఇప్పుడు ప్రారంభించండి, ప్రారంభించండి మరియు nginx సంస్థాపనను ధృవీకరించండి.

# systemctl start nginx.service
# systemctl enable nginx.service
# systemctl status nginx.service

ఇప్పుడు మీకు ఇష్టమైన ఎడిటర్ ఉపయోగించి nginx vhost ఆకృతీకరణ /etc/nginx/conf.d/example.com.conf ఫైల్uను తెరవండి.

# vi /etc/nginx/conf.d/example.com.conf

మరియు ssl_protocols నిర్దేశాన్ని గుర్తించి, క్రింద చూపిన విధంగా పంక్తి చివర TLSv1.3 ను జోడించండి

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;
}

చివరగా, కాన్ఫిగరేషన్uను ధృవీకరించండి మరియు Nginx ని మళ్లీ లోడ్ చేయండి.

# nginx -t
# systemctl reload nginx.service

అపాచీలో TLS 1.3 ని ప్రారంభించండి

అపాచీ 2.4.37 నుండి, మీరు టిఎల్ఎస్ 1.3 ను సద్వినియోగం చేసుకోవచ్చు. మీరు అపాచీ యొక్క పాత సంస్కరణను నడుపుతుంటే, మీరు మొదట తాజా వెర్షన్uకు అప్uగ్రేడ్ చేయాలి.

# apt install apache2
# yum install httpd

వ్యవస్థాపించిన తర్వాత, మీరు అపాచీ మరియు ఓపెన్uఎస్uఎస్uఎల్ సంస్కరణను ధృవీకరించవచ్చు, దీనికి వ్యతిరేకంగా అపాచీ కంపైల్ చేయబడింది.

# httpd -V
# openssl version

ఇప్పుడు ప్రారంభించండి, ప్రారంభించండి మరియు 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

ఇప్పుడు మీకు ఇష్టమైన ఎడిటర్uను ఉపయోగించి అపాచీ వర్చువల్ హోస్ట్ కాన్ఫిగరేషన్ ఫైల్uను తెరవండి.

# vi /etc/httpd/conf.d/vhost.conf
OR
# vi /etc/apache2/apache2.conf

మరియు ssl_protocols ఆదేశాన్ని గుర్తించండి మరియు క్రింద చూపిన విధంగా TLSv1.3 ను లైన్ చివరిలో చేర్చండి.

<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>

చివరగా, కాన్ఫిగరేషన్uను ధృవీకరించండి మరియు అపాచీని మళ్లీ లోడ్ చేయండి.

-------------- On Debian/Ubuntu -------------- 
# apache2 -t
# systemctl reload apache2.service

-------------- On RHEL/CentOS/Fedora --------------
# httpd -t
# systemctl reload httpd.service

సైట్ TLS 1.3 ను ఉపయోగిస్తుందని ధృవీకరించండి

మీరు వెబ్ సర్వర్ ద్వారా కాన్ఫిగర్ చేసిన తర్వాత, Chrome 70+ సంస్కరణలో క్రోమ్ బ్రౌజర్ అభివృద్ధి సాధనాలను ఉపయోగించి మీ సైట్ TLS 1.3 ప్రోటోకాల్uపై హ్యాండ్uషేక్ అవుతోందని మీరు తనిఖీ చేయవచ్చు.

అంతే. మీరు అపాచీ లేదా ఎన్గిన్క్స్ వెబ్ సర్వర్uలలో హోస్ట్ చేసిన మీ డొమైన్uలో TLS 1.3 ప్రోటోకాల్uను విజయవంతంగా ప్రారంభించారు. ఈ వ్యాసం గురించి మీకు ఏవైనా ప్రశ్నలు ఉంటే, దిగువ వ్యాఖ్య విభాగంలో అడగడానికి సంకోచించకండి.