Kaip sukurti vietinį savarankiškai pasirašytą SSL sertifikatą „CentOS 8“.


SSL (Secure Socket Layer) ir patobulinta jo versija TLS (Transport Socket Layer) yra saugos protokolai kurie naudojami apsaugoti žiniatinklio srautą, siunčiamą iš kliento žiniatinklio naršyklės į žiniatinklio serverį.

SSL sertifikatas yra skaitmeninis sertifikatas, sukuriantis saugų kanalą tarp kliento naršyklės ir žiniatinklio serverio. Tai darant slapti ir konfidencialūs duomenys, tokie kaip kredito kortelių duomenys, prisijungimo kredencialai ir kita labai privati informacija, yra užšifruojami, todėl įsilaužėliai negali pasiklausyti ir pavogti jūsų informacijos.

Kas yra savarankiškai pasirašytas SSL sertifikatas?

Savarankiškai pasirašytas SSL sertifikatas, kitaip nei kiti SSL sertifikatai, kuriuos pasirašo ir kuriais pasitiki sertifikavimo institucija (CA), yra sertifikatas, pasirašytas asmuo, kuriam jis priklauso.

Jį sukurti yra visiškai nemokama ir tai yra pigus būdas užšifruoti jūsų vietoje priglobtą žiniatinklio serverį. Tačiau gamybinėse aplinkose labai nerekomenduojama naudoti savarankiškai pasirašyto SSL sertifikato dėl šių priežasčių:

  1. Kadangi jo nepasirašė Sertifikatų institucija, savarankiškai pasirašytas SSL sertifikatas generuoja įspėjimus žiniatinklio naršyklėse, įspėjančius vartotojus apie galimą riziką, jei jie nuspręs tęsti. Šie įspėjimai yra nepageidaujami ir atgrasys vartotojus nuo apsilankymo jūsų svetainėje, todėl gali sumažėti žiniatinklio srautas. Kaip išeitis į šiuos įspėjimus, organizacijos paprastai skatina savo darbuotojus tiesiog ignoruoti įspėjimus ir tęsti. Tai gali sukelti pavojingą įprotį tarp vartotojų, kurie gali nuspręsti ir toliau ignoruoti šiuos įspėjimus kitose interneto svetainėse ir tapti sukčiavimo svetainių aukomis.
  2. Savarankiškai pasirašytų sertifikatų saugumo lygis yra žemas, nes juose įdiegtos žemo lygio šifravimo technologijos ir maišos. Taigi saugumo lygis gali neatitikti standartinės saugos politikos.
  3. Be to, nėra viešojo rakto infrastruktūros (PKI) funkcijų palaikymo.

Be to, savarankiškai pasirašyto SSL sertifikato naudojimas nėra bloga idėja bandant paslaugas ir programas vietiniame kompiuteryje, kuriam reikalingas TLS/SSL šifravimas.

Šiame vadove sužinosite, kaip įdiegti vietinį savarankiškai pasirašytą SSL sertifikatą Apache vietiniame prieglobos žiniatinklio serveryje CentOS 8 serverio sistemoje.

Būtinos sąlygos:

Prieš pradėdami įsitikinkite, kad atitinkate šiuos pagrindinius reikalavimus:

  1. „CentOS 8“ serverio pavyzdys.
  2. Apache žiniatinklio serveris įdiegtas serveryje
  3. Prieglobos serverio pavadinimas, jau sukonfigūruotas ir apibrėžtas /etc/hosts faile. Šiam vadovui naudosime savo serverio pagrindinio kompiuterio pavadinimą tecmint.local.

1 veiksmas: „Mod_SSL“ diegimas „CentOS“.

1. Norėdami pradėti, turite patvirtinti, kad Apache žiniatinklio serveris yra įdiegtas ir veikia.

sudo systemctl status httpd

Štai laukiamas rezultatas.

Jei žiniatinklio serveris neveikia, galite jį paleisti ir įjungti paleidę naudodami komandą.

sudo systemctl start httpd
sudo systemctl enable httpd

Po to galite patvirtinti, ar „Apache“ veikia ir veikia.

2. Norint įgalinti vietinio savarankiškai pasirašyto SSL sertifikato diegimą ir sąranką, reikalingas mod_ssl paketas.

sudo dnf install mod_ssl

Įdiegę galite patikrinti jo įdiegimą paleisdami.

sudo rpm -q mod_ssl

Be to, įsitikinkite, kad OpenSSL paketas yra įdiegtas (OpenSSL yra įdiegtas pagal numatytuosius nustatymus CentOS 8).

sudo rpm -q openssl 

2 veiksmas: sukurkite vietinį savarankiškai pasirašytą SSL sertifikatą, skirtą „Apache“.

3. Turėdami Apache žiniatinklio serverį ir patikrinę visas būtinas sąlygas, turite sukurti katalogą, kuriame bus saugomi kriptografiniai raktai.

Šiame pavyzdyje sukūrėme katalogą /etc/ssl/private.

sudo mkdir -p /etc/ssl/private

Dabar sukurkite vietinį SSL sertifikato raktą ir failą naudodami komandą:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Pažiūrėkime, ką iš tikrųjų reiškia kai kurios komandos parinktys:

  • req -x509 – tai rodo, kad naudojame x509 sertifikato pasirašymo užklausą (CSR).
  • -mazgai – ši parinktis nurodo OpenSSL praleisti SSL sertifikato šifravimą naudojant slaptafrazę. Idėja yra leisti „Apache“ nuskaityti failą be jokio vartotojo įsikišimo, o tai nebūtų įmanoma, jei būtų pateikta slaptafrazė.
  • -newkey rsa:2048 – tai rodo, kad norime vienu metu sukurti naują raktą ir naują sertifikatą. Dalis rsa:2048 reiškia, kad norime sukurti 2048 bitų RSA raktą.
  • -keyout – ši parinktis nurodo, kur saugoti sugeneruotą privataus rakto failą jį kuriant.
  • -out – parinktis nurodo, kur įdėti sukurtą SSL sertifikatą.

3 veiksmas: „Apache“ įdiekite vietinį savarankiškai pasirašytą SSL sertifikatą

4. Sukūrus SSL sertifikato failą, dabar laikas įdiegti sertifikatą naudojant „Apache“ žiniatinklio serverio nustatymus. Atidarykite ir redaguokite /etc/httpd/conf.d/ssl.conf konfigūracijos failą.

sudo vi /etc/httpd/conf.d/ssl.conf

Įsitikinkite, kad tarp virtualiojo pagrindinio kompiuterio žymų yra šios eilutės.

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

Išsaugokite ir išeikite iš failo. Kad pakeitimai būtų atlikti, iš naujo paleiskite „Apache“ naudodami komandą:

sudo systemctl restart httpd

5. Kad išoriniai naudotojai galėtų pasiekti jūsų serverį, per užkardą turite atidaryti prievadą 443, kaip parodyta.

sudo firewall-cmd --add-port=443 --zone=public --permanent
sudo firewall-cmd --reload

3 veiksmas: patikrinkite vietinį savarankiškai pasirašytą SSL sertifikatą „Apache“.

Atlikę visas konfigūracijas, paleiskite naršyklę ir naršykite serverio adresą naudodami serverio IP adresą arba domeno pavadinimą naudodami https protokolą.

Norėdami supaprastinti testavimą, galite apsvarstyti galimybę peradresuoti HTTP protokolą į HTTPS „Apache“ žiniatinklio serveryje. Taip yra todėl, kad kiekvieną kartą, kai naršote domeną naudodami paprastą HTTP, jis bus automatiškai nukreiptas į HTTPS protokolą.

Taigi naršykite savo serverio domeną arba IP

https://domain_name/

Gausite įspėjimą, kad ryšys nėra saugus, kaip parodyta. Tai skirsis įvairiose naršyklėse. Kaip galite spėti, įspėjimas atsirado dėl to, kad SSL sertifikato nepasirašė Sertifikatų institucija, o naršyklė tai užregistruoja ir praneša, kad sertifikatu negalima pasitikėti.

Norėdami pereiti į savo svetainę, spustelėkite skirtuką Išplėstinė, kaip parodyta aukščiau:

Tada naršyklėje pridėkite išimtį.

Galiausiai iš naujo įkelkite naršyklę ir pastebėkite, kad dabar galite pasiekti serverį, nors URL juostoje bus įspėjimas, kad svetainė nėra visiškai saugi dėl tos pačios priežasties, dėl kurios SSL sertifikatas yra pasirašytas savarankiškai, o jo nepasirašė. Sertifikavimo institucija.

Tikimės, kad dabar galite tęsti ir sukurti bei įdiegti savarankiškai pasirašytą SSL sertifikatą „Apache“ vietiniame prieglobos žiniatinklio serveryje CentOS 8.