Namestite brezplačno Šifriraj TLS / SSL potrdilo na IIS / RDS v Windows Server 2016/2012 R2

V tem pregledu bomo govorili o značilnostih namestitve in vezave brezplačnega potrdila TLS / SSL podjetja Let's Encrypt za spletno mesto na spletnem strežniku IIS, ki deluje na Windows Server 2019/2016/2012 R2.

Vsebina:

  • Šifrirajmo in odjemalce ACME za Windows
  • Odjemalec WACS za namestitev TLS-ja Šifrirajmo potrdilo v IIS na Windows Server
  • Preusmeritev prometa na spletnem mestu IIS iz HTTP na HTTPS naslov
  • Uporaba šifriramo potrdilo za storitve na daljavo

Šifrirajmo in odjemalce ACME za Windows

Prisotnost certifikata TLS / SSL na spletnem mestu vam omogoča, da zaščitite uporabniške podatke, ki se prenašajo po omrežju pred napadi človeka v sredini, in zagotovite integriteto poslanih podatkov. Organ za potrjevanje neprofitnih organizacij Najs Šifriraj Omogoča samodejno izdajanje šifriranih certifikatov TLS X.509 za šifriranje API-ja (HTTPS). Izdajo se samo potrdila za potrjevanje domen z obdobjem veljavnosti 90 dni (za eno domeno na teden velja omejitev 50 potrdil). Ampak lahko samodejno ponovno izdate potrdilo SSL za svoje spletno mesto po načrtih.

Pokliče se API za samodejno izdajanje potrdil Avtomatizirano Potrdilo Upravljanje Okolje (ACME) API. Za sisteme Windows trenutno obstajajo 3 najbolj priljubljenih implementacij odjemalcev ACME API:

  • Uporabnost Windows ACME Preprosto (WACS) - pripomoček ukazne vrstice za interaktivno izdajo potrdila in njegovo povezavo z določenim mestom na vašem spletnem strežniku IIS;
  • Modul Powershell ACMESharp - Powershell knjižnica s številnimi ukazi za interakcijo prek API-ja ACME s strežniki Let's Encrypt;
  • Potrdi - Grafični upravitelj potrdil SSL za Windows, ki omogoča interaktivno upravljanje certifikatov prek API-ja ACME.

Odjemalec WACS za namestitev TLS-ja Šifrirajmo potrdilo v IIS na Windows Server

Najlažji način za pridobitev SSL potrdila od Let's Šifriranja je uporaba pripomočka za konzolo Windows ACME Simple (Wacs) (prej je bil projekt razpisan Letsencrypt-Zmagajte-Preprosto). To je preprost čarovnik, ki vam omogoča, da izberete eno od mest, ki deluje na IIS, in samodejno izdate in nanj vežete SSL potrdilo.

Predpostavimo, da imamo spletno mesto v programu IIS, nameščeno z operacijskim sistemom Windows Server 2016. Naša naloga je, da ga preklopimo v način HTTPS z namestitvijo SSL potrdila iz Let's Šifriraj.

Prenesite zadnjo izdajo odjemalca WACS s strani projekta na GitHubu https://github.com/PKISharp/win-acme/releases (v mojem primeru je to različica v2.0.10 - datoteka win-acme.v2.0.10.444.zip).

Odstranite arhiv v imenik na strežniku z IIS: c: \ inetpub \ letsencrypt

Če želite uporabljati Win-Acme, morate namestiti .NET Framework 4.7.2 ali novejši (Kako ugotoviti, katera različica .Net je nameščena?).

Odprite ukazni poziv s skrbniškimi pravicami, pojdite na c: \ inetpub \ letsencrypt in zaženite wacs.exe.

To zažene interaktivni čarovnik za ustvarjanje potrdila Šifrirajmo in ga zaveže na spletno mesto IIS. Če želite hitro ustvariti novo potrdilo, izberite N: - Ustvari nova potrdila (enostavna za IIS).

Nato morate izbrati vrsto potrdila. V našem primeru ni treba uporabljati potrdila z vzdevki (več SAN - nadomestno ime predmeta), zato samo izberite 1. Enkratna vezava spletnega mesta IIS. Če potrebujete potrdilo Wildcard, izberite možnost 3.

Nato bo pripomoček prikazal seznam spletnih mest, ki se izvajajo na strežniku IIS, in ponudil, da izberete spletno mesto, za katero morate ustvariti in vezati nov SSL certifikat.

Navedite svoj e-poštni naslov, na katerega bodo poslana obvestila o težavah s posodabljanjem potrdila spletnega mesta in drugih o obešanju (lahko določite več e-poštnih sporočil, ločenih z vejicami). Še naprej se strinjamo s pogoji uporabe in Windows ACME Simple se bo povezal s strežniki Let's Encrypt in poskušal samodejno ustvariti nov certifikat SSL za vaše spletno mesto.

Proces generiranja in namestitve potrdila Šifriraj SSL za IIS je popolnoma avtomatiziran.

Preverjanje domene je privzeto izvedeno v načinu Potrditev http-01 (SelfHosting). Če želite to narediti, morate imeti v domeni DNS zapis, ki kaže na vaš spletni strežnik. Ko zaženete WACS v ročnem načinu, lahko izberete preverjanje vrste - 4 [http-01] Ustvari začasno prijava v IIS (priporočljivo). V tem primeru bo na spletnem strežniku IIS ustvarjena majhna aplikacija, prek katere lahko strežniki Let's Encrypt preverimo.

Opomba. Pri izvajanju preverjanja TLS / HTTP mora biti vaše spletno mesto dostopno navzven s polnim imenom DNS s protokolima HTTP (80 / TCP) in HTTPS (443 / TCP)..

WACS pripomoček shrani zasebni ključ potrdila (* .pem), samo potrdilo in številne druge datoteke v imenik C: \ Uporabniki \% uporabniško ime% \ AppData \ Roaming \ letsencrypt-win-simple. Nato bo namestil certifikat Let Šifriraj SSL, ustvarjen v ozadju, in ga pritrdil na vaše spletno mesto IIS. Če je na spletnem mestu že nameščeno potrdilo SSL (na primer s samopodpisom), ga bo nadomestilo novo.

V IIS Managerju odprite meni Zavezujoče mesto za vaše spletno mesto in se prepričajte, da uporablja potrdilo, ki ga je izdal Šifriraj avtoriteto X3.

To potrdilo vam bo zaupano, če boste pravočasno posodobili korenska potrdila Windows..

V trgovini z računalniškimi potrdili Let's Šifriraj za IIS potrdilo najdete v razdelku Spletno gostovanje -> Potrdila.

Windows ACME Simple ustvari novo pravilo v Windows Task Schedulerju (win-acme-renew (acme-v02.api.letsencrypt.org)) za samodejno podaljšanje certifikata. Naloga se začne vsak dan, podaljšanje certifikata se izvede po 60 dneh. Planer izvaja ukaz:

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

Z istim ukazom lahko ročno posodobite potrdilo.

Preusmeritev prometa na spletnem mestu IIS iz HTTP na HTTPS naslov

Če želite preusmeriti ves dohodni promet HTTP na spletno mesto HTTPS, morate namestiti modul Microsoft URL Prepiši Modul (https://www.iis.net/downloads/microsoft/url-rewrite) in se prepričajte, da možnost SSL (Zahtevaj SSL) v nastavitvah spletnega mesta ni omogočena. Ostaja konfigurirati preusmeritev v datoteki web.config:













Preusmeritev prometa lahko konfigurirate tudi prek URL-ja za prepisovanje prek uporabniškega vmesnika IIS Manager. Izberite Spletna mesta -> ime vašega imena -> Prepiši URL.

Ustvari novo pravilo Dodaj pravilo -> Prazno pravilo.

Določite ime pravila in spremenite vrednosti parametrov:

  • Zahtevani URL -> Ujema se z vzorcem
  • Uporaba -> Regularni izrazi
  • Vzorec -> (. *)

V bloku Pogoji spremenite Logično razvrščanje -> Ujemanje vseh in kliknite Dodaj. Navedite

  • Vnos pogoja -> HTTPS
  • Preverite, ali se vhodni niz -> ujema z vzorcem
  • Vzorec -> ^ OFF $

Zdaj v bloku Action izberite:

  • Vrsta akcije -> Preusmeritev
  • Preusmeritveni URL -> https: // HTTP_HOST / R: 1
  • Vrsta preusmeritve -> trajna (301)

Odprite brskalnik in poskusite odpreti spletno mesto z naslovom HTTP, zato bi morali biti samodejno preusmerjeni na URL HTTPS.

Uporaba šifriramo potrdilo za storitve na daljavo

Če za povezavo zunanjih uporabnikov s podjetniškim omrežjem uporabljate spletni dostop do oddaljenega namizja Gateway / RD, lahko namesto običajnega samopodpisanega certifikata uporabite običajni certifikat Let's Šifriraj SSL. Poglejmo, kako pravilno namestiti potrdilo Let's Šifriraj za zaščitene storitve oddaljenega namizja v Windows Server..

Če je vloga RDSH dvignjena tudi na strežniku Gateway za oddaljeno namizje, morate preprečiti bralcem dostop do imenika, v katerem imate WACS (v mojem primeru c: \ inetpub \ letsencrypt) in potrdila Šifrirajmo (C: \ ProgramData certifikat) \ win-acme).

Nato na strežniku RDP GW zaženite wacs.exe, kot je opisano zgoraj, in izberete želeno spletno mesto IIS (običajno privzeto spletno mesto). Let's Encrypt vam podari novo potrdilo, ki je nameščeno za spletno mesto in naloga za samodejno obnovo certifikata se pojavi v planerju.

To potrdilo lahko ročno izvozite in ga prek SSL vezave povežete z zahtevanimi storitvami RDS. Vendar boste morali te korake ročno izvesti vsakih 60 dni, ko boste ponovno izdali potrdilo Let Encrypt.

Potrebujemo skript, ki bi ga takoj po prejemu (obnovi) potrdila Let's Encrypt uporabila za RD Gateway.

Projekt win-acme ima že pripravljen scenarij PowerShell ImportRDGateway.ps1 (https://github.com/PKISharp/win-acme/tree/master/dist/Scripts), ki omogoča namestitev izbranega SSL certifikata za storitve na daljavo. Glavna pomanjkljivost skripta je, da morate ročno določiti prstni odtis novega potrdila:
ImportRDGateway.ps1

Če želite samodejno pridobiti odtis sličice potrdila z določenega mesta IIS, uporabite spremenjeno skript UvozRDGateway_Cert_From_IIS.ps1 (temelji na standardnem ImportRDGateway.ps1).

Navodila in spremenjen skript PowerShell nam je poslal naš bralec Anton, za kar mu pošiljamo žarke hvaležnosti!

Ta skript lahko zaženete ročno:

powershell -File ImportRDGateway_Cert_From_IIS.ps1

Če vaš prehod RDS živi na standardnem spletnem mestu IIS "Privzeto spletno mesto" z indeksom 0, lahko uporabite skript brez sprememb.

Če želite dobiti ID mesta v IIS, odprite konzolo PowerShell in zaženite:

Spletna administracija uvoznega modula
Get-ChildItem IIS: spletna mesta

Pridobite seznam obrazca:

Stolpec ID prikazuje indeks vašega spletnega mesta, od njega odštejte enega. Rezultat indeksa vašega spletnega mesta naj bo v 27. vrstici skripta PowerShell naveden namesto 0:

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

Zdaj odprite nalogo planerja win-acme-obnovi (acme-v02.api.letsencrypt.org) in na zavihku »Action« dodajte novo nalogo, ki po posodobitvi certifikata zažene skript ImportRDGateway_Cert_From_IIS.ps1..

Da ne spremenite dovoljenj za izvajanje skript PowerShell, lahko pokličete skript z ukazom:

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

Zdaj bo skript za vezavo SSL potrdila na RDS izveden takoj po prenovi potrdila Let's Encrypt. V tem primeru se storitev Gateway RD samodejno znova zažene z ukazom:

Restart-Service TSGateway

Ko se storitev TSGateway znova zažene, so vse trenutne seje uporabnika prekinjene, zato je priporočljivo, da se pogostost zagona posodobitve certifikata spremeni 1-krat v 60 dneh.

Upoštevajte, da certifikati Let's Encrypt trenutno pogosto uporabljamo na spletnih mestih številnih velikih podjetij in jim zaupajo vsi brskalniki. Upam, da usoda brezplačnega organa za potrjevanje Let's Encrypt ne trpi usode WoSign in StartCom.