Introducere
În acest tutorial, veți afla procedura de instalare a certificatului TLS / SSL pe serverul web Apache. După terminare, tot traficul dintre server și client va fi criptat. Aceasta este o practică standard de protejare a site-urilor de comerț electronic și a altor servicii financiare online. Let's Encrypt este pionierul în implementarea SSL gratuit și va fi utilizat ca furnizor de certificate în acest caz.
Cerințe preliminare
Înainte de a începe acest ghid, veți avea nevoie de următoarele:
- Acces rădăcină SSH la un VPS CentOS 7
- Serverul web Apache cu domeniu și vhost configurate corect
- Un utilizator sudo non-root
Instalarea modulelor dependente
Pentru a instala certbot va trebui să instalați depozitul EPEL, întrucât acesta nu este disponibil implicit, mod_ssleste necesar, de asemenea, ca Apache să fie recunoscut pentru criptare:
sudo yum install -y epel-release mod_ssl
Descărcarea clientului Let's Encrypt
În continuare, veți instala clientul certbot din depozitul EPEL:
sudo yum install python-certbot-apache
Certbot se va ocupa de gestionarea certificatelor SSL destul de ușor. Va genera un nou certificat pentru domeniul furnizat ca parametru.
În acest caz, example.comva fi utilizat ca domeniu pentru care va fi eliberat certificatul:
sudo certbot --apache -d example.com
Dacă doriți să generați SSL pentru mai multe domenii sau subdomenii, utilizați următoarea comandă:
sudo certbot --apache -d example.com -d www.example.com
Notă: Primul domeniu ar trebui să fie domeniul dvs. de bază, în acest exemplu: example.com.
Când instalați certificatul, veți primi un ghid pas cu pas care vă va permite să personalizați detaliile certificatului. Veți putea alege între forțarea HTTPSsau ieșirea HTTPca protocol implicit. Furnizarea unei adrese de e-mail va fi, de asemenea, necesară, din motive de securitate.
După finalizarea instalării, veți primi un mesaj similar:
IMPORTANT NOTES:
- If you lose your account credentials, you can recover through
emails sent to [email protected].
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert
will expire on 2019-04-21. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.
- Your account credentials have been saved in your Let's Encrypt
configuration directory at / etc / letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also have certificates and private keys obtained by Let's
Encrypt so regular backups of this folder is ideal.
- If you like Let's Encrypt, please consider supporting our work by:
Configurarea reînnoirii automate a certificatului
Să criptăm certificatele sunt valabile 90 de zile. Se recomandă reînnoirea acestuia în termen de 60 de zile, pentru a evita orice probleme. Pentru a realiza acest lucru, certbot ne va ajuta cu comanda dvs. de reînnoire. Acesta va verifica dacă certificatul este sub 30 de zile de la expirare:
sudo certbot renew
Dacă certificatul instalat este recent, certbot va verifica doar data de expirare a acestuia:
Processing /etc/letsencrypt/renewal/example.com.conf
The following certs are not due for renewal yet:
/etc/letsencrypt/live/example.com/fullchain.pem (skipped)
No renewals were attempted.
Pentru a automatiza acest proces de reînnoire, puteți configura un cronjob. Mai întâi, deschideți crontab:
sudo crontab -e
Această lucrare poate fi programată în siguranță să funcționeze în fiecare luni, la miezul nopții:
0 0 * * 1 / usr / bin / certbot renew >> /var/log/sslrenew.log
Ieșirea scriptului va fi conectată la /var/log/sslrenew.logfișier.
Concluzie
Tocmai v-ați securizat serverul web Apache prin implementarea unui certificat SSL gratuit. De acum, tot traficul dintre server și client este criptat.