3.7 KiB
Com protegir Apache amb Let’s Encrypt en Debian 12, 11 o 10
Introducció
Assegurar el servidor web Apache amb un certificat de Let’s Encrypt és essencial per protegir el teu lloc web i dades. Aquesta guia t'ajudarà a fer-ho en Debian 12, 11 i 10, enfocant-se en implementar mesures de seguretat robustes mentre es simplifiquen les complexitats de la gestió del servidor.
Avantatges d'utilitzar Let’s Encrypt amb Apache en Debian
-
Cost-efectiu: Certificats SSL gratuïts accessibles per a tothom.
-
Renovacions automatitzades: Simplifica l’obtenció i renovació de certificats, minimitzant riscos de falles de seguretat.
-
Seguretat millorada: Forta xifra de dades en trànsit, augmentant la seguretat general.
-
Ampla compatibilitat: La majoria de navegadors moderns reconeixen certificats de Let’s Encrypt.
-
Mesures de seguretat proactives: Actualitzacions regulars i polítiques estrictes contra amenaces cibernètiques.
Instal·lar Certbot per Apache
Actualitzar repositoris de paquets abans de la instal·lar Certbot
Executa els següents comandaments per assegurar que el sistema està actualitzat:
sudo apt update
sudo apt upgrade
Instal·lar Certbot i el plugin d'Apache
Per instal·lar Certbot i el plugin d'Apache, executa:
sudo apt install certbot python3-certbot-apache
Configurar Apache i el certificat de Let’s Encrypt
Guia per configurar Apache i generar un certificat SSL de Let’s Encrypt utilitzant Certbot.
Configuració de Certbot i generació de certificat SSL
Després d'instal·lar Certbot, executa la següent ordre per generar un certificat SSL:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d yourdomain.com
Altres opcions interactivas de Certbot
Si prefereixes un enfocament més interactiu:
sudo certbot --apache
Seguiràs uns passos GUI de configuració.
Automitzar la renovació del certificat SSL amb Cron
Comprovació prèvia de la renovació
Realitza un simulacre de renovació:
sudo certbot renew --dry-run
Programar renovacions automàtiques
Obre el fitxer crontab:
sudo crontab -e
Afegeix la següent línia per programar la renovació diària a les 2:30 AM:
30 2 * * * /usr/bin/certbot renew --quiet
Millorar la configuració SSL d'Apache
Editar el fitxer de configuració d'Apache
Obre el fitxer de configuració del teu domini:
sudo nano /etc/apache2/sites-available/your_domain.conf
Redirigir HTTP a HTTPS
Afegeix la regla per redirigir tot el trànsit HTTP a HTTPS:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
Habilitar SSL i especificar certificats
Afegeix:
SSLEngine on
SSLCertificateFile /path/to/signed_cert_and_intermediate_certs
SSLCertificateKeyFile /path/to/private_key
Habilitar HTTP/2
Afegeix:
Protocols h2 http/1.1
Implementar HSTS
Afegeix:
Header always set Strict-Transport-Security "max-age=63072000"
Configurar protocols i xifres SSL
Defineix protocols segurs i xifres adequades:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:...
Habilitar OCSP Stapling
Afegeix:
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
Validar i aplicar els canvis
Comprova la configuració:
sudo apachectl configtest
Recarrega Apache si no hi ha errors:
sudo systemctl restart apache2