Előfeltételek
Telepítse a Certbotot
Az Nginx konfigurálása
Let's Encrypt SSL tanúsítvány beszerzése
Automatizálja a megújulást
Továbbfejlesztett konfiguráció
A Let's Encrypt egy hitelesítésszolgáltató (CA), amely ingyenes SSL-tanúsítványokat biztosít automatizált klienssel. A Let's Encrypt SSL tanúsítvány használatával titkosíthatja a webhelye és a látogatói közötti forgalmat. Az egész folyamat egyszerű, a megújítások automatizálhatók. Vegye figyelembe azt is, hogy a tanúsítványok telepítése vagy megújítása nem okoz leállást.
Ebben az oktatóanyagban a Certbotot használjuk az SSL-tanúsítvány beszerzéséhez, telepítéséhez és automatikus megújításához. A Certbotot aktívan fejleszti az Electronic Frontier Foundation (EFF), és ez a Let's Encrypt ajánlott kliense.
Előfeltételek
- Ubuntu 16.04-et futtató Vultr példány
- Egy regisztrált domain név, amely a szerverére mutat
- Nginx
Telepítse a Certbotot
A Let's Encrypt SSL tanúsítvány megszerzéséhez telepítenie kell a Certbot klienst a szerverére.
Adja hozzá az adattárat. Nyomja meg a ENTERgombot, amikor a rendszer elfogadja.
add-apt-repository ppa:certbot/certbot
Frissítse a csomaglistát.
apt-get update
Folytassa a Certbot és a Certbot Nginx csomagjának telepítésével.
apt-get -y install python-certbot-nginx
Az Nginx konfigurálása
A Certbot automatikusan konfigurálja az SSL-t az Nginx számára, de ehhez meg kell találnia a szerverblokkot az Nginx konfigurációs fájljában. Ezt úgy teszi server_name, hogy a konfigurációs fájlban található direktívát egyezteti azzal a tartománynévvel, amelyhez tanúsítványt kér.
Ha az alapértelmezett konfigurációs fájlt használja, /etc/nginx/sites-available/defaultnyissa meg egy szövegszerkesztővel, például, nanoés keresse meg az server_nameutasítást. Cserélje ki az aláhúzásjelet _a saját domain neve(i)re:
nano /etc/nginx/sites-available/default
A konfigurációs fájl szerkesztése után a server_namedirektíva a következőképpen néz ki. Ebben a példában feltételezem, hogy az Ön domainje example.com, Ön pedig tanúsítványt kér az example.com és a www.example.com webhelyekhez.
server_name example.com www.example.com;
Folytassa a szerkesztések szintaxisának ellenőrzésével.
nginx -t
Ha a szintaxis helyes, indítsa újra az Nginxet az új konfiguráció használatához. Ha bármilyen hibaüzenetet kap, nyissa meg újra a konfigurációs fájlt, és ellenőrizze az elírásokat, majd próbálkozzon újra.
systemctl restart nginx
Let's Encrypt SSL tanúsítvány beszerzése
A következő parancs tanúsítványt kap az Ön számára. Szerkessze az Nginx konfigurációját a használatához, és töltse be újra az Nginxet.
certbot --nginx -d example.com -d www.example.com
További domainekhez is kérhet SSL-tanúsítványt. Csak adja hozzá a " -d" lehetőséget, ahányszor csak akarja.
certbot --nginx -d example.com -d www.example.com -d example.net -d example.net
Ha csak a Let's Encrypt tanúsítványt szeretné megszerezni anélkül, hogy azt automatikusan telepítené, használhatja a következő parancsot. Ez ideiglenesen módosítja az Nginx konfigurációját a tanúsítvány megszerzéséhez, és a tanúsítvány letöltése után visszaállítja azokat.
certbot --nginx certonly -d example.com -d www.example.com
Ha először futtatja a Certbotot, a rendszer felkéri egy e-mail cím megadására és a szolgáltatási feltételek elfogadására. Ezt az e-mail címet a megújítási és biztonsági értesítésekhez használjuk fel. Miután megadta az e-mail-címet, a Certbot tanúsítványt kér a Let's Encrypt-től, és lefuttat egy kihívást annak ellenőrzésére, hogy Ön irányítja-e a kérdéses tartományt.
Ha a Certbot tud SSL-tanúsítványt szerezni, akkor megkérdezi, hogyan szeretné konfigurálni a HTTPSbeállításokat. Átirányíthatja azokat a látogatókat, akik nem biztonságos kapcsolaton keresztül látogatják meg webhelyét, vagy engedélyezheti számukra a hozzáférést a nem biztonságos kapcsolaton keresztül. Ezt általában engedélyezni kell, mert ez biztosítja, hogy a látogatók csak a webhely SSL-védett verziójához férhessenek hozzá. Válassza ki a kívánt lehetőséget, majd nyomja meg a gombot ENTER.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Végül a Certbot megerősíti, hogy a folyamat sikeres volt-e, és megerősíti a tanúsítványok tárolási helyét. A tanúsítványok letöltése és telepítése megtörtént.
Automatizálja a megújulást
Mivel a Let's Encrypt egy ingyenes tanúsító hatóság, és hogy a felhasználókat a megújítási folyamat automatizálására ösztönözze, a tanúsítványok csak 90 napig érvényesek. A Certbot automatikusan gondoskodik a tanúsítványok megújításáról. Ezt úgy teszi meg, hogy certbot renewnaponta kétszer fut a következőn keresztül systemd.
Ennek a parancsnak a futtatásával ellenőrizheti, hogy az automatikus megújítás működik-e.
certbot renew --dry-run
A tanúsítványt manuálisan is bármikor megújíthatja a következő parancs futtatásával.
certbot renew
Továbbfejlesztett konfiguráció
A fenti parancsok beszerzik és telepítik az SSL-tanúsítványt olyan konfigurációval, amely a legtöbb esetben megfelelő. Ha speciális biztonsági intézkedéseket szeretne bevezetni webhelyén, a következő paranccsal szerezheti be a tanúsítványt.
certbot --nginx --rsa-key-size 4096 --must-staple -d example.com -d www.example.com
A --rsa-key-size 40962048 bites kulcs helyett 4096 bites RSA kulcsot használ, ami biztonságosabb. Ennek az a hátránya, hogy a nagyobb kulcs enyhe teljesítménynövelést eredményez. Ezenkívül előfordulhat, hogy a régebbi böngészők és eszközök nem támogatják a 4096 bites RSA-kulcsokat.
A program --must-staplehozzáadja az OCSP Must Staple kiterjesztést a tanúsítványhoz, és beállítja az Nginxet az OCSP tűzéshez. Ez a bővítmény lehetővé teszi a böngészők számára, hogy ellenőrizzék, hogy a tanúsítványt nem vonták-e vissza, és hogy megbízható-e. Nem minden böngésző támogatja azonban ezt a funkciót.