Kaip apsaugoti „Apache“ naudojant „Free Let's Encrypt SSL“ sertifikatą „Ubuntu“ ir „Debian“


Turite naujai užregistruotą domeno pavadinimą, o jūsų žiniatinklio serveris veikia su jūsų išduotu SSL savarankiškai pasirašytu sertifikatu, kuris sukelia galvos skausmą klientams, kai jie lankosi domene dėl sertifikato sugeneruotų klaidų? Turite ribotą biudžetą ir negalite sau leisti nusipirkti sertifikato, išduoto patikimos CA? Tada pasirodo programinė įranga Let’s Encrypt ir išsaugo situaciją.

Jei norite įdiegti Let's Encrypt, skirtą Apache arba Nginx, naudojant RHEL, CentOS, Fedora arba Ubuntu ir Debian, vadovaukitės toliau pateiktais vadovais:

Nustatykite „Leisk šifruoti“, kad būtų apsaugotas „Apache“ RHEL ir CentOS 7/6

Nustatykite „Let’s Encrypt“, kad apsaugotumėte Nginx „Ubuntu“ ir „Debian“.

Užšifruokime – tai sertifikavimo institucija (CA), kuri padeda jums įsigyti nemokamus SSL/TLS sertifikatus, reikalingus jūsų serveris veiktų saugiai, todėl jūsų naudotojai naršytų sklandžiai ir be klaidų.

Bandymo pavyzdinė aplinka

Visi sertifikatui sugeneruoti reikalingi veiksmai dažniausiai yra automatizuoti Apache žiniatinklio serveriui. Tačiau nepaisant jūsų žiniatinklio serverio programinės įrangos, kai kurie veiksmai turi būti atliekami rankiniu būdu, o sertifikatai turi būti įdiegti rankiniu būdu, ypač jei jūsų svetainės turinį aptarnauja Nginx demonas.

Šioje pamokoje sužinosite, kaip įdiegti Užšifruokime programinę įrangą Ubuntu arba Debian, sugeneruoti ir gauti nemokamą sertifikatą savo domenui ir kaip galite rankiniu būdu įdiegti sertifikatą „Apache“ ir „Nginx“ žiniatinklio serveriuose.

Reikalavimai

  1. Viešas registruotas domeno pavadinimas su galiojančiais A įrašais, nukreipinčiais atgal į jūsų serverio išorinį IP adresą. Jei jūsų serveris yra už ugniasienės, imkitės būtinų priemonių, kad užtikrintumėte, jog jūsų serveris visame pasaulyje būtų pasiekiamas iš interneto, maršrutizatoriaus pusėje pridėdami prievado persiuntimo taisykles.
  2. Apache žiniatinklio serveris įdiegtas su įjungtu SSL moduliu ir įjungtu virtualiu priegloba, jei priglobiate kelis domenus ar padomenius.

1 veiksmas: įdiekite „Apache“ ir įgalinkite SSL modulį

1. Jei jūsų kompiuteryje dar neįdiegtas „Apache“ žiniatinklio serveris, išduokite šią komandą, kad įdiegtumėte „apache“ demoną.

sudo apt-get install apache2

2. SSL modulio aktyvinimas Apache žiniatinklio serveryje Ubuntu arba Debian yra gana paprastas. Įgalinkite SSL modulį ir suaktyvinkite numatytąjį apache SSL virtualųjį pagrindinį kompiuterį, išleisdami šias komandas:

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

Lankytojai dabar gali pasiekti jūsų domeno pavadinimą naudodami HTTPS protokolą. Tačiau kadangi jūsų serverio savarankiškai pasirašytas sertifikatas nėra išduotas patikimos sertifikatų institucijos, jų naršyklėse bus rodomas įspėjimas apie klaidą, kaip parodyta paveikslėlyje toliau.

https://yourdomain.com

2 veiksmas: įdiekite nemokamą „Let’s Encrypt Client“.

3. Kad savo serveryje įdiegtumėte Leiskite šifruoti programinę įrangą, sistemoje turi būti įdiegtas git paketas. Norėdami įdiegti git programinę įrangą, išduokite šią komandą:

sudo apt-get -y install git

4. Tada iš sistemos hierarchijos pasirinkite katalogą, kuriame norite klonuoti Užšifruokime git saugyklą. Šioje mokymo programoje kaip Let’s Encrypt diegimo kelią naudosime katalogą /usr/local/.

Perjunkite į /usr/local katalogą ir įdiekite letsencrypt klientą išduodami šias komandas:

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

4 veiksmas: sugeneruokite „Apache“ SSL sertifikatą

5. Apache SSL sertifikato gavimo procesas yra automatizuotas dėl Apache papildinio. Sukurkite sertifikatą išleisdami šią komandą prieš savo domeno pavadinimą. Pateikite savo domeno pavadinimą kaip žymos -d parametrą.

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

Pavyzdžiui, jei jums reikia sertifikato, kad jis veiktų keliuose domenuose ar padomeniais, pridėkite juos visus naudodami vėliavėlę -d kiekvienam papildomam galiojančiam DNS įrašui po pagrindinio domeno pavadinimo.

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

6. Sutikite su licencija, įveskite atkūrimo el. pašto adresą ir pasirinkite, ar klientai gali naršyti jūsų domene naudodami abu HTTP protokolus (saugų ir nesaugų), ar peradresuoti visas nesaugias užklausas į HTTPS.

7. Sėkmingai užbaigus diegimo procesą, pulte rodomas sveikinimo pranešimas, informuojantis apie galiojimo pabaigos datą ir kaip galite išbandyti konfigūraciją, kaip parodyta toliau pateiktose ekrano kopijose.

Dabar turėtumėte rasti sertifikatų failus kataloge /etc/letsencrypt/live naudodami paprastą katalogų sąrašą.

sudo ls /etc/letsencrypt/live

8. Galiausiai, norėdami patikrinti savo SSL sertifikato būseną, spustelėkite šią nuorodą. Atitinkamai pakeiskite domeno pavadinimą.

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

Be to, lankytojai dabar gali pasiekti jūsų domeno pavadinimą naudodami HTTPS protokolą be jokių klaidų jų žiniatinklio naršyklėse.

4 veiksmas: automatinis atnaujinimas leidžia užšifruoti sertifikatus

9. Pagal numatytuosius nustatymus institucijos Užšifruokime išduoti sertifikatai galioja 90 dienų. Norėdami atnaujinti sertifikatą nepasibaigus galiojimo laikui, turite rankiniu būdu vėl paleisti klientą naudodami tikslias vėliavėles ir parametrus, kaip ir anksčiau.

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

Arba, jei yra keli padomeniai:

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

10. Sertifikato atnaujinimo procesas gali būti automatizuotas, kad jis būtų paleistas likus mažiau nei 30 dienų iki galiojimo pabaigos datos, naudojant Linux tvarkaraščio cron demoną.

sudo crontab -e

Pridėkite šią komandą crontab failo pabaigoje naudodami tik vieną eilutę:

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. Išsamią informaciją apie „Let’s Encrypt“ programinės įrangos atnaujinimo domeno konfigūracijos failą rasite kataloge /etc/letsencrypt/renewal/.

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

Taip pat turėtumėte patikrinti failą /etc/letsencrypt/options-ssl-apache.conf, kad peržiūrėtumėte naują „Apache“ žiniatinklio serverio SSL konfigūracijos failą.

12. Be to, papildinys „Encrypt“ apache modifikuoja kai kuriuos failus jūsų žiniatinklio serverio konfigūracijoje. Norėdami patikrinti, kurie failai buvo modifikuoti, nurodykite katalogo /etc/apache2/sites-enabled turinį.

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

Tai kol kas viskas! Kitoje mokymo programų serijoje bus aptarta, kaip galite gauti ir įdiegti Užšifruokime sertifikatą Nginx žiniatinklio serveriui Ubuntu ir Debian<. ir CentOS.