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


Csatlakozás biztonságos szolgáltatáshoz a fordított proxyval

Ez a cikk bemutatja, hogyan hozható létre biztonságos kapcsolat a fordított proxy és a szolgáltatások között, így lehetővé téve a végpontok közötti biztonságos csatornát. A fordított proxyval kapcsolatos további információkért lásd : Fordított proxy az Azure Service Fabricben

Fontos

A biztonságos szolgáltatásokhoz való csatlakozás csak akkor támogatott, ha a fordított proxy a HTTPS figyelésére van konfigurálva. Ez a cikk feltételezi, hogy ez a helyzet. Tekintse meg a fordított proxy beállítását az Azure Service Fabricben a fordított proxy Service Fabricben való konfigurálásához.

Biztonságos kapcsolat létrehozása a fordított proxy és a szolgáltatások között

Fordított proxyhitelesítés a szolgáltatásokhoz:

A fordított proxy azonosítja magát a szolgáltatások számára a tanúsítványával. Azure-fürtök esetén a tanúsítvány a Resource Manager-sablon Microsoft.ServiceFabric/clusters Erőforrástípus szakaszában található reverseProxyCertificate tulajdonsággal van megadva. Önálló fürtök esetén a tanúsítvány a ReverseProxyCertificate vagy a ReverseProxyCertificateCommonNames tulajdonsággal van megadva a ClusterConfig.json Biztonsági szakaszában. További információ: Fordított proxy engedélyezése önálló fürtökön.

A szolgáltatások implementálhatják a logikát a fordított proxy által bemutatott tanúsítvány ellenőrzéséhez. A szolgáltatások megadhatják az elfogadott ügyféltanúsítvány részleteit konfigurációs beállításokként a konfigurációs csomagban. Ez futásidőben olvasható, és a fordított proxy által bemutatott tanúsítvány ellenőrzésére használható. A konfigurációs beállítások hozzáadásához tekintse meg az alkalmazásparaméterek kezelését.

A szolgáltatás identitásának visszafejtése a szolgáltatás által bemutatott tanúsítványon keresztül:

A fordított proxy a következő szabályzatokat támogatja a szolgáltatások által bemutatott tanúsítványok kiszolgálói tanúsítványának érvényesítéséhez: None, ServiceCommonNameAndIssuer és ServiceCertificateThumbprints. A használandó fordított proxy házirendjének kiválasztásához adja meg az ApplicationCertificateValidationPolicy értéket az ApplicationGateway/Http szakaszban a fabricSettings alatt.

A következő szakasz az egyes beállítások konfigurációs adatait mutatja be.

Szolgáltatástanúsítvány érvényesítési beállításai

  • Nincs: A fordított proxy kihagyja a proxy által felügyelt szolgáltatástanúsítvány ellenőrzését, és létrehozza a biztonságos kapcsolatot. Ez az alapértelmezett viselkedés. Adja meg az ApplicationCertificateValidationPolicy értéket a None értékkel az ApplicationGateway/Http szakaszban.

    {
    "fabricSettings": [
               ...
               {
                 "name": "ApplicationGateway/Http",
                 "parameters": [
                   {
                     "name": "ApplicationCertificateValidationPolicy",
                     "value": "None"
                   }
                 ]
               }
             ],
             ...
    }
    
  • ServiceCommonNameAndIssuer: A fordított proxy ellenőrzi a szolgáltatás által bemutatott tanúsítványt a tanúsítvány köznapi neve és az azonnali kiállító ujjlenyomata alapján: Adja meg az ApplicationCertificateValidationPolicy értéket serviceCommonNameAndIssuer értékkel az ApplicationGateway/Http szakaszban.

    {
    "fabricSettings": [
               ...
               {
                 "name": "ApplicationGateway/Http",
                 "parameters": [
                   {
                     "name": "ApplicationCertificateValidationPolicy",
                     "value": "ServiceCommonNameAndIssuer"
                   }
                 ]
               }
             ],
             ...
    }
    

    A szolgáltatásnév és a kiállító ujjlenyomatainak listájának megadásához adjon hozzá egy ApplicationGateway/Http/ServiceCommonNameAndIssuer szakaszt a FabricSettings alatt, ahogy az alább látható. A paramétertömbben több közös tanúsítványnév és kiállító ujjlenyomatpár is hozzáadható.

    Ha a végpont fordított proxyja egy olyan tanúsítványhoz csatlakozik, amely köznapi neve és kiállítói ujjlenyomata megegyezik az itt megadott értékek bármelyikével, létrejön egy TLS-csatorna. Ha nem egyezik a tanúsítvány részleteivel, a fordított proxy az ügyfél kérését egy 502-re (Bad Gateway) vonatkozó állapotkóddal meghiúsul. A HTTP-állapotsor az "Érvénytelen SSL-tanúsítvány" kifejezést is tartalmazza.

    {
    "fabricSettings": [
               ...
               {
                 "name": "ApplicationGateway/Http/ServiceCommonNameAndIssuer",
                 "parameters": [
                   {
                     "name": "WinFabric-Test-Certificate-CN1",
                     "value": "b3 44 9b 01 8d 0f 68 39 a2 c5 d6 2b 5b 6c 6a c8 22 b4 22 11"
                   },
                   {
                     "name": "WinFabric-Test-Certificate-CN2",
                     "value": "b3 44 9b 01 8d 0f 68 39 a2 c5 d6 2b 5b 6c 6a c8 22 11 33 44"
                   }
                 ]
               }
             ],
             ...
    }
    
  • ServiceCertificateThumbprints: A fordított proxy az ujjlenyomata alapján ellenőrzi a proxied szolgáltatástanúsítványt. Ezt az útvonalat akkor választhatja, ha a szolgáltatások önaláírt tanúsítványokkal vannak konfigurálva: Adja meg az ApplicationCertificateValidationPolicy értéket ServiceCertificateThumbprints értékkel az ApplicationGateway/Http szakaszban.

    {
    "fabricSettings": [
               ...
               {
                 "name": "ApplicationGateway/Http",
                 "parameters": [
                   {
                     "name": "ApplicationCertificateValidationPolicy",
                     "value": "ServiceCertificateThumbprints"
                   }
                 ]
               }
             ],
             ...
    }
    

    Adja meg a ServiceCertificateThumbprints bejegyzés ujjlenyomatait is az ApplicationGateway/Http szakaszban. Az értékmezőben több ujjlenyomat is megadható vesszővel tagolt listaként, az alábbiak szerint:

    {
    "fabricSettings": [
               ...
               {
                 "name": "ApplicationGateway/Http",
                 "parameters": [
                     ...
                   {
                     "name": "ServiceCertificateThumbprints",
                     "value": "78 12 20 5a 39 d2 23 76 da a0 37 f0 5a ed e3 60 1a 7e 64 bf,78 12 20 5a 39 d2 23 76 da a0 37 f0 5a ed e3 60 1a 7e 64 b9"
                   }
                 ]
               }
             ],
             ...
    }
    

    Ha a kiszolgálótanúsítvány ujjlenyomata szerepel ebben a konfigurációs bejegyzésben, a fordított proxy sikeres lesz a TLS-kapcsolaton. Ellenkező esetben megszakítja a kapcsolatot, és az ügyfél kérését egy 502-vel (hibás átjáróval) meghiúsul. A HTTP-állapotsor az "Érvénytelen SSL-tanúsítvány" kifejezést is tartalmazza.

Végpontválasztási logika, amikor a szolgáltatások biztonságos és nem biztonságos végpontokat fednek fel

A Service Fabric több végpont konfigurálását is támogatja egy szolgáltatáshoz. További információ: Erőforrások megadása szolgáltatásjegyzékben.

A fordított proxy kiválasztja az egyik végpontot a kérés továbbításához a szolgáltatás URI-jában található ListenerName lekérdezési paraméter alapján. Ha a ListenerName paraméter nincs megadva, a fordított proxy bármelyik végpontot kiválaszthatja a végpontok listájából. A szolgáltatáshoz konfigurált végpontoktól függően a kijelölt végpont LEHET HTTP- vagy HTTPS-végpont. Előfordulhatnak olyan forgatókönyvek vagy követelmények, amikor azt szeretné, hogy a fordított proxy "csak biztonságos módban" működjön; vagyis nem szeretné, hogy a biztonságos fordított proxy továbbítsa a kéréseket a nem biztonságos végpontokra. Ha csak biztonságos módra szeretné beállítani a fordított proxyt, adja meg a SecureOnlyMode konfigurációs bejegyzést igaz értékkel az ApplicationGateway/Http szakaszban.

{
"fabricSettings": [
          ...
          {
            "name": "ApplicationGateway/Http",
            "parameters": [
                ...
              {
                "name": "SecureOnlyMode",
                "value": true
              }
            ]
          }
        ],
        ...
}

Feljegyzés

Ha a SecureOnlyMode-ban működik, ha egy ügyfél egy HTTP-(nem biztonságos) végpontnak megfelelő figyelőnevet adott meg, a fordított proxy 404(nem található) HTTP-állapotkóddal meghiúsul a kérésben.

Ügyféltanúsítvány-hitelesítés beállítása fordított proxyn keresztül

A TLS-leállítás a fordított proxyn történik, és az ügyféltanúsítvány összes adata elveszik. Ahhoz, hogy a szolgáltatások ügyféltanúsítvány-hitelesítést végezhessenek, adja meg a ForwardClientCertificate beállítást az ApplicationGateway/Http szakaszban.

  1. Ha a ForwardClientCertificate értéke hamis, a fordított proxy nem kéri le az ügyféltanúsítványt az ügyféllel folytatott TLS-kézfogás során. Ez az alapértelmezett viselkedés.

  2. Ha a ForwardClientCertificate értéke igaz, a fordított proxy az ügyfél tanúsítványát kéri le az ügyfél TLS-kézfogása során. Ezután egy X-Client-Certificate nevű egyéni HTTP-fejlécben továbbítja az ügyféltanúsítvány adatait. A fejléc értéke az ügyfél tanúsítványának base64 kódolású PEM formátumsztringje. A szolgáltatás a tanúsítványadatok vizsgálata után a megfelelő állapotkóddal sikeres vagy sikertelen kérést hajthat be. Ha az ügyfél nem mutat be tanúsítványt, a fordított proxy egy üres fejlécet továbbít, és lehetővé teszi a szolgáltatás számára az eset kezelését.

Feljegyzés

A fordított proxy csak továbbítási szolgáltatásként működik. Nem hajtja végre az ügyfél tanúsítványának ellenőrzését.

Következő lépések