Weboldal keresés

Helyi önaláírt SSL-tanúsítvány létrehozása CentOS 8 rendszeren


Az SSL (Secure Socket Layer) és továbbfejlesztett változata, a TLS (Transport Socket Layer) biztonsági protokollok amelyeket az ügyfél webböngészőjéből a webszerverre küldött webforgalom biztosítására használnak.

Az SSL tanúsítvány egy digitális tanúsítvány, amely biztonságos csatornát hoz létre az ügyfél böngészője és a webszerver között. Ennek során az érzékeny és bizalmas adatokat, például a hitelkártyaadatokat, a bejelentkezési adatokat és más nagyon privát információkat titkosítják, megakadályozva, hogy a hackerek lehallgatják és ellopják az Ön adatait.

Mi az önaláírt SSL-tanúsítvány?

Az önaláírt SSL-tanúsítványok, ellentétben más SSL-tanúsítványokkal, amelyeket egy tanúsítványszolgáltató (CA ír alá és megbízhatónak tart), egy olyan tanúsítvány, amelyet egy magánszemély, aki birtokolja.

Egy ilyen létrehozása teljesen ingyenes, és olcsó módja a helyileg üzemeltetett webszerver titkosításának. Az önaláírt SSL-tanúsítványok használata azonban erősen nem ajánlott éles környezetben a következő okok miatt:

  1. Mivel nem tanúsítványkibocsátó írta alá, az önaláírt SSL-tanúsítvány riasztásokat generál a webböngészőkön, figyelmeztetve a felhasználókat a lehetséges kockázatokra, ha a folytatás mellett döntenek. Ezek a figyelmeztetések nemkívánatosak, és eltántorítják a felhasználókat a webhely meglátogatásától, ami potenciálisan az internetes forgalom csökkenéséhez vezethet. E riasztások megoldásaként a szervezetek általában arra ösztönzik alkalmazottaikat, hogy egyszerűen figyelmen kívül hagyják a riasztásokat, és folytassanak tovább. Ez veszélyes szokást válthat ki a felhasználók körében, akik úgy dönthetnek, hogy továbbra is figyelmen kívül hagyják ezeket a figyelmeztetéseket más online webhelyeken, és esetleg adathalász webhelyek áldozatává válhatnak.
  2. Az önaláírt tanúsítványok alacsony szintű biztonsági szinttel rendelkeznek, mivel alacsony szintű titkosítási technológiákat és kivonatokat valósítanak meg. Így előfordulhat, hogy a biztonsági szint nem azonos a szabványos biztonsági szabályzatokkal.
  3. Ezenkívül a nyilvános kulcsú infrastruktúra (PKI) funkciói nem támogatottak.

Ennek ellenére az önaláírt SSL-tanúsítvány használata nem rossz ötlet szolgáltatások és alkalmazások olyan helyi gépeken történő teszteléséhez, amelyek TLS/SSL titkosítást igényelnek.

Ebből az útmutatóból megtudhatja, hogyan telepíthet helyi önaláírt SSL-tanúsítványt a Apache helyi gazdagép webszerverére CentOS 8 szerverrendszeren.

Előfeltételek:

Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik a következő alapvető követelményekkel:

  1. A CentOS 8 szerver egy példánya.
  2. Apache webszerver telepítve a szerverre
  3. Az /etc/hosts fájlban már konfigurált és definiált gazdagépnév. Ebben az útmutatóban a tecmint.local gazdagépnevet fogjuk használni szerverünkhöz.

1. lépés: A Mod_SSL telepítése a CentOS rendszeren

1. A kezdéshez ellenőriznie kell, hogy az Apache webszerver telepítve van-e és fut-e.

sudo systemctl status httpd

Íme a várható kimenet.

Ha a webszerver nem fut, elindíthatja és engedélyezheti rendszerindításkor a paranccsal.

sudo systemctl start httpd
sudo systemctl enable httpd

Ezt követően ellenőrizheti, hogy az Apache működik-e.

2. A helyi önaláírt SSL-tanúsítvány telepítésének és beállításának engedélyezéséhez a mod_ssl csomag szükséges.

sudo dnf install mod_ssl

A telepítés után futással ellenőrizheti a telepítést.

sudo rpm -q mod_ssl

Győződjön meg arról is, hogy az OpenSSL csomag telepítve van (az OpenSSL alapértelmezés szerint telepítve van a CentOS 8 rendszerben).

sudo rpm -q openssl 

2. lépés: Hozzon létre egy helyi önaláírt SSL-tanúsítványt az Apache számára

3. Az Apache webszerver és az összes előfeltétel ellenőrzése mellett létre kell hoznia egy könyvtárat, amelyben a kriptográfiai kulcsok tárolásra kerülnek.

Ebben a példában létrehoztunk egy könyvtárat a /etc/ssl/private címen.

sudo mkdir -p /etc/ssl/private

Most hozza létre a helyi SSL-tanúsítványkulcsot és -fájlt a következő paranccsal:

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

Vessünk egy pillantást arra, hogy valójában mit jelentenek a parancs egyes beállításai:

  • req -x509 – Ez azt jelzi, hogy az x509 tanúsítvány-aláíró kérést (CSR) használjuk.
  • -nodes – Ez a beállítás arra utasítja az OpenSSL-t, hogy hagyja ki az SSL-tanúsítvány jelmondattal történő titkosítását. Az ötlet az, hogy az Apache képes legyen elolvasni a fájlt mindenféle felhasználói beavatkozás nélkül, ami jelszó megadása esetén nem lenne lehetséges.
  • -newkey rsa:2048 – Ez azt jelzi, hogy egyszerre szeretnénk új kulcsot és új tanúsítványt létrehozni. Az rsa:2048 rész azt jelenti, hogy egy 2048 bites RSA-kulcsot szeretnénk létrehozni.
  • -keyout – Ez az opció határozza meg, hogy a létrehozott privát kulcs fájl hol tárolandó a létrehozáskor.
  • -out – Ez az opció határozza meg, hogy hova kell elhelyezni a létrehozott SSL-tanúsítványt.

3. lépés: Telepítse a helyi önaláírt SSL-tanúsítványt az Apache-on

4. Az SSL-tanúsítványfájl létrehozása után itt az ideje telepíteni a tanúsítványt az Apache webszerver beállításaival. Nyissa meg és szerkessze a /etc/httpd/conf.d/ssl.conf konfigurációs fájlt.

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

Győződjön meg arról, hogy a következő sorok vannak a virtuális gazdagép címkéi között.

<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>

Mentse el és lépjen ki a fájlból. A módosítások végrehajtásához indítsa újra az Apache-t a következő paranccsal:

sudo systemctl restart httpd

5. Ahhoz, hogy külső felhasználók hozzáférhessenek a szerveréhez, meg kell nyitnia a 443-as portot a tűzfalon keresztül, ahogy az ábra mutatja.

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

3. lépés: A helyi önaláírt SSL-tanúsítvány tesztelése az Apache-on

Az összes konfigurációt követően indítsa el a böngészőt, és böngésszen a szerver címe között a szerver IP-címe vagy tartományneve segítségével a https protokoll használatával.

A tesztelés egyszerűsítése érdekében fontolóra veheti a HTTP protokoll átirányítását az Apache webszerver HTTPS-re. Ez azért van így, hogy amikor a tartományt egyszerű HTTP-n keresztül böngészi, a rendszer automatikusan átirányítja a HTTPS protokollra.

Tehát böngésszen a szerver domainje vagy IP-címe között

https://domain_name/

Figyelmeztetést kap arról, hogy a kapcsolat nem biztonságos, ahogy az ábrán látható. Ez böngészőnként eltérő lehet. Ahogy sejtheti, a riasztás annak a ténynek köszönhető, hogy az SSL-tanúsítványt nem írta alá aTanúsítvány hatósága, és a böngésző ezt regisztrálja, és azt jelenti, hogy a tanúsítványban nem lehet megbízni.

A webhelyre való továbblépéshez kattintson a „Speciális” fülre a fentiek szerint:

Ezután adja hozzá a kivételt a böngészőhöz.

Végül töltse be újra a böngészőt, és figyelje meg, hogy most már hozzáférhet a szerverhez, bár az URL-sávon megjelenik egy figyelmeztetés, miszerint a webhely nem teljesen biztonságos ugyanazon okból, amiért az SSL-tanúsítványt önaláírta, és nem írja alá a Tanúsító hatóság.

Reméljük, hogy most már folytathatja, és létrehozhat és telepíthet egy önaláírt SSL-tanúsítványt az Apache localhost webszerverére CentOS 8 rendszeren.