NFsec Logo

Darmowe certyfikaty SSL dzięki Let’s Encrypt

19/12/2015 w Administracja, Bezpieczeństwo Brak komentarzy.  (artykuł nr 493, ilość słów: 407)

3

grudnia portal Let’s Encrypt osiągnął status beta tym samym dając możliwość wszystkim zainteresowanym użytkownikom podpisywania certyfikatów SSL za darmo. Za projektem stoją takie firmy, jak Akamai, Cisco, Electronic Frontier Foundation, Mozilla Foundation, Internet Society, IdenTrust, czy Automattic. Najważniejszą informacją jest fakt, że certyfikatom wydawanym przez portal Let’s Encrypt, w przeciwieństwie do dotychczas istniejących “darmowych” rozwiązań, ufają wszystkie liczące się na rynku Internetu przeglądarki. W dodatku cały proces wygenerowania i podpisania certyfikatu jest łatwy i można go prosto zautomatyzować.

Na początek pobieramy repozytorium z kodem projektu:

git clone https://github.com/letsencrypt/letsencrypt  

Następnie pozwalamy “instalatorowi” ustawić środowisko do pracy:

cd letsencrypt
./letsencrypt-auto

Po prawidłowej instalacji virtualenv i innych pakietów z zależności możemy przystąpić wygenerowania certyfikatu dla naszej domeny:

./letsencrypt-auto certonly --standalone --email hostmaster@domena.pl -d domena.pl \
-d www.domena.pl --agree-tos

Po tej operacji certyfikat powinien znaleźć się w katalogu /etc/lentsencrypt/live/domena.pl. Teraz możemy wykorzystać go na przykład w serwerze nginx do serwowania naszej strony po protokole https:

server {  
    listen 443;
    server_name localhost;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    ssl_session_timeout 1d;

    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128\
    -GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-\
    GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA\
    256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-\
    SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RS\
    A-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-\
    SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AE\
    S128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DS\
    S-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GC\
    M-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:\
    AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!\
    MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA\
    :!KRB5-DES-CBC3-SHA";
    ssl_prefer_server_ciphers on;

    ssl_trusted_certificate /etc/letsencrypt/live/yourdomain.com/chain.pem;

    location / {
        try_files $uri $uri/ =404;
    }
}

Z projektem dodatkowo dostarczone są pliki konfiguracyjne pozwalające na zestawienie całego środowiska na takich rozwiązaniach jak Vagrant lub Docker. Pozwala to szybkie stworzenie maszyn wirtualnych i kontenerów, które będą tylko odpowiedzialne za podpisywanie i odnawianie naszych certyfikatów. Tym samym wkraczamy w erę, w której każda strona będzie mogła być udostępniona po bezpiecznym i szybkim (HTTP/2) połączeniu.

Więcej informacji: Let’s encrypt

Kategorie K a t e g o r i e : Administracja, Bezpieczeństwo

Tagi T a g i : , , , , , , ,

Komentowanie tego wpisu jest zablokowane.