Azure Service Fabric security best practices

A cikk mellett további információért tekintse át a Service Fabric biztonsági ellenőrzőlistát is.

Az alkalmazások azure-beli üzembe helyezése gyors, egyszerű és költséghatékony. Mielőtt üzembe helyezené a felhőalkalmazást az éles környezetben, tekintse át a biztonságos fürtök alkalmazásbeli implementálásához szükséges és ajánlott ajánlott eljárások listáját.

Az Azure Service Fabric egy elosztott rendszerplatform, amely megkönnyíti a skálázható és megbízható mikroszolgáltatások csomagolását, üzembe helyezését és kezelését. A Service Fabric emellett választ ad a felhőalapú alkalmazások fejlesztésének és kezelésének jelentős kihívásaira. A fejlesztők és a rendszergazdák elkerülhetik az infrastruktúrával kapcsolatos összetett problémákat, és a kritikus fontosságú, nagy erőforrás-igényű, skálázható, megbízható és felügyelhető számítási feladatok megvalósítására koncentrálhatnak.

Minden ajánlott eljárás esetében a következőt ismertetjük:

  • Mi az ajánlott eljárás?
  • Miért érdemes implementálni az ajánlott eljárásokat?
  • Mi történik, ha nem valósítja meg az ajánlott eljárásokat.
  • Hogyan tanulhatja meg az ajánlott eljárás implementálását.

Az Azure Service Fabric biztonsági ajánlott eljárásait javasoljuk:

  • Biztonságos fürtök létrehozásához használja az Azure Resource Manager-sablonokat és a Service Fabric PowerShell-modult.
  • Használjon X.509-tanúsítványokat.
  • Biztonsági szabályzatok konfigurálása.
  • Implementálja a Reliable Actors biztonsági konfigurációját.
  • TLS konfigurálása az Azure Service Fabrichez.
  • Használja a hálózatelkülönítést és a biztonságot az Azure Service Fabric használatával.
  • Konfigurálja az Azure Key Vaultot a biztonság érdekében.
  • Felhasználók hozzárendelése szerepkörökhöz.
  • Megfontolandó szempontok, ha nem megbízható alkalmazásokat üzemeltet egy Service Fabric-fürtben.

Ajánlott eljárások a fürtök biztonságossá tételéhez

Mindig használjon biztonságos fürtöt:

  • Fürtbiztonság megvalósítása tanúsítványok használatával.
  • Biztosítson ügyfélhozzáférést (rendszergazdai és írásvédett) a Microsoft Entra ID használatával.

Automatizált üzemelő példányok használata:

  • Szkriptekkel hozhatja létre, helyezheti üzembe és helyezheti át a titkos kulcsokat.
  • Tárolja a titkos kulcsokat az Azure Key Vaultban, és használja a Microsoft Entra-azonosítót az összes többi ügyfélhozzáféréshez.
  • Hitelesítés megkövetelése a titkos kódokhoz való emberi hozzáféréshez.

Emellett vegye figyelembe a következő konfigurációs beállításokat:

  • Szegélyhálózatok (más néven demilitarizált zónák, DMZ-k és szűrt alhálózatok) létrehozása az Azure Network Security Groups (NSG-k) használatával.
  • Fürt virtuális gépek (virtuális gépek) elérése vagy fürt kezelése távoli asztali Csatlakozás ion ugrókiszolgálók használatával.

A fürtöket védeni kell, hogy megakadályozzák a jogosulatlan felhasználók csatlakozását, különösen akkor, ha egy fürt éles környezetben fut. Bár nem biztonságos fürtöt is létrehozhat, névtelen felhasználók csatlakozhatnak a fürthöz, ha a fürt felügyeleti végpontokat tesz elérhetővé a nyilvános interneten.

A fürtbiztonság különböző technológiákkal történő implementálásának három forgatókönyve van:

  • Csomópontok közötti biztonság: Ez a forgatókönyv biztosítja a virtuális gépek és a fürt számítógépei közötti kommunikációt. Ez a biztonsági forma biztosítja, hogy csak azok a számítógépek üzemeltethessenek alkalmazásokat és szolgáltatásokat a fürtben, amelyek jogosultak csatlakozni a fürthöz. Ebben a forgatókönyvben az Azure-ban futó fürtök vagy a Windowson futó önálló fürtök tanúsítványbiztonságot vagy Windows-biztonságot használhatnak Windows Server-gépeken.
  • Ügyfél-csomópontok közötti biztonság: Ez a forgatókönyv biztosítja a Service Fabric-ügyfél és a fürt egyes csomópontjai közötti kommunikációt.
  • Service Fabric szerepköralapú hozzáférés-vezérlés (Service Fabric RBAC): Ez a forgatókönyv a fürtöt elérő minden rendszergazdai és felhasználói ügyfélszerepkörhöz külön identitásokat (tanúsítványokat, Microsoft Entra-azonosítókat stb.) használ. A fürt létrehozásakor meg kell adnia a szerepkör-identitásokat.

Megjegyzés:

Biztonsági javaslat Azure-fürtökhöz: A Microsoft Entra security használatával hitelesítheti az ügyfeleket és a tanúsítványokat a csomópontok közötti biztonság érdekében.

Önálló Windows-fürt konfigurálásához tekintse meg az önálló Windows-fürtök beállításainak konfigurálását.

Biztonságos fürt létrehozásához használja az Azure Resource Manager-sablonokat és a Service Fabric PowerShell-modult. A biztonságos Service Fabric-fürt Azure Resource Manager-sablonok használatával történő létrehozásához szükséges részletes útmutatásért lásd : Service Fabric-fürt létrehozása.

Használja az Azure Resource Manager-sablont:

  • A fürt testreszabása a sablonnal a virtuális gépek virtuális merevlemezeinek (VHD-k) felügyelt tárolójának konfigurálásához.
  • A sablon használatával egyszerűen kezelheti és naplózhatja az erőforráscsoport módosításait.

A fürtkonfiguráció kezelése kódként:

  • Legyen alapos az üzembehelyezési konfigurációk ellenőrzésekor.
  • Kerülje az implicit parancsok használatát az erőforrások közvetlen módosításához.

A Service Fabric-alkalmazás életciklusának számos aspektusa automatizálható. A Service Fabric PowerShell-modul automatizálja az Azure Service Fabric-alkalmazások üzembe helyezéséhez, frissítéséhez, eltávolításához és teszteléséhez szükséges gyakori feladatokat. Az alkalmazáskezeléshez felügyelt API-k és HTTP API-k is elérhetők.

X.509-tanúsítványok használata

A fürtök védelme mindig X.509-tanúsítványokkal vagy Windows-biztonsággal történik. A biztonság csak a fürtlétrehozáskor van konfigurálva. A fürt létrehozása után nem lehet bekapcsolni a biztonságot.

Fürttanúsítvány megadásához állítsa a ClusterCredentialType tulajdonság értékét X509 értékre. Külső kapcsolatok kiszolgálótanúsítványának megadásához állítsa a ServerCredentialType tulajdonságot X509 értékre.

Emellett kövesse az alábbi eljárásokat:

  • Hozza létre az éles fürtök tanúsítványait egy megfelelően konfigurált Windows Server tanúsítványszolgáltatás használatával. A tanúsítványokat egy jóváhagyott hitelesítésszolgáltatótól (CA) is beszerezheti.
  • Ne használjon ideiglenes vagy teszttanúsítványt éles fürtökhöz, ha a tanúsítvány a MakeCert.exe vagy egy hasonló eszköz használatával lett létrehozva.
  • Használjon önaláírt tanúsítványt tesztfürtökhöz, éles fürtökhöz azonban nem.

Ha a fürt nem biztonságos, bárki névtelenül csatlakozhat a fürthöz, és felügyeleti műveleteket hajthat végre. Ezért mindig védje az éles fürtöket X.509-tanúsítványokkal vagy Windows-biztonsággal.

Az X.509-tanúsítványok használatáról további információt a Service Fabric-fürt tanúsítványainak hozzáadása vagy eltávolítása című témakörben talál.

Biztonsági szabályzatok konfigurálása

A Service Fabric az alkalmazások által használt erőforrásokat is védi. Az olyan erőforrások, mint a fájlok, könyvtárak és tanúsítványok az alkalmazás üzembe helyezésekor a felhasználói fiókok alatt vannak tárolva. Ez a funkció még egy megosztott üzemeltetett környezetben is biztonságosabbá teszi az alkalmazások egymástól való futtatását.

  • Active Directory-tartománycsoport vagy -felhasználó használata: Futtassa a szolgáltatást egy Active Directory-felhasználó vagy -csoportfiók hitelesítő adatai alatt. Ne a Microsoft Entra-azonosítót, hanem a tartományon belüli helyszíni Active Directoryt használja. A tartomány egyéb olyan erőforrásaihoz férhet hozzá, amelyek tartományfelhasználó vagy -csoport használatával kaptak engedélyeket. Ilyenek például az erőforrások, például a fájlmegosztások.

  • Biztonsági hozzáférési szabályzat hozzárendelése HTTP- és HTTPS-végpontokhoz: Adja meg a SecurityAccessPolicy tulajdonságot, amely futtató házirendet alkalmaz egy szolgáltatásra, amikor a szolgáltatásjegyzék http-vel deklarálja a végponterőforrásokat. A HTTP-végpontokhoz lefoglalt portok a szolgáltatás által futtatott futtató felhasználói fiók megfelelő hozzáférés-vezérlésű listái. Ha a szabályzat nincs beállítva, a http.sys nem rendelkezik hozzáféréssel a szolgáltatáshoz, és az ügyfél hívásaival kapcsolatos hibákat kaphat.

Ha tudni szeretné, hogyan használhat biztonsági szabályzatokat Egy Service Fabric-fürtben, olvassa el az alkalmazás biztonsági szabályzatainak konfigurálása című témakört.

A Reliable Actors biztonsági konfigurációjának implementálása

A Service Fabric Reliable Actors a színészi tervezési minta implementálása. A szoftvertervezési mintához hasonlóan az adott minta használatának döntése is azon alapul, hogy egy szoftveres probléma megfelel-e a mintának.

Az aktortervezési minta használatával általában a következő szoftverproblémák vagy biztonsági forgatókönyvek megoldásait modellezheti:

  • A problématér nagy számú (több ezer vagy több) kis, független és izolált állapot- és logikai egységből áll.
  • Olyan egyszálú objektumokkal dolgozik, amelyek nem igényelnek jelentős interakciót a külső összetevőktől, beleértve az állapot lekérdezését egy szereplőcsoporton keresztül.
  • A színészpéldányok nem tiltják le a kiszámíthatatlan késésű hívókat az I/O-műveletek kiadásával.

A Service Fabricben az aktorok a Reliable Actors alkalmazás keretrendszerben vannak implementálva. Ez a keretrendszer az aktor mintájára épül, és a Service Fabric Reliable Servicesre épül. Minden megírt megbízható aktorszolgáltatás particionált állapotalapú megbízható szolgáltatás.

Minden szereplő egy szereplőtípus példányaként van definiálva, megegyezik a .NET-objektum .NET-típusú példányával. Egy számológép funkcióit megvalósító aktortípus például számos ilyen típusú szereplővel rendelkezhet, amelyek különböző csomópontokon vannak elosztva egy fürtben. Az elosztott szereplők mindegyikét egyedileg jellemzi egy szereplőazonosító.

A replikátor biztonsági konfigurációi a replikáció során használt kommunikációs csatorna védelmére szolgálnak. Ez a konfiguráció megakadályozza, hogy a szolgáltatások láthassák egymás replikációs forgalmát, és biztosítsák a magas rendelkezésre állású adatok biztonságát. Alapértelmezés szerint egy üres biztonsági konfigurációs szakasz megakadályozza a replikáció biztonságát. A replikátor konfigurációi konfigurálják azt a replikátort, amely felelős az aktor állapotának megbízhatóvá tételéért.

TLS konfigurálása az Azure Service Fabrichez

A kiszolgálóhitelesítési folyamat hitelesíti a fürtkezelési végpontokat egy felügyeleti ügyfélen. A felügyeleti ügyfél ezután felismeri, hogy a valódi fürttel beszél. Ez a tanúsítvány TLS-t is biztosít a HTTPS felügyeleti API-hoz és a Service Fabric Explorerhez HTTPS-en keresztül. Egyéni tartománynevet kell beszereznie a fürt számára. Amikor tanúsítványt kér egy hitelesítésszolgáltatótól, a tanúsítvány tulajdonosának meg kell egyeznie a fürthöz használt egyéni tartománynévvel.

A TLS alkalmazáshoz való konfigurálásához először be kell szereznie egy SSL-/TLS-tanúsítványt, amelyet egy hitelesítésszolgáltató aláírt. A hitelesítésszolgáltató egy megbízható harmadik fél, amely tanúsítványokat bocsát ki TLS biztonsági célokra. Ha még nem rendelkezik SSL/TLS-tanúsítvánnyal, be kell szereznie egyet egy SSL/TLS-tanúsítványokat értékesítő vállalattól.

A tanúsítványnak meg kell felelnie az SSL/TLS-tanúsítványok következő követelményeinek az Azure-ban:

  • A tanúsítványnak tartalmaznia kell egy titkos kulcsot.

  • A tanúsítványt kulcscsere céljából kell létrehozni, és személyes adatcserefájlba (.pfx) exportálhatónak kell lennie.

  • A tanúsítvány tulajdonosának meg kell egyeznie a felhőszolgáltatás eléréséhez használt tartománynévvel.

    • Szerezze be a felhőszolgáltatás eléréséhez használandó egyéni tartománynevet.
    • Kérjen tanúsítványt egy hitelesítésszolgáltatótól, amelynek tulajdonosneve megegyezik a szolgáltatás egyéni tartománynevével. Ha például az egyéni tartománynév contoso.com, a hitelesítésszolgáltató tanúsítványának .contoso.com vagy www.contoso.com tulajdonosnévvel kell rendelkeznie.

    Megjegyzés:

    A cloudapp.net tartomány hitelesítésszolgáltatójától nem szerezhet be SSL-/TLS-tanúsítványt.

  • A tanúsítványnak legalább 2048 bites titkosítást kell használnia.

A HTTP protokoll nem biztonságos, és lehallgatási támadásoknak van kitéve. A HTTP-en keresztül továbbított adatok egyszerű szövegként lesznek elküldve a webböngészőből a webkiszolgálóra vagy más végpontok között. A támadók elfoghatják és megtekinthetik a HTTP-en keresztül küldött bizalmas adatokat, például a hitelkártya adatait és a fiókbeléptetéseket. Ha az adatokat HTTPS-en keresztül küldi el vagy teszi közzé egy böngészőben, az SSL biztosítja a bizalmas adatok titkosítását és védelmét a lehallgatás ellen.

Az SSL-/TLS-tanúsítványok használatáról további információt az Azure-beli alkalmazások TLS-ének konfigurálása című témakörben talál.

Hálózati elkülönítés és biztonság használata az Azure Service Fabric használatával

Állítson be egy 3 csomóponttípusú biztonságos fürtöt az Azure Resource Manager-sablon mintaként való használatával. A sablon és a hálózati biztonsági csoportok használatával szabályozhatja a bejövő és kimenő hálózati forgalmat.

A sablon minden egyes virtuálisgép-méretezési csoporthoz rendelkezik NSG-vel, és a készleten belüli és azon kívüli forgalom szabályozására szolgál. A szabályok alapértelmezés szerint úgy vannak konfigurálva, hogy lehetővé tegyék a rendszerszolgáltatásokhoz és a sablonban megadott alkalmazásportokhoz szükséges összes forgalmat. Tekintse át ezeket a szabályokat, és végezze el az igényeinek megfelelő módosításokat, beleértve az alkalmazások új szabályainak hozzáadását is.

További információ: Az Azure Service Fabric gyakori hálózatkezelési forgatókönyvei.

Az Azure Key Vault beállítása a biztonság érdekében

A Service Fabric tanúsítványok használatával biztosít hitelesítést és titkosítást egy fürt és alkalmazásai védelméhez.

A Service Fabric X.509-tanúsítványokkal védi a fürtöket, és alkalmazásbiztonsági funkciókat biztosít. Az Azure Key Vault használatával kezelheti a Service Fabric-fürtök tanúsítványait az Azure-ban. A fürtöket létrehozó Azure-erőforrás-szolgáltató lekéri a tanúsítványokat egy kulcstartóból. A szolgáltató ezután telepíti a tanúsítványokat a virtuális gépekre, amikor a fürt üzembe van helyezve az Azure-ban.

Tanúsítványkapcsolat áll fenn az Azure Key Vault, a Service Fabric-fürt és a tanúsítványokat használó erőforrás-szolgáltató között. A fürt létrehozásakor a tanúsítványkapcsolatra vonatkozó információk egy kulcstartóban lesznek tárolva.

A kulcstartó beállításának két alapvető lépése van:

  1. Hozzon létre egy erőforráscsoportot kifejezetten a kulcstartóhoz.

    Javasoljuk, hogy helyezze a kulcstartót a saját erőforráscsoportba. Ez a művelet segít megelőzni a kulcsok és titkos kódok elvesztését, ha más erőforráscsoportokat távolít el, például a tárterületet, a számítást vagy a fürtöt tartalmazó csoportot. A kulcstartót tartalmazó erőforráscsoportnak ugyanabban a régióban kell lennie, mint az azt használó fürtnek.

  2. Hozzon létre egy kulcstartót az új erőforráscsoportban.

    A kulcstartót engedélyezni kell az üzembe helyezéshez. A számítási erőforrás-szolgáltató ezután lekérheti a tanúsítványokat a tárolóból, és telepítheti őket a virtuálisgép-példányokra.

A kulcstartó beállításáról további információt az Azure Key Vault bemutatása című témakörben talál.

Felhasználók hozzárendelése szerepkörökhöz

Miután létrehozta a fürtöt képviselő alkalmazásokat, rendelje hozzá a felhasználókat a Service Fabric által támogatott szerepkörökhöz: írásvédett és rendszergazdai szerepkörökhöz. Ezeket a szerepköröket az Azure Portalon rendelheti hozzá.

Megjegyzés:

A szerepkörök Service Fabricben való használatáról további információt a Service Fabric-ügyfelek szerepköralapú hozzáférés-vezérlésében talál.

Az Azure Service Fabric két hozzáférés-vezérlési típust támogat a Service Fabric-fürthöz csatlakozó ügyfelek számára: rendszergazda és felhasználó. A fürtadminisztrátor hozzáférés-vezérléssel korlátozhatja bizonyos fürtműveletekhez való hozzáférést a különböző felhasználói csoportok számára. A hozzáférés-vezérlés biztonságosabbá teszi a fürtöt.

Megfontolandó szempontok, ha nem megbízható alkalmazásokat üzemeltet egy Service Fabric-fürtben

Lásd: Nem megbízható alkalmazások üzemeltetése Service Fabric-fürtökben.

Következő lépések