Kuidas paigaldada Apache-le Let's Encrypt (TLS/SSL) [Debian 9]

Collapse
X
 
  • Aeg
  • Show
Puhasta kõik
uued postitused
  • root
    Huviline
    • Oct 2021
    • 318

    Kuidas paigaldada Apache-le Let's Encrypt (TLS/SSL) [Debian 9]

    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/:
    Kood:
    sudo nano /etc/apt/sources.list
    Lisage faili allossa järgmine rida:
    /etc/apt/sources.list.d/sources.list
    PHP Code:
    . . .
    deb http://ftp.debian.org/debian stretch-backports main 
    
    Salvestage ja sulgege fail, vajutades klahvikombinatsiooni CTRL+X, Y ja ENTER, seejärel värskendage oma pakettide loendeid:
    Kood:
    sudo apt update
    Nüüd installige Certbot järgmise käsuga. Pange tähele, et suvand -t käsib aptil paketti otsida, vaadates just lisatud Backports hoidlast:
    Kood:
    sudo apt install python-certbot-apache -t stretch-backports
    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.
    Kood:
    sudo nano /etc/apache2/sites-available/example.com.conf
    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
    PHP Code:
    ...
    ServerName example.com;
    ... 
    
    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:
    Kood:
    sudo apache2ctl configtest
    Kui süntaksivigu ei ole, näete järgmist väljundit:
    PHP Code:
    Output
    Syntax OK 
    
    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:
    Kood:
    sudo systemctl reload apache2
    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:
    Kood:
    sudo ufw status
    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:
    PHP Code:
    Output
    Status: active
    
    To Action From
    -- ------ ----
    OpenSSH ALLOW Anywhere
    WWW ALLOW Anywhere
    OpenSSH (v6) ALLOW Anywhere (v6)
    WWW (v6) ALLOW Anywhere (v6) 
    
    HTTPS-i liikluse täiendavaks lubamiseks lubage profiil "WWW Full" ja kustutage üleliigne "WWW" profiil:
    Kood:
    sudo ufw allow 'WWW Full'
    sudo ufw delete allow 'WWW'
    Teie tulemüüri olek peaks nüüd välja nägema selline:
    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) 
    
    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:
    Kood:
    sudo certbot --apache -d example.com -d www.example.com
    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:
    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): 
    
    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:
    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 
    
    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:
    Kood:
    sudo certbot renew --dry-run
    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/
Töötlen...