
V tomto tutoriálu se seznámíte s postupem TLS/SSL instalace certifikátu na Apache webový server. Po dokončení bude veškerý provoz mezi serverem a klientem zašifrován. Jedná se o standardní postup zabezpečení webových stránek elektronického obchodu a dalších finančních služeb online. Pojďme šifrovat je průkopníkem v bezplatné implementaci SSL a v tomto případě bude použit jako poskytovatel certifikátu.
Důležité! CentOS Linux 8 dosáhl 31. 12. 2021 konce životnosti (EOL). I když je CentOS Linux 7 stále podporován, dosáhne EOL 30. 6. 2024. Doporučujeme to mít na paměti při výběru tohoto OS. Více si o tom můžete přečíst na jejich oficiálních stránkách.
Co budete potřebovat
Než začnete s touto příručkou, budete potřebovat následující:
- SSH root přístup k CentOS 7 VPS
- Webový server Apache se správně nakonfigurovanou doménou a vhost
Krok 1 – Instalace závislých modulů
Chcete-li nainstalovat certbot budete muset nainstalovat EPEL úložiště, protože ve výchozím nastavení není k dispozici, mod_ssl je také vyžadováno, aby šifrování bylo rozpoznáno Apache.
Chcete-li nainstalovat obě tyto závislosti, spusťte tento příkaz:
yum install epel-release mod_ssl
Nyní byste měli být připraveni pokračovat dále a nainstalovat samotného certbota.
Krok 2 – Stažení klienta Let’s Encrypt
Dále nainstalujete klienta certbot z úložiště EPEL:
yum install python-certbot-apache
Nyní by měl být certbot nainstalován a dostupný pro skutečné použití.
Krok 3 — Nastavení certifikátu SSL
Certbot si se správou SSL certifikátu poradí celkem jednoduše, jako parametr vygeneruje nový certifikát pro zadanou doménu.
V tomto případě bude example.com použita jako doména, pro kterou bude certifikát vydán:
certbot --apache -d example.com
Pokud chcete vygenerovat SSL pro více domén nebo subdomén, spusťte tento příkaz:
certbot --apache -d example.com -d www.example.com
Důležité! První doménou by měla být vaše základní doména, v tomto příkladu je to example.com
Při instalaci certifikátu se vám zobrazí průvodce krok za krokem, který vám umožní přizpůsobit podrobnosti certifikátu. Budete si moci vybrat mezi vynucením HTTPS nebo ponecháním HTTP jako výchozího protokolu, přičemž z bezpečnostních důvodů bude také vyžadována e-mailová adresa.
Po dokončení instalace by se vám měla zobrazit podobná zpráva:
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails 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 2016-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 contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Krok 4 — Nastavení automatického obnovení certifikátu
Certifikáty Let’s Encrypt jsou platné 90 dní, ale každý webový profesionál vám doporučí, abyste si je do 60 dní obnovili, abyste se vyhnuli problémům. Abychom toho dosáhli, certbot nám pomůže s jeho renew
příkaz. Zkontroluje, zda certifikát do vypršení platnosti zbývá méně než 30 dní.
Pokračujte spuštěním tohoto příkazu:
certbot renew
Pokud je nainstalovaný certifikát aktuální, certbot zkontroluje pouze datum vypršení platnosti:
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.
Chcete-li tento proces obnovy automatizovat, můžete nastavit úlohu cron. Nejprve otevřete crontab:
crontab -e
Spuštění této úlohy lze bezpečně naplánovat každé pondělí o půlnoci:
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
Výstup skriptu bude přesměrován do /var/log/sslrenew.log
soubor.
Závěr
Právě jste zabezpečili svůj webový server Apache implementací nejočekávanější bezpečnostní funkce – bezplatného SSL certifikátu! Od této chvíle je veškerý provoz mezi serverem a klientem šifrován, můžete si být jisti, že nikdo nemůže zachytit komunikaci a změnit nebo ukrást důležité informace.