Let’s encrypt – Zielona ‚kłódka’ dla naszej strony www czyli darmowy certyfikat SSL

Let’s encrypt to inicjatywa, której celem jest stworzenie platformy pozwalającej na wystawianie poprawnych certyfikatów, dzięki, którym nasza strona może oferować szyfrowane połączenie SSL, a przy tym certyfikat wystawiającego jest certyfikatem zaufanym przez co nie grozi nam i odwiedzającym naszą stronę komunikat o niezaufanym certyfikacje (jak ma to miejsce w przypadku generowania certyfikatu podpisanego przez samego siebie)

Na wstępie zaznaczę, że wpis ukierunkowany jest jako kontynuacja wpisu: Apache Część 2: Włącz SSL dlatego jeżeli interesuje Ciebie uruchomienie SSL na swoim serwerze Apache zachęcam do przeczytania poprzedniego wpisu.

Na dzień 18.03.2016 letsencrypt pozwala na automatyzację instalacji certyfikatów na platformie debian/ubuntu z serwerem Apache2, dla pozostałych platform czynność instalacji wymaga konfiguracji ręcznej.

Przygotowanie

Pierwszym krokiem jest zainstalowanie clienta git, jeżeli takowego nie posiadamy:

Kolejnym krokiem jest pobranie najnowszego klienta letsencrypt, którzy przeprowadzi nas przez proces generowania i podpisywania kluczy:

W przyszłości możemy aktualizować klienta letsencrypt poprzez komendę ‚pull’:

Podczas aktualizacji może pojawić się komunikat o tym, iż zmodyfikowaliśmy naszą wersję aplikacji, ale jest na to bardzo łatwy fix:

 

Do dzieła!

Metoda 1: Automatyczna konfiguracja Apache2 + Debian/Ubuntu

 

Metoda 2: Otrzymanie certyfikatów dla dowolnego serwera www (moduł webroot)

 

Metoda 3: Otrzymanie certyfikatów korzystając z wbudowanego serwera www (moduł standalone)

 

Jeżeli korzystaliśmy z modułu ‚apache’ wszystko powinno już działać, w innym wypadku należy ręcznie dodać certyfikaty do plików konfiguracyjnych.

Certyfikaty zapisywane są w: /etc/letsencrypt/archive jednak najwygodniej korzystać z linków utworzonych w: /etc/letsencrypt/live/

 

Odświeżanie certyfikatów!?

Jako, że stan dzisiejszy (18.03.2016), certyfikaty wystawiane przez Let’s Encrypt mają termin ważności 90 dni. Odświeżenie certyfikatów czyli defacto wygenerowanie nowych można wykonać ręcznie. Można też poprzez skrypt zaproponowany przez samych twórców letsencrypt.

Na wstępie warto przeprowadzić tzw. próbne uruchomienie (en. ‚dry run’):

Jeżeli próbne uruchomienie przejdzie pomyślnie, możemy bez obaw uruchomić aplikację bez –dry-run:

 

Komenda ‚renew’ korzysta z ostatnio ustawień dla poszczególnych domen, dlatego jeżeli zechcemy np. zmienić wielkość klucza RSA podczas generowania go możemy użyć komendy:

 

Aplikacja podczas odnawiania certyfikatów sprawdza czy dane certyfikaty są ważne, jeżeli tak nie odnawia ich bez potrzebny, zachowanie to można ominąć poprzez parametr ‚--force-renew':

 

Automatyzacja odświeżania certyfikatów 🙂

Jest to kopia skryptu ze strony https://letsencrypt.org

Dodajmy jeszcze wykonywanie skryptu do cron-a, tak by nie zapomnieć o naszych certyfikatach

Uzyskany przez to próbe odnowienia certyfikatów co godzinę.

 

Oczywiście możemy pominąć skrypt i dodać wpis do cron-a bezpośrednio bez logowania z wymuszeniem podpisania certyfikatu:

W ten sposób każdego pierwszego dnia miesiąc wygeneruj się nowy certyfikat dla naszych stron, a biorąc pod uwagę fakt, iż mają one ważność 90 dni, mamy teoretycznie max 3 próby, aby przed ich wygaśnięciem je odnowić.

 

Odwołanie certyfikatu:

 

Aktualizacja 11/06/2016:

Aby zaktualizować klienta letsencrypt należy w katalogu aplikacji uruchomić gita

Może się zdarzyć, że podczas że git będzie usilnie twierdził, że nasza wersja jest zmodyfikowana i bez commitu nie zrobić komendy pull, lekarstwem jest wyresetowanie git repo:

 

Aktualizacja 03/09/2017

letsencrypt zmieniło nazwę na certbot

Facebooktwittergoogle_plusreddit

Dodaj komentarz

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

*