Giunsa ang Pag-secure sa Nginx sa Lets Encrypt sa CentOS 8


Gitukod kaniadtong Abril 2016 sa Electronic Frontier Foundation (EFF), ang Let's Encrypt usa ka libre ug awtomatiko nga digital nga sertipiko nga naghatag TLS encryption alang sa mga website nga wala’y bayad.

Ang katuyoan sa Let's Encrypt nga sertipiko mao ang pag-automate sa pag-validate, paghimo, pagpirma ingon usab ang awtomatikong pagbag-o sa sertipiko sa seguridad. Kini nga sertipiko makahimo sa mga naka-encrypt nga koneksyon sa mga webserver gamit ang HTTPS protocol sa usa ka yano, walay problema nga paagi nga walay bisan unsang pagkakomplikado. Ang sertipiko balido lamang sa 90 ka adlaw diin ang autorenewal mahimong ma-aktibo.

Girekomenda nga Basaha: Giunsa Pag-secure ang Apache gamit ang Let's Encrypt SSL Certificate sa CentOS 8

Niini nga artikulo, ipakita namon kung giunsa nimo ma-install ang Let's Encrypt aron makakuha usa ka libre nga sertipiko sa SSL aron ma-secure ang Nginx web server sa CentOS 8 (pareho nga mga panudlo magamit usab sa RHEL 8). Ipasabut usab namo kanimo kung unsaon pag-renew sa imong SSL certificate awtomatik.

Sa dili pa kami magpadayon aron masiguro nga naa nimo ang mga musunud sa pagsusi.

1. Usa ka Fully Qualified Domain Name (FQDN) nga nagpunting sa gipahinungod nga IP address sa webserver. Kinahanglan kini nga ma-configure sa lugar sa kliyente sa imong DNS web hosting provider. Alang sa kini nga panudlo, gigamit namon ang ngalan sa domain linuxtechwhiz nga nagpunting sa IP address 34.70.245.117.

2. Mahimo usab nimo nga kumpirmahon kini pinaagi sa paghimo sa usa ka forward lookup gamit ang dig command sama sa gipakita.

$ dig linuxtechwhiz.info

3. Gi-install ug gipadagan ang Nginx sa webserver. Mahimo nimong kumpirmahon kini pinaagi sa pag-log in sa terminal ug pagpadagan sa command sa ubos. Kung wala ma-install ang Nginx, sunda ang among artikulo sa Pag-install sa Nginx sa CentOS 8.

$ sudo systemctl status nginx

4. Mahimo usab nimo nga pamatud-an pinaagi sa pagbisita sa URL sa web server sa usa ka web browser.

http://server-IP-or-hostname

Gikan sa URL, klaro natong makita nga ang site dili luwas, ug sa ingon dili ma-encrypt. Nagpasabot kini nga ang bisan unsang mga hangyo nga gihimo sa webserver mahimong ma-intercept nga naglakip kini sa kritikal ug kompidensyal nga impormasyon sama sa mga username, password, social security number, ug impormasyon sa credit card sa paghisgot ug pipila.

Karon atong hugawan ang atong mga kamot ug i-install ang Let's Encrypt.

Lakang 1. I-install ang Certbot sa CentOS 8

Aron ma-install ang Let's Encrypt nga sertipiko, una sa tanan kinahanglan nimo nga ma-install ang certbot. Kini usa ka extensible nga kliyente nga nagkuha usa ka sertipiko sa seguridad gikan sa Let's Encrypt Authority ug gitugotan ka nga awtomatiko ang pag-validate ug pag-configure sa sertipiko aron magamit sa webserver.

I-download ang certbot gamit ang curl command.

$ sudo curl -O https://dl.eff.org/certbot-auto

Sunod, ibalhin ang sertipiko sa /usr/local/bin nga direktoryo.

$ sudo mv certbot-auto /usr/local/bin/certbot-auto

Sunod, i-assign ang permiso sa file sa certbot file sama sa gipakita.

$ chmod 0755 /usr/local/bin/certbot-auto

Lakang 2. I-configure ang Nginx Server Block

Ang usa ka block sa server sa Nginx mao ang katumbas sa usa ka virtual host sa Apache. Ang pagpahimutang sa mga bloke sa server dili lamang nagtugot kanimo sa pag-set up sa daghang mga website sa usa ka server apan gitugotan usab ang certbot nga pamatud-an ang pagpanag-iya sa domain sa Certificate Authority - CA.

Aron makahimo og server block, padagana ang command nga gipakita.

$ sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

Siguroha nga ilisan ang domain name sa imong kaugalingong domain name. Dayon i-paste ang configuration sa ubos.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

I-save ang file ug gawas sa text editor.

Lakang 3: I-install ang Lets Encrypt Certificate sa CentOS 8

Karon gamita ang certbot command aron masugdan ang pagkuha ug pag-configure sa Let's Encrypt security certificate.

$ sudo /usr/local/bin/certbot-auto --nginx

Kini nga sugo modagan ug mag-instalar sa daghang mga pakete sa Python ug ang ilang mga dependency sama sa gipakita.

Kini human niana pagasundan sa usa ka interactive prompt sama sa gipakita:

Kung maayo ang tanan, kinahanglan nimo nga makita ang usa ka mensahe sa pahalipay sa katapusan.

Aron makumpirma nga ang imong Nginx site na-encrypt, i-reload ang webpage ug tan-awa ang simbolo sa padlock sa sinugdanan sa URL. Kini nagpakita nga ang site gisiguro gamit ang SSL/TLS encryption.

Aron makakuha og dugang nga impormasyon bahin sa sertipiko sa seguridad, pag-klik sa simbolo sa padlock ug pilia ang kapilian nga 'Certificate'.

Dugang nga impormasyon bahin sa sertipiko sa seguridad ipakita sama sa gipakita sa ubos.

Dugang pa, aron masulayan ang kalig-on sa sertipiko sa seguridad, adto sa https://www.ssllabs.com/ssltest/ ug pangitaa ang usa ka mas tukma ug lawom nga pagsusi sa kahimtang sa sertipiko sa seguridad.

Lakang 4. Pag-renew sa Let's Encrypt Certificate

Sama sa among nakita sa sayo pa, ang sertipiko sa seguridad balido lamang sa gidugayon nga 90 ka adlaw ug kinahanglan nga i-renew sa dili pa matapos.

Mahimo nimong i-simulate o sulayan ang proseso sa pagbag-o sa sertipiko pinaagi sa pagpadagan sa mando:

$ sudo /usr/local/bin/certbot-auto renew --dry-run

Gitapos niini kini nga panudlo sa pagsiguro sa Nginx gamit ang Let's Encrypt sa CentOS 8. Ang Let's Encrypt nagtanyag usa ka epektibo ug wala’y problema nga paagi sa pagsiguro sa imong Nginx webserver nga mahimo’g usa ka komplikado nga kalihokan nga buhaton sa mano-mano.

Ang imong site kinahanglan nga hingpit nga ma-encrypt. Pipila ka semana sa petsa sa pag-expire sa sertipiko, ang EFF magpaalerto kanimo pinaagi sa email aron mabag-o ang sertipiko aron malikayan ang pagkabalda nga mahimong motumaw tungod sa usa ka expired nga sertipiko. Kanang tanan guys para karong adlawa!