APACHE STORM | ARMA 3 - Cinematic Mission
Inhoudsopgave:
- voorwaarden
- Certbot installeren
- Genereer Strong Dh (Diffie-Hellman) Group
- Het verkrijgen van een Let's Encrypt SSL-certificaat
- Automatisch vernieuwen Let's Encrypt SSL-certificaat
- Conclusie
Let's Encrypt is een certificeringsinstantie die is gemaakt door de Internet Security Research Group (ISRG). Het biedt gratis SSL-certificaten via een volledig geautomatiseerd proces dat is ontworpen om het handmatig maken, valideren, installeren en vernieuwen van certificaten te elimineren.
Certificaten uitgegeven door Let's Encrypt zijn 90 dagen geldig vanaf de uitgiftedatum en worden tegenwoordig door alle belangrijke browsers vertrouwd.
Deze zelfstudie leidt u door het proces van het verkrijgen van een gratis Let's Encrypt met behulp van de certbot-tool op Debian 9. We zullen ook laten zien hoe u Apache configureert om het nieuwe SSL-certificaat te gebruiken en HTTP / 2 in te schakelen.
voorwaarden
Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:
- Aangemeld als een gebruiker met sudo-rechten. Heb een domeinnaam die naar het openbare IP-adres van uw server verwijst. We zullen
example.com
gebruiken. Apache geïnstalleerd. Een virtuele apache-host voor uw domein. U kunt deze instructies volgen voor details over hoe u er een maakt.
Certbot installeren
Certbot is een volledig functionele en eenvoudig te gebruiken tool die de taken voor het verkrijgen en vernieuwen van Let's Encrypt SSL-certificaten kan automatiseren. Het certbot-pakket is inbegrepen in de standaard Debian-opslagplaatsen.
Werk de pakkettenlijst bij en installeer het certbot-pakket met de volgende opdrachten:
sudo apt update
sudo apt install certbot
Genereer Strong Dh (Diffie-Hellman) Group
Diffie-Hellman-sleuteluitwisseling (DH) is een methode voor het veilig uitwisselen van cryptografische sleutels via een onbeveiligd communicatiekanaal.
Om een nieuwe set van 2048 bit DH-parameters te genereren, gaat u als volgt te werk:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Als u wilt, kunt u de grootte wijzigen tot 4096 bits, maar in dat geval kan het genereren meer dan 30 minuten duren, afhankelijk van de entropie van het systeem.
Het verkrijgen van een Let's Encrypt SSL-certificaat
Om een SSL-certificaat voor ons domein te verkrijgen, gaan we de Webroot-plug-in gebruiken die werkt door een tijdelijk bestand te maken voor het valideren van het aangevraagde domein in de
${webroot-path}/.well-known/acme-challenge
. De Let's Encrypt-server doet HTTP-aanvragen bij het tijdelijke bestand om te valideren dat het aangevraagde domein wordt opgelost naar de server waarop certbot wordt uitgevoerd.
Om het eenvoudiger te maken, gaan we alle HTTP-aanvragen voor
.well-known/acme-challenge
/var/lib/letsencrypt
aan een enkele map,
/var/lib/letsencrypt
.
De volgende opdrachten maken de map en maken deze beschrijfbaar voor de Apache-server.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Maak de volgende twee configuratiefragmenten om dubbele code te voorkomen:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
Het bovenstaande fragment gebruikt de chippers die worden aanbevolen door Cipherli.st, maakt OCSP nieten, HTTP Strict Transport Security (HSTS) mogelijk en dwingt weinig op beveiliging gerichte HTTP-headers af.
Voordat u de configuratiebestanden inschakelt, moet u controleren of zowel
mod_ssl
als
mod_headers
zijn ingeschakeld door:
sudo a2enmod ssl
sudo a2enmod headers
Schakel de HTTP / 2-module in, die uw sites sneller en robuuster maakt:
sudo a2enmod
Schakel de SSL-configuratiebestanden in door de volgende opdrachten uit te voeren:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
Laad de Apache-configuratie opnieuw om de wijzigingen door te voeren:
sudo systemctl reload apache2
Gebruik de Certbot-tool met de webroot-plug-in om de SSL-certificaatbestanden te verkrijgen:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Als het SSL-certificaat met succes is verkregen, zal certbot het volgende bericht afdrukken:
IMPORTANT NOTES: IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2019-01-17. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
Nu u de certificaatbestanden hebt, kunt u de configuratie van uw virtuele domeinhost als volgt bewerken:
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
Met de bovenstaande configuratie dwingen we HTTPS en verwijzen we door van www naar een niet-www-versie. Voel je vrij om de configuratie aan te passen aan jouw behoeften.
Laad de Apache-service opnieuw om de wijzigingen door te voeren:
sudo systemctl reload apache2
Open uw website met
https://
en u ziet een groen slotpictogram.
Automatisch vernieuwen Let's Encrypt SSL-certificaat
De certificaten van Let's Encrypt zijn 90 dagen geldig. Om de certificaten automatisch te verlengen voordat ze verlopen, maakt het certbot-pakket een cronjob die twee keer per dag wordt uitgevoerd en automatisch elk certificaat 30 dagen vóór de vervaldatum vernieuwt.
Zodra het certificaat is vernieuwd, moeten we ook de Apache-service opnieuw laden. Voeg
--renew-hook "systemctl reload apache2"
aan het bestand
--renew-hook "systemctl reload apache2"
zodat het er als volgt uitziet:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload apache2"
Gebruik de certbot
--dry-run
schakelaar om het vernieuwingsproces te testen:
sudo certbot renew --dry-run
Als er geen fouten zijn, betekent dit dat het vernieuwingsproces succesvol was.
Conclusie
In deze zelfstudie hebt u de Let's Encrypt-clientcertificbot gebruikt om SSL-certificaten voor uw domein te verkrijgen. U hebt ook Apache-fragmenten gemaakt om dubbele code te voorkomen en Apache geconfigureerd om de certificaten te gebruiken. Aan het einde van de zelfstudie hebt u een cronjob ingesteld voor automatische certificaatverlenging.
apache debian laten we certbot ssl coderenDit bericht maakt deel uit van de LAMP Stack installeren op Debian 9-serie.
Andere berichten in deze serie:
• Hoe Apache op Debian 9 te installeren • Hoe PHP op Debian 9 te installeren • Hoe Apache Virtual Hosts op Debian 9 in te stellen • Hoe MariaDB op Debian 9 te installeren • Veilige Apache met Let's Encrypt op Debian 9Veilige apache met laten we coderen op centos 7
In deze tutorial behandelen we de stappen die nodig zijn om een gratis Let's Encrypt SSL-certificaat te installeren op een CentOS 7-server met Apache als webserver.
Veilige apache met laten we coderen op centos 8
In deze zelfstudie wordt uitgelegd hoe u een gratis Let's Encrypt SSL-certificaat installeert op CentOS 8 met Apache als webserver. We gebruiken de certbot-tool om de certificaten te verkrijgen en te vernieuwen.
Veilige apache met laten we coderen op ubuntu 18.04
In deze zelfstudie geven we stapsgewijze instructies over hoe u uw Apache kunt beveiligen met Let's Encrypt met behulp van de certbot-tool op Ubuntu 18.04.