-
Let’s Encrypt i mamy darmowego SSL-a
Coraz częściej mówi się, że wszystko co przesyłamy przez sieć, czy to Internet, czy LAN, powinno być szyfrowane. Wiele w tym prawdy, ponieważ bezpieczeństwo danych to chyba rzecz najważniejsza w biznesie. Najprostszą metodą zapewnienia bezpieczeństwa/prywatności transmisji danych, jest zastosowanie certyfikatu SSL. Nie jest to drogie, a dzięki Let-s Encrypt nawet darmowe.
Poniżej krok po kroku jak zdobyć nasz pierwszy darmowy certyfikat w systemie CentOS 6, korzystając z Apache.
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
Efekt poniżej:
Bootstrapping dependencies for RedHat-based OSes...
yum jest /usr/bin/yum
Wczytane wtyczki: fastestmirror
Ustawianie procesu instalacji
Loading mirror speeds from cached hostfile
* base: centos2.hti.pl
* epel: ftp.icm.edu.pl
* extras: mirror.onet.pl
* updates: ftp.icm.edu.pl
Pakiet gcc-4.4.7-17.el6.x86_64 jest już zainstalowany w najnowszej wersji
Pakiet openssl-1.0.1e-48.el6_8.3.x86_64 jest już zainstalowany w najnowszej wersji
Pakiet openssl-devel-1.0.1e-48.el6_8.3.x86_64 jest już zainstalowany w najnowszej wersji
Pakiet redhat-rpm-config-9.0.3-51.el6.centos.noarch jest już zainstalowany w najnowszej wersji
Pakiet ca-certificates-2015.2.6-65.0.1.el6_7.noarch jest już zainstalowany w najnowszej wersji
Pakiet python-2.6.6-66.el6_8.x86_64 jest już zainstalowany w najnowszej wersji
Rozwiązywanie zależności
--> Wykonywanie sprawdzania transakcji
---> Package augeas-libs.x86_64 0:1.0.0-10.el6 will be zainstalowany
---> Package dialog.x86_64 0:1.1-9.20080819.1.el6 will be zainstalowany
---> Package libffi-devel.x86_64 0:3.0.5-3.2.el6 will be zainstalowany
---> Package mod_ssl.x86_64 1:2.2.15-55.el6.centos.2 will be zainstalowany
--> Przetwarzanie zależności: httpd = 2.2.15-55.el6.centos.2 dla pakietu: 1:mod_ssl-2.2.15-55.el6.centos.2.x86_64
---> Package python-devel.x86_64 0:2.6.6-66.el6_8 will be zainstalowany
---> Package python-pip.noarch 0:7.1.0-1.el6 will be zainstalowany
--> Przetwarzanie zależności: python-setuptools dla pakietu: python-pip-7.1.0-1.el6.noarch
---> Package python-tools.x86_64 0:2.6.6-66.el6_8 will be zainstalowany
--> Przetwarzanie zależności: tkinter = 2.6.6-66.el6_8 dla pakietu: python-tools-2.6.6-66.el6_8.x86_64
---> Package python-virtualenv.noarch 0:1.10.1-1.el6 will be zainstalowany
--> Wykonywanie sprawdzania transakcji
---> Package httpd.x86_64 0:2.2.15-54.el6.centos will be zaktualizowany
---> Package httpd.x86_64 0:2.2.15-55.el6.centos.2 will be an update
--> Przetwarzanie zależności: httpd-tools = 2.2.15-55.el6.centos.2 dla pakietu: httpd-2.2.15-55.el6.centos.2.x86_64
---> Package python-setuptools.noarch 0:0.6.10-3.el6 will be zainstalowany
---> Package tkinter.x86_64 0:2.6.6-66.el6_8 will be zainstalowany
--> Przetwarzanie zależności: libTix.so()(64bit) dla pakietu: tkinter-2.6.6-66.el6_8.x86_64
--> Wykonywanie sprawdzania transakcji
---> Package httpd-tools.x86_64 0:2.2.15-54.el6.centos will be zaktualizowany
---> Package httpd-tools.x86_64 0:2.2.15-55.el6.centos.2 will be an update
---> Package tix.x86_64 1:8.4.3-5.el6 will be zainstalowany
--> Ukończono rozwiązywanie zależnościRozwiązano zależności
======================================================================================================================================================================================================================
Pakiet Architektura Wersja Repozytorium Rozmiar
======================================================================================================================================================================================================================
Instalowanie:
augeas-libs x86_64 1.0.0-10.el6 base 314 k
dialog x86_64 1.1-9.20080819.1.el6 base 197 k
libffi-devel x86_64 3.0.5-3.2.el6 base 18 k
mod_ssl x86_64 1:2.2.15-55.el6.centos.2 updates 97 k
python-devel x86_64 2.6.6-66.el6_8 updates 173 k
python-pip noarch 7.1.0-1.el6 epel 1.5 M
python-tools x86_64 2.6.6-66.el6_8 updates 871 k
python-virtualenv noarch 1.10.1-1.el6 epel 1.3 M
Instalowanie, aby rozwiązać zależności:
python-setuptools noarch 0.6.10-3.el6 base 336 k
tix x86_64 1:8.4.3-5.el6 base 252 k
tkinter x86_64 2.6.6-66.el6_8 updates 258 k
Aktualizowanie, aby rozwiązać zależności:
httpd x86_64 2.2.15-55.el6.centos.2 updates 834 k
httpd-tools x86_64 2.2.15-55.el6.centos.2 updates 79 kPodsumowanie transakcji
======================================================================================================================================================================================================================
Instalacja 11 pakiet(y)
Aktualizacja 2 pakiet(y)Całkowity rozmiar pobierania: 6.1 M
W porządku? [t/N]:tUkończono.
Creating virtual environment…
Installing Python packages…
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.logInstalator potrafi wykryć jakie mamy vhosty i powinien dać nam wybór dla którego chcemy wygenerować certyfikat.
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: centos.com.pl
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):Możemy ustawić, czy ma być aktywne bezwzględne przekierowanie na https.
Please choose whether HTTPS access is required or optional.
-------------------------------------------------------------------------------
1: Easy - Allow both HTTP and HTTPS access to these sites
2: Secure - Make all requests redirect to secure HTTPS accessCongratulations! You have successfully enabled https://centos.com.pl
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=mail.specadmin.net
——————————————————————————-IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/centos.com.pl/fullchain.pem. Your cert
will expire on 2017-05-17. To obtain a new or tweaked version of
this certificate in the future, simply run certbot-auto again with
the „certonly” option. To non-interactively renew *all* of your
certificates, run „certbot-auto renew”
– If you like Certbot, please consider supporting our work by:Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-leTutaj mamy nasz certyfikat SSL oraz RootCA -> /etc/letsencrypt/live/centos.com.pl/fullchain.pem
Tutaj zaś nasz klucz -> /etc/letsencrypt/live/centos.com.pl/privkey.pemTeraz czas na CentOS 7 i nginx
W przypadku konkurencyjnego webservera dla Apache, tj, Nginx, musimy dodać poniższy wpis dla naszego vhosta w sekcji server.
location ~ /.well-known {
allow all;
}i zrestartować nginx-a oczywiście.
systemctl restart nginx
a następnie przystępujemy do instalacji certbot-a.
yum install python-certbot certbot
i generowania certyfikatu
letsencrypt certonly -a webroot --webroot-path=/var/www/html -d nasza-domena.pl
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges: http-01 challenge for nasza-domena.plUsing the webroot path /var/www/html for all unmatched domains. │
Waiting for verification…
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0002_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0002_csr-certbot.pemIMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/nasza-domena.pl/fullchain.pem. Your
cert will expire on 2017-03-23. 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 kontakt@centos.com.pl.
– 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: https://eff.org/donate-leTutaj mamy nasz certyfikat SSL oraz RootCA -> /etc/letsencrypt/live/nasza-domena.pl/fullchain.pem
Tutaj zaś nasz klucz -> /etc/letsencrypt/live/nasza-domena.pl/privkey.pemPamiętajmy, że wygenerowane certyfikat są ważne przez trzy miesiące, a nie rok jak zazwyczaj. Co do przedłużenia, to …… ciąg dalszy nastąpi 🙂