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:
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.
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
- Service Fabric biztonsági ellenőrzőlista
- Állítsa be a Service Fabric fejlesztői környezetét.
- További információ a Service Fabric támogatási lehetőségeiről.