Sigurni Apache s Encrypt SSL certifikatom na CentOS 8


Osiguravanje vašeg web servera uvijek je jedan od ključnih faktora koje biste trebali uzeti u obzir prije nego što počnete raditi sa svojom web lokacijom. Sigurnosni certifikat je ključan za osiguranje prometa koji se šalje od web preglednika do web servera i na taj način će inspirisati korisnike da razmjenjuju podatke s vašom web lokacijom uz puno znanje da je poslani promet osiguran.

U većini slučajeva, sigurnosni certifikati se plaćaju i obnavljaju svake godine. Certifikat Let’s Encrypt je besplatan, otvoren i automatiziran certifikat koji možete koristiti za šifriranje vaše web stranice. Certifikat ističe nakon svakih 90 dana i automatski se obnavlja bez ikakvih troškova.

Preporučeno čitanje: Kako osigurati Nginx pomoću Let’s Encrypt na CentOS 8

U ovom članku ćemo vam pokazati kako možete instalirati Let's Encrypt Certificate sa Certbot za Apache web server i kasnije, konfigurirati certifikat da se automatski obnovi na CentOS 8.

Preduvjeti

Prije nego što počnete, uvjerite se da imate sljedeće:

1. Instanca CentOS 8 servera sa instaliranim i pokrenutim Apache HTTP web serverom. Možete potvrditi da je vaš apache web server pokrenut i da radi.

sudo dnf install httpd
sudo systemctl status httpd

2. Potpuno kvalificirani naziv domene (FQDN) koji upućuje na javnu IP adresu vašeg web servera na vašem dobavljaču DNS web hostinga. Za ovaj vodič koristit ćemo linuxtechwhiz.info koji ukazuje na IP servera 34.67.63.136.

Korak 1. Instalirajte Certbot u CentOS 8

Certbot je klijent koji automatizira instalaciju sigurnosnog certifikata. Dohvaća certifikat od Hajde da šifriramo autoritet i postavlja ga na vaš web server bez mnogo muke.

Certbot je potpuno besplatan i omogućit će vam da instalirate certifikat na interaktivan način generiranjem instrukcija na osnovu konfiguracije vašeg web servera.

Prije preuzimanja certbota, prvo instalirajte pakete koji su neophodni za konfiguraciju šifrirane veze.

Započet ćemo instalacijom EPEL spremišta koje pruža visokokvalitetne dodatne pakete za RHEL bazirane sisteme:

sudo dnf install epel-release

Zatim instalirajte mod_ssl i openssl pakete.

sudo dnf install mod_ssl openssl

Nakon što su sve zavisnosti instalirane, instalirajte Certbot i Apache modul za Certbot.

sudo dnf install certbot python3-certbot-apache

Komanda instalira Certbot, Apache modul za Certbot i druge zavisnosti.

Korak 2: Kreirajte Apache virtuelni host

Sljedeći korak će biti kreiranje virtualne host datoteke za našu domenu – linuxtechwhiz.info. Počnite tako što ćete prvo kreirati korijen dokumenta u koji ćete smjestiti svoje HTML datoteke.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Kreirajte probnu datoteku index.html kao što je prikazano.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Zatim kreirajte virtuelni host fajl kao što je prikazano.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Dodajte konfiguraciju ispod.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Sačuvaj i izađi.

Dodijelite dozvole korijenu dokumenta kao što je prikazano.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Da bi promjene stupile na snagu, ponovo pokrenite Apache servis.

sudo systemctl restart httpd

Korak 3: Instalirajte Let’s Encrypt SSL certifikat na CentOS 8

Sada pokrenite certbot kako je prikazano da započnete instalaciju Let’s Encrypt certifikata.

sudo certbot --apache -d domain.com

U našem slučaju to će biti:

sudo certbot --apache -d linuxtechwhiz.info

Naredba će vas provesti kroz niz upita kako biste mogli konfigurirati Lets Encrypt za svoju domenu. Obavezno navedite svoju adresu e-pošte, prihvatite Uslove korištenja i navedite imena domena za koje želite da koristite HTTPS protokol koji je šifrirana verzija HTTP-a.

Ako je sve prošlo dobro, na kraju biste trebali dobiti poruku čestitke koja vas obavještava da je vaša stranica zaštićena pomoću Let’s Encrypt certifikata. Valjanost vašeg certifikata će također biti prikazana – što je obično nakon 90 dana nakon implementacije.

Sada se vratite na svoj virtuelni host fajl i dodajte sledeće redove konfiguracije.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Sačuvaj i izađi.

Konačna Apache konfiguracija virtualnog hosta će izgledati otprilike ovako:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Još jednom, ponovo pokrenite Apache.

sudo systemctl restart httpd

Korak 4: Provjera Let’s Encrypt SSL certifikata

Da biste provjerili da li sve radi, pokrenite pretraživač i posjetite IP adresu vašeg servera. Sada biste trebali vidjeti simbol katanca na početku URL-a.

Da biste dobili više detalja, kliknite na simbol katanca i kliknite na opciju 'Certifikat' na padajućem izborniku koji se pojavi.

Detalji sertifikata će biti prikazani u sledećem iskačućem prozoru.

Također, možete testirati svoj server na https://www.ssllabs.com/ssltest/ i vaša stranica bi trebala dobiti ocjenu ‘A’ kao što je prikazano.

Korak 5: Automatski obnovite Let’s Encrypt SSL certifikat

Let’s Encrypt vrijedi samo 90 dana. Obično, proces obnove izvodi certbot paket koji dodaje skriptu za obnovu u /etc/cron.d direktorij. Skripta se pokreće dva puta dnevno i automatski će obnoviti svaki certifikat u roku od 30 dana od isteka.

Da biste testirali proces automatskog obnavljanja, izvršite test rada na suho sa certbot.

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

Ako nema grešaka, to znači da ste spremni.

Ovo nas dovodi do kraja ovog vodiča. U ovom vodiču demonstrirali smo kako možete koristiti certbot da instalirate i konfigurirate Let’s Encrypt certifikat na Apache web serveru koji radi na sistemu CentOS 8.