Megosztás a következőn keresztül:


A TLS megszüntetésének és végpontok közötti TLS-nek az Application Gateway használatával történő áttekintése

A Transport Layer Security (TLS), korábbi nevén Secure Sockets Layer (SSL) a webkiszolgáló és a böngésző közötti titkosított kapcsolat létrehozására szolgáló szabványos biztonsági technológia. Ez a hivatkozás biztosítja, hogy a webkiszolgáló és a böngészők között átadott összes adat privát és titkosított maradjon. Az Application Gateway támogatja a TLS-lezárásokat az átjárón, valamint a végpontok közötti TLS-titkosítást is.

TLS-visszafejtés

Az Application Gateway támogatja az átjáró TLS-leállítását, amely után a forgalom általában titkosítatlanul áramlik a háttérkiszolgálókra. A TLS-leállítás számos előnnyel jár az Application Gatewayen:

  • Jobb teljesítmény – A TLS-visszafejtés során a legnagyobb teljesítménycsökkenés a kezdeti kézfogás. A teljesítmény javítása érdekében a visszafejtést végző kiszolgáló gyorsítótárazza a TLS-munkamenet azonosítóit, és kezeli a TLS-munkamenetjegyeket. Ha ez az Application Gatewayen történik, az ugyanazon ügyféltől érkező összes kérés használhatja a gyorsítótárazott értékeket. Ha a háttérkiszolgálókon történik, akkor minden alkalommal, amikor az ügyfél kérései egy másik kiszolgálóra kerülnek, az ügyfélnek újra meg kell adnia a hitelesítést. A TLS-jegyek használata segíthet a probléma megoldásában, de nem minden ügyfél támogatja őket, és nehéz lehet konfigurálni és kezelni őket.
  • A háttérkiszolgálók jobb kihasználtsága – az SSL/TLS-feldolgozás nagyon processzorigényes, és a kulcsméretek növekedésével egyre intenzívebbé válik. Ha eltávolítja ezt a munkát a háttérkiszolgálókról, akkor a leghatékonyabb tartalmakra összpontosíthatnak.
  • Intelligens útválasztás – A forgalom visszafejtésével az application gateway hozzáfér a kérelem tartalmához, például fejlécekhez, URI-khoz stb., és ezeket az adatokat felhasználhatja a kérések irányításához.
  • Tanúsítványkezelés – A tanúsítványokat csak az Application Gatewayen kell megvásárolni és telepíteni, nem pedig az összes háttérkiszolgálón. Ezzel időt és pénzt is megtakaríthat.

A TLS-megszakítás konfigurálásához TLS-/SSL-tanúsítványt kell hozzáadni a figyelőhöz. Ez lehetővé teszi, hogy az Application Gateway visszafejtse a bejövő forgalmat, és titkosítsa az ügyfél válaszforgalmát. Az Application Gatewaynek biztosított tanúsítványnak személyes adatcsere (PFX) formátumban kell lennie, amely tartalmazza a titkos és a nyilvános kulcsokat is. A támogatott PFX-algoritmusok a PFXImportCertStore függvényben találhatók.

Fontos

A figyelő tanúsítványához fel kell tölteni a teljes tanúsítványláncot (a hitelesítésszolgáltató főtanúsítványát, a közteseket és a levéltanúsítványt) a megbízhatósági lánc létrehozásához.

Feljegyzés

Az Application Gateway nem biztosít semmilyen képességet új tanúsítvány létrehozására vagy tanúsítványkérelem hitelesítésszolgáltatónak való küldésére.

A TLS-kapcsolat működéséhez meg kell győződnie arról, hogy a TLS/SSL-tanúsítvány megfelel a következő feltételeknek:

  • Az aktuális dátum és idő a tanúsítvány "Érvényesség kezdete" és "Érvényesség" dátumtartományán belül van.
  • A tanúsítvány „köznapi neve” (Common Name, CN) megegyezik a kérésben szereplő gazdafejlécével. Ha például az ügyfél böngészője a(z) https://www.contoso.com/ címre küldi a kérést, a köznapi névnek is a(z) www.contoso.com címnek kell lennie.

Ha a háttértanúsítvány köznapi nevével (CN) kapcsolatos hibák merülnek fel, tekintse meg a hibaelhárítási útmutatót.

TLS-leállításhoz támogatott tanúsítványok

Az Application Gateway a következő tanúsítványtípusokat támogatja:

  • Hitelesítésszolgáltatói tanúsítvány: A hitelesítésszolgáltatói tanúsítvány egy hitelesítésszolgáltató (CA) által kibocsátott digitális tanúsítvány
  • EV (kiterjesztett érvényesítési) tanúsítvány: Az EV-tanúsítvány olyan tanúsítvány, amely megfelel az iparági szabványtanúsítványokra vonatkozó irányelveknek. Ezzel zöldre váltja a böngésző keresősávját, és közzéteszi a cég nevét is.
  • Helyettesítő tanúsítvány: Ez a tanúsítvány tetszőleges számú altartományt támogat a *.site.com alapján, ahol az altartomány lecseréli a *-t. Ez azonban nem támogatja a site.com, így ha a felhasználók a vezető "www" beírása nélkül férnek hozzá a webhelyhez, a helyettesítő tanúsítvány nem fedi le ezt.
  • Önaláírt tanúsítványok: Az ügyfélböngészők nem bíznak ezekben a tanúsítványokban, és figyelmeztetik a felhasználót, hogy a virtuális szolgáltatás tanúsítványa nem része a megbízhatósági láncnak. Az önaláírt tanúsítványok olyan teszteléshez vagy környezetekhez használhatók, ahol a rendszergazdák felügyelik az ügyfeleket, és biztonságosan megkerülhetik a böngésző biztonsági riasztásait. Az éles számítási feladatok soha nem használhatnak önaláírt tanúsítványokat.

További információ: TLS-megszakítás konfigurálása az Application Gateway használatával.

A tanúsítvány mérete

Ellenőrizze az Application Gateway korlátai szakaszt, hogy megtudja, a TLS/SSL-tanúsítvány maximális mérete támogatott.

Végpontok közötti TLS-titkosítás

Előfordulhat, hogy nem szeretne titkosítatlan kommunikációt a háttérkiszolgálókkal. Előfordulhat, hogy biztonsági követelményekkel, megfelelőségi követelményekkel rendelkezik, vagy az alkalmazás csak biztonságos kapcsolatot fogad el. Azure-alkalmazás átjáró végpontok közötti TLS-titkosítással rendelkezik, hogy támogassa ezeket a követelményeket.

A végpontok közötti TLS lehetővé teszi a bizalmas adatok titkosítását és biztonságos továbbítását a háttérrendszerbe az Application Gateway 7. rétegbeli terheléselosztási funkcióinak használata során. Ezek a funkciók közé tartozik a cookie-alapú munkamenet-affinitás, az URL-alapú útválasztás, a webhelyeken alapuló útválasztás támogatása, az X-Forwarded-* fejlécek átírásának vagy beszúrásának lehetősége stb.

Ha teljes körű TLS kommunikációs móddal van konfigurálva, az Application Gateway leállítja a TLS-munkameneteket az átjárón, és visszafejti a felhasználói forgalmat. Ezután alkalmazza a konfigurált szabályokat, hogy kiválassza a megfelelő háttérkészletpéldányt, ahová irányítható a forgalom. Az Application Gateway ezután új TLS-kapcsolatot kezdeményez a háttérkiszolgálóval, és újra titkosítja az adatokat a háttérkiszolgáló nyilvános kulcsú tanúsítványával, mielőtt továbbítanák a kérést a háttérrendszernek. A webkiszolgáló esetleges válasza ugyanilyen módon jut el a végfelhasználóhoz. A végpontok közötti TLS engedélyezve van a háttérbeli HTTP-beállítás protokollbeállításának HTTPS értékre állításával, amelyet a rendszer ezután alkalmaz egy háttérkészletre.

Az Application Gateway 1-es verziójú termékváltozat-átjáróiban a TLS-szabályzat csak az előtérbeli forgalomra és a definiált rejtjelekre alkalmazza az előtér- és háttérbeli célokat is. Az Application Gateway v2 termékváltozat-átjáróiban a TLS-szabályzat csak az előtérbeli forgalomra vonatkozik, a háttérbeli TLS-kapcsolatok mindig A TLS 1.0-ról TLS 1.2-verzióra lesznek egyeztetve.

Az Application Gateway csak azokkal a háttérkiszolgálókkal kommunikál, amelyek engedélyezik a tanúsítványukat az Application Gatewayben, vagy amelyek tanúsítványait ismert hitelesítésszolgáltatói aláírással rendelkeznek, és a tanúsítvány CN-címe megegyezik a HTTP háttérrendszer beállításaiban szereplő gazdagép nevével. Ezek közé tartoznak a megbízható Azure-szolgáltatások, például a Azure-alkalmazás Service/Web Apps és az Azure API Management.

Ha a háttérkészletben lévő tagok tanúsítványait nem ismerik ismert hitelesítésszolgáltatók, akkor a teljes körű TLS-t engedélyező háttérkészlet minden példányát tanúsítványsal kell konfigurálni a biztonságos kommunikáció érdekében. A tanúsítvány hozzáadása biztosítja, hogy az Application Gateway csak ismert háttérpéldányokkal kommunikáljon. Ez tovább védi a végpontok közötti kommunikációt.

Feljegyzés

A háttérkiszolgálók hitelesítéséhez a háttérbeli HTTP-beállításhoz hozzáadott tanúsítvány lehet ugyanaz, mint az Application Gateway TLS-leállítása figyelőhöz hozzáadott tanúsítványa, vagy más a fokozott biztonság érdekében.

végpontok közötti TLS-forgatókönyv

Ebben a példában a TLS1.2-t használó kérések a pool1 háttérkiszolgálóihoz lesznek irányítva végpontok közötti TLS használatával.

Végpontok közötti TLS és tanúsítványok listázásának engedélyezése

Az Application Gateway csak azokkal a háttérkiszolgálókkal kommunikál, amelyek engedélyezik a tanúsítványukat az Application Gatewayben, vagy amelyek tanúsítványait ismert hitelesítésszolgáltatói aláírással rendelkeznek, és a tanúsítvány CN-címe megegyezik a HTTP háttérrendszer beállításaiban szereplő gazdagép nevével. A végpontok közötti TLS beállítási folyamatában van néhány különbség a használt Application Gateway-verzió tekintetében. A következő szakasz egyenként ismerteti a verziókat.

Végpontok közötti TLS az 1-s verziójú termékváltozattal

Ha engedélyezni szeretné a végpontok közötti TLS-t a háttérkiszolgálókkal, valamint ahhoz, hogy az Application Gateway átirányítsa a kéréseket hozzájuk, az állapotteszteknek sikeresnek kell lenniük, és kifogástalan választ kell adniuk.

HTTPS-állapottesztek esetén az Application Gateway v1 termékváltozata a http-beállításokba feltöltendő hitelesítési tanúsítvány (a háttérkiszolgáló tanúsítványának nyilvános kulcsa és nem a főtanúsítvány) pontos egyezését használja.

Ezután csak az ismert és engedélyezett háttérrendszerekkel létesített kapcsolatok engedélyezettek. A fennmaradó háttérrendszereket az állapottesztek nem megfelelőnek tekintik. Az önaláírt tanúsítványok csupán tesztelési célokat szolgálnak, és nem ajánlottak éles számítási feladatokra. Az ilyen tanúsítványokat a használatuk előtt engedélyezni kell az Application Gatewayben az előző lépésekben leírtak szerint.

Feljegyzés

A megbízható Azure-szolgáltatásokhoz, például Azure-alkalmazás szolgáltatáshoz nincs szükség hitelesítésre és megbízható főtanúsítvány-beállításra. Alapértelmezés szerint megbízhatónak minősülnek.

Végpontok közötti TLS a v2 termékváltozattal

A hitelesítési tanúsítványok elavultak, és az Application Gateway v2 termékváltozatában megbízható főtanúsítványok váltották fel. A hitelesítési tanúsítványokhoz hasonlóan működnek, néhány fő különbséggel:

  • A jól ismert hitelesítésszolgáltatók által aláírt tanúsítványok, amelyek CN-értéke megegyezik a HTTP háttérrendszer beállításaiban szereplő állomásnévvel, nem igényelnek további lépést a végpontok közötti TLS működéséhez.

    Ha például a háttértanúsítványokat egy jól ismert hitelesítésszolgáltató állítja ki, és cn of contoso.com, és a háttérbeli HTTP-beállítás gazdagépmezője is contoso.com, akkor nincs szükség további lépésekre. Beállíthatja a háttérbeli HTTP-beállítási protokollt HTTPS-ra, és az állapotadat-mintavétel és az adatelérési út is engedélyezve lenne. Ha háttérrendszerként Azure-alkalmazás szolgáltatást vagy más Azure-webszolgáltatásokat használ, akkor ezek is implicit módon megbízhatók, és a teljes körű TLS-hez nincs szükség további lépésekre.

Feljegyzés

Ahhoz, hogy egy TLS/SSL-tanúsítvány megbízható legyen, a háttérkiszolgáló tanúsítványát egy jól ismert hitelesítésszolgáltatónak kell kiállítania. Ha a tanúsítványt nem megbízható hitelesítésszolgáltató adta ki, az Application Gateway ezután ellenőrzi, hogy a kiállító hitelesítésszolgáltató tanúsítványát megbízható hitelesítésszolgáltató adta-e ki, és így tovább, amíg nem talál megbízható hitelesítésszolgáltatót (ekkor megbízható, biztonságos kapcsolat jön létre), vagy nem található megbízható hitelesítésszolgáltató (ekkor az Application Gateway nem jelöli meg a háttérrendszer kifogástalan állapotát). Ezért javasoljuk, hogy a háttérkiszolgáló tanúsítványa tartalmazza a legfelső szintű és a köztes hitelesítésszolgáltatókat is.

  • Ha a háttérkiszolgáló tanúsítványa önaláírt vagy ismeretlen hitelesítésszolgáltató/közvetítő által van aláírva, akkor az Application Gateway 2-es verziójában a végpontok közötti TLS engedélyezéséhez megbízható főtanúsítványt kell feltölteni. Az Application Gateway csak olyan háttérrendszerekkel kommunikál, amelyek kiszolgálói tanúsítványának főtanúsítványa megegyezik a készlethez társított háttérrendszerbeli HTTP-beállítás megbízható főtanúsítványainak egyikével.

  • A főtanúsítvány-egyezés mellett az Application Gateway v2 is ellenőrzi, hogy a háttérrendszer http-beállításában megadott gazdagép-beállítás megegyezik-e a háttérkiszolgáló TLS/SSL-tanúsítványa által bemutatott köznapi névvel (CN). Amikor TLS-kapcsolatot próbál létesíteni a háttérrendszerrel, az Application Gateway v2 a kiszolgálónév-jelzés (SNI) bővítményt a háttér http-beállításában megadott gazdagépre állítja.

  • Ha a háttérrendszerbeli HTTP-beállítás Gazdagép mezője helyett a háttérbeli tároló állomásneve helyett választja ki a gazdagépnevet, akkor az SNI-fejlécnek mindig a háttérkészlet teljes tartományneve lesz beállítva, és a háttérkiszolgáló TLS/SSL-tanúsítványán lévő CN-nek meg kell egyeznie az FQDN-ével. Ebben a forgatókönyvben a háttérkészlet ip-címekkel rendelkező tagjai nem támogatottak.

  • A főtanúsítvány egy base64 kódolású főtanúsítvány a háttérkiszolgáló tanúsítványaiból.

SNI-különbségek a v1 és a v2 termékváltozatban

Ahogy korábban említettük, az Application Gateway leállítja a TLS-forgalmat az ügyféltől az Application Gateway-figyelőnél (nevezzük előtér-kapcsolatnak), visszafejti a forgalmat, alkalmazza a szükséges szabályokat annak a háttérkiszolgálónak a meghatározásához, amelyre a kérést továbbítani kell, és létrehoz egy új TLS-munkamenetet a háttérkiszolgálóval (nevezzük háttérkapcsolatnak).

Az alábbi táblázatok a V1 és a v2 termékváltozat közötti SNI-különbségeket ismertetik az előtér- és háttérkapcsolatok tekintetében.

Előtérbeli TLS-kapcsolat (ügyfél és Application Gateway)

Eset v1 v2
Ha az ügyfél SNI-fejlécet ad meg, és az összes többhelyes figyelő engedélyezve van az "SNI megkövetelése" jelzővel Visszaadja a megfelelő tanúsítványt, és ha a hely nem létezik (a server_name szerint), akkor a kapcsolat alaphelyzetbe áll. Megfelelő tanúsítványt ad vissza, ha elérhető, ellenkező esetben az első HTTPS-figyelő tanúsítványát adja vissza a HTTPS-figyelőkhöz társított kérés-útválasztási szabályok által megadott sorrendnek megfelelően.
Ha az ügyfél nem ad meg SNI-fejlécet, és ha az összes többhelyes fejléc engedélyezve van az "SNI megkövetelése" beállítással A kapcsolat alaphelyzetbe állítása Az első HTTPS-figyelő tanúsítványát adja vissza a HTTPS-figyelőkhöz társított kérés-útválasztási szabályok által megadott sorrendnek megfelelően
Ha az ügyfél nem adja meg az SNI-fejlécet, és egy alapszintű figyelő van konfigurálva egy tanúsítvánnyal Az alapszintű figyelőben konfigurált tanúsítványt adja vissza az ügyfélnek (alapértelmezett vagy tartalék tanúsítvány) Az alapszintű figyelőben konfigurált tanúsítványt adja vissza

Feljegyzés

Ha az ügyfél nem ad meg SNI-fejlécet, javasoljuk, hogy a felhasználó adjon hozzá egy alapszintű figyelőt és szabályt az alapértelmezett SSL/TLS-tanúsítvány bemutatásához.

Tipp.

Az SNI-jelző konfigurálható PowerShell-lel vagy ARM-sablon használatával. További információ: RequireServerNameIndication és quickstart: Direct web traffic with Azure-alkalmazás Gateway – ARM template.

Háttérbeli TLS-kapcsolat (application gateway to the backend server)

Mintavételi forgalom esetén

Eset v1 v2
SNI (server_name) fejléc a TLS kézfogás során teljes tartománynévként Állítsa be teljes tartománynévként a háttérkészletből. Az RFC 6066-nak megfelelően az SNI-gazdagépnév nem engedélyezi a literális IPv4- és IPv6-címeket.
Megjegyzés: A háttérkészlet teljes tartománynevét fel kell oldania a DNS-nek a háttérkiszolgáló IP-címére (nyilvános vagy privát)
Az SNI-fejléc (server_name) állomásnévként van beállítva a HTTP-beállításokhoz csatolt egyéni mintavételből (ha konfigurálva van), ellenkező esetben a HTTP-beállításokban említett gazdagépnévből, ellenkező esetben a háttérkészletben említett teljes tartománynévből. Az elsőbbségi sorrend az egyéni mintavételi > HTTP-beállítások > háttérkészlete.
Megjegyzés: Ha a HTTP-beállításokban és az egyéni mintavételben konfigurált gazdagépnevek eltérőek, akkor az elsőbbségi sorrend szerint az SNI lesz az egyéni mintavétel állomásneve.
Ha a háttérkészlet címe EGY IP-cím (v1), vagy ha az egyéni mintavételi állomásnév IP-címként van konfigurálva (v2) Az SNI (server_name) nem lesz beállítva.
Megjegyzés: Ebben az esetben a háttérkiszolgálónak képesnek kell lennie egy alapértelmezett/tartalék tanúsítvány visszaadására, és ezt engedélyeznie kell a hitelesítési tanúsítvány HTTP-beállításai között. Ha nincs alapértelmezett/tartalék tanúsítvány konfigurálva a háttérkiszolgálón, és SNI az elvárás, a kiszolgáló alaphelyzetbe állíthatja a kapcsolatot, ami teszthibákhoz vezethet
A korábban említett sorrendben, ha az IP-címük állomásnévként van megadva, akkor az SNI nem lesz az RFC 6066-nak megfelelően beállítva.
Megjegyzés: Az SNI nem lesz beállítva a v2-mintavételekben sem, ha nincs egyéni mintavétel konfigurálva, és nincs gazdanév beállítva a HTTP-beállításokon vagy a háttérkészleten

Feljegyzés

Ha nincs konfigurálva egyéni mintavétel, akkor az Application Gateway egy alapértelmezett mintavételt küld ebben a formátumban – <protokoll>://127.0.0.1:<port>/. Az alapértelmezett HTTPS-teszt esetében például https://127.0.0.1:443/ formájában lesz elküldve. Vegye figyelembe, hogy az itt említett 127.0.0.1 csak HTTP-gazdagépfejlécként használható, és az RFC 6066 szerint nem lesz SNI-fejlécként használva. Az állapotadat-mintavétel hibáival kapcsolatos további információkért tekintse meg a háttérrendszer állapotával kapcsolatos hibaelhárítási útmutatót.

Élő forgalom esetén

Eset v1 v2
SNI (server_name) fejléc a TLS kézfogás során teljes tartománynévként Állítsa be teljes tartománynévként a háttérkészletből. Az RFC 6066-nak megfelelően az SNI-gazdagépnév nem engedélyezi a literális IPv4- és IPv6-címeket.
Megjegyzés: A háttérkészlet teljes tartománynevét fel kell oldania a DNS-nek a háttérkiszolgáló IP-címére (nyilvános vagy privát)
Az SNI-fejléc (server_name) állomásnévként van beállítva a HTTP-beállításokból, ellenkező esetben ha a PickHostnameFromBackendAddress beállítás van kiválasztva, vagy ha nincs megadva gazdagépnév, akkor a háttérkészlet konfigurációjában teljes tartománynévként lesz beállítva
Ha a háttérkészlet címe IP-cím, vagy a gazdagépnév nincs beállítva a HTTP-beállításokban Az SNI nem lesz RFC 6066-ra állítva, ha a háttérkészlet-bejegyzés nem teljes tartománynév Az SNI állomásnévként lesz beállítva az ügyfél bemeneti teljes tartományneve alapján, és a háttértanúsítvány CN-jének meg kell egyeznie ezzel a gazdagépnévvel.
A gazdagépnév nem szerepel a HTTP-beállításokban, de a háttérkészlet-tag célként egy teljes tartománynév van megadva Az SNI állomásnévként lesz beállítva az ügyfél bemeneti teljes tartományneve alapján, és a háttértanúsítvány CN-jének meg kell egyeznie ezzel a gazdagépnévvel. Az SNI állomásnévként lesz beállítva az ügyfél bemeneti teljes tartományneve alapján, és a háttértanúsítvány CN-jének meg kell egyeznie ezzel a gazdagépnévvel.

Következő lépések

Miután megismerte a végpontok közötti TLS-t, lépjen a Teljes körű TLS konfigurálásához az Application Gateway és a PowerShell használatával egy alkalmazásátjáró teljes körű TLS használatával történő létrehozásához.