pingvin2.jpg

SSL tanúsítvány ingyen

Írta: Torig on . Beküldve: Linuxos dolgok

Let's Encrypt ingyenes tanúsítvány Certbot használatával

UPDATE 2017.06.27

Sajnos a lejjebb látható korábbi Startssl-es megoldás befuccsolt. A Google és a Firefox úgy döntött, hogy nem fogadják el a Startssl tanusítványait. Ezért egy másik megoldást javaslok. A tanúsítvány generálós rész oké, de a Startssl sajnos már nem használható.

Vagyis inkább a megoldás még most is működőképes, csak a böngészők nem fogadják el a Startssl tanúsítványait, ezért ugyanott vagy mintha önaláírt tanúsítványt használnál. Doksikat, leírást itt találsz az alábbi linkeken:

https://letsencrypt.org/

https://certbot.eff.org/

A Certbot program automatikusan megcsinálja és telepíti a tanúsítványokat. Hátránya, hogy 3 havonta meg kell újítani. Előnye, hogy a megújítást cron-ból meg lehet oldani.

Tehát Ubuntu 16.04 és Apache web szerver esetén a megoldás így néz ki.

sudo su # root konzol
apt-get update
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install python-certbot-apache

Ha minden települt, akkor futtassuk a következő parancsot:

certbot --apache

Ha az Apache konfig megfelelő, akkor a meglévő http konfigurációkra automatikusan elkészíti az alap http konfigot. A tanúsítványokat is elpakolja magának. Nagyon egyszerű az egész. Kivéve, ha előre elkészített Apache configod van. Előfordulhat, hogy hibaüzenettel elszáll a program. Azonban beszédesen leírja, hogy melyik konfiggal van problémája és akkor lehet reszelgetni amíg le nem fut. Az automatikus megújításhoz úgyis olyan programra van szükséged amit meg tud kajálni a certbot.

A tanúsítvány megújítás tesztelése a következő paranccsal lehetséges:

certbot renew --dry-run

 A tanúsítvány megújítása a következő paranccsal lehetséges:

certbot renew --dry-run

Érvényes és ingyenes SSL tanúsítvány Ubuntu 12.04 Web szerveren

Ha készítettél egy web szervert és nincs rá érvényes tanúsítványod, akkor ha https-en keresztül nyitod meg az oldaladat, akkor a böngésző figyelmeztetni fog, hogy nem biztonságos oldalt nézel meg. Ha nem akarsz tanúsítványt vásárolni, de szeretnél érvényes tanúsítványt használni, akkor ez a leírás pont neked szól.

A web szerver telepítése után általában egy önaláírt tanúsítványt használsz. Sajnos ez nem elég ahhoz, hogy ne riogassa a böngésző a látogatóidat. Létezik egy oldal, ahol regisztráció után magáncélra ingyenesen készíthetsz egy darab domainre és a hozzá tartozó 1 aldomainre érvényes tanúsítványt.

https://www.startssl.com/

A tanúsítvány készítés lépései

A tanúsítvány készítéséhez a következő műveleteket lehetőleg root-ként hajtsd végre.

Hívj meg egy root konzolt!

sudo su

Első lépésben el kell készítened a kulcs fájlodat 4096 bittes titkosítással. Domainnévnek add meg a saját domain nevedet. A parancs futásakor jelszót fog kérni. Adj meg bármit amit akarsz, mert később ezt a jelszót törölni fogjuk. Azért kell törölni, mert különben rendszerindításkor az Apache jelszót kér a tanúsítvány betöltéséhez, és amíg meg nem adod, ott fog állni a gép ítéletnapig.

openssl genrsa -des3 -out domainnév.key.pass 4096

A jelszót az alábbi parancs segítségével távolítsd el. Ezért nem kell bonyolult hosszú jelszót megadni, mert itt ki kell szedni.

openssl rsa -in domainnév.key.pass -out domainnév.key

Készítsd el a CSR fájlt, amit elküldhetsz egy hivatalos tanúsítványkibocsájtó cégnek is.

openssl req -new -key domainnév.key -out domainnév.csr

 Ha mindezzel megvagy, akkor a kulcsodat tanúsítani kell a  startssl.org oldalon.

 

Startssl.org műveletek

Regisztrálj a startssl.org oldalon. Az oldal a felhasználói azonosításhoz is  kulcsokat használ. Egy email címre elküldik az email cím ellenőrzésére szolgáló kódot. Nekem a Email szerverem szürke listára tette a levelüket, ezért némi késéssel érkezett meg a levelük. Az oldal használatához gyakorlatilag egy tanúsítványt kapsz. Ez az ami téged az oldalukon azonosítani fog.

A regisztrációt a Sign-up ikonnál kezdeményezheted. A regisztráció macerás, mert küldenek egy emailt egy kóddal, ha azt megadtad, akkor küldenek egy másik levelet egy másik kóddal, és azt felhasználva már telepíthetsz egy böngésző tanúsítványt. Figyelj oda! Ez a böngésző tanúsítvány a hozzáférésed a startssl.com oldaon lévő profilodhoz. Nincs felhasználónév vagy jelszó. Csak ezzel tudsz belépni. Ha túl vagy a regisztráción, akkor az Authenticate alatt tudsz bejelentkezni. A tanúsítvány használat miatt ha menteni akarod a bejelentkezéshez szükséges tanúsítványt, akkor a böngésződből kell kiimportálni. Ezt itt  most nem írom le, de nagyon ajánlom, hogy mentsed biztos helyre. Ugyanis a legutóbbi tanúsítvány cserénél valahol valamelyik újratelepítésnél elkavartam azt a tanúsítványt amivel a Startssl oldalán kellene autentikálni. Így a már meglévő profilomba nem tudtam belépni. A Support annyit mondott, hogy egy új email címmel csináljak egy új tanúsítványt. Elég macerásan ment a dolog, de végül sikerült.

Bejelentkezés után érvényesíteni kell a weboldaladat a Validations Wizard használatával. Az érvényesítés során küldenek egy ellenőrző kódot tartalmazó Emailt a webmester részére. Mielőtt nekikezdesz a procedúrának, ellenőrizd a webmester email címének elérhetőségét! Az érvényesítéshez a webmesternek kiküldött ellenőrző kódot kell megadni az oldalon. Ezzel igazolod, hogy tiéd az oldal.

A tanúsítvány érvényesítését a Certificates Wizard pont alatt teheted meg. Válaszd ki a Web Server SSL/TLS Certificate pontot. A következő ponton kattints a Skip-re mert azokat az adatokat már korábban megadtad. Nyisd meg szerkesztésre a CSR fájlodat a kedvenc szövegszerkesztőddel és a tartalmát másold be az oldalon látható szövegdobozba. Válaszd ki a már érvényesített domainodat és a az oldal legenerálja a kódot amit a CRT fájlodba kell majd mentened. A CRT fájl tartalmát másold ki a szövegdobozból és a kimásolt szöveget másold át egy fájlba aminek .crt legyen a vége. A .crt fájl létrehozásához is használd kedvenc szövegszerkesztődet. A fájl neve legye mondjuk domainnév.crt . A fájlt rakd a korábban létrehozott key fájl mellé. A következő lépésként meg kell adjál egy aldomént. Add meg a www előtagot aldoménnek az elvileg jó lesz.

A szövegdoboz alatt van két link. intermediate és root. Mindkettő alatt egy-egy pem fájl van. Mentsd le mindkettőt és tedd a kulcs fájl és a crt fájl mellé.

Update

Találtam egy másik kulcs tanúsítót is. A Cacert.org oldalon szintén tudsz kulcsot érvényesíteni. A kulcsot a pontszámodtól függően akár két évre is megkaphatod. Viszont ez úgy működik mint egy önaláírt tanúsítvány. A Startssl megoldása szerintem kicsit jobb.

 

Önaláírt tanúsítvány készítése

Ha csak tesztelni szeretnél, akkor nem szükséges a tanúsítvány érvényesíteni, hanem saját magad is aláírhatod. Az alábbi példa 365 napra aláírt tanúsítványt készít.

openssl x509 -req -days 365 -in domainnév.csr -signkey domainnév.key -out domainnév.crt

 

Fájlok a szerveren

Tulajdonképpen tökmindegy hol vannak a fájlok. Az a lényeg, hogy ahová rakod a fájlokat, azt az útvonalat és nevet add meg az Apache konfigurációban. Az javaslom, hogy a következőképpen rakd át a megfelelő mappákba.

/etc/ssl/certs/domainnév.crt
/etc/ssl/private/domainnév.key

Létrehoztam egy könyvtárat

mkdir /etc/ssl/CA

A két pem fájlt oda tettem.

/etc/ssl/CA/sub.class1.server.ca.pem
/etc/ssl/CA/ca.pem

 

Apache konfiguráció

Már csak az SSL kapcsolatok Apache konfigjában kell beállítani a megfelelő paramétereket ami nálam a /etc/apache2/sites-available/default-ssl fájlban van az alábbiak szerint

SSLCertificateFile /etc/ssl/certs/domainnév.crt
SSLCertificateKeyFile /etc/ssl/pivate/domainnév.key
SSLCertificateChainFile /etc/ssl/CA/sub.class1.server.ca.pem 

 

UPDATE 2014.10.10

Időközben változhatott valami a tanúsítvány körül mert ha az alábbi sort is hozzáadtam a konfigurációhoz, akkor az apache szerver nem volt képes újraindulni. Amikor kikommenteltem a sort, akkor a service apache2 restart parancsra simán elindult a webszerver. Tehát vedd ki a konfigurációból az alábbi sort!

#SSLCACertificateFile /etc/ssl/CA/ca.pem

Indítsuk újra az Apache-ot.

/etc/init.d/apache2 restart

És láss csodát, máris valid szerverünk van érvényes tanúsítvánnyal. Ellenőrizheted a tanúsítvány működését, ha a weblapodat https:// előtaggal nyitod meg. A böngésződ fajtájától függően pl Chromeban a címsávban látod, hogy már nem piros áthúzott https:// van, hanem zöld és már a megnyitásnál sincsenek a biztonsági figyelmeztetések, hanem a böngésző azonnal megnyitja az oldalt. Rákattintva a címsáv elején lévő zöld lakatra meg tudod nézni a tanúsítványod adatait. A módszer egyetlen hátulütője, hogy a tanúsítványt évente meg kell újítani. Sajnos nem lehet több évre kérni a tanúsítványt. Muszáj lesz évente cserélgetni. Azt hiszem ennyi kellemetlenség azért simán belefér.

UPDATE 2016.10.05

Kicsit változott a Startssl felülete. Nem vészes a változás. Annyiban jobb lett, hogy egyben több aldomént is meg lehet adni. Szóval érdemes megadni a domain.hu és a www.domain.hu stb. paramétereket is.

További kellemes változás, hogy 3 évre adták meg az ingyenes tanúsítványt.