Zagadnienia dotyczące zabezpieczeń akceleratora strefy docelowej usług Azure Integration Services
Dobre zabezpieczenia są podstawą każdej aplikacji platformy Azure. Usługi Azure Integration Services stoją przed szczególnym wyzwaniem, ponieważ istnieje wiele zasobów tworzących aplikację, a każdy z tych zasobów ma własne zagadnienia dotyczące zabezpieczeń. Aby upewnić się, że rozumiesz konkretne zagadnienia dotyczące każdej usługi, zapoznaj się z następującymi punktami odniesienia zabezpieczeń:
Punkt odniesienia zabezpieczeń platformy Azure dla usługi HDInsight
Punkt odniesienia zabezpieczeń platformy Azure dla usługi API Management
Punkt odniesienia zabezpieczeń platformy Azure dla usługi Data Factory
Punkt odniesienia zabezpieczeń platformy Azure dla usługi Service Bus
Punkt odniesienia zabezpieczeń platformy Azure dla usługi Functions
Punkt odniesienia zabezpieczeń platformy Azure dla usługi Storage
Punkt odniesienia zabezpieczeń platformy Azure dla usługi Key Vault
Uwagi dotyczące projektowania
Podczas projektowania modelu zabezpieczeń istnieją dwa różne obszary projektowe: zabezpieczenia w czasie projektowania i zabezpieczenia w czasie wykonywania.
Zabezpieczenia w czasie projektowania obejmują dostęp do zarządzania zasobami platformy Azure i tworzenia ich za pośrednictwem witryny Azure Portal lub interfejsu API zarządzania. Na platformie Azure do osiągnięcia tego celu użyjemy identyfikatora Entra firmy Microsoft i kontroli dostępu opartej na rolach (RBAC).
Zabezpieczenia w czasie wykonywania obejmują dostęp do punktów końcowych i zasobów podczas przepływu aplikacji — na przykład uwierzytelnianie i autoryzowanie użytkownika, który wywołuje aplikację logiki lub operację interfejsu API w usłudze API Management.
Zdecyduj wcześnie, jeśli potrzebujesz:
Chmura prywatna — wszystkie zasoby znajdują się w sieci wirtualnej i używają tylko adresowania prywatnego, bez dostępu do publicznego Internetu lub z publicznego Internetu, potencjalnie dostępnego dla zasobów lokalnych za pośrednictwem sieci VPN lub usługi ExpressRoute.
Chmura publiczna — wszystkie zasoby publiczne mają dostęp do publicznego Internetu, chociaż dostęp do publicznego Internetu jest zablokowany, aby ograniczyć dostęp z publicznego Internetu.
Hybrydowe — niektóre zasoby są prywatne, a niektóre są publiczne.
Wybór, który zostanie wybrany, wpłynie zarówno na koszt zasobów, jak i na to, ile zabezpieczeń można zaimplementować dla aplikacji.
Ogólne zagadnienia dotyczące zabezpieczeń obejmują:
Używanie usług platformy Azure do ochrony ruchu przychodzącego i wychodzącego.
Zarządzanie uwierzytelnianiem przy użyciu identyfikatora Entra i protokołu OAuth 2.0 firmy Microsoft.
Wymuszanie zasad ładu za pomocą usługi Azure Policy.
Blokowanie dostępu do zasobów (kontrola dostępu).
Szyfrowanie danych zarówno podczas przesyłania, jak i przechowywania.
Rejestrowanie wszystkich prób uzyskania dostępu do zasobów.
Inspekcja dostępu do zasobów.
Zalecenia dotyczące projektowania
Zalecenia dotyczące projektowania sieci
Przyjrzyj się użyciu usługi Application Gateway (aplikacja systemu Azure Gateway lub Azure Front Door) z zaporą aplikacji internetowej (WAF) przed dostępnymi punktami końcowymi. Pomoże to w automatycznym szyfrowaniu danych i ułatwi monitorowanie i konfigurowanie punktów końcowych.
Usługa Front Door to sieć dostarczania aplikacji, która zapewnia globalne równoważenie obciążenia i usługę przyspieszania witryn dla aplikacji internetowych. Usługa Front Door oferuje funkcje warstwy 7, takie jak odciążanie protokołu SSL, routing oparty na ścieżkach, szybkie przechodzenie w tryb failover i buforowanie w celu zwiększenia wydajności i dostępności aplikacji.
Traffic Manager to oparty na systemie DNS moduł równoważenia obciążenia ruchu, który umożliwia optymalną dystrybucję ruchu do usług w globalnych regionach świadczenia usługi Azure, zapewniając jednocześnie wysoką dostępność i czas odpowiedzi. Ponieważ usługa Traffic Manager jest usługą równoważenia obciążenia opartą na systemie DNS, ładuje równoważenie obciążenia tylko na poziomie domeny. Z tego powodu nie może przejść w tryb failover tak szybko, jak usługa Front Door z powodu typowych wyzwań związanych z buforowaniem DNS i systemami, które nie honoruje czasu wygaśnięcia DNS.
Usługa Application Gateway udostępnia zarządzany kontroler dostarczania aplikacji z różnymi funkcjami równoważenia obciążenia warstwy 7. Za pomocą usługi Application Gateway można zoptymalizować produktywność farmy internetowej, odciążając kończenie żądań SSL intensywnie korzystających z procesora CPU do bramy.
Usługa Azure Load Balancer to usługa o wysokiej wydajności, bardzo małych opóźnieniach w warstwie 4 dla ruchu przychodzącego i wychodzącego równoważenia obciążenia dla wszystkich protokołów UDP i TCP. Usługa Load Balancer obsługuje miliony żądań na sekundę. Usługa Load Balancer jest strefowo nadmiarowa, zapewniając wysoką dostępność w Strefy dostępności.
Zaimplementuj izolację sieci dla zasobów usług integracji przy użyciu integracji z siecią wirtualną, aby umieścić je w izolowanej podsieci połączonej z użyciem łącza prywatnego i prywatnych punktów końcowych platformy Azure. Zapoznaj się z artykułem Topologia sieci i łączność w tej serii, aby zapoznać się z tym wskazówkami dotyczącymi projektowania.
Ochrona ruchu wychodzącego za pomocą usługi Azure Firewall
Użyj filtrowania adresów IP, aby zablokować punkty końcowe, aby można było uzyskiwać do nich dostęp tylko za pomocą znanych adresów sieciowych (dotyczy to aplikacji logiki, które nie są zintegrowane z sieciami wirtualnymi).
Jeśli zasoby są dostępne publicznie, użyj zaciemnienia DNS, aby zniechęcić osoby atakujące; Zaciemnianie oznacza niestandardowe nazwy domen lub określone nazwy zasobów platformy Azure, które nie ujawniają celu ani właściciela zasobu.
Zalecenia dotyczące projektowania szyfrowania
Podczas przechowywania danych (na przykład w usłudze Azure Storage lub Azure SQL Server) zawsze włącz szyfrowanie w spoczynku. Zablokuj dostęp do danych, najlepiej tylko dla usług i ograniczonej liczby administratorów. Należy pamiętać, że dotyczy to również danych dziennika. Aby uzyskać więcej informacji, zobacz Magazynowane szyfrowanie danych platformy Azure i Omówienie usługi Azure Encryption.
Zawsze używaj szyfrowania podczas przesyłania (na przykład ruchu TLS) podczas przesyłania danych między zasobami; nigdy nie wysyłaj danych za pośrednictwem niezaszyfrowanego kanału.
W przypadku korzystania z protokołów TLS zawsze używaj protokołu TLS 1.2 lub nowszego.
Zachowaj wpisy tajne w usłudze Azure Key Vault, a następnie połącz je z usługą App Ustawienia (Functions, Logic Apps), nazwanymi wartościami (API Management) lub wpisami konfiguracji (App Configuration).
Zaimplementuj zasady rotacji kluczy, aby upewnić się, że wszystkie klucze używane w środowisku są regularnie obracane w celu zapobiegania atakom przy użyciu zagrożonych kluczy
W przypadku aplikacji logiki użyj zaciemnienia, aby zabezpieczyć dane w historii uruchamiania.
Zalecenia dotyczące projektowania uwierzytelniania i dostępu
Zawsze przestrzegaj zasady najniższych uprawnień podczas przypisywania dostępu: nadaj tożsamości minimalne uprawnienia, których potrzebuje. Czasami wiąże się to z utworzeniem niestandardowej roli Firmy Microsoft Entra. Jeśli nie ma wbudowanej roli z minimalnymi uprawnieniami, należy rozważyć utworzenie roli niestandardowej przy użyciu tylko tych uprawnień.
Zawsze, gdy jest to możliwe, zawsze używaj tożsamości zarządzanych , gdy zasób musi uzyskać dostęp do usługi. Jeśli na przykład przepływ pracy aplikacji logiki musi uzyskać dostęp do usługi Key Vault w celu pobrania wpisu tajnego, użyj tożsamości zarządzanej aplikacji logiki, aby to osiągnąć. Tożsamości zarządzane zapewniają bezpieczniejszy, łatwiejszy mechanizm zarządzania dostępem do zasobów, ponieważ platforma Azure zarządza tożsamością w Twoim imieniu.
Użyj protokołu OAuth 2.0 jako mechanizmu uwierzytelniania między punktami końcowymi zasobów:
W usłudze Logic Apps lub Functions włącz funkcję Easy Auth, która wymaga, aby wszyscy zewnętrzni wywołujący używali tożsamości OAuth (zazwyczaj Identyfikator Entra firmy Microsoft, ale może być dowolnym dostawcą tożsamości).
W usłudze API Management użyj elementu zasad weryfikacji jwt, aby wymagać przepływu OAuth dla połączeń z punktami końcowymi.
W usługach Azure Storage i Key Vault skonfiguruj zasady dostępu, aby ograniczyć dostęp do określonych tożsamości.
Zalecenia dotyczące projektowania ładu
Aktywnie korzystaj z usługi Azure Policy , aby szukać problemów z zabezpieczeniami lub wad. Na przykład punkty końcowe bez filtrowania adresów IP.
Jeśli jest dostępna, użyj Microsoft Defender dla Chmury do skanowania zasobów i identyfikowania potencjalnych słabości.
Regularnie przeglądaj dzienniki inspekcji (najlepiej za pomocą zautomatyzowanego narzędzia), aby zidentyfikować zarówno ataki zabezpieczeń, jak i wszelkie nieautoryzowane dostępy do zasobów.
Rozważ użycie testów penetracyjnych w celu zidentyfikowania wszelkich słabych stron w projekcie zabezpieczeń.
Konfigurowanie zabezpieczeń przy użyciu zautomatyzowanych procesów wdrażania. Jeśli to możliwe, użyj potoku ciągłej integracji/ciągłego wdrażania, takiego jak Usługa Azure DevOps z programem Terraform, aby nie tylko wdrożyć zasoby, ale także skonfigurować zabezpieczenia. Dzięki temu zasoby będą automatycznie chronione za każdym razem, gdy zostaną wdrożone.
Następny krok
Przejrzyj krytyczne obszary projektowe, aby uwzględnić wszystkie zagadnienia i zalecenia dotyczące architektury.