Ebben a cikkben a Certbot Linux szerverre történő telepítésének és konfigurálásának folyamatát vizsgáljuk meg . Részletesen elmagyarázzuk, hogyan szerezhetsz be Let's Encrypt SSL/TLS tanúsítványt a domainedhez. Azt is leírjuk, hogyan telepítheted egy webszerverre (például Nginx vagy Apache), és hogyan állíthatod be az automatikus tanúsítványmegújításokat a webes erőforrásoddal való folyamatos biztonságos kapcsolat biztosítása érdekében.
A Certbot egy ingyenes, nyílt forráskódú eszköz, amelyet az SSL/TLS tanúsítványok automatikus beszerzésére és megújítására terveztek . Kulcsfontosságú szerepet játszik a szerver és a kliens közötti kapcsolat biztonságossá tételében, megvédve az adatokat a jogosulatlan hozzáféréstől. A Certbot leegyszerűsíti az SSL tanúsítvány telepítési és megújítási folyamatát. A tanúsítvány nemcsak a biztonságot fokozza, hanem növeli a felhasználók bizalmát a webes erőforrásodban, ezáltal javítva mind a webhely hírnevét, mind a keresőmotorok rangsorolását.
Certbot telepítése
A Certbot alapértelmezés szerint a legtöbb disztribúcióban megtalálható, így a Debian/Ubuntu rendszerekre való telepítéséhez csak a csomaglistát kell frissíteni:
apt update
Ezután indítsa el a telepítési folyamatot:
apt install certbot
A Certbot támogatja azokat a beépülő modulokat, amelyek megkönnyítik a webszerver tanúsítványának beállítását és konfigurálását. A bővítmények telepítéséhez használja a megfelelő parancsot:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
A Red Hat rendszerek (például RHEL , CentOS , Fedora ) telepítési folyamata kissé eltér. Először hozzá kell adni az EPEL repository-t:
yum install epel-release
Ezután telepítse az eszközt:
yum install certbot
Hasonlóképpen lehetőség van egy bővítmény kiválasztására egy adott webszerverhez:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
A telepítés után azonnal folytathatja a tanúsítvány megszerzését.
SSL-tanúsítvány beszerzése
Ebben a részben a tanúsítvány egy adott webszervertől függetlenül történő megszerzésének folyamatát tárgyaljuk, majd az Nginx és Apache tanúsítvány telepítésének folyamatát. Mindazonáltal elengedhetetlen, hogy először megértsük a program szintaxisát és funkcióit. A következőképpen jelenik meg:
certbot command option -d domain
A fő parancsok a következők:
certbot certonly - Lekéri a tanúsítványt, de nem telepíti.certbot certificates - Ez a parancs megjeleníti az összes telepített tanúsítvány listáját.certbot renew - Bővíti a meglévő tanúsítványt.certbot revoke - Visszavonja a meglévő tanúsítványt.certbot delete - Törli a meglévő tanúsítványt.
A leggyakrabban használt lehetőségek a következők:
--nginx - Nginx konfigurációs szkripteket használ a domain ellenőrzéséhez.--apache - Apache konfigurációs szkripteket használ a tartomány ellenőrzéséhez.-d - Azon domainek listája, amelyekhez a tanúsítványt kérik.--standalone - Önálló módot használ a domain ellenőrzéséhez.--manual - Manuális domain ellenőrzést végez.
Ez csak egy példa a leggyakoribb parancsokra és opciókra. A program funkcióinak teljes listáját a súgó részben ismerheti meg:
certbot –help
Most folytatjuk a tanúsítvány beszerzését. Példaként egy virtuális szerver tanúsítványát fogjuk beszerezni egy ingyenes harmadik szintű domainhez, például a felhasználóneved.pserver.space-hez.
Először is be kell írnia a parancsot:
certbot certonly
Válaszul a segédprogram arra kéri, hogy válasszon egy módszert a domain tulajdonjogának ellenőrzésére:
Az első lehetőség akkor kényelmes, ha nincs beállított webszerver, vagy nem kíván módosítani egy meglévőt. Ez a módszer létrehoz egy ideiglenes webszervert, amely megerősíti a tartományhoz való jogát. Ideális egyszerű és gyors beállításhoz. A módszer kiválasztásakor fontos, hogy a 80-as port szabadon maradjon.
A második lehetőség akkor előnyös, ha már működik webszerver, és ezzel szeretné ellenőrizni a tartományhoz való jogot. A Certbot speciális fájlokat helyez el a szerver egy mappájába, amelyeket aztán a tanúsító központ ellenőrzi.
Kiválasztjuk az első lehetőséget, és kattintunk a következőre. Ebben a szakaszban a következőkre lesz szüksége:
- Írjon be egy e-mail címet;
- Fogadja el a szolgáltatási feltételeket;
- Elfogadja vagy megtagadja az e-mailek fogadását a vállalat és partnerei nevében;
- Adja meg azt a domain nevet, amelyre a tanúsítványt kiállították.
Miután a Certbot eszközzel befejezte a tanúsítványkibocsátási folyamatot, jelzi annak a könyvtárnak az elérési útját, ahol a kiállított tanúsítvány és az Ön fiókjához tartozó adatok tárolódnak:
Nem kell mást tennie, mint a megszerzett tanúsítványt a kívánt szolgáltatáshoz kapcsolni.
A tanúsítvány telepítése Nginx vagy Apache számára
Ez a szakasz feltételezi, hogy bizonyos alapvető feltételek teljesülnek:
- Már telepített és konfigurált egy webszervert, az Nginxet vagy az Apache-t. Elérhetőnek kell lennie az internetről azon a domain néven keresztül, amelyhez a tanúsítványt be kívánja szerezni;
- Az eszköz telepítése során a megfelelő paranccsal telepített egy bővítményt az Nginx vagy az Apache számára;
- A tűzfal lehetővé teszi a kapcsolatokat a 80-as és a 443-as portokon. Ha ezek a portok zárva vannak a kapcsolatok előtt, a szolgáltatás nem lesz elérhető a bejövő kapcsolatok számára. A tűzfal működésével kapcsolatos további részletekért ezt a következő cikkben tárgyaltuk tűzfal beállítása Linuxon.
Ha minden feltétel teljesült, közvetlenül folytathatja a tanúsítvány kiállítását. Példaként megvizsgáljuk az SSL-tanúsítvány beszerzésének folyamatát egy szerveren az Nginx használatával. Ha azonban Apache webszervert használ, a folyamat teljesen azonos.
A tanúsítvány megszerzéséhez be kell írnia a következő parancsot:
certbot --nginx # for Nginx
certbot --apache # for Apache
Válaszul az eszköz kéri: e-mail címet, hozzájárulást a Let's Encrypt szolgáltatás használati feltételeihez, valamint engedélyt a szolgáltatás és partnerei nevében e-mailek küldésére.
Ezt követően meg kell adnia azt a domain nevet, amelyhez a tanúsítványt kiállították. A Certbot automatikusan meg tudja határozni a domaint, ha az meg van adva a server_name mezőben az Nginx konfigurációban, vagy a ServerName és ServerAlias mezőkben az Apache esetében . Ha nincs megadva, a program értesíti Önt, és kéri, hogy manuálisan adja meg a domain nevet. Ezután a segédprogram megkérdezi, hogy engedélyezi-e a kérések átirányítását HTTP-ről HTTPS protokollra. Az automatikus átirányítás beállításához a második lehetőséget kell választania:
Egy idő után a Certbot értesíti Önt a megadott domain tanúsítványának sikeres beszerzéséről. Ettől kezdve minden bejövő kapcsolat át lesz irányítva a 80-as portról a 443-as portra. Az eszköz megjeleníti azokat a könyvtárakat, amelyekben megtalálja az összes tanúsítványadatot és a Titkosítsuk fiókadatait:
Az üzenet tartalmazza a megszerzett tanúsítvány érvényességi idejét és az összes aktív tanúsítvány kezelésének fontos opcióit is:
- bizonyosan. Ez az opció a tanúsítvány beszerzésére vagy frissítésére szolgál automatikus webszerver-konfiguráció nélkül. A Certbot csak a tanúsítványt kéri vagy frissíti, de nem hajt végre automatikus módosításokat a kiszolgáló konfigurációjában. Korábban ezt a lehetőséget használtuk a tanúsítvány megszerzésére anélkül, hogy webszerverhez kötöttük volna.
- megújítása minden olyan tanúsítvány automatikus megújítására szolgál, amelyet a Certboton keresztül szereztek meg, és amelyek érvényességi idejükön belül vannak. A program minden tanúsítványt ellenőriz, és ha valamelyik 30 napon belül lejár, automatikusan megújítja.
A továbbiakban az útmutatóban megvitatjuk, hogyan lehet beállítani a tanúsítványok automatikus, felhasználói beavatkozás nélküli megújítását háromhavonta.
Automatikus tanúsítvány megújítás a Certbotban
Debian/Ubuntu számára
Ezen operációs rendszerek használatakor a Certbot automatikusan hozzáad egy parancsfájlt a feladatlistához a telepített tanúsítványok automatikus megújításához. A szkript működését a következő paranccsal ellenőrizheti:
systemctl status certbot.timer
A válasz megjeleníti a szolgáltatás állapotát, valamint a konfigurációs fájlt tartalmazó könyvtárat. Ezt bármilyen szövegszerkesztővel megnyithatja. Ha nem rendelkezik tapasztalattal a Linux szövegszerkesztők használatában, javasoljuk, hogy ismerkedjen meg a legnépszerűbb megoldások áttekintésével . Ebben az esetben a nano-t fogjuk használni:
nano /lib/systemd/system/certbot.timer
Az összes fontos paraméter kiemelve van:
- A menetrend szerint a szolgáltatás naponta kétszer 00:00 és 12:00 órakor indul;
- A második érték véletlenszerű késleltetést jelez másodpercekben, amely hozzáadódik az időzítő indításához. Ebben az esetben 43,200 12 másodperc (XNUMX óra), ami véletlenszerűbbé teszi az indítást és szétosztja a terhelést;
- Ez a paraméter biztosítja, hogy ha az időzítőt a rendszer leállítása közben kellett volna végrehajtani, akkor az indításkor azonnal aktiválódik.
A tanúsítvány megújításának kényszerített ellenőrzését is futtathatja a következő paranccsal:
certbot renew --dry-run
Ezzel a paranccsal a tanúsítványok nem frissülnek. Ehelyett az eszköz a tanúsítvány megszerzéséhez hasonló műveleteket hajt végre annak lejártakor. Így biztosíthatja a szolgáltatás funkcionalitását az automatikus megújítással kapcsolatban.
CentOS, Fedora és mások számára
A Red Hat családba tartozó rendszereken az automatikus frissítések engedélyezésének folyamata kissé eltér. A Debian/Ubuntu rendszerekkel ellentétben a CentOS és más rendszerek esetében manuálisan kell hozzáadni a feladatot az ütemezőhöz. Ehhez a cron eszközt fogjuk használni:
crontab -e
Ezután a megnyíló fájlban adja hozzá a következő sort:
0 12 * * * /usr/bin/certbot renew --quiet
Bontsuk le a parancs fő érveit:
- A végrehajtási idő. Ebben az esetben a parancs minden nap 12:00-kor automatikusan lefut;
- Az SSL/TLS-tanúsítványok Certbot használatával történő megújítására szolgáló parancs;
- Az --csendes A jelző elnyomja a kimenetet, rejtettebbé és kevésbé tolakodóvá téve a folyamatot a rendszernaplókban vagy a megjelenítésben.
A parancs hozzáadása után el kell mentenie a változtatásokat a fájlban.
Csakúgy, mint a Debian/Ubuntu esetében, a tanúsítványmegújítások kényszerített ellenőrzését is kezdeményezheti:
certbot renew --dry-run
A parancs sikeres végrehajtásának eredménye a következőképpen néz ki:
Összegzés
Megvizsgáltuk a Certbot Linux-kiszolgálón történő telepítésének és konfigurálásának átfogó folyamatát. A mellékelt utasítások követésével sikeresen beszerezhet egy SSL/TLS-tanúsítványt a Let's Encrypt-től, telepítheti azt webszerverére, és konfigurálhatja az automatikus megújítást a folyamatos védelem és a webes erőforrások iránti fokozott bizalom érdekében. A Certbot segítségével könnyen létrehozhat megbízható és biztonságos környezetet a felhasználók számára.