commit 86712ab81ae06f42107591d1a5cb5e8f0b7c77d4 Author: Max HeadRoom Date: Tue Jan 21 17:58:57 2025 +0000 Add apache2-vhost-https.md diff --git a/apache2-vhost-https.md b/apache2-vhost-https.md new file mode 100644 index 0000000..b49db16 --- /dev/null +++ b/apache2-vhost-https.md @@ -0,0 +1,233 @@ +### 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 + +1. **Cost-efectiu**: Certificats SSL gratuïts accessibles per a tothom. + +2. **Renovacions automatitzades**: Simplifica l’obtenció i renovació de certificats, minimitzant riscos de falles de seguretat. + +3. **Seguretat millorada**: Forta xifra de dades en trànsit, augmentant la seguretat general. + +4. **Ampla compatibilitat**: La majoria de navegadors moderns reconeixen certificats de Let’s Encrypt. + +5. **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: + + +```bash + +sudo apt update + +sudo apt upgrade + +``` + + +**Instal·lar Certbot i el plugin d'Apache** + +Per instal·lar Certbot i el plugin d'Apache, executa: + + +```bash + +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: + + +```bash + +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: + + +```bash + +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ó: + + +```bash + +sudo certbot renew --dry-run + +``` + + +**Programar renovacions automàtiques** + +Obre el fitxer crontab: + + +```bash + +sudo crontab -e + +``` + + +Afegeix la següent línia per programar la renovació diària a les 2:30 AM: + + +```bash + +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: + + +```bash + +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: + + +```apache + +RewriteEngine On + +RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/ + +RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] + +``` + + +**Habilitar SSL i especificar certificats** + +Afegeix: + + +```apache + +SSLEngine on + +SSLCertificateFile /path/to/signed_cert_and_intermediate_certs + +SSLCertificateKeyFile /path/to/private_key + +``` + + +**Habilitar HTTP/2** + +Afegeix: + + +```apache + +Protocols h2 http/1.1 + +``` + + +**Implementar HSTS** + +Afegeix: + + +```apache + +Header always set Strict-Transport-Security "max-age=63072000" + +``` + + +**Configurar protocols i xifres SSL** + +Defineix protocols segurs i xifres adequades: + + +```apache + +SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 + +SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:... + +``` + + +**Habilitar OCSP Stapling** + +Afegeix: + + +```apache + +SSLUseStapling On + +SSLStaplingCache "shmcb:logs/ssl_stapling(32768)" + +``` + + +**Validar i aplicar els canvis** + +Comprova la configuració: + + +```bash + +sudo apachectl configtest + +``` + + +Recarrega Apache si no hi ha errors: + + +```bash + +sudo systemctl restart apache2 \ No newline at end of file