Ingyenes SSL-tanúsítványok a Let's Encrypt-től. Súgó Az ssl telepítése lehetővé teszi a titkosítást

A cikkben megvizsgáljuk az ingyenes Let's Encrypt előnyeit és hátrányait, kinek megfelelő, hogyan lehet beszerezni és telepíteni egy Plesk 12.5 panellel rendelkező webhelyre.

Titkosítsuk- ingyenes, automatizált projekt, nyitott CA-val (hitelesítési hatóság - hitelesítési hatóság).

FŐ ELŐNYÖK

ingyenes: bármely webhely tulajdonosa (különösen egy domain név) beszerezhet és telepíthet egy megbízható Let's Encrypt TLS-tanúsítványt (a TLS az SSL utódja);
automatizálás: minden telepítési, konfigurációs és frissítési funkció automatikusan megtörténik;
biztonság: az összes Let's Encrypt titkosítási módszer megfelel a jelenlegi szabványoknak;
átlátszóság: az egyes tanúsítványok kiállításával és visszavonásával kapcsolatos információk nyilvános elérhetősége bárki számára;
ingyenes: a nyílt szabvány elvét fogják használni a CA-val (tanúsítványkibocsátó) való interakciós protokollok esetében.

SZOFTVER MEGVALÓSÍTÁSA

A Hitelesítés-szolgáltató olyan tanúsítványokat bocsát ki, amelyeket az ACME szerveren állítanak elő a Boulder protokoll használatával, GO nyelven írva (forráskódban az MPL2 licenc alatt).
Ez a szerver RESTful protokollt biztosít, amely TLS-titkosított csatornán keresztül működik.
Az ACME protokoll kliens része, pl. A Python nyelven írt certbot szintén nyílt forráskódú APACHE licenc alatt. A Certbot telepítve van az ügyfélkiszolgálóra, hogy létrehozzon egy tanúsítványkérést, ellenőrizze a tartomány érvényességét, majd telepítse a tanúsítványt, majd beállítsa a webszerver HTTPS-titkosítását.
A certbot funkcióhoz tartozik még a tanúsítvány megújítása a lejárati dátum után. A tanúsítvány telepítése a licenc elfogadása után egy paranccsal történik.
A Certbot lehetővé teszi egy tanúsítvány telepítését további opciókkal – OCSP tűzéssel és HTTP Strict Transport Security

A LET "S ENCRYPT SSL TANÚSÍTVÁNY TELEPÍTÉSE (UTASÍTÁSOK)

Fontolja meg a tanúsítvány használatát a tárhelyünkön használt szerverekkel kapcsolatban.
Szervereink túlnyomó többsége a Plesk 12.5 verziót használja, ahol ez a modul már benne van a Plesk 12.5 disztribúciós készletben, telepítése egyszerű és kényelmes. Csak lépjen a "Webhelyek és tartományok" szakasz nyitópaneljére, kattintson a Titkosítsuk modulra,

Válassza ki a kívánt opciókat, és a "Telepítés" gombra kattintás után a telepítés kevesebb mint egy percen belül megtörténik.

Mivel ez a tanúsítvány legfeljebb 90 napig érvényes, egy megfelelő cron feladat jött létre az Eszközök és beállítások - Feladatütemező szakasz splash paneljén.

Érdemes megjegyezni, hogy van néhány korlátozás a tanúsítvány generálására:

  • bizonyítványok másolata - legfeljebb 5 hetente;
  • a tanúsítvány létrehozására irányuló kísérletek száma óránként legfeljebb 5 alkalommal.

A LET "S ENCRYPT HÁTRÁNYAIRÓL

A cikk végén szeretnénk megjegyezni, hogy az ilyen típusú tanúsítványok minden előnye ellenére vannak hátrányok, amelyeket figyelembe kell venni az SSL kiválasztásakor:
  1. Az ingyenes Let's Encrypt tanúsítvány rövid távú és legfeljebb 90 napos időtartamra készült, ellentétben a fizetős, legfeljebb 3 évre kiadható tanúsítvánnyal, a tanúsítvány természetesen 3 havonta újra kiadható, de ügyeljen a határidők betartására A tanúsítványt háromféleképpen adhatja ki újra: manuálisan, a cron feladatütemezőjének konfigurálásával vagy automatikusan.

    Ha a kézi frissítési módot választotta, majd tartsa be a határidőket, és időben állítsa ki újra a tanúsítványt. Ellenkező esetben fennáll annak a kockázata, hogy elégedetlen felhasználók özönlenek be a webhelyre, és később kiáramolnak.

    cron feladatütemező az automatikus frissítések beállításának módja. A módszer azoknak jó, akik rendelkeznek Linux adminisztrációs ismeretekkel és tudják, hogyan kell dolgozni a cronokkal. Arra is gondolni kell, hogy a cron működésében vannak olyan hibák, amelyek megakadályozhatják a tanúsítvány újbóli kiadását. Következtetés: továbbra is követnie kell a frissítést.

    Automatikus frissítés. Ez a módszer feltételezi, hogy elfogadja a tanúsító hatóság által megadott automatikus beállításokat. És itt meg kell értenie, hogy ily módon hozzájárul ahhoz, hogy a CA saját belátása szerint módosítsa az Ön szerverének szoftverét és beállításait.

  2. Nem minden tartomány védhető az ingyenes Let's Encrypt segítségével, ez a tanúsítvány csak egy domain védelmét szolgálja cégellenőrzés nélkül, az úgynevezett DV SSL-lel (Domain Validation).

    Tehát a Let "s Encrypt segítségével nem hozhatja létre a következő típusú tanúsítványokat:

    - Helyettesítő igazolvány egy adott tartomány aldomainjeinek védelme;
    - OV SSL (organization validation) tanúsítványok, amelyek nemcsak a domain, hanem a cég ellenőrzését is magukban foglalják;
    - EV SSL tanúsítványok (kiterjesztett érvényesítés). Tanúsítvány maximális védelemmel és zöld böngészőcímsorral;
    - Multi-Domain tanúsítvány UCC típus;


  3. Egy fontos pont - nincs pénzügyi garancia a Let "sEncrypt használatára. Ha egy ingyenes tanúsítványt hirtelen feltörnek, akkor pénzbeli kompenzáció senki sem adja meg.

KÖVETKEZTETÉS

Összegezve elmondható, hogy a Let's Encrypt Certification Center egy meglehetősen sikeres projekt, melynek népszerűsége évről évre nő a hálózati felhasználók körében.

Ha pedig egyetlen domainhez kell egy egyszerű tanúsítvány, megvan a megfelelő adminisztrációs képességed, ha pedig nem kell SSL OV-szervezet érvényesítéssel vagy zöld címsor és a cégnév a tanúsítványban, akkor ez a tanúsítvány használt.

Javasoljuk azonban, hogy a nagyvállalatok, online áruházak, bankok és más e-kereskedelmi projektek telepítsenek olyan jól ismert tanúsító hatóságoktól, mint például a GlobalSign, a Comodo, a kereskedelmi szolgáltatásokat.
Ezzel elnyeri a felhasználók bizalmát, és megmutatja, hogy Ön egy komoly cég, aki törődik az ügyfelek adatainak biztonságával.

  • Részvény:

Az utóbbi időben egyre nagyobb aggodalomra ad okot a felhasználók biztonsága és magánélete iránt. Amikor az Internetet és a HTTP protokollt tervezték, ezekre a koncepciókra nem gondoltak. Ezért a webszerver és a felhasználó között a HTTP protokollon keresztül továbbított összes forgalmat bárki megtekintheti, aki ennek a forgalomnak az útjába kerül, például egy internetszolgáltató vagy a hackerek.

Ezért találták ki a HTTPS protokollt, amely lehetővé teszi a forgalom titkosítását, és így megvédi azt a lehallgatástól. A titkosításhoz SSL-tanúsítványokat használnak. Korábban ezek a tanúsítványok pénzbe kerültek, de a Let's Encrypt-nek köszönhetően ma már bármelyik webhely ingyenesen telepíthet SSL-tanúsítványt és beállíthat titkosítást Ebben a cikkben megnézzük, hogyan lehet Let's Encrypt tanúsítványt szerezni a hivatalos Certbot kliens segítségével.

Let's Encrypt tanúsítvány beszerzése

Általánosságban elmondható, hogy nem kell kifejezetten Certbotot használnunk, létrehozhatunk egy tanúsítványt OpenSSL-ben, majd egyszerűen aláírhatjuk a Let's Encrypt ACME API-jával. De ehhez az API-hoz JSON formátumban kell kérni, ami nagyon kényelmetlen. do parancssorból, így jobb, ha valamelyik klienst, például a Certbotot használja, és a legtöbb ACME-ügyfél már tartalmazza az automatikus tanúsítványgenerálást az OpenSSL-ben.

1. Certbot szintaxis és parancsok

Mielőtt hozzáfognánk a munkához, nézzük meg a Certbot segédprogram szintaxisát és parancsait. Elég egyszerűnek tűnnek:

certbot opció parancs -d domain

A parancsok arra szolgálnak, hogy megmondják a segédprogramnak, hogy mit tegyen. Íme a főbbek:

  • fuss- alapértelmezés szerint, ha nincs parancs megadva, beszerzi és telepíti a tanúsítványt;
  • bizonyosan- a tanúsítványt csak átveszi vagy megújítja, de nem telepíti;
  • új- megújítja a tanúsítványt;
  • fokozza- biztonsági beállításokat ad hozzá a meglévő tanúsítványokhoz;
  • tanúsítványok- megjeleníti a telepített tanúsítványokat;
  • visszavonni- visszavonja a tanúsítványt;
  • töröl- törli a tanúsítványt;
  • Regisztráció- létrehoz egy ACME fiókot;

Amint látja, nincs olyan sok parancs, és most biztosan nem fog összezavarodni, és most elemezzük a fő lehetőségeket:

  • -d- tartományt vagy vesszővel elválasztott listát jelöl azoknak a tartományoknak, amelyekhez tanúsítványt kell beszerezni;
  • --apache- használja az apache bővítményt a tanúsítvány telepítéséhez;
  • --nginx- használja az nginx bővítményt;
  • --önálló- saját webszerver futtatása a hitelesítéshez a tanúsítvány megszerzésekor;
  • --preferált-kihívások- lehetővé teszi a hitelesítési mód kiválasztását, alapértelmezés szerint http, de választhat dns-t is;
  • --szerver- lehetővé teszi az ACME szerver címének megadását, ez szükséges a WildCard tanúsítványokhoz, mivel azokat csak az ACME második verziója támogatja;
  • --webroot- helyezze el a hitelesítési fájlokat a webszerver mappájába;
  • -w- megadja a webszerver mappáját, ahová a hitelesítési fájlokat el kell helyezni;
  • --kézikönyv- tanúsítvány létrehozása kézi módban;
  • -n- futtassa a segédprogramot nem interaktív módban;
  • --szárazon futás- tesztfutás a változtatások lemezre mentése nélkül.

Most készen állunk a segédprogrammal való együttműködésre. Először telepítsük.

2. Telepítse a Certbotot

Először telepítenie kell a Certbot segédprogramot. Ez hivatalos ügyfél, és a legtöbb disztribúció tárolójában található. A Certbot telepítése Ubuntura a PPA-ból történik:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt frissítés
sudo apt install certbot

Ha tudja, hogy melyik platformhoz készülnek tanúsítványok, akkor ezekhez külön bővítményeket telepíthet, amelyek lehetővé teszik a konfiguráció automatikus szerkesztését. Például telepíthet egy modult az apache vagy az nginx számára:

sudo apt install python-certbot-apache
sudo apt install python-certbot-nginx

Ezekre a beépülő modulokra akkor van szükség, ha a megfelelő opciókat kívánja használni az automatikus telepítéshez.

3. Hozzon létre egy tanúsítványt telepítés nélkül

Ha olyan webszerverhez van szüksége tanúsítványra, amelyet a program nem támogat, akkor azt manuálisan kell telepítenie. Ilyen tanúsítványt a certonly paranccsal szerezhet be:

sudo certbot certonly --webroot -w /var/www/test...test.site

Ez a parancs a test.site és a www.test.site tartományok tanúsítványát kapja meg. A hitelesítést megerősítő fájlok a /var/www/example/ könyvtárba kerülnek. A hitelesítéshez a beépített webszervert is használhatja:

sudo certbot certonly --standalone -d test..test.site

A tanúsítvány generálásakor a segédprogram kérni fogja az Ön e-mail címét az ACME fiókhoz, amely értesítéseket kap a megújítás szükségességéről és egyéb információkról:

Ezután meg kell erősítenie, hogy elolvasta a szolgáltatás használati feltételeit, és válaszoljon A:

Csak ezután kezdődik a tanúsítási folyamat. Ha minden jól ment, akkor a tanúsítványod el lesz mentve /etc/letsencrypt/live/domain_name/, onnantól már használhatod őket az alkalmazásaidban. Ha hibák vannak, a segédprogram jelenti azt.

4. Hozzon létre egy tanúsítványt az Nginx számára

Nem kell manuálisan telepítenie a tanúsítványokat, a konfiguráció automatikus frissítéséhez használhatja az elérhető beépülő modulok egyikét. Például fontolja meg egy bővítmény használatát az Nginx számára:

sudo certbot futtatása --nginx

Nincs szükség további paraméterek beállítására, mert a segédprogram magát a konfigurációt olvassa be, és megjeleníti az elérhető tartományok listáját:

Írja be a kívánt tartomány számát vagy több számot vesszővel elválasztva. A segédprogram mindent telepít, ami szükséges, majd megkérdezi, hogy át kell-e irányítania a http forgalmat a https-re:

Ezután a segédprogram ugyanazokat az információkat jeleníti meg, mint az előző verzióban:

5. A Let's Encrypt tanúsítvány megújítása

A Let's Encrypt tanúsítvány frissítéséhez egyszerűen futtassa a parancsot certbot opcióval bizonyosan. Tekintettel arra, hogy a tanúsítvány a certbot mappában található, és a webszerver konfigurációja erre a mappára van beállítva, ez a művelet elegendő. Ha a tanúsítványokat egy másik mappába másolta, akkor szükség lesz egy szkriptre, amely automatikusan átmásolja őket a frissítés után.

sudo certbot certonly -d test..test.site

Ha a tanúsítvány még nem járt le, és nincs szükség megújításra, a segédprogram megkérdezi, hogy valóban meg kell-e tenni.

Ha nem interaktív módban szeretné frissíteni a tanúsítványt, például egy szkript segítségével, akkor használja a lehetőséget -n, ennek az opciónak a használatakor is át kell adnia a hitelesítéshez használt bővítményt:

sudo certbot certonly --nginx -n -d test..test.site

Most hozzáadhatja ezt a parancsot a cron ütemezőhöz, például hetente egyszer:

0 0 * * 0 /usr/bin/certbot certonly --nginx -n -d test..test.site

Ha az összes tartomány tanúsítványát egyetlen paranccsal szeretné frissíteni nem interaktív módban, egyszerűen futtassa a parancsot:

sudo certbot megújítása

6. Let's Encrypt Wildcard tanúsítvány beszerzése

Viszonylag a közelmúltban jelentek meg a Let's Encrypt Wildcard tanúsítványok. Lehetővé teszik, hogy egy tanúsítványt használjon egy adott domain összes aldomainjéhez, például * .test.site. De ez is egyre nehezebben működik - meg kell erősítenie, hogy ez a tartomány tartozik-e Ehhez hozzá kell adnia egy TXT rekordot a tartományi zónához.

Megteheti manuálisan, vagy használja a Certbot DNS-bővítményét az automatikus hozzáadáshoz. Igaz, a beépülő modult csak olyan népszerű szolgáltatások támogatják, mint a DigitalOcean, Linode, Cloudflare és így tovább. Ebben a cikkben megvizsgáljuk a kézi opciót. A tanúsítványt generáló parancs így fog kinézni:

sudo certbot certonly --agree-tos -d test..test..api.letsencrypt.org/directory

Engedélyeznie kell IP-címe közzétételét, majd hozzáadnia kell egy TXT rekordot a kívánt névvel és értékkel a tartományzónához. Az én esetemben az _acme-challenge.test.site speciális hash-sel:

Ilja

Dmitrij, jó estét! Mondd el kérlek. Csak néhány nap, és megpróbáljuk megoldani a problémát a Lets encrypt tanúsítvánnyal. A hosting.energy hosting webhelyen a dommeb.com.ua webhely létrehozásakor az ingyenes Lets encryptet csatlakoztattam az ISP panelről. Néhány napig minden rendben volt, átment az SSL-teszteken ssllabs.com/ssltest/analyze.html A+-on. Megpróbáltam letölteni mobilról Android 2.3.6-ra normál böngészőből és Maxtonból - csak a tanúsítvány megbízhatatlanságára vonatkozó figyelmeztetések jelentek meg, majd a Folytatás gombra kattintva elérhető az oldal.

Egy hete vettem észre, hogy mobiltelefonról való betöltéskor és átirányítások tesztelésekor (a tárhely domain beállításainál beállítottam a http-https-ről történő átirányítást) hozzáadja az url-hez: 443 (SSL port neve). Az oldal pedig nem elérhető betöltéskor (hibafelirat).

Írtam a tárhelynek, pár napon belül megoldódott a probléma. Azt írták: "Javítva az Nginx konfigurációk az átirányításokkal kapcsolatban, hiba csúszott a konfigurációkba (valószínűleg a vezérlőpult miatt), és 2 átirányítás volt."

:443 már nem került hozzáadásra a mobilról és az átirányítások tesztelésekor.
De a webhely továbbra sem töltődött be, mint például ezekkel a kettős átirányításokkal: 443 (az Android 2.3.6 webhelyen a hiba nem érhető el betöltéskor).

Megnéztem az ssl tesztet, szintén A + eredmény, de hiba jelent meg az albekezdésben Handshake Simulation No SNI 2Android 2.3.7 No SNI 2 A szerver fatális riasztást küldött: handshake_failure

A Google ezt a hibát kereste:
Itt a talk.plesk.com/threads/https-websites-not-loading-in-ie.338346/ írnak erről a hibáról és a megoldásról. Minden információt átadtam a tárhely-támogatásnak.

Több napig leveleztem a tárhellyel, azt mondják, hogy nem változtattak semmit a tárhely beállításaiban, a szabványos Lets Encrypt tanúsítvány bővítményt használják. És nem garantálják, hogy a LetsEncryt SSL működni fog a régi platformokon. Dedikált IP-t kínáltak havi 1,5 dollárért.
Bár néhány nappal ezelőtt minden működött, és nem volt szerkesztés mindkét oldalon (minden adatot töröltem a böngészőkben). És maga a tárhely (ezen a tanúsítványon is, általában és most mobiltelefonról töltődik be, és figyelmeztetés nélkül is)

Webhelyek megosztott tárhelyen, dedikált IP-cím nélkül. Egy webhely Opencarton készült Lets encrypt tanúsítvánnyal, minden rendben volt. A második teszt a WordPress-en – az android 2.3.6-tal is minden rendben volt. A harmadik oldalon (WordPress) akartam váltani http-ről https-re, és már az első kettő nem tölt be rendesen Android 2.3.6-on…
Szeretném, ha minden felhasználó normálisan hozzáférhetne az oldalhoz (in végső megoldás régebbi platformokon, mint például az Android 2.3.6, így csak egy figyelmeztetés van, amelyet ki lehet hagyni)
Kérem, mondja meg, mi lehet az oka?

Úgy döntöttem, hogy megnézem a fizetett tanúsítványokat, például ezt a jót a Comodo namecheap.com/security/ssl-certificates/comodo/positivessl.aspx webhelyről,
de azt olvastam a cikkedben, hogy Android platformon érvénytelen volt a Comodo tanúsítvány. Kicsit zavart ezzel

Az SSL használata többé nem szeszély nagy cégek, a kötelező követelmény mindenkinek. SSL nélkül a webhelyek elveszítik pozíciójukat a keresési eredményekben, a látogatókat és a pénzt. A Let's Encrypt az ISPmanager panelen lehetővé teszi ingyenes SSL kiadását – mind a normál, mind a helyettesítő karaktereket. A kérés és a telepítés automatikus, és nem igényel műszaki ismereteket.

Miért van szüksége SSL-tanúsítványra?

Amikor meglátogat egy webhelyet, csatlakozik az azt üzemeltető szerverhez. Ha a kapcsolat nem biztonságos, a hackerek ellophatják a bejelentkezési adatokat, jelszavakat és számokat bankkártyák. A kapcsolat biztonságossá tételéhez SSL-tanúsítvány szükséges. Ezzel a beírt adatok titkosítva vannak. Még ha a hackerek el is fogják őket, nem tudják visszafejteni őket.

2017 óta a Google feltérképező robotjai az SSL nélküli webhelyeket nem biztonságosként jelölik meg, és rontják pozíciójukat a keresési eredmények között. Google Chromeés a Mozilla Firefox megbízhatatlanként jelöli meg a HTTP-webhelyeket. A böngészők így figyelmeztetik a felhasználókat, hogy a csalók személyes adatokat és pénzt lophatnak el.

Helyezze át webhelyét HTTPS-re, hogy javítsa pozícióját kereső motorokés kiváltja a látogatók bizalmát. A Let’s Encrypt modullal ehhez sem pénzre, sem technikai tudásra nincs szükség.

Kinek való a Let's Encrypt?

A Let's Encrypt belépő szintű SSL-tanúsítványokat bocsát ki tartományellenőrzéssel (DV). Ezért a Let's Encrypt kiválóan alkalmas kisebb online projektekhez, ahol nincs szükség szigorú biztonsági garanciára: blogok, hobbioldalak, névjegykártya-oldalak. A böngésző sorában egy zöld lakat elegendő, ha a látogatók nem adják meg a bejelentkezési neveket és jelszavakat, és nem vásárolnak.

A DV-tanúsítvány csak azt igazolja, hogy a domain valóban az Öné. A webhely látogatói nem kapnak figyelmeztetést a böngészőben a nem ellenőrzött webhely meglátogatásával kapcsolatban. A csalók nem fogják el a felhasználói információkat, mivel a tanúsítvány biztonságos HTTPS-kapcsolatot biztosít.

Fontos! Nem javasoljuk a DV-tanúsítvány használatát online áruházak és vállalati portálok webhelyein, ahol több mint magas szint felhasználói bizalom. Amikor SSL-t tartományellenőrzéssel ad ki, a CA nem ellenőrzi a vállalkozás legitimitását. Ezért egy ilyen tanúsítvány nem garantálja a látogatók számára, hogy a domain tulajdonosára rábízhatók legyenek a bejelentkezési adatok, jelszavak és bankkártyaszámok.

A Let's Encrypt telepítése

1. lépés.

A Let's Encrypt telepítéséhez az ISPmanagernek legalább 5.65-ös verziójúnak kell lennie.

  • Nyissa meg az ISPmanager-t,
  • A root fiók alatt lépjen a szakaszra Integráció → Modulok;
  • Telepítse a Let's Encrypt modult.

Mostantól érvényes, önmegújuló SSL-tanúsítványt kaphat domainjéhez. Ehhez SSL-használati jogosultsággal és érvényes domain névvel rendelkező felhasználóra van szükség.

2. lépés

Telepítés után a szakaszban Webszerver beállításai → SSL-tanúsítványok nyomja meg Nézzük a Titkosítás gombot bizonyítványt szerezni. További információ a tanúsítvány létrehozásáról itt: .

A tanúsítvány akkor jön létre sikeresen, ha abszolút minden megadott tartomány és álnév (alias) megnyílik a szerverről. Ha akár 1 sem nyílik meg, akkor nem lehet tanúsítványt kiadni.

A Let's Encrypt projektről

A Let's Encrypt egy nem kereskedelmi, megbízható tanúsító hatóság. Abban különbözik a többitől, hogy ingyenesen ad ki SSL tanúsítványokat. A kiadási folyamat teljesen automatizált.

A projektet 2014-ben hozták létre, hogy a legtöbb internetes oldal HTTPS-en keresztül biztonságos kapcsolatra válthasson. Fő támogatói között szerepelnek a világ vezető technológiai vállalatai: Mozilla, Google Chrome, Cisco, Facebook. A Let's Encrypt partnerei az IdenTrust Certification Authority, University of Michigan, Stanford Law School, Linux Foundation.

A Let's Encrypt alapelvei:

  • Ingyenesség. Bármely domain tulajdonosa ingyenesen kaphat megbízható SSL-t;
  • Automatizálás. Encrypt automatikusan kéri, konfigurálja és megújítja a tanúsítványokat;
  • Biztonság. A Let's Encrypt a legjobb biztonsági gyakorlatokat támogatja mind a hitelesítésszolgáltatói, mind a webhelyoldalon.

Felhívjuk figyelmét, hogy a Let's Encrypt a következő korlátozásokkal rendelkezik:

  1. Az első szintű domainhez és aldomainjéhez mindössze heti 5 tanúsítvány rendelhető.
  2. A Let's Encrypt tanúsítvány 3 hónapig érvényes. Az ISPmanager 3 havonta automatikusan újra kiadja a tanúsítványokat.
  3. A Let's Encrypt nem nyújt garanciát vagy kártérítést adatszivárgás esetén, mivel nonprofit szervezetről van szó.

A korlátozások teljes listája

Ebben az áttekintésben a Let's Encrypt ingyenes TLS/SSL-tanúsítványának telepítésének és kötésének funkcióiról fogunk beszélni egy Windows Server 2019/2016/2012 R2 rendszeren futó IIS webkiszolgálón lévő webhelyhez.

Encrypt és ACME kliensek Windowshoz

A TLS / SSL tanúsítvány jelenléte a webhelyen lehetővé teszi a hálózaton keresztül továbbított felhasználói adatok védelmét a köztes támadásokkal szemben, és garantálja a továbbított adatok integritását. nonprofit központ tanúsítvány Hadd'sTitkosítás lehetővé teszi az ingyenes TLS kriptográfiai X.509-tanúsítványok automatikus kibocsátását titkosításhoz (HTTPS) API-n keresztül. Csak a domain érvényesítésére szolgáló tanúsítványokat adják ki, 90 napos érvényességi idővel (korlátozás van - heti 50 tanúsítvány egy domainre). De ütemezetten automatikusan újra kiadhat egy SSL-tanúsítványt a webhelyéhez.

A tanúsítványok automatikus kibocsátására szolgáló API-t hívják automatizáltBizonyítványmenedzsmentKörnyezet (CSÚCSPONT) API. Mert Windows rendszerek Az ACME API-kliensnek jelenleg 3 legnépszerűbb implementációja van:

  • Hasznosság ablakokCSÚCSPONTEgyszerű(WACS) - egy parancssori segédprogram tanúsítvány interaktív kiadásához és az IIS webszerver egy adott helyéhez való kötéséhez;
  • Modul PowershellACMESharp- Powershell könyvtár sok paranccsal a Let's Encrypt szerverekkel való interakcióhoz ACME API-n keresztül;
  • Tanúsíts egy grafikus SSL tanúsítványkezelő Windowshoz, amely lehetővé teszi a tanúsítványok interaktív kezelését az ACME API-n keresztül.

WACS-ügyfél a Let's Encrypt TLS-tanúsítvány telepítéséhez az IIS-ben a Windows Server rendszeren

Az SSL-tanúsítvány beszerzésének legegyszerűbb módja a Let's Encrypt-től a konzol segédprogram használata. Windows ACME Simple (WACS) (korábban a projekt neve volt LetsEncrypt-Győzelem-Egyszerű) . Ez egy egyszerű varázsló, amely lehetővé teszi az egyik IIS-en futó webhely kiválasztását, és automatikusan SSL-tanúsítvány kiadását és hozzárendelését.

Tehát tegyük fel, hogy van egy webhelyünk az IIS-en, amely Windows Server 2016 alatt van telepítve. A feladatunk az, hogy HTTPS-módra váltsuk a Let's Encrypt SSL-tanúsítvány telepítésével.

Töltse le a legújabb WACS-kliens-kiadást a projekt GitHub oldaláról: https://github.com/PKISharp/win-acme/releases (esetemben ez a v2.0.10 – win-acme.v2.0.10.444.zip fájl).

Csomagolja ki az archívumot egy könyvtárba a szerveren az IIS segítségével: c:\inetpub\letsencrypt

Nyisson meg egy parancssort rendszergazdai jogokkal, lépjen a c:\inetpub\letsencrypt könyvtárba, és futtassa wacs.alkalmazás.

Ez elindít egy interaktív varázslót, amely létrehoz egy Let's Encrypt tanúsítványt, és összekapcsolja azt egy IIS-hellyel. Gyors létrehozáshoz új bizonyítvány válassza ki N: - Hozzon létre új tanúsítványokat (egyszerű az IIS számára).

Ezután ki kell választania a tanúsítvány típusát. Példánkban nincs szükség álnevekkel rendelkező tanúsítvány használatára (több SAN - Tárgy alternatív neve), ezért csak válassza ki az elemet 1. Egy IIS webhely egyszeri kötése. Ha helyettesítő karakter tanúsítványra van szüksége, válassza a 3. lehetőséget.

Adja meg az e-mail címét, amelyre a webhely tanúsítványának frissítésével kapcsolatos problémákról és a felakasztásról szóló értesítések küldjenek (több e-mailt is megadhat vesszővel elválasztva). Továbbra is el kell fogadnia a használati feltételeket, és a Windows ACME Simple csatlakozik a Let's Encrypt szerverekhez, és megpróbál automatikusan új SSL-tanúsítványt generálni az Ön webhelyéhez.

A Let's Encrypt SSL-tanúsítvány létrehozása és telepítése az IIS-hez teljesen automatizált.

Alapértelmezés szerint a tartományellenőrzés módban történik http-01 érvényesítés (SelfHosting). Ehhez rendelkeznie kell egy bejegyzéssel a tartomány DNS-ében, amely a webszerverre mutat. Ha a WACS-t kézi üzemmódban futtatja, kiválaszthatja a típus érvényesítését − 4 [ http-01] LétrehozideiglenesAlkalmazásban benIIS(ajánlott). Ebben az esetben az IIS webszerverén létrejön egy kis alkalmazás, amelyen keresztül a Let's Encrypt szerverek érvényesítést végezhetnek.

jegyzet. A TLS/HTTP-ellenőrzés végrehajtásakor webhelyének kívülről elérhetőnek kell lennie a teljesen minősített DNS-nevével a HTTP (80/TCP) és HTTPS (443/TCP) protokollok használatával.

A WACS segédprogram ment privát kulcs tanúsítványt (*.pem), magát a tanúsítványt és számos más fájlt a könyvtárba C:\Felhasználók\%felhasználónév%\AppData\Roaming\letsencrypt-win-simple. Ezután a háttérben telepíti a létrehozott Let's Encrypt SSL-tanúsítványt, és összekapcsolja azt az Ön IIS-webhelyével. Ha a webhely már telepített egy SSL-tanúsítványt (például ), azt egy újra cseréli.

Az IIS Managerben nyissa meg a menüt Site Binding webhelyéhez, és győződjön meg arról, hogy az általa kiállított tanúsítványt használ Encrypt Authority X3.

A számítógép tanúsítványtárolójában a Webtárhely -> Tanúsítványok menüpont alatt találhatja meg a Let's Encrypt for IIS tanúsítványt.

A Windows ACME Simple új szabályt hoz létre a Windows Feladatütemezőben ( win-acme-renew (acme-v02.api.letsencrypt.org)) az automatikus tanúsítványmegújításhoz. A munka minden nap fut, a tanúsítványt 60 naponként megújítják. Az ütemező a következő parancsot futtatja:

C:\inetpub\letsencrypt\wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org"

Ugyanezt a parancsot használhatja a tanúsítvány kézi frissítéséhez.

Az IIS webhely forgalmának átirányítása HTTP-ről HTTPS-címre

Az összes bejövő HTTP-forgalom HTTPS-helyre történő átirányításához telepítenie kell a modult MicrosoftURLÚjraírnimodult(https://www.iis.net/downloads/microsoft/url-rewrite), és győződjön meg arról, hogy ez a lehetőség nincs engedélyezve a webhely beállításaiban kötelező használat SSL (SSL szükséges). Az átirányítást be kell állítani a web.config fájlban:













A forgalom átirányítását az URL-újraírással az IIS Manager grafikus felületén keresztül is beállíthatja. Válassza a Webhelyek -> webhelyneve -> lehetőséget URL átírása.

Hozzon létre egy új szabályt Szabály hozzáadása -> Üres szabály.

Adja meg a szabály nevét, és módosítsa a paraméterértékeket:

  • Kért URL -> Megfelel a mintának
  • A -> Reguláris kifejezések használata
  • Minta -> (.*)

A Feltételek blokkban módosítsa a Logikai csoportosítás -> Összes egyezés elemet, majd kattintson a Hozzáadás gombra. Adja meg

  • Feltétel bemenet -> (HTTPS)
  • Ellenőrizze, hogy a bemeneti karakterlánc -> egyezik-e a mintával
  • Minta -> ^OFF$

Most a Művelet blokkban válassza ki:

  • Művelet típusa -> Átirányítás
  • Átirányítási URL -> https://(HTTP_HOST)/(R:1)
  • Átirányítás típusa -> Állandó (301)

Nyissa meg a böngészőt, és próbálja meg megnyitni a webhelyet a HTTP-címen, ekkor automatikusan át kell irányítani a HTTPS URL-re.

A Let's Encrypt tanúsítvány használata távoli asztali szolgáltatásokhoz

Ha távoli asztali átjárót/RD webelérést használ külső felhasználóknak a vállalati hálózathoz való csatlakoztatására, használhat egy normál Let's Encrypt SSL-tanúsítványt a szokásos önaláírt tanúsítvány helyett. Nézzük meg, hogyan kell megfelelően telepíteni a Let's Encrypt tanúsítványt a távoli asztali szolgáltatásokhoz a Windows Server rendszeren.

Ha az RDSH szerepkör a Remote Desktop Gateway szerveren is meg van emelve, meg kell akadályoznia, hogy az Read felhasználók hozzáférjenek ahhoz a könyvtárhoz, ahol a WACS-t tárolja (az én példámban ez a c:\inetpub\letsencrypt) és a Let's Encrypt tanúsítványkönyvtárhoz (C :\ProgramData \win-acme).

Ezután az RDP GW kiszolgálón futtassa a wacs.exe fájlt a fent leírtak szerint, és válassza ki a kívánt IIS webhelyet (általában az alapértelmezett webhelyet). A Let's Encrypt kiad egy új tanúsítványt, amely telepítve van a webhelyhez, és az ütemezőben megjelenik egy feladat a tanúsítvány automatikus megújítására.

Ezt a tanúsítványt manuálisan exportálhatja, és hozzárendelheti a megfelelő szolgáltatásokat RDS SSL-kötésen keresztül. De ezeket a lépéseket manuálisan kell végrehajtania 60 naponta, amikor újra kiadja a Let's Encrypt tanúsítványt.

Szükségünk van egy szkriptre, amely a Let's Encrypt tanúsítvány kézhezvétele (megújítása) után azonnal alkalmazza azt az RD Gateway-re.

A win-acme projektnek van egy kész PowerShell-szkriptje ImportRDGateway.ps1 ( https://github.com/PKISharp/win-acme/tree/master/dist/Scripts) , amely lehetővé teszi a kiválasztott SSL-tanúsítvány telepítését a Távoli asztali szolgáltatásokhoz. A szkript fő hátránya, hogy manuálisan kell megadni az új tanúsítvány ujjlenyomatát:
ImportRDGateway.ps1

A tanúsítvány ujjlenyomatának automatikus beszerzéséhez a megadott IIS-helyről használja a módosított szkriptet (a szabványos ImportRDGateway.ps1-en alapuló).

Az utasítást és a módosított PowerShell-szkriptet Anton olvasónk küldte, amiért köszönetünket küldjük neki!

Ezt a szkriptet manuálisan is futtathatja:

powershell - ImportRDGateway_Cert_From_IIS.ps1 fájl

Ha az RDS-átjárója egy szabványos IIS-webhelyen, „Alapértelmezett webhely” 0 indexű IIS-webhelyen él, akkor a szkriptet módosítások nélkül használhatja.

A webhelyazonosító IIS-ben való lekéréséhez nyisson meg egy PowerShell-konzolt, és futtassa:

Import-Module WebAdministration
Get-ChildItem IIS:Webhelyek

Szerezzen egy listát, például:

Az ID oszlop a webhely indexét tartalmazza, ebből vonjon le egyet. A webhely eredményül kapott indexét 0 helyett kell megadni a PowerShell-szkript 27. sorában:

$NewCertThumbprint = (Get-ChildItem IIS:SSLBindings).Thumbprint

Most nyissa meg a win-acme-renew ütemező feladatot (acme-v02.api.letsencrypt.org), és a Művelet lapon adjon hozzá egy új feladatot, amely az ImportRDGateway_Cert_From_IIS.ps1 parancsfájlt futtatja a tanúsítvány megújítása után.

Annak érdekében, hogy ne módosítsa a PowerShell-szkriptek végrehajtására vonatkozó engedélyeket, a szkriptet a következő paranccsal hívhatja meg:

PowerShell.exe -ExecutionPolicy Bypass - Fájl c:\inetpub\letsencrypt\ImportRDGateway_Cert_From_IIS.ps1

Mostantól az SSL-tanúsítvány RDS-szolgáltatásokhoz kötésére szolgáló szkript azonnal lefut a Let's Encrypt tanúsítvány megújítása után. Ezzel egyidejűleg az RD Gateway szolgáltatás automatikusan újraindul a következő paranccsal:

A TSGateway szolgáltatás újraindításakor az összes jelenlegi felhasználói munkamenet leáll, ezért tanácsos a tanúsítványfrissítési feladat indítási gyakoriságát 60 naponkénti egyszerire módosítani.

Vegye figyelembe, hogy titkosítsuk a tanúsítványokat jelenleg széles körben használják számos nagyvállalat webhelyén, és minden böngésző megbízható. Remélem, hogy az ingyenes Let's Encrypt tanúsító hatóság sorsa nem a WoSign és a StartCom sorsára esik.