Let’s Encrypt on sertifikaat (CA), mis pakub lihtsat viisi tasuta TLS/SSL sertifikaatide hankimiseks ja installimiseks, võimaldades seeläbi veebiserverites krüptitud HTTPS-i. See lihtsustab protsessi, pakkudes tarkvaraklienti Certbot. Certbot püüab automatiseerida enamikku (kui mitte kõiki) vajalikke samme. Praegu on kogu sertifikaadi hankimise ja installimise protsess nii Apache-s kui ka Nginx-s täielikult automatiseeritud.
See õpetus kasutab vaikekonfiguratsioonifaili asemel eraldi Apache virtuaalset hostifaili. Soovitame luua iga domeeni jaoks uued Apache virtuaalse hosti failid, kuna see aitab vältida levinud vigu ja säilitab vaikefailid varukonfiguratsioonina.
1. samm – Certboti installimine
Esimene samm Let’s Encrypti kasutamiseks SSL-sertifikaadi saamiseks on Certboti tarkvara installimine oma serverisse.
Selle kirjutamise seisuga ei ole Certbot Debiani tarkvarahoidlatest vaikimisi saadaval. Tarkvara apt abil allalaadimiseks peate lisama Backports hoidla oma sources.list faili, kus apt otsib pakettide allikaid. Backports on Debiani testimise ja ebastabiilsete distributsioonide paketid, mis kompileeritakse uuesti nii, et need töötaksid stabiilsetel Debiani distributsioonidel ilma uute teekideta.
Backports hoidla lisamiseks avage (või looge) fail sources.list kataloogis /etc/apt/:
Lisage faili allossa järgmine rida:
/etc/apt/sources.list.d/sources.list
Salvestage ja sulgege fail, vajutades klahvikombinatsiooni CTRL+X, Y ja ENTER, seejärel värskendage oma pakettide loendeid:
Nüüd installige Certbot järgmise käsuga. Pange tähele, et suvand -t käsib aptil paketti otsida, vaadates just lisatud Backports hoidlast:
Certbot on nüüd kasutamiseks valmis, kuid selleks, et see saaks Apache jaoks SSL-i konfigureerida, peame kontrollima, kas Apache on õigesti konfigureeritud.
2. samm – SSL-sertifikaadi seadistamine
Certbot peab SSL-i automaatseks konfigureerimiseks suutma leida teie Apache konfiguratsioonist õige virtuaalse hosti. Täpsemalt otsib see serverinime direktiivi, mis vastab domeenile, mille jaoks te sertifikaati taotlete.
Kui järgisite Apache'i installiõpetuses virtuaalse hosti seadistamise sammu, peaks teie domeeni jaoks olema VirtualHosti plokk aadressil /etc/apache2/sites-available/example.com.conf, mille ServerName direktiiv on juba õigesti seadistatud.
Kontrollimiseks avage oma domeeni virtuaalhosti fail nano või muu lemmik tekstiredaktoriga.
Otsige üles olemasolev rida ServerName. See peaks välja nägema selline, kus example.com asemel on teie enda domeeninimi:
/etc/apache2/sites-available/example.com.conf
Kui seda veel ei ole, siis värskendage serverinime direktiivi, et osutada teie domeeninimele. Seejärel salvestage fail, sulgege redaktor ja kontrollige konfiguratsioonimuudatuste süntaksit:
Kui süntaksivigu ei ole, näete järgmist väljundit:
Kui kuvatakse tõrketeade, avage virtuaalne hostfail uuesti ja kontrollige kirjavigu või puuduvaid märke. Kui teie konfiguratsioonifaili süntaks on õige, laadige uue konfiguratsiooni laadimiseks uuesti Apache:
Certbot suudab nüüd leida õige VirtualHosti ploki ja seda värskendada.
Järgmisena värskendame tulemüüri, et lubada HTTPS-i liiklust.
3. samm – HTTPS-i lubamine tulemüüri kaudu
Kui teil on ufw tulemüür lubatud, nagu on soovitatud eeltingimuste juhendites, peate HTTPS-i liikluse lubamiseks sätteid kohandama.
Praegust seadet näete, kui sisestate:
Kui järgisite meie juhendi 2. sammu, kuidas installida Apache Debian 9-le, siis näeb selle käsu väljund välja selline, mis näitab, et veebiserverisse on lubatud ainult HTTP liiklus:
HTTPS-i liikluse täiendavaks lubamiseks lubage profiil "WWW Full" ja kustutage üleliigne "WWW" profiil:
Teie tulemüüri olek peaks nüüd välja nägema selline:
Järgmisena käivitame Certboti ja hangime sertifikaadid.
4. samm – SSL-sertifikaadi hankimine
Certbot pakub mitmesuguseid viise SSL sertifikaatide hankimiseks pistikprogrammide kaudu. Apache pistikprogramm hoolitseb Apache ümberseadistamise ja vajaduse korral konfiguratsiooni uuesti laadimise eest. Selle pistikprogrammi kasutamiseks sisestage järgmine tekst:
See käivitab Certboti koos pistikprogrammiga --apache, kasutades -d, et määrata nimed, mille jaoks sertifikaat kehtima peaks.
Kui kasutate Certboti esimest korda, palutakse teil sisestada e-posti aadress ja nõustuda teenusetingimustega. Pärast seda suhtleb Certbot Let’s Encrypt serveriga ja käivitab seejärel väljakutse, et kontrollida, kas te ise kontrollite domeeni, mille jaoks sertifikaati taotlete.
Kui see õnnestub, küsib Certbot, kuidas soovite HTTPS-i sätteid konfigureerida:
Valige ja vajutage ENTER. Konfiguratsiooni värskendatakse ja Apache laaditakse uuesti, et uued sätted kätte saada. Certbot lõpetab teatega, mis ütleb teile, et protsess oli edukas ja kuhu teie sertifikaadid on salvestatud:
Teie sertifikaadid laaditakse alla, installitakse. Proovige oma veebisait uuesti laadida, kasutades https:// ja vaadake oma brauseri turvanäidikut. See peaks näitama, et sait on korralikult kaitstud, tavaliselt rohelise lukuikooniga.
Lõpetuseks testime uuendamisprotsessi.
5. samm – Certboti automaatse uuendamise kontrollimine
Let’s Encrypti sertifikaadid kehtivad vaid 90 (üheksakümmend) päeva. Selle eesmärk on julgustada kasutajaid oma sertifikaatide uuendamise protsessi automatiseerima. Meie installitud Certboti pakett hoolitseb selle eest, et lisades faili /etc/cron.d uuendamisskript. See skript töötab kaks korda päevas ja uuendab automaatselt kõiki sertifikaate.
Uuendusprotsessi testimiseks võite teha Certbotiga proovi, sisestades:
Kui te vigu ei näe, on kõik valmis. Vajadusel uuendab Certbot teie sertifikaate ja laadib muudatuste vastuvõtmiseks Apache uuesti. Kui automaatne uuendamisprotsess ebaõnnestub, saadab Let’s Encrypt teie määratud e-posti aadressile teate, kus hoiatades teid, kui teie sertifikaat hakkab aeguma.
Rohkem Certboti kasutamise kohta leiate tema dokumentatsioonist aadressil https://eff-certbot.readthedocs.io/en/stable/
See õpetus kasutab vaikekonfiguratsioonifaili asemel eraldi Apache virtuaalset hostifaili. Soovitame luua iga domeeni jaoks uued Apache virtuaalse hosti failid, kuna see aitab vältida levinud vigu ja säilitab vaikefailid varukonfiguratsioonina.
1. samm – Certboti installimine
Esimene samm Let’s Encrypti kasutamiseks SSL-sertifikaadi saamiseks on Certboti tarkvara installimine oma serverisse.
Selle kirjutamise seisuga ei ole Certbot Debiani tarkvarahoidlatest vaikimisi saadaval. Tarkvara apt abil allalaadimiseks peate lisama Backports hoidla oma sources.list faili, kus apt otsib pakettide allikaid. Backports on Debiani testimise ja ebastabiilsete distributsioonide paketid, mis kompileeritakse uuesti nii, et need töötaksid stabiilsetel Debiani distributsioonidel ilma uute teekideta.
Backports hoidla lisamiseks avage (või looge) fail sources.list kataloogis /etc/apt/:
Kood:
sudo nano /etc/apt/sources.list
/etc/apt/sources.list.d/sources.list
PHP Code:
. . .
deb http://ftp.debian.org/debian stretch-backports main
Kood:
sudo apt update
Kood:
sudo apt install python-certbot-apache -t stretch-backports
2. samm – SSL-sertifikaadi seadistamine
Certbot peab SSL-i automaatseks konfigureerimiseks suutma leida teie Apache konfiguratsioonist õige virtuaalse hosti. Täpsemalt otsib see serverinime direktiivi, mis vastab domeenile, mille jaoks te sertifikaati taotlete.
Kui järgisite Apache'i installiõpetuses virtuaalse hosti seadistamise sammu, peaks teie domeeni jaoks olema VirtualHosti plokk aadressil /etc/apache2/sites-available/example.com.conf, mille ServerName direktiiv on juba õigesti seadistatud.
Kontrollimiseks avage oma domeeni virtuaalhosti fail nano või muu lemmik tekstiredaktoriga.
Kood:
sudo nano /etc/apache2/sites-available/example.com.conf
/etc/apache2/sites-available/example.com.conf
PHP Code:
...
ServerName example.com;
...
Kood:
sudo apache2ctl configtest
PHP Code:
Output
Syntax OK
Kood:
sudo systemctl reload apache2
Järgmisena värskendame tulemüüri, et lubada HTTPS-i liiklust.
3. samm – HTTPS-i lubamine tulemüüri kaudu
Kui teil on ufw tulemüür lubatud, nagu on soovitatud eeltingimuste juhendites, peate HTTPS-i liikluse lubamiseks sätteid kohandama.
Praegust seadet näete, kui sisestate:
Kood:
sudo ufw status
PHP Code:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)
Kood:
sudo ufw allow 'WWW Full' sudo ufw delete allow 'WWW'
Kood:
sudo ufw status
PHP Code:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)
4. samm – SSL-sertifikaadi hankimine
Certbot pakub mitmesuguseid viise SSL sertifikaatide hankimiseks pistikprogrammide kaudu. Apache pistikprogramm hoolitseb Apache ümberseadistamise ja vajaduse korral konfiguratsiooni uuesti laadimise eest. Selle pistikprogrammi kasutamiseks sisestage järgmine tekst:
Kood:
sudo certbot --apache -d example.com -d www.example.com
Kui kasutate Certboti esimest korda, palutakse teil sisestada e-posti aadress ja nõustuda teenusetingimustega. Pärast seda suhtleb Certbot Let’s Encrypt serveriga ja käivitab seejärel väljakutse, et kontrollida, kas te ise kontrollite domeeni, mille jaoks sertifikaati taotlete.
Kui see õnnestub, küsib Certbot, kuidas soovite HTTPS-i sätteid konfigureerida:
PHP Code:
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
PHP Code:
Output
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2018-12-04. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Lõpetuseks testime uuendamisprotsessi.
5. samm – Certboti automaatse uuendamise kontrollimine
Let’s Encrypti sertifikaadid kehtivad vaid 90 (üheksakümmend) päeva. Selle eesmärk on julgustada kasutajaid oma sertifikaatide uuendamise protsessi automatiseerima. Meie installitud Certboti pakett hoolitseb selle eest, et lisades faili /etc/cron.d uuendamisskript. See skript töötab kaks korda päevas ja uuendab automaatselt kõiki sertifikaate.
Uuendusprotsessi testimiseks võite teha Certbotiga proovi, sisestades:
Kood:
sudo certbot renew --dry-run
Rohkem Certboti kasutamise kohta leiate tema dokumentatsioonist aadressil https://eff-certbot.readthedocs.io/en/stable/