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:
- 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.
- 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.
- 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:
- A CentOS 8 szerver egy példánya.
- Apache webszerver telepítve a szerverre
- 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.