Zabezpiecz swoją stronę www za darmo certyfikatem SSL od Let’s Encrypt

Jakiś czas temu pisałem o starcie usługi dostarczające darmowe certyfikaty SSL dla stron internetowych – Let’s Encrypt.

Usługa wyszła już z fazy beta, nadal jest w fazie beta jednak działa naprawdę dobrze i otrzymanie certyfikatu przebiega bez żadnych problemów.

holas.pl z certyfikatem z Let's Encrypt

Aby z niej skorzystać trzeba pobrać klienta i postąpić zgodnie z jego instrukcją. Niestety aktualnie nie ma paczki na Debiana Jessie więc postanowiłem użyć jednego z alternatywnych klientów, który jest skryptem w bashu i jest prosty jak „konstrukcja cepa” – https://github.com/Neilpang/acme.sh

Używając powyższego skryptu można wszystko zrobić dosłownie w 5 minut :). Wspomnę tylko, że skrypt ma instalator (pkt. 1 lub 2 ze strony na githubie) i inne ułatwiacze ale ja lubię mieć kontrolę nad tym co się dzieje więc z nich nie korzystałem.

Na wstępie ustalmy do celów poradnika, że wszystko będziemy wykonywać z root’a (oczywiście nie trzeba ale zakładamy tak w celu uproszczenia) oraz:

/root/.acme.sh/acme.sh – miejsce składowania skryptów klienta
mojastrona.pl – strona, dla której chcemy uzyskać certyfikat
/mnt/www/mojastrona.pl – katalog na dysku naszej strony
/etc/apache2 – lokalizacja apache wraz z plikami konfiguracji

Pierwszym naszym krokiem powinno być pobranie wymaganych plików klienta. W tym celu przechodzimy (zakładamy w razie potrzeby) do katalogu

/root/.acme.sh/acme.sh

i wykonujemy komendę

git clone https://github.com/Neilpang/acme.sh

Jeśli nie mamy gita to go instalujemy lub wchodzimy na stronę projektu, ręcznie pobieramy pliki i je wypakowujemy.

Następnym krokiem (dla wygody tylko) jest zrobienie symlinka z katalogu gdzie będą nasze certyfikaty do katalogu apache. Wykonujemy to komendą

ln -s /root/.acme.sh/ /etc/apache2/letsencrypt

Po wykonaniu powyższych kroków oraz upewnieniu się, że nasza strona jest dostępna z internetu należy pobrać certyfikat

./acme.sh issue /mnt/www/mojastrona.pl/ mojastrona.pl

lub jeśli mamy jakieś aliasy (np. www.mojastrona.pl) to

./acme.sh issue /mnt/www/mojastrona.pl/ mojastrona.pl www.mojastrona.pl

Jeśli nasza strona była dostępna z internetu to powinniśmy otrzymać certyfikat, a potrzebne pliki zapisane zostaną w katalogu

/root/.acme.sh/mojastrona.pl/

Pozostało nam już tylko poprawić konfigurację apache aby wskazać nasze certyfikaty (dobry poradnik jak skonfigurować SSL w apache znajduje się tu – krok 3 i 4). W tym celu w pliku konfiguracyjnym należy wskazać tak aby opcja

SSLCACertificateFile  kierowała do ca.cer
SSLCertificateFile kierowała do pliku .cer
SSLCertificateKeyFile kierowała do pliku .key

np.

SSLCACertificateFile /etc/apache2/letsencrypt/mojastrona.pl/ca.cer
SSLCertificateFile /etc/apache2/letsencrypt/mojastrona.pl/mojastrona.pl.cer
SSLCertificateKeyFile /etc/apache2/letsencrypt/mojastrona.pl/mojastrona.pl.key

oraz przeładować apache

service apache2 reload

O tego momentu strona powinna zgłaszać się z certyfikatem od Let’s Encrypt.

Dodatkowo warto ustawić automatyczne odnawianie certyfikatów gdyż mają one ważność 90 dni.

W tym celu najprościej stworzyć wykonywalny skrypt, np.

acme.sh_cron

z zawartości np.

#!/bin/sh
/root/.acme.sh/acme.sh/acme.sh cron >> /var/log/le-renew.log
service apache2 reload

i przenieść go do

/etc/cron.daily

Jak widać proces nie jest przesadnie skomplikowany i po wstępnej konfiguracji raczej banalny. Docelowo prawdopodobnie i tak wybiorę oficjalnego klienta ale pierw musi w repozytoriach Debiana Jessie zostać udostępniona oficjalna paczka.

Powodzenia w szyfrowaniu! 🙂

EDIT:
Skrypt zmienił nazwę więc powyższy opis został odpowiednio dostosowany.

Podziel się:
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someonePrint this page

Potrzebujesz gdzieś zajrzeć ale trzeba się zalogować – tymczasowy adres e-mail to rozwiązanie dla Ciebie.

Zapewne spora część z Was ma lub miała adres e-mail założony tylko po to aby gdzieś go użyć i nie narazić na SPAM głównej skrzynki. Nie jest jeszcze tak źle jeśli pamiętamy namiary na niego ale często powstaje on na zasadzie uderzenia w klawiaturę (podobnie jak hasło do niego) i mamy potem adres w stylu

sd76fd8sfsw0@e-mail.pl

Zapamiętanie tego graniczy z cudem i przy następnej okazji znów zakładamy następny mail i tracimy cenne minuty.

Powstały jednak usługi, które ten proces mogą znacznie ułatwić. Są to tymczasowe adresy e-mail ważne od parunastu minut do zamknięcia okna przeglądarki czy przeładowania strony. Usług takich jest pełno (wystarczy odpowiednio zapytać Google) jednak mi najbardziej odpowiadają dwie z nich:

Zasada działania ich jest banalnie prosta. Wchodzimy na stronę, kopiujemy wygenerowany adres e-mail i używamy go gdzie potrzebujemy. Wszelka poczta dostarczona na niego pojawi się nam na ekranie i możemy ją przeczytać.

Pierwszy z wymienionych przeze mnie (ThrowAwayMail.com) działa dokładnie w taki sposób. Maile możemy odbierać do końca sesji przeglądarki.

Drugi jest trochę bardziej zaawansowany. Maile odbierają się automatycznie do momentu odświeżenia okna przeglądarki. Dodatkowo możemy zapisać sobie klucz pozwalający odzyskać dostęp do adresu (niestety nie do maili) oraz możemy ustawić przekierowanie na swój prawdziwy mail (zawsze możemy potem z tego przekierowania zrezygnować).

Powyższe usługi są proste ale takie mają być. Wchodzimy na stronę, używamy maila i nie martwimy się spamem bo mail znika po paru godzinach.

 

Podziel się:
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someonePrint this page

Alfa Consilium: Financial & Insurance Consulting

Wykonanie projektu i wdrożenie go z wykorzystaniem systemu CMS w wersjach RWD (komputer, tablet, telefon).

Alfa Consilium sp. z o.o.

Działamy na rynku finansowym, w tym rynku ubezpieczeń, w oparciu o ustawę o pośrednictwie ubezpieczeniowym i wykonujemy czynności brokerskie jako licencjonowany broker ubezpieczeniowy.

Zapraszam do wizyty: alfaconsilium.eu

Podziel się:
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someonePrint this page