Instalirajte besplatni Šifriraj TLS / SSL certifikat na IIS / RDS na Windows Server 2016/2012 R2

U ovom ćemo pregledu govoriti o značajkama instaliranja i povezivanja besplatnog TLS / SSL certifikata tvrtke Let's Encrypt za web mjesto na IIS web poslužitelju koje radi na Windows Server 2019/2016/2012 R2.

sadržaj:

  • Ajde šifrirajmo i ACME klijente za Windows
  • WACS klijent za instaliranje TLS-a Šifrirajmo certifikat u IIS-u na Windows Serveru
  • Preusmjeravanje prometa IIS stranice s HTTP-a na HTTPS adresu
  • Pomoću alata Šifrirajmo certifikat za usluge udaljene radne površine

Ajde šifrirajmo i ACME klijente za Windows

Prisutnost TLS / SSL certifikata na web mjestu omogućuje vam da zaštitite korisničke podatke koji se prenose preko mreže od napada čovjekove sredine i jamči integritet prenesenih podataka. Tijelo za neprofitno certificiranje pustiti-ih Šifriranje Omogućuje vam automatsko izdavanje kriptografskih certifikata bez šifriranja API-ja TLS X.509 za šifriranje (HTTPS). Izdaju se samo potvrde za provjeru valjanosti domene, s rokom valjanosti od 90 dana (postoji ograničenje od 50 certifikata za jednu domenu tjedno). Ali možete automatski ponovo objaviti SSL certifikat za svoju web lokaciju prema rasporedu.

Pozvan je API za automatsko izdavanje potvrda Automatizirano potvrda upravljanje okolina (ACME) API. Za Windows sustave trenutno postoje 3 najpopularnije implementacije ACME API klijenta:

  • korisnost Windows ACME jednostavan (WACS) - uslužni program naredbenog retka za interaktivno izdavanje certifikata i povezivanje s određenom web lokacijom na vašem IIS web poslužitelju;
  • modul PowerShell ACMESharp - Powershell knjižnica s mnogim naredbama za interakciju putem ACME API-ja s poslužiteljima Let's Encrypt;
  • potvrditi - Grafički upravitelj SSL certifikata za Windows koji omogućava interaktivno upravljanje certifikatom preko ACME API-ja.

WACS klijent za instaliranje TLS-a Šifrirajmo certifikat u IIS-u na Windows Serveru

Najlakši način za dobivanje SSL certifikata od Let's Encrypt je korištenje uslužnog programa konzole Windows ACME Simple (WACS) (ranije se projekt zvao LetsEncrypt-pobjeda-jednostavan). To je jednostavan čarobnjak koji vam omogućuje odabir jedne od web lokacija koja radi na IIS-u i automatski izdaje i veže SSL certifikat na njega.

Pretpostavimo da imamo web mjesto na IIS-u, raspoređenog na kojem se pokreće Windows Server 2016. Naš zadatak je prebaciti ga u HTTPS način instaliranjem SSL certifikata tvrtke Let's Encrypt.

Preuzmite najnovije izdanje WACS klijenta sa stranice projekta na GitHubu https://github.com/PKISharp/win-acme/releases (u mom slučaju ovo je verzija v2.0.10 - datoteka win-acme.v2.0.10.444.zip).

Raspakujte arhivu u mapu na poslužitelju s IIS-om: c: \ inetpub \ letsencrypt

Da biste koristili Win-Acme, morate instalirati .NET Framework 4.7.2 ili noviji (Kako saznati koja je inačica .Net instalirana?).

Otvorite naredbeni redak s povlasticama administratora, idite na c: \ inetpub \ letsencrypt i pokrenite wacs.eXE.

Ovo pokreće interaktivni čarobnjak za generiranje certifikata Let's Šifriraj i vezanje za IIS mjesto. Da biste brzo stvorili novi certifikat, odaberite N: - Stvaranje novih certifikata (jednostavno za IIS).

Tada morate odabrati vrstu certifikata. U našem primjeru ne treba koristiti certifikat s pseudonimima (više SAN - alternativno ime predmeta), pa jednostavno odaberite 1. Pojedinačno vezivanje IIS mjesta. Ako vam treba Wildcard certifikat, odaberite opciju 3.

Zatim će uslužni program prikazati popis web mjesta koje rade na IIS poslužitelju i ponuditi odabir web mjesta za koje trebate stvoriti i vezati novi SSL certifikat.

Navedite svoju adresu e-pošte na koju će se slati obavijesti o problemima s ažuriranjem certifikata web lokacije i drugima o obješenju (možete odrediti više poruka e-pošte odvojene zarezima). Ostaje da se složimo s uvjetima korištenja i Windows ACME Simple će se povezati s poslužiteljima Let's Encrypt i pokušati automatski generirati novi SSL certifikat za vašu web lokaciju.

Proces generiranja i instaliranja Let's Encrypt SSL certifikata za IIS potpuno je automatiziran.

Po zadanom se provjera domene vrši u načinu rada Provjera http-01 (SelfHosting). Da biste to učinili, morate imati zapis u domeni DNS koji upućuje na vaš web poslužitelj. Kada pokrećete WACS u ručnom načinu, možete odabrati provjeru vrste - 4 [http-01] Stvori privremen primjena u IIS (preporučeno). U ovom će se slučaju stvoriti mala aplikacija na IIS web poslužitelju putem koje Let's Encrypt serveri mogu provjeriti valjanost.

primjedba. Tijekom provođenja TLS / HTTP provjere, vašoj web lokaciji bi trebalo biti dostupno izvana koristeći puno DNS ime koristeći HTTP (80 / TCP) i HTTPS (443 / TCP) protokole.

WACS uslužni program sprema privatni ključ certifikata (* .pem), sam certifikat i niz drugih datoteka u direktoriju C: \ Korisnici \% username% \ AppData \ Roaming \ letsencrypt-win-simple. Tada će instalirati Let's Encrypt SSL certifikat generiran u pozadini i priložiti ga na vaše IIS mjesto. Ako je na web mjestu već instaliran SSL certifikat (na primjer, s vlastitim potpisom), zamjenjivat će ga novi.

U IIS Manageru otvorite izbornik Vezivanje web mjesta za svoju web lokaciju i provjerite koristi li certifikat izdan od strane Šifrirajmo autoritet X3.

Ovaj će se certifikat vjerovati ako ste pravodobno ažurirali korijenske certifikate sustava Windows..

U trgovini računalskih certifikata, Šifriraj za IIS certifikat možete pronaći u odjeljku Web hosting -> Certifikati.

Windows ACME Simple stvara novo pravilo u rasporedu zadataka sustava Windows (win-acme-renew (acme-v02.api.letsencrypt.org)) da automatski obnovi potvrdu. Zadatak započinje svaki dan, obnavljanje certifikata vrši se nakon 60 dana. Planer izvršava naredbu:

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

Možete upotrijebiti istu naredbu za ručno ažuriranje certifikata.

Preusmjeravanje prometa IIS stranice s HTTP-a na HTTPS adresu

Za preusmjeravanje cjelokupnog dolaznog HTTP prometa na HTTPS web mjesto morate instalirati modul Microsoft URL Prepisivanje modul (https://www.iis.net/downloads/microsoft/url-rewrite) i provjerite da opcija SSL (Zahtijeva SSL) nije omogućena u postavkama web mjesta. Ostaje konfigurirati preusmjeravanje u datoteci web.config:













Možete konfigurirati i preusmjeravanje prometa putem URL-a za prepisivanje putem korisničkog sučelja IIS upravitelja. Odaberite Web lokacije -> ime vašeg imena -> Prepiši URL.

Stvorite novo pravilo Dodavanje pravila -> Prazno pravilo.

Navedite naziv pravila i promijenite vrijednosti parametra:

  • Zatraženi URL -> Poklapa uzorak
  • Korištenje -> Regularni izrazi
  • Uzorak -> (. *)

U bloku Uvjeti promijenite Logično grupiranje -> Usporedi sve i kliknite Dodaj. odrediti

  • Uvjet uvjeta -> HTTPS
  • Provjerite je li ulazni niz -> odgovara uzorku
  • Uzorak -> ^ OFF $

Sada u bloku Akcija odaberite:

  • Vrsta radnje -> Preusmjeravanje
  • URL za preusmjeravanje -> https: // HTTP_HOST / R: 1
  • Vrsta preusmjeravanja -> Trajna (301)

Otvorite preglednik i pokušajte otvoriti web mjesto s HTTP adresom, trebali biste biti automatski preusmjereni na HTTPS URL.

Pomoću alata Šifrirajmo certifikat za usluge udaljene radne površine

Ako za povezivanje vanjskih korisnika s korporativnom mrežom upotrebljavate Web Access Remote Desktop Gateway / RD, umjesto uobičajenog samopotpisanog certifikata možete koristiti uobičajeni SSL certifikat Let's Encrypt Pogledajmo kako ispravno instalirati certifikat Let's Encrypt za osigurane usluge udaljene radne površine u sustavu Windows Server..

Ako je uloga RDSH također podignuta na poslužitelju Gateway Remote Desktop Gateway, morate spriječiti čitatelje da pristupe direktoriju u kojem imate WACS (u mom primjeru c: \ inetpub \ letsencrypt) i da šifriramo certifikat (C: \ ProgramData direktorij certifikata) \ win-acme).

Zatim na RDP GW poslužitelju pokrenite wacs.exe, kao što je opisano gore, i odaberite željeno IIS mjesto (obično, zadana web stranica). Let's Encrypt daje vam novi certifikat koji je instaliran za web mjesto, a zadatak za automatsku obnovu certifikata pojavljuje se u planeru.

Možete ručno izvesti ovaj certifikat i vezati ga za potrebne RDS usluge putem SSL obvezujućih. Ali ove korake morat ćete izvršiti ručno svakih 60 dana prilikom ponovnog izdavanja potvrde Let's Šifriraj.

Potrebna nam je skripta koja će je odmah nakon primanja (obnavljanja) certifikata Let Encrypt iskoristiti za RD Gateway.

Projekt win-acme ima spremnu skriptu PowerShell-a ImportRDGateway.ps1 (https://github.com/PKISharp/win-acme/tree/master/dist/Scripts), koji vam omogućuje instalaciju odabranog SSL certifikata za usluge udaljene radne površine. Glavni nedostatak skripte je što morate ručno odrediti otisak prsta novog certifikata:
ImportRDGateway.ps1

Da biste automatski dobili otisak potvrde s određenog IIS mjesta, upotrijebite izmijenjenu skriptu ImportRDGateway_Cert_From_IIS.ps1 (na temelju standardnog ImportRDGateway.ps1).

Upute i modificirani PowerShell skriptu poslao je naš čitatelj Anton, na čemu mu šaljemo zrake zahvalnosti!

Ovu skriptu možete pokrenuti ručno:

powershell -File ImportRDGateway_Cert_From_IIS.ps1

Ako vaš RDS Gateway živi na standardnom IIS web mjestu "Zadana web stranica" s indeksom 0, skriptu možete koristiti bez promjena.

Da biste dobili ID web lokacije u IIS-u, otvorite PowerShell konzolu i pokrenite:

WebAdministration modula uvoza
Get-ChildItem IIS: web lokacije

Dohvati popis obrasca:

Stupac ID prikazuje indeks vaše web lokacije, oduzmite je od nje. Rezultat indeksa vaše web stranice trebao bi biti naveden umjesto 0 u 27. retku skripte PowerShell:

$ NewCertThumbprint = (Get-ChildItem IIS: SSL veze) [0] .Thumbprint

Sada otvorite zadatak planera win-acme-obnovi (acme-v02.api.letsencrypt.org) i na kartici Akcija dodajte novi zadatak koji pokreće skriptu ImportRDGateway_Cert_From_IIS.ps1 nakon ažuriranja certifikata..

Da ne biste promijenili dopuštenja za izvršavanje skripti PowerShell-a, možete pozvati skriptu naredbom:

PowerShell.exe -ExecutionPolicy Bypass -File c: \ inetpub \ letsencrypt \ ImportRDGateway_Cert_From_IIS.ps1

Sada će se skripta za vezanje SSL certifikata na RDS izvršiti odmah nakon obnove certifikata Let's Encrypt. U tom se slučaju usluga RD Gateway automatski pokreće naredbom:

Ponovno pokretanje servisa TSGateway

Kada se ponovo pokrene usluga TSGateway, prekidaju se sve trenutne sesije korisnika, pa je poželjno promijeniti učestalost pokretanja zadatka ažuriranja certifikata 1 put u 60 dana.

Imajte na umu da se certifikati Let's Encrypt trenutno široko koriste na web lokacijama mnogih velikih tvrtki i da im svi preglednici vjeruju. Nadam se da sudbina autoriteta besplatnih certifikata Let’s Encrypt ne trpi sudbinu WoSign-a i StartComa.