Certyfikat SSL Let’s Encrypt na hostingu webd.pl

Certyfikat SSL Let’s Encrypt

Może na początek przedstawię czym jest certyfikat ssl i dlaczego akurat Let’s Encrypt. Użycie certyfikatu SSL umożliwia szyfrowanie ruchu poprzez użycie protokołu HTTPS. Zapewnia to ograniczenie możliwości podsłuchiwania ruchu sieciowego. Jak widać, dość przydatna rzecz.

A czemu akurat Let’s Encrypt? Ponieważ jest to dość nie dawno powstały urząd certyfikacji, którego głównym celem jest „walka” z używanie niezaszyfrowanego protokołu HTTP. Realizuje on swoją wizję dostarczając darmowe certyfikaty TLS (jest to bardziej rozwinięta wersja protokołu SSL), oraz zestaw narzędzi do zarządzania i integracji certyfikatów.

Mój przypadek

Jakiś czas temu okazało się, że mój domowy serwer odmówił posłuszeństwa i byłem zmuszony przenieść się gdzieś… No ale właśnie, gdzie i jak. Zawsze w takich sytuacjach kombinowałem jakąś maszynę na szybko i uruchamiałem wszystko na szybko. Tym razem jednak stwierdziłem, że wystarczy mi takich przygód. Szybkie poszukiwania, główne kryterium cena i padło na webd.pl. Ogólnie nie narzekam. Jednak szybko okazało się, że webd.pl nie wspiera Let’s Encrypt. Można kupić u nich certyfikat, no ale po co jak można mieć za darmo. Moje rozwiązanie problemu ma jedną wadę. Trzeba będzie przeprowadzać podobny proces co 3 miesiące, bo tyle ważny jest certyfikat. Na chwilę obecną automatów na webd.pl nie ma. Jeżeli ktoś poszukuje na to z tego co się orientuję to ovh.pl takowe posiada.

Generowanie certyfikatu

Narzędzie do generowania certyfikatu przeznaczone jest na platformę Linux, której w chwili obecnej nie posiadałem, stąd na szybko postawiłem wirtualną maszynę, uruchomiłem ssh i wziąłem się do roboty.
Jeżeli tak jak ja macie czysty system Linux bez dodatków to należy zainstalować git’a
sudo apt-install git

Następnie klonujemy odpowiednie repozytorium
git clone https://github.com/letsencrypt/letsencrypt

Teraz przechodzimy do katalogu letsencrypt
cd letsencrypt

Następnie uruchamiamy skrypt. Po każdym „-d” podajemy adres dla którego chcemy wygenerować certyfikat, w moim przypadku wyglądało to następująco:
./letsencrypt-auto certonly -a manual --rsa-key-size 4096 -d mati-ck.pl -d www.mati-ck.pl

Podajemy hasło użytkownika i skrypt rusza.

Następnie musimy odpowiedzieć na pytanie czy zgadzamy się z warunkami: jeżeli tak klepiemy „A” – jak agree, lub „C” – jak Cancel.
Kolejnym pytaniem jest: „Czy chciałbyś udostępnić swój adres e-mail dla Electronic Frontier?”, osobiście nie lubię spamu więc poszło „N”.

Następnie pada ostrzeżenia, że jeżeli używasz certbota w trybie manualnym na komputerze, który nie jest Twoim serwerem to upewnij się, że jesteś bezpieczny. Odpowiadamy „Y” – o ile jesteśmy pewni.

W kolejnym punkcie proszeni jesteśmy otworzenie pliku zawierające wygenerowane dane pod ścieżką http://twoja-domena.pl/.well-known/acme-challenge/nazwa-pliku-podana-przez-narzędzie

Jeżeli stworzymy plik o podanej nazwie i treści potwierdzamy w konsoli „Enterem”. Potem następuje generowanie odpowiednich plików potrzebnych do certyfikacji.

Potrzebne nam pliki powinny znajdować się w katalogu /etc/letsencrypt/live/twoja-domena.pl/

Ustawienia hostingu

Skoro mamy wszystko co potrzebne, zabieramy się za nasz hosting.

W sekcji „Zabezpieczenia” klikamy w „SSL/TLS”. Tam na samym dole znajduje się opcja „Zarządzaj witrynami internetowymi chronionymi protokołem SSL” i tam przechodzimy.

Na dole wybiera z listy wybieramy interesującą nas domenę i w pole „Certyfikat: (CRT)” wklejamy treść pliku cert.pem. W pole „Klucz prywatny (KEY)” wklejamy treść pliku privkey.pem. Klikamy Zainstaluj certyfikat i to tyle. Dzięki temu darmowy certyfikat SSL mamy zainstalowany.

Powinniśmy jeszcze zmodyfikować plik .htaccess dodając do niego treść.

# BEGIN Force SSL
# This should be the first rule before other rules
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END Force SSL

3 myśli na temat “Certyfikat SSL Let’s Encrypt na hostingu webd.pl

  1. Dzięki wielkie! Mam na webd.pl hosting i osobiście nie siedzę w certyfikatach czy backendzie na codzień i po prostu bym tego nie rozkminił. Dzięki artykułowi zrobię certyfikat za darmo i szybko! Jeśli wpadłeś albo wpadniesz na jakiś sposób automatyzacji to byłbym wdzięczny gdybyś zaktualizował artykuł 🙂

  2. Dzięki!
    Obecnie mogę cieszyć się certyfikatem SSL na swoim blogu.
    Pozdrawiam.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *