Ingyenes tanusítványkiadó által aláírt SSL kulcs amit minden böngésző elismer? Igen!!!
Gondolom már sokunk belebukott abba a problémába, hogy szeretett volna egy titkosított https:// oldalt csinálni magának. Legyen szó egy biztonságos belépésről, webáruházról vagy egy nyilvántartó rendszerről. Sokunk egyből úgynevezett self-signed (saját maga által aláírt) tanúsítványt készít, ami el látja ugyan a titkosítás feladatát, de a hitelességet már nem teljesen, hiszen az ilyen kulcs könnyen hamisítható, így adathalász oldalak ellen nem véd. Sőt a másik probléma a felhasználó, aki egyből megijed amikkor a böngésző közli vele, hogy "A webhely biztonsági tanúsítványa nem hiteles!" lehetőleg jó piros háttérrel és máris búcsút inthetünk a látogatónak vagy a felhasználónak.
Erre nyújt egy jó megoldást a http://www.startssl.com/ oldala. Ugyanis ingyenesen aláírja a nekünk szükséges tanúsítványokat, így mi mindenféle figyelmeztetések és üzenetek nélkül használhatjuk azt a szerverek titkosított elérésére. Legyen szó egy honlap SSL kulcsáról, vagy akár a levelezőszerver vagy SSH szerver tanúsítványáról.
Ahhoz képest hogy ingyenes elég nagy támogatással bír, ugyanis az általam tesztelt Linux és Windows rendszereken mind megvolt a Start SSL gyökér tanusítványa, így egyből működött. Sőt az Apple iPhone és az Android alapú rendszerek is ismerik, szóval itt sem lehet semmi gond! Egyedül a feltörési garanciáról kell lemondanunk, ha ezt a tanúsítványkiadót használunk. De most őszintén. Volt már bárki aki be tudta bizonyítani, hogy a betörés a rendszerébe az SSL kulcs miatt volt? Volt már bárki aki a garanciát érvényesíteni tudta? Én még nem hallottam róla. De ha te igen akkor írj kérlek, mert érdekelne!
A lényeg pedig jöjjön így a vége felé. Pontosan mit is kéne csinálni, hogy egy StartSSL által aláírt tanúsítvánnyal szolgálhassuk ki honlapunkat:
1. Hozzuk létre a .key és .csr állományokat
Ehhez ildomos egy Linux szerverre bejelentkezni, majd a következő parancsokat kiadni:
Fontos megjegyeznem, hogy a példában a kulcs az example.com oldalhoz készül. Valamint amikor generáljuk az RSA kulcsot egy 4096 Bitet alkalmazunk. Ahhoz hogy megfelelő legyen a tanúsítvány a StartSSL számára itt legalább 2048 vagy nagyobb bitet kell alkalmazni.
openssl genrsa -des3 -out example.com.key.pass 4096
openssl rsa -in example.com.key.pass -out example.com.key
openssl req -new -key example.com.key -out example.com.csr
2. Lépjünk be a http://www.startssl.com/ oldalon és generáljuk le a certificate-et
Ha még nem regisztráltál akkor "Sign-Up" gombot keresd bal fent vagy jobb oldalt fent a kulcsos ikont megnyomva előjön. A lépéseket értelemszerűen hajtsd végre, illetve valós adatokat adj meg, hiszen az egész hajcihő emiatt lenne. A mezőket és utasításokat rendesen olvasd át, mert sok hasznos információ van a sikeres kitöltéshez és a megfelelő használathoz.
Ha ezzel megvagy, akkor be kell lépni. Utána pedig keresd meg a "Validation Wizzard"-ot amellyel hitelesítheted az adott domaint, hogy a te tulajdonodban van vagy legalábbis hozzáférsz.
Következő lépésben a "Certificates Wizzard" lesz segítségedre. Itt válaszd ki a "Web Server SSL/TLS Certificate"-et. A következő lépésben lehet domaint validáltatni, de ha már ezzel megvagy, akkor a "Skip" válasz megfelelő. A következő lépésben a .csr fájl tartalmát kell bemásolni a szövegdobozba, majd ki kell választani az érvényesített domaint. Ezek után a honlap legenerálja a .crt fájlt amit el lehet menteni a .key mellé.
A szövegdoboz alatt elvileg két link is látható lesz, amelyek az "intermediate" és "root" tanúsítványok. Mentsük le ezeket is. Személy szerint én ezeket itt nem találtam meg, hanem a "Tool Box" alatt lévő "StartCom CA Certificates" menüpont alatt találtam meg őket, "StartCom Root CA" és "Class 1 Intermediate Server CA" néven.
3. Alkalmazzuk a tanúsítványt a webszerveren
Debian és Ubuntu rendszereken az Apache2 SSL kulcsok javasolt helye a /etc/apache2/ssl alatt található. Javasolt a fent említett kulcsokat ide másolni. Majd a kiválasztott honlap konfigurációs (alapértelmezésben a /etc/apache2/sites-enabled/default-ssl) fájlhoz a következő sorokat kell hozzáadni:
SSLCertificateFile /etc/apache2/ssl/example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.com.key
SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
SSLCACertificateFile /etc/apache2/ssl/ca.pem
Majd a webszervert újraindítani az "/etc/init.d/apache2 restart" utasítással.
4. Élvezzük munkánk gyümölcsét
Ha mindent jól csináltunk, akkor a weboldal elérhető lesz https:// kapcsolaton keresztül, méghozzá mindenfajta hibaüzenet nélkül!
Az eredeti cikk ami alapján ez a leírás is született a Sys-admin.hu oldalon megtalálható.