Kako zaštititi Apache s besplatnim Let's Encrypt SSL certifikatom na Ubuntu i Debianu


Imate novoregistriran naziv domene i vaš web poslužitelj radi s SSL samopotpisanim certifikatom koji ste izdali što uzrokuje glavobolje vašim klijentima dok posjećuju domenu zbog grešaka koje generira certifikat? Imate ograničen proračun i ne možete si priuštiti kupnju certifikata koji izdaje provjereni CA? Tada na scenu stupa softver Let’s Encrypt i spašava stvar.

Ako želite instalirati Let's Encrypt za Apache ili Nginx na RHEL, CentOS, Fedora ili Ubuntu i Debian, slijedite ove upute u nastavku:

Postavite Let’s Encrypt to Secure Apache na RHEL i CentOS 7/6

Postavljanje Let’s Encrypt to Secure Nginx na Ubuntu i Debianu

Let's Encrypt je Certificate Authority (CA) koji vam olakšava dobivanje besplatnih SSL/TLS certifikata potrebnih za vaš poslužitelj radi sigurno, stvarajući glatko iskustvo pregledavanja za vaše korisnike, bez ikakvih pogrešaka.

Testiranje uzorka okruženja

Svi koraci potrebni za generiranje certifikata su uglavnom automatizirani za Apache web poslužitelj. Međutim, unatoč softveru vašeg web poslužitelja, neke korake morate napraviti ručno i certifikate morate ručno instalirati, posebno u slučaju da sadržaj vaše web stranice poslužuje Nginx demon.

Ovaj vodič će vas voditi o tome kako možete instalirati softver Let's Encrypt na Ubuntu ili Debian, generirati i dobiti besplatni certifikat za svoju domenu i kako možete ručno instalirati certifikat na web poslužiteljima Apache i Nginx.

Zahtjevi

  1. Javno registrirani naziv domene s važećim A zapisima koji upućuju na vanjsku IP adresu vašeg poslužitelja. U slučaju da je vaš poslužitelj iza vatrozida, poduzmite potrebne mjere kako biste osigurali da je vaš poslužitelj dostupan širom svijeta s interneta dodavanjem pravila za prosljeđivanje portova na strani usmjerivača.
  2. Apache web poslužitelj instaliran s omogućenim SSL modulom i omogućenim virtualnim hostingom, u slučaju da hostirate nekoliko domena ili poddomena.

Korak 1: Instalirajte Apache i omogućite SSL modul

1. Ako na vašem računalu već nemate instaliran Apache web poslužitelj, izdajte sljedeću naredbu za instaliranje apache demona.

sudo apt-get install apache2

2. Aktivacija SSL modula za web poslužitelj Apache na Ubuntu ili Debianu prilično je jednostavna. Omogućite SSL modul i aktivirajte apache default SSL virtualni host izdavanjem naredbi u nastavku:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Posjetitelji sada mogu pristupiti nazivu vaše domene putem HTTPS protokola. Međutim, budući da samopotpisani certifikat vašeg poslužitelja nije izdao pouzdani autoritet za izdavanje certifikata, upozorenje o pogrešci prikazat će se u njihovim preglednicima kao što je ilustrirano na slici ispod.

https://yourdomain.com

Korak 2: Instalirajte besplatni Let’s Encrypt Client

3. Kako biste instalirali softver Let’s Encrypt na vaš poslužitelj morate imati paket git instaliran na vašem sustavu. Izdajte sljedeću naredbu za instalaciju softvera git:

sudo apt-get -y install git

4. Zatim odaberite direktorij iz svoje sistemske hijerarhije u koji želite klonirati git repozitorij Let’s Encrypt. U ovom vodiču koristit ćemo direktorij /usr/local/ kao instalacijski put za Let’s Encrypt.

Prebacite se na direktorij /usr/local i instalirajte letsencrypt klijent izdavanjem sljedećih naredbi:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Korak 4: Generirajte SSL certifikat za Apache

5. Proces dobivanja SSL certifikata za Apache je automatiziran zahvaljujući Apache dodatku. Generirajte certifikat izdavanjem sljedeće naredbe za naziv svoje domene. Navedite naziv svoje domene kao parametar oznake -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Na primjer, ako trebate certifikat za rad na više domena ili poddomena, dodajte ih sve pomoću oznake -d za svaki dodatni valjani DNS zapis nakon naziva osnovne domene.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Prihvatite licencu, unesite adresu e-pošte za oporavak i odaberite mogu li klijenti pregledavati vašu domenu koristeći oba HTTP protokola (siguran i nesiguran) ili preusmjeriti sve nesigurne zahtjeve na HTTPS.

7. Nakon uspješnog završetka postupka instalacije, na vašoj konzoli se prikazuje poruka s čestitkom koja vas obavještava o datumu isteka i načinu na koji možete testirati konfiguraciju kao što je prikazano na snimkama zaslona u nastavku.

Sada biste trebali moći pronaći svoje datoteke certifikata u direktoriju /etc/letsencrypt/live s jednostavnim popisom direktorija.

sudo ls /etc/letsencrypt/live

8. Konačno, za provjeru statusa vašeg SSL certifikata posjetite sljedeću vezu. Zamijenite naziv domene u skladu s tim.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Također, posjetitelji sada mogu pristupiti nazivu vaše domene koristeći HTTPS protokol bez pojavljivanja bilo kakve pogreške u njihovim web preglednicima.

Korak 4: Automatsko obnavljanje omogućuje šifriranje certifikata

9. Prema zadanim postavkama, certifikati koje izdaje tijelo Let’s Encrypt vrijede 90 dana. Kako biste obnovili certifikat prije datuma isteka, morate ponovno ručno pokrenuti klijent koristeći točne oznake i parametre kao i ranije.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Ili u slučaju više poddomena:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Proces obnove certifikata može se automatizirati da se pokrene za manje od 30 dana prije datuma isteka korištenjem Linux raspored cron demona.

sudo crontab -e

Dodajte sljedeću naredbu na kraj crontab datoteke koristeći samo jedan redak:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Pojedinosti o vašoj konfiguracijskoj datoteci domene za obnovu za softver Let’s Encrypt mogu se pronaći u direktoriju /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Također biste trebali provjeriti datoteku /etc/letsencrypt/options-ssl-apache.conf da vidite novu SSL konfiguracijsku datoteku za Apache web poslužitelj.

12. Također, Let’s encrypt apache dodatak mijenja neke datoteke u konfiguraciji vašeg web poslužitelja. Kako biste provjerili koje su datoteke izmijenjene, ispišite sadržaj direktorija /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

To je sve za sada! U sljedećoj seriji vodiča raspravljat ćemo o tome kako možete dobiti i instalirati Let's Encrypt certifikat za Nginx web poslužitelj na Ubuntu i Debian< i na CentOS također.