Certyfikat SSL na VPS
Certyfikat SSL na VPS
Certyfikaty SSL są narzędziem zapewniającym ochronę stron internetowych, a także gwarantują zachowanie poufności danych przesyłanych drogą elektroniczną. Let’s Encrypt to bezpłatny certyfikat SSL dający podstawowy, lecz w pełni darmowy poziom zabezpieczenia:
Instalacja oprogramowania GIT oraz pobranie letsencrypt:
sudo apt-get install git
sudo git clone http://github.com/letsencrypt/letsencrypt /opt/letsencrypt
cd /opt/letsencrypt
Wygenerowanie certyfikatu SSL dla przykładowej domeny:
sudo -H ./letsencrypt-auto certonly --standalone -d example.com -d www.example.com
Weryfikacja certyfikatów:
sudo ls /etc/letsencrypt/live
Wyświetlenie certyfikatów wraz z datami ich wygaśnięcia:
./certbot-auto certificates
Odnowienie certyfikatu dla przykładowej domeny:
cd /opt/letsencrypt
sudo -H ./letsencrypt-auto certonly --standalone --renew-by-default -d example.com -d www.example.com
Dobrą praktyką jest dodać do narzędzia crontab zadanie automatycznego odnowienia certyfikatów oraz zadanie automatycznej aktualizacji oprogramowania letsencrypt:
Odnowienie certyfikatów:
sudo crontab -e
0 0 1 * * /opt/letsencrypt/letsencrypt-auto renew
Aktualizacja oprogramowania letsencrypt:
0 0 1 * * cd /opt/letsencrypt && git pull
Konfiguracja wirtualnych hostów dla portu 443 (http):
Modyfikacja pliku:
/etc/apache2/sites-available#
Dodanie wpisu:
<VirtualHost example.pl:443> ServerName example.pl ServerAlias example.pl DocumentRoot /var/www/example SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4" SSLCertificateChainFile /etc/letsencrypt/live/example.pl/fullchain.pem SSLCertificateFile /etc/letsencrypt/live/example.pl/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.pl/privkey.pem <Directory /var/www/example.pl> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> </VirtualHost>
Od tego momentu witryna może działać pod szyfrowaną wersją protokołu HTTP => http z aktualnym certyfikatem letsencrypt.
Dla dystrybucji Ubuntu 16.04 należy dodatkowo wykonać polecenia:
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install python-certbot-apache
Leave a comment