Udostępnij za pośrednictwem


Zalecenia dotyczące sieci i łączności

Dotyczy tego zalecenia listy kontrolnej dotyczącej zabezpieczeń platformy Azure Well-Architected Framework:

SE:06 Izolowanie, filtrowanie i kontrolowanie ruchu sieciowego zarówno w przepływach przychodzących, jak i wychodzących. Stosowanie zasad ochrony w głębi systemu przy użyciu zlokalizowanych mechanizmów kontroli sieci we wszystkich dostępnych granicach sieci zarówno we wschodnim-zachodnim, jak i północno-południowym ruchu.

W tym przewodniku opisano zalecenia dotyczące projektowania sieci. Koncentruje się on na mechanizmach kontroli zabezpieczeń, które mogą filtrować, blokować i wykrywać przeciwników przekraczających granice sieci w różnych głębiach architektury.

Mechanizmy kontroli tożsamości można wzmocnić, implementując miary kontroli dostępu opartej na sieci. Oprócz kontroli dostępu opartej na tożsamościach zabezpieczenia sieci są priorytetem ochrony zasobów. Odpowiednie mechanizmy kontroli zabezpieczeń sieci mogą zapewnić szczegółowy element obrony, który może pomóc wykrywać i zawierać zagrożenia oraz zapobiegać uzyskiwaniu dostępu do obciążenia przez osoby atakujące.

Definicje

Termin Definicja
Ruch wschodnio-zachodni Ruch sieciowy, który przenosi się w ramach zaufanej granicy.
Przepływ ruchu wychodzącego Ruch obciążeń wychodzących.
Wroga sieć Sieć, która nie jest wdrożona w ramach obciążenia. Sieć wroga jest uważana za wektor zagrożenia.
Przepływ ruchu przychodzącego Ruch przychodzący obciążenia.
Filtrowanie sieci Mechanizm, który zezwala na ruch sieciowy lub blokuje go na podstawie określonych reguł.
Segmentacja sieci lub izolacja Strategia dzieląca sieć na małe, izolowane segmenty z mechanizmami kontroli zabezpieczeń stosowanymi na granicach. Ta technika pomaga chronić zasoby przed wrogimi sieciami, takimi jak Internet.
Przekształcanie sieci Mechanizm, który wycisza pakiety sieciowe, aby je zaciemnić.
Ruch północno-południowy Ruch sieciowy, który przenosi się z zaufanej granicy do sieci zewnętrznych, które są potencjalnie wrogie i na odwrót.

Kluczowe strategie projektowania

Zabezpieczenia sieci używają zaciemnienia w celu ochrony zasobów obciążeń przed wrogimi sieciami. Zasoby, które znajdują się za granicą sieci, są ukryte, dopóki kontrolki granic nie oznaczą ruchu jako bezpiecznego, aby przejść do przodu. Projekt zabezpieczeń sieci jest oparty na trzech głównych strategiach:

  • Segment. Ta technika izoluje ruch w oddzielnych sieciach przez dodanie granic. Na przykład ruch do i z warstwy aplikacji przekazuje granicę do komunikacji z innymi warstwami, które mają różne wymagania dotyczące zabezpieczeń. Warstwy segmentacji wywłaszają podejście do ochrony w głębi systemu.

    Najważniejszą granicą zabezpieczeń jest krawędź sieci między aplikacją a sieciami publicznymi. Ważne jest, aby jasno zdefiniować ten obwód, aby ustanowić granicę dla izolowania wrogich sieci. Kontrolki na tej krawędzi muszą być wysoce skuteczne, ponieważ granica jest pierwszą linią obrony.

    Sieci wirtualne zapewniają granicę logiczną. Zgodnie z projektem sieć wirtualna nie może komunikować się z inną siecią wirtualną, chyba że granica została celowo przerwana przez komunikację równorzędną. Twoja architektura powinna korzystać z tej silnej, zapewnianej przez platformę miary zabezpieczeń.

    Można również użyć innych granic logicznych, takich jak wyrzeźbione podsieci w sieci wirtualnej. Zaletą podsieci jest to, że można ich używać do grupowania zasobów, które znajdują się w granicach izolacji i mają podobne zabezpieczenia. Następnie można skonfigurować kontrolki na granicy w celu filtrowania ruchu.

  • Filtruj. Ta strategia pomaga zapewnić, że ruch, który wchodzi w granicę, jest oczekiwany, dozwolony i bezpieczny. Z perspektywy zero-trust filtrowanie jawnie weryfikuje wszystkie dostępne punkty danych na poziomie sieci. Możesz umieścić reguły na granicy, aby sprawdzić określone warunki.

    Na przykład na poziomie nagłówka reguły mogą sprawdzić, czy ruch pochodzi z oczekiwanej lokalizacji lub ma oczekiwany wolumin. Ale te kontrole nie są wystarczające. Nawet jeśli ruch wykazuje oczekiwane cechy, ładunek może nie być bezpieczny. Sprawdzanie poprawności może ujawnić atak polegający na wstrzyknięciu kodu SQL.

  • Przekształć. Mutuj pakiety na granicy jako środek zabezpieczeń. Na przykład można usunąć nagłówki HTTP, aby wyeliminować ryzyko narażenia. Możesz też wyłączyć protokół Transport Layer Security (TLS) w jednym momencie i ponownie opublikować go na innym przeskoku przy użyciu certyfikatu, który jest zarządzany bardziej rygorystycznie.

Klasyfikowanie przepływów ruchu

Pierwszym krokiem klasyfikowania przepływów jest zbadanie schematu architektury obciążenia. Na podstawie schematu określ intencję i charakterystykę przepływu w odniesieniu do funkcjonalnych aspektów narzędziowych i operacyjnych obciążenia. Aby sklasyfikować przepływ, skorzystaj z następujących pytań:

  • Jeśli obciążenie musi komunikować się z sieciami zewnętrznymi, jaki powinien być wymagany poziom sąsiedztwa tych sieci?

  • Jakie są cechy sieciowe przepływu, takie jak oczekiwany protokół oraz źródło i kształt pakietów? Czy istnieją jakiekolwiek wymagania dotyczące zgodności na poziomie sieci?

Istnieje wiele sposobów klasyfikowania przepływów ruchu. W poniższych sekcjach omówiono często używane kryteria.

Widoczność z sieci zewnętrznych
  • Publiczna. Obciążenie jest dostępne publicznie, jeśli jego aplikacja i inne składniki są dostępne z publicznego Internetu. Aplikacja jest uwidaczniona za pośrednictwem co najmniej jednego publicznego adresu IP i publicznych serwerów systemu nazw domen (DNS).

  • Prywatne. Obciążenie jest prywatne, jeśli można uzyskać do niego dostęp tylko za pośrednictwem sieci prywatnej, takiej jak wirtualna sieć prywatna (VPN). Jest on udostępniany tylko za pośrednictwem co najmniej jednego prywatnego adresu IP i potencjalnie za pośrednictwem prywatnego serwera DNS.

    W sieci prywatnej nie ma zasięgu wzroku od publicznego Internetu do obciążenia. W przypadku bramy można użyć modułu równoważenia obciążenia lub zapory. Te opcje mogą zapewnić bezpieczeństwo.

Nawet w przypadku obciążeń publicznych staraj się zachować jak najwięcej obciążeń prywatnych. Takie podejście wymusza przejście pakietów przez granicę prywatną po nadejściu z sieci publicznej. Brama w tej ścieżce może działać jako punkt przejścia, działając jako zwrotny serwer proxy.

Kierunek ruchu

  • Ruch przychodzący. Ruch przychodzący jest ruchem przychodzącym, który przepływa do obciążenia lub jego składników. Aby ułatwić zabezpieczanie ruchu przychodzącego, zastosuj poprzedni zestaw kluczowych strategii. Określ, jakie źródło ruchu jest i czy jest oczekiwane, dozwolone i bezpieczne. Osoby atakujące, które skanują zakresy adresów IP dostawcy chmury publicznej, mogą pomyślnie przeniknąć do obrony, jeśli nie zaewidencjonujesz ruchu przychodzącego ani nie zaimplementujesz podstawowych środków zabezpieczeń sieci.

  • Ruch wychodzący. Ruch wychodzący to ruch wychodzący, który przepływa z dala od obciążenia lub jego składników. Aby sprawdzić ruch wychodzący, określ, gdzie jest kierowany ruch i czy miejsce docelowe jest oczekiwane, dozwolone i bezpieczne. Miejsce docelowe może być złośliwe lub skojarzone z ryzykiem eksfiltracji danych.

Diagram przedstawiający przepływ ruchu sieciowego między wdrożeniami platformy Azure i Internetem.

Możesz również określić poziom ekspozycji, biorąc pod uwagę bliskość obciążenia z publicznym Internetem. Na przykład platforma aplikacji zwykle obsługuje publiczne adresy IP. Składnik obciążenia jest twarzą rozwiązania.

Zakres wpływu

  • Północ-południe. Ruch, który przepływa między siecią obciążenia i sieciami zewnętrznymi, jest ruchem północno-południowym. Ten ruch przekracza krawędź sieci. Sieci zewnętrzne mogą być publicznym Internetem, siecią firmową lub dowolną inną siecią poza zakresem kontroli.

    Ruch przychodzący i wychodzący mogą być ruchami północno-południowymi.

    Rozważmy na przykład przepływ ruchu wychodzącego topologii sieci piasty i szprych. Możesz zdefiniować krawędź sieci obciążenia, aby centrum było siecią zewnętrzną. W takim przypadku ruch wychodzący z sieci wirtualnej szprychy jest ruchem północno-południowym. Jeśli jednak uważasz, że sieć piasty w obrębie kontroli, ruch północno-południowy jest rozszerzony do zapory w centrum, ponieważ następny przeskok jest Internetem, który jest potencjalnie wrogi.

  • Wschód-zachód. Ruch, który przepływa w sieci obciążenia, jest ruchem wschodnio-zachodnim. Ten typ ruchu powoduje, że składniki obciążenia komunikują się ze sobą. Przykładem jest ruch między warstwami aplikacji n-warstwowej. W mikrousług komunikacja między usługami to ruch wschodnio-zachodni.

Aby zapewnić szczegółową ochronę, należy zachować kompleksową kontrolę nad zabezpieczeniami, które są uwzględniane w każdym przeskoku lub które są używane w przypadku pakietów między segmentami wewnętrznymi. Różne poziomy ryzyka wymagają różnych metod korygowania ryzyka.

Diagram przedstawiający szczegółową ochronę sieci dla chmury prywatnej.

Na powyższym diagramie przedstawiono szczegółową ochronę sieci w chmurze prywatnej. Na tym diagramie granica między przestrzeniami publicznych i prywatnych adresów IP jest znacznie dalej od obciążenia niż na diagramie chmury publicznej. Wiele warstw oddziela wdrożenia platformy Azure od przestrzeni publicznych adresów IP.

Uwaga

Tożsamość jest zawsze podstawowym obwodem. Zarządzanie dostępem musi być stosowane do przepływów sieciowych. Użyj tożsamości zarządzanych, gdy używasz kontroli dostępu opartej na rolach (RBAC) platformy Azure między składnikami sieci.

Po sklasyfikowaniu przepływów wykonaj ćwiczenie segmentacji, aby zidentyfikować punkty iniekcji zapory na ścieżkach komunikacyjnych segmentów sieci. Podczas projektowania ochrony sieci w głębi wszystkich segmentów i wszystkich typów ruchu należy założyć naruszenie we wszystkich punktach. Użyj kombinacji różnych zlokalizowanych kontrolek sieci we wszystkich dostępnych granicach. Aby uzyskać więcej informacji, zobacz Strategie segmentacji.

Stosowanie zapór na brzegu

Ruch brzegowy w Internecie jest ruchem północno-południowym i obejmuje ruch przychodzący i wychodzący. Aby wykrywać lub blokować zagrożenia, strategia brzegowa musi ograniczyć jak najwięcej ataków do i z Internetu.

W przypadku ruchu wychodzącego wyślij cały ruch związany z Internetem przez jedną zaporę , która zapewnia zwiększony nadzór, nadzór i kontrolę ruchu. W przypadku ruchu przychodzącego wymuś cały ruch z Internetu, aby przechodził przez wirtualne urządzenie sieciowe (WUS) lub zaporę aplikacji internetowej.

  • Zapory są zwykle pojedynczetony, które są wdrażane w poszczególnych regionach w organizacji. W związku z tym są one współdzielone między obciążeniami i należą do zespołu centralnego. Upewnij się, że wszystkie używane urządzenia WUS są skonfigurowane do obsługi potrzeb obciążenia.

  • Zalecamy używanie natywnych kontrolek platformy Azure w jak największej ilości.

    Oprócz kontrolek natywnych można również rozważyć wirtualne urządzenia WUS partnera, które udostępniają zaawansowane lub wyspecjalizowane funkcje. Produkty dostawcy zapory dla partnerów i zapory aplikacji internetowej są dostępne w witrynie Azure Marketplace.

    Decyzja o korzystaniu z funkcji natywnych, a nie rozwiązań partnerskich, powinna być oparta na doświadczeniach i wymaganiach organizacji.

    Kompromis: Możliwości partnerów często udostępniają zaawansowane funkcje, które mogą chronić przed zaawansowanymi, ale zwykle nietypowymi atakami. Konfiguracja rozwiązań partnerskich może być złożona i krucha, ponieważ te rozwiązania nie są zintegrowane z kontrolerami sieci szkieletowej w chmurze. Z perspektywy kosztów preferowana jest natywna kontrola, ponieważ jest tańsza niż rozwiązania partnerskie.

Wszelkie opcje technologiczne, które należy wziąć pod uwagę, powinny zapewniać mechanizmy kontroli zabezpieczeń i monitorowanie zarówno dla przepływów przychodzących, jak i wychodzących. Aby wyświetlić opcje dostępne dla platformy Azure, zobacz sekcję Zabezpieczenia usługi Edge w tym artykule.

Projektowanie zabezpieczeń sieci wirtualnej i podsieci

Głównym celem chmury prywatnej jest ukrycie zasobów z publicznego Internetu. Istnieje kilka sposobów osiągnięcia tego celu:

  • Przejdź do prywatnych przestrzeni adresowych IP, które można wykonać za pomocą sieci wirtualnych. Zminimalizuj zasięg wzroku sieci nawet w ramach własnych sieci prywatnych.

  • Zminimalizuj liczbę publicznych wpisów DNS używanych do uwidocznienia mniejszego obciążenia.

  • Dodaj sterowanie przepływem ruchu przychodzącego i wychodzącego. Nie zezwalaj na ruch, który nie jest zaufany.

Strategia segmentacji

Aby zminimalizować widoczność sieci, należy podzielić sieć na segment i rozpocząć od kontroli sieci z najmniejszymi uprawnieniami. Jeśli segment nie jest routingiem, nie można uzyskać do niego dostępu. Rozszerz zakres, aby obejmował tylko segmenty, które muszą komunikować się ze sobą za pośrednictwem dostępu do sieci.

Sieci wirtualne można segmentować, tworząc podsieci. Kryteria podziału powinny być zamierzone. Podczas sortowania usług wewnątrz podsieci upewnij się, że te usługi mogą się ze sobą wyświetlać.

Segmentację można opierać na wielu czynnikach. Można na przykład umieścić różne warstwy aplikacji w dedykowanych segmentach. Innym podejściem jest zaplanowanie podsieci na podstawie typowych ról i funkcji korzystających z dobrze znanych protokołów.

Aby uzyskać więcej informacji, zobacz Strategie segmentacji.

Zapory podsieci

Ważne jest, aby sprawdzić ruch przychodzący i wychodzący każdej podsieci. Użyj trzech głównych strategii omówionych wcześniej w tym artykule w temacie Kluczowe strategie projektowania. Sprawdź, czy przepływ jest oczekiwany, dozwolony i bezpieczny. Aby zweryfikować te informacje, zdefiniuj reguły zapory oparte na protokole, źródle i miejscu docelowym ruchu.

Na platformie Azure należy ustawić reguły zapory w sieciowych grupach zabezpieczeń. Aby uzyskać więcej informacji, zobacz sekcję Sieciowe grupy zabezpieczeń w tym artykule.

Aby zapoznać się z przykładem projektu podsieci, zobacz Podsieci usługi Azure Virtual Network.

Używanie kontrolek na poziomie składnika

Po zminimalizowaniu widoczności sieci zamapuj zasoby platformy Azure z perspektywy sieci i oceń przepływy. Możliwe są następujące typy przepływów:

  • Planowany ruch lub celowa komunikacja między usługami zgodnie z projektem architektury. Na przykład podczas planowania ruchu w architekturze zaleca się ściąganie komunikatów z usługi Azure Service Bus przez usługę Azure Functions.

  • Ruch zarządzania lub komunikacja wykonywana w ramach funkcjonalności usługi. Ten ruch nie jest częścią projektu i nie masz nad nim kontroli. Przykładem ruchu zarządzanego jest komunikacja między usługami platformy Azure w architekturze a płaszczyzną zarządzania platformy Azure.

Rozróżnianie ruchu planowanego i zarządzania pomaga w tworzeniu zlokalizowanych lub na poziomie usług kontrolek. Dobrze zrozumieć źródło i miejsce docelowe na każdym przeskoku. Szczególnie dowiedz się, jak jest uwidoczniona płaszczyzna danych.

Jako punkt wyjścia określ, czy każda usługa jest uwidoczniona w Internecie. Jeśli tak jest, zaplanuj sposób ograniczania dostępu. Jeśli tak nie jest, umieść ją w sieci wirtualnej.

Zapory usługi

Jeśli spodziewasz się, że usługa zostanie uwidoczniona w Internecie, skorzystaj z zapory na poziomie usługi dostępnej dla większości zasobów platformy Azure. W przypadku korzystania z tej zapory można ustawić reguły na podstawie wzorców dostępu. Aby uzyskać więcej informacji, zobacz sekcję Zapory usługi platformy Azure w tym artykule.

Uwaga

Jeśli składnik nie jest usługą, użyj zapory opartej na hoście oprócz zapór na poziomie sieci. Maszyna wirtualna to przykład składnika, który nie jest usługą.

Łączność z usługami PaaS (Platform as a Service)

Rozważ użycie prywatnych punktów końcowych, aby ułatwić zabezpieczanie dostępu do usług PaaS. Prywatny punkt końcowy ma przypisany prywatny adres IP z sieci wirtualnej. Punkt końcowy umożliwia innym zasobom w sieci komunikowanie się z usługą PaaS za pośrednictwem prywatnego adresu IP.

Komunikacja z usługą PaaS jest osiągana przy użyciu publicznego adresu IP usługi i rekordu DNS. Ta komunikacja odbywa się za pośrednictwem Internetu. Możesz sprawić, że komunikacja będzie prywatna.

Tunel z usługi PaaS do jednej z podsieci tworzy kanał prywatny. Cała komunikacja odbywa się z prywatnego adresu IP składnika do prywatnego punktu końcowego w tej podsieci, który następnie komunikuje się z usługą PaaS.

W tym przykładzie obraz po lewej stronie przedstawia przepływ dla publicznie uwidocznionych punktów końcowych. Po prawej stronie ten przepływ jest zabezpieczony przy użyciu prywatnych punktów końcowych.

Diagram pokazujący, jak prywatny punkt końcowy pomaga chronić bazę danych przed użytkownikami Internetu.

Aby uzyskać więcej informacji, zobacz sekcję Prywatne punkty końcowe w tym artykule.

Uwaga

Zalecamy używanie prywatnych punktów końcowych w połączeniu z zaporami usług. Zapora usługi blokuje przychodzący ruch internetowy, a następnie uwidacznia usługę prywatnie użytkownikom wewnętrznym korzystającym z prywatnego punktu końcowego.

Inną zaletą korzystania z prywatnych punktów końcowych jest to, że nie trzeba otwierać portów w zaporze dla ruchu wychodzącego. Prywatne punkty końcowe blokują cały ruch wychodzący na porcie dla publicznego Internetu. Łączność jest ograniczona do zasobów w sieci.

Kompromis: Usługa Azure Private Link to płatna usługa, która ma mierniki dla przetwarzanych danych przychodzących i wychodzących. Opłaty są również naliczane za prywatne punkty końcowe.

Ochrona przed atakami typu "rozproszona odmowa usługi" (DDoS)

Atak DDoS próbuje wyczerpać zasoby aplikacji, aby aplikacja jest niedostępna dla uprawnionych użytkowników. Ataki DDoS mogą dotyczyć dowolnego punktu końcowego, który jest publicznie dostępny za pośrednictwem Internetu.

Atak DDoS jest zwykle ogromnym, szeroko rozpowszechnionym geograficznie nadużyciem zasobów systemu, które utrudniają wskazanie i zablokowanie źródła.

Aby uzyskać pomoc techniczna platformy Azure w celu ochrony przed tymi atakami, zobacz sekcję Azure DDoS Protection w tym artykule.

Ułatwienia platformy Azure

Poniższe usługi platformy Azure umożliwiają dodanie do sieci możliwości ochrony w głębi systemu.

Azure Virtual Network

Sieć wirtualna ułatwia zasobom platformy Azure bezpieczną komunikację ze sobą, Internetem i sieciami lokalnymi.

Domyślnie wszystkie zasoby w sieci wirtualnej mogą angażować się w komunikację wychodzącą z Internetem. Jednak komunikacja przychodząca jest domyślnie ograniczona.

Usługa Virtual Network oferuje funkcje filtrowania ruchu. Dostęp można ograniczyć na poziomie sieci wirtualnej przy użyciu trasy zdefiniowanej przez użytkownika i składnika zapory. Na poziomie podsieci można filtrować ruch przy użyciu sieciowych grup zabezpieczeń.

Zabezpieczenia brzegowe

Domyślnie ruch przychodzący i wychodzący przepływają za pośrednictwem publicznych adresów IP. W zależności od usługi lub topologii można ustawić te adresy lub przypisywać je na platformie Azure. Inne możliwości ruchu przychodzącego i wychodzącego obejmują przekazywanie ruchu przez bramę modułu równoważenia obciążenia lub translatora adresów sieciowych (NAT). Jednak te usługi są przeznaczone do dystrybucji ruchu i niekoniecznie do zabezpieczeń.

Zalecane są następujące opcje technologiczne:

  • Azure Firewall. Usługę Azure Firewall można używać na brzegu sieci i w popularnych topologiach sieci, takich jak sieci piasta-szprycha i wirtualne sieci WAN. Zazwyczaj usługa Azure Firewall jest wdrażana jako zapora ruchu wychodzącego, która działa jako ostateczna brama zabezpieczeń przed przejściem ruchu do Internetu. Usługa Azure Firewall może kierować ruch korzystający z protokołów innych niż HTTP i innych niż HTTPS, takich jak Protokół RDP (Remote Desktop Protocol), Secure Shell Protocol (SSH) i Protokół TRANSFERU plików (FTP). Zestaw funkcji usługi Azure Firewall obejmuje:

    • Translacja docelowych adresów sieciowych (DNAT) lub przekierowywanie portów.
    • Wykrywanie nieautoryzowanego wykrywania i zapobiegania włamaniom (IDPS) do wykrywania podpisów.
    • Silne reguły sieciowe warstwy 3, warstwy 4 i w pełni kwalifikowanej nazwy domeny (FQDN).

    Uwaga

    Większość organizacji ma wymuszone zasady tunelowania, które wymuszają przepływ ruchu przez urządzenie WUS.

    Jeśli nie używasz topologii wirtualnej sieci WAN, musisz wdrożyć trasę zdefiniowaną przez użytkownika z wartością Internet na NextHopType prywatnym adresie IP urządzenia WUS. Trasy zdefiniowane przez użytkownika są stosowane na poziomie podsieci. Domyślnie ruch między podsieciami nie przepływa przez urządzenie WUS.

    Możesz również użyć usługi Azure Firewall jednocześnie na potrzeby ruchu przychodzącego. Może kierować ruch HTTP i HTTPS. W jednostkach SKU wyższego poziomu usługa Azure Firewall oferuje zakończenie protokołu TLS, dzięki czemu można zaimplementować inspekcje na poziomie ładunku.

    Zalecane są następujące rozwiązania:

    • Włącz ustawienia diagnostyczne w usłudze Azure Firewall, aby zbierać dzienniki przepływu ruchu, dzienniki IDPS i dzienniki żądań DNS.

    • Należy jak najbardziej szczegółowo stosować reguły.

    • Jeśli jest to praktyczne, unikaj tagów usługi FQDN. Jednak w przypadku ich używania użyj wariantu regionalnego, który umożliwia komunikację ze wszystkimi punktami końcowymi usługi.

    • Użyj grup adresów IP, aby zdefiniować źródła, które muszą współdzielić te same reguły w ciągu życia grupy adresów IP. Grupy adresów IP powinny odzwierciedlać strategię segmentacji.

    • Zastąpij regułę zezwalania na nazwę FQDN infrastruktury tylko wtedy, gdy obciążenie wymaga bezwzględnej kontroli ruchu wychodzącego. Zastąpienie tej reguły wiąże się z kompromisem w zakresie niezawodności, ponieważ wymagania dotyczące platformy Azure zmieniają się w usługach.

    Kompromis: usługa Azure Firewall może mieć wpływ na wydajność. Kolejność reguł, ilość, inspekcja protokołu TLS i inne czynniki mogą powodować znaczne opóźnienie.

    Może również mieć wpływ na niezawodność obciążenia. Może to spowodować wyczerpanie portów translacji adresów sieciowych (SNAT). Aby rozwiązać ten problem, dodaj publiczne adresy IP zgodnie z potrzebami.

    Ryzyko: w przypadku ruchu wychodzącego platforma Azure przypisuje publiczny adres IP. To przypisanie może mieć podrzędny wpływ na zewnętrzną bramę zabezpieczeń.

  • Zapora aplikacji internetowej platformy Azure. Ta usługa obsługuje filtrowanie przychodzące i dotyczy tylko ruchu HTTP i HTTPS.

    Oferuje podstawowe zabezpieczenia typowych ataków, takich jak zagrożenia, które program Open Worldwide Application Security Project (OWASP) identyfikuje w dokumencie OWASP Top 10( Top 10). Usługa Azure Web Application Firewall udostępnia również inne funkcje zabezpieczeń, które koncentrują się na warstwie 7, takich jak ograniczanie szybkości, reguły iniekcji SQL i wykonywanie skryptów między witrynami.

    W przypadku zapory aplikacji internetowej platformy Azure wymagane jest zakończenie protokołu TLS, ponieważ większość testów jest oparta na ładunkach.

    Zaporę aplikacji internetowej platformy Azure można zintegrować z routerami, takimi jak aplikacja systemu Azure Gateway lub Azure Front Door. Implementacje zapory aplikacji internetowej platformy Azure dla tego rodzaju routerów mogą się różnić.

Usługi Azure Firewall i Azure Web Application Firewall nie wykluczają się wzajemnie. W przypadku rozwiązania zabezpieczeń brzegowego dostępne są różne opcje. Aby zapoznać się z przykładami, zobacz Zapora i usługa Application Gateway dla sieci wirtualnych.

Sieciowe grupy zabezpieczeń

Sieciowa grupa zabezpieczeń to zapora warstwy 3 i 4, która jest stosowana na poziomie podsieci lub karty sieciowej. Sieciowe grupy zabezpieczeń nie są domyślnie tworzone ani stosowane.

Reguły sieciowej grupy zabezpieczeń działają jako zapora , aby zatrzymać ruch przepływujący do i wychodzący w obwodzie podsieci. Sieciowa grupa zabezpieczeń ma domyślny zestaw reguł, który jest nadmiernie permissive. Na przykład reguły domyślne nie ustawiają zapory z perspektywy ruchu wychodzącego. W przypadku ruchu przychodzącego nie jest dozwolony przychodzący ruch internetowy.

Aby utworzyć reguły, zacznij od domyślnego zestawu reguł:

  • W przypadku ruchu przychodzącego lub ruchu przychodzącego :
    • Dozwolony jest ruch sieci wirtualnej ze źródeł bezpośrednich, równorzędnych i bram sieci VPN.
    • Sondy kondycji usługi Azure Load Balancer są dozwolone.
    • Cały inny ruch jest blokowany.
  • W przypadku ruchu wychodzącego lub ruchu wychodzącego:
    • Dozwolony jest ruch sieci wirtualnej do bezpośrednich miejsc docelowych bram sieci VPN, komunikacji równorzędnej i bramy sieci VPN.
    • Ruch do Internetu jest dozwolony.
    • Cały inny ruch jest blokowany.

Następnie rozważ następujące pięć czynników:

  • Protokół
  • Źródłowy adres IP
  • Port źródłowy
  • Docelowy adres IP
  • Port docelowy

Brak obsługi nazw FQDN ogranicza funkcjonalność sieciowej grupy zabezpieczeń. Musisz podać określone zakresy adresów IP dla obciążenia i trudno je zachować.

Jednak w przypadku usług platformy Azure można użyć tagów usługi do podsumowania zakresów źródłowych i docelowych adresów IP. Zaletą zabezpieczeń tagów usług jest to, że są nieprzezroczyste dla użytkownika, a odpowiedzialność jest odciążona na platformę Azure. Możesz również przypisać grupę zabezpieczeń aplikacji jako typ docelowy, aby kierować ruch do. Ten typ nazwanej grupy zawiera zasoby, które mają podobne potrzeby dostępu przychodzącego lub wychodzącego.

Ryzyko: zakresy tagów usług są bardzo szerokie, aby pomieścić najszerszy zakres klientów. Aktualizacje tagów usługi są opóźniane za zmianami w usłudze.

Diagram przedstawiający domyślną izolację sieci wirtualnej za pomocą komunikacji równorzędnej.

Na powyższym obrazie sieciowe grupy zabezpieczeń są stosowane w karcie sieciowej. Ruch internetowy i ruch między podsieciami są odrzucane. Sieciowe grupy zabezpieczeń są stosowane z tagiem VirtualNetwork . W tym przypadku podsieci sieci równorzędnych mają bezpośrednią linię wzroku. Szeroka definicja tagu VirtualNetwork może mieć znaczący wpływ na bezpieczeństwo.

Jeśli używasz tagów usługi, użyj wersji regionalnych, jeśli to możliwe, na przykład Storage.WestUS zamiast Storage. Stosując to podejście, ograniczasz zakres do wszystkich punktów końcowych w określonym regionie.

Niektóre tagi są przeznaczone wyłącznie dla ruchu przychodzącego lub wychodzącego . Inne są przeznaczone dla obu typów. Tagi przychodzące zwykle zezwalają na ruch ze wszystkich obciążeń hostingu, takich jak AzureFrontDoor.Backend, lub z platformy Azure do obsługi środowisk uruchomieniowych usług, takich jak LogicAppsManagement. Podobnie tagi ruchu wychodzącego umożliwiają ruch do wszystkich obciążeń hostowania lub z platformy Azure w celu obsługi środowisk uruchomieniowych usługi.

Zakres reguł możliwie jak najwięcej. W poniższym przykładzie reguła jest ustawiona na określone wartości. Wszelkie inne typy ruchu są odrzucane.

Informacja Przykład
Protokół Transmission Control Protocol (TCP), UDP
Źródłowy adres IP Zezwalaj na ruch przychodzący do podsieci ze <źródłowego zakresu> adresów IP: 4575/UDP
Port źródłowy Zezwalaj na ruch przychodzący do podsieci z <tagu> usługi: 443/TCP
Docelowy adres IP Zezwalaj na ruch wychodzący z podsieci do <docelowego zakresu adresów> IP: 443/TCP
Port docelowy Zezwalaj na ruch wychodzący z podsieci do <tagu> usługi: 443/TCP

Podsumowując:

  • Dokładnie podczas tworzenia reguł. Zezwalaj tylko na ruch niezbędny do działania aplikacji. Odmówić wszystkiego innego. Takie podejście ogranicza widoczność sieci do przepływów sieci, które są potrzebne do obsługi działania obciążenia. Obsługa większej liczby przepływów sieci niż to konieczne prowadzi do niepotrzebnych wektorów ataku i rozszerza obszar powierzchni.

    Ograniczenie ruchu nie oznacza, że dozwolone przepływy wykraczają poza zakres ataku. Ponieważ sieciowe grupy zabezpieczeń działają w warstwach 3 i 4 w stosie Open SystemsConnect (OSI), zawierają tylko informacje o kształcie i kierunku. Jeśli na przykład obciążenie musi zezwalać na ruch DNS do Internetu, należy użyć sieciowej grupy zabezpieczeń .Internet:53:UDP W takim przypadku osoba atakująca może eksfiltrować dane za pośrednictwem protokołu UDP na porcie 53 do innego usługi.

  • Dowiedz się, że sieciowe grupy zabezpieczeń mogą się nieco różnić od siebie. Łatwo jest przeoczyć intencję różnic. Aby uzyskać szczegółowe filtrowanie, bezpieczniejsze jest utworzenie dodatkowych sieciowych grup zabezpieczeń. Skonfiguruj co najmniej jedną sieciowa grupa zabezpieczeń.

    • Dodanie sieciowej grupy zabezpieczeń umożliwia odblokowanie wielu narzędzi diagnostycznych, takich jak dzienniki przepływu i analiza ruchu sieciowego.

    • Usługa Azure Policy ułatwia kontrolowanie ruchu w podsieciach, które nie mają sieciowych grup zabezpieczeń.

  • Jeśli podsieć obsługuje sieciowe grupy zabezpieczeń, dodaj grupę, nawet jeśli ma to minimalny wpływ.

Zapory usługi platformy Azure

Większość usług platformy Azure oferuje zaporę na poziomie usługi. Ta funkcja sprawdza ruch przychodzący do usługi z określonych zakresów routingu międzydomenowego (CIDR, classless inter-domain routing). Te zapory oferują korzyści:

  • Zapewniają one podstawowy poziom zabezpieczeń.
  • Istnieje tolerowany wpływ na wydajność.
  • Większość usług oferuje te zapory bez dodatkowych kosztów.
  • Zapory emitują dzienniki za pośrednictwem diagnostyki platformy Azure, co może być przydatne do analizowania wzorców dostępu.

Istnieją jednak również obawy dotyczące zabezpieczeń związane z tymi zaporami i istnieją ograniczenia związane z dostarczaniem parametrów. Jeśli na przykład używasz agentów kompilacji hostowanych przez firmę Microsoft, musisz otworzyć zakres adresów IP dla wszystkich agentów kompilacji hostowanych przez firmę Microsoft. Zakres jest następnie otwarty dla agenta kompilacji, innych dzierżawców i przeciwników, którzy mogą nadużywać Twojej usługi.

Jeśli masz wzorce dostępu dla usługi, które można skonfigurować jako zestawy reguł zapory usługi, należy włączyć usługę. Aby ją włączyć, możesz użyć usługi Azure Policy. Upewnij się, że opcja zaufanych usług platformy Azure nie jest domyślnie włączona. Spowoduje to wprowadzenie wszystkich usług zależnych, które znajdują się w zakresie reguł.

Aby uzyskać więcej informacji, zobacz dokumentację produktu dla poszczególnych usług platformy Azure.

Prywatne punkty końcowe

Usługa Private Link umożliwia nadanie wystąpieniu paaS prywatnego adresu IP. Usługa jest wówczas niedostępna przez Internet. Prywatne punkty końcowe nie są obsługiwane dla wszystkich jednostek SKU.

Podczas korzystania z prywatnych punktów końcowych należy pamiętać o następujących zaleceniach:

  • Skonfiguruj usługi powiązane z sieciami wirtualnymi, aby kontaktować się z usługami PaaS za pośrednictwem prywatnych punktów końcowych, nawet jeśli te usługi PaaS również muszą oferować dostęp publiczny.

  • Podwyższ poziom użycia sieciowych grup zabezpieczeń dla prywatnych punktów końcowych, aby ograniczyć dostęp do prywatnych adresów IP punktów końcowych.

  • Zawsze używaj zapór usługi podczas korzystania z prywatnych punktów końcowych.

  • Jeśli jest to możliwe, jeśli masz usługę dostępną tylko za pośrednictwem prywatnych punktów końcowych, usuń konfigurację DNS dla jego publicznego punktu końcowego.

  • Podczas implementowania prywatnych punktów końcowych należy wziąć pod uwagę obawy dotyczące środowiska uruchomieniowego. Należy jednak również rozważyć problemy związane z metodykami DevOps i monitorowaniem.

  • Użyj usługi Azure Policy, aby wymusić konfigurację zasobów.

Kompromis: Jednostki SKU usługi z prywatnymi punktami końcowymi są kosztowne. Prywatne punkty końcowe mogą komplikować operacje z powodu zaciemnienia sieci. Do architektury należy dodać własnych agentów, pola przesiadkowe, sieć VPN i inne składniki.

Zarządzanie systemem DNS może być złożone w typowych topologiach sieci. Może być konieczne wprowadzenie usług przesyłania dalej DNS i innych składników.

Wstrzykiwanie sieci wirtualnej

Aby wdrożyć niektóre usługi platformy Azure w sieci, możesz użyć procesu iniekcji sieci wirtualnej. Przykłady takich usług to aplikacja systemu Azure Service, Functions, Azure API Management i Azure Spring Apps. Ten proces izoluje aplikację od Internetu, systemów w sieciach prywatnych i innych usługach platformy Azure. Ruch przychodzący i wychodzący z aplikacji jest dozwolony lub blokowany na podstawie reguł sieci.

Azure Bastion

Za pomocą usługi Azure Bastion możesz nawiązać połączenie z maszyną wirtualną przy użyciu przeglądarki i witryny Azure Portal. Usługa Azure Bastion zwiększa bezpieczeństwo połączeń RDP i SSH. Typowy przypadek użycia obejmuje nawiązywanie połączenia z serwerem przesiadkowym w tej samej sieci wirtualnej lub równorzędnej sieci wirtualnej. Korzystanie z usługi Azure Bastion eliminuje konieczność posiadania publicznego adresu IP przez maszynę wirtualną.

Ochrona przed atakami DDoS

Każda właściwość na platformie Azure jest chroniona przez ochronę infrastruktury usługi Azure DDoS bez dodatkowych kosztów i bez dodatkowej konfiguracji. Poziom ochrony jest podstawowy, ale ochrona ma wysokie progi. Nie zapewnia ona również danych telemetrycznych ani alertów i nie jest niezależna od obciążenia.

Jednostki SKU wyższej warstwy ochrony przed atakami DDoS są dostępne, ale nie są bezpłatne. Skala i pojemność globalnie wdrożonej sieci platformy Azure zapewnia ochronę przed typowymi atakami w warstwie sieciowej. Technologie takie jak monitorowanie ruchu zawsze włączone i środki zaradcze w czasie rzeczywistym zapewniają tę możliwość.

Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure DDoS Protection.

Przykład

Poniżej przedstawiono kilka przykładów, które pokazują użycie mechanizmów kontroli sieci zalecanych w tym artykule.

Środowisko IT

Ten przykład opiera się na środowisku technologii informatycznych (IT) ustanowionym w punkcie odniesienia zabezpieczeń (SE:01). Takie podejście zapewnia szerokie zrozumienie mechanizmów kontroli sieci stosowanych w różnych obwodach w celu ograniczenia ruchu.

Diagram przedstawiający przykład punktu odniesienia zabezpieczeń organizacji z mechanizmami kontroli sieci.

  1. Osoby ataków sieciowych. W ataku sieciowym można rozważyć kilka osób, w tym administratorów, pracowników, klientów klienta i anonimowych osób atakujących.

  2. Dostęp do sieci VPN. Nieprawidłowy aktor może uzyskać dostęp do środowiska lokalnego za pośrednictwem sieci VPN lub środowiska platformy Azure połączonego ze środowiskiem lokalnym za pośrednictwem sieci VPN. Skonfiguruj przy użyciu protokołu IPSec, aby umożliwić bezpieczną komunikację.

  3. Publiczny dostęp do aplikacji. Zapora aplikacji internetowej (WAF) przed aplikacją ma chronić ją w warstwie 7 warstwy OSI sieci.

  4. Dostęp operatora. Należy zabezpieczyć dostęp zdalny za pośrednictwem warstwy OSI sieci 4. Rozważ użycie usługi Azure Firewall z funkcjami dostawcy tożsamości/tożsamości.

  5. Ochrona przed atakami DDoS. Ochrona przed atakami DDoS dla całej sieci wirtualnej.

  6. Topologia sieci. Topologia sieci, taka jak piasta-szprycha, jest bezpieczniejsza i optymalizuje koszty. Sieć piasty zapewnia scentralizowaną ochronę zapory dla wszystkich szprych równorzędnych.

  7. Prywatne punkty końcowe: rozważ dodanie usług uwidocznionych publicznie do sieci prywatnej przy użyciu prywatnych punktów końcowych. Tworzą one kartę sieciową w prywatnej sieci wirtualnej i wiążą się z usługą platformy Azure.

  8. Komunikacja TLS. Ochrona danych przesyłanych przez komunikację za pośrednictwem protokołu TLS.

  9. Sieciowa grupa zabezpieczeń: Ochrona segmentów w sieci wirtualnej za pomocą sieciowej grupy zabezpieczeń, bezpłatnego zasobu, który filtruje komunikację przychodzącą i wychodzącą TCP/UDP, biorąc pod uwagę zakresy adresów IP i portów. Częścią sieciowej grupy zabezpieczeń jest grupa zabezpieczeń aplikacji (ASG), która umożliwia tworzenie tagów dla reguł ruchu w celu łatwiejszego zarządzania.

  10. Log Analytics. Zasoby platformy Azure emitują dane telemetryczne pozyskane w usłudze Log Analytics, a następnie używane z rozwiązaniem SIEM, takim jak Microsoft Sentinel do analizy.

  11. Integracja z usługą Microsoft Sentinel. Usługa Log Analytics jest zintegrowana z usługą Microsoft Sentinel i innymi rozwiązaniami, takimi jak Microsoft Defender dla Chmury.

  12. Microsoft Defender dla Chmury. Microsoft Defender dla Chmury oferuje wiele rozwiązań ochrony obciążeń, w tym zalecenia dotyczące sieci dla danego środowiska.

  13. Analiza ruchu: monitorowanie mechanizmów kontroli sieci za pomocą analizy ruchu. Jest to konfigurowane za pośrednictwem usługi Network Watcher, części usługi Azure Monitor i agreguje trafienia przychodzące i wychodzące w podsieciach zebranych przez sieciową grupę zabezpieczeń.

Architektura konteneryzowanego obciążenia

Ta przykładowa architektura łączy kontrolki sieciowe opisane w tym artykule. W przykładzie nie pokazano kompletnej architektury. Zamiast tego koncentruje się na kontrolkach ruchu przychodzącego w chmurze prywatnej.

Diagram przedstawiający kontrolowany ruch przychodzący, w tym usługę Application Gateway, sieciową grupę zabezpieczeń, usługę Azure Bastion i usługę Azure DDoS Protection.

Application Gateway to moduł równoważenia obciążenia ruchu internetowego, którego można użyć do zarządzania ruchem do aplikacji internetowych. Usługa Application Gateway jest wdrażana w dedykowanej podsieci z włączoną kontrolą sieciowej grupy zabezpieczeń i mechanizmami kontroli zapory aplikacji internetowej.

Komunikacja ze wszystkimi usługami PaaS odbywa się za pośrednictwem prywatnych punktów końcowych. Wszystkie punkty końcowe są umieszczane w dedykowanej podsieci. Ochrona przed atakami DDoS pomaga chronić wszystkie publiczne adresy IP skonfigurowane pod kątem ochrony zapory na poziomie podstawowym lub wyższym.

Ruch do zarządzania jest ograniczony za pośrednictwem usługi Azure Bastion, co pomaga zapewnić bezpieczną i bezproblemową łączność RDP i SSH z maszynami wirtualnymi bezpośrednio z witryny Azure Portal za pośrednictwem protokołu TLS. Agenci kompilacji są umieszczani w sieci wirtualnej, dzięki czemu mają widok sieciowy na zasoby obciążenia, takie jak zasoby obliczeniowe, rejestry kontenerów i bazy danych. Takie podejście pomaga zapewnić bezpieczne i izolowane środowisko dla agentów kompilacji, co zwiększa ochronę kodu i artefaktów.

Diagram przedstawiający kontrolowany ruch wychodzący dla sieciowej grupy zabezpieczeń i usługi Azure Firewall.

Sieciowe grupy zabezpieczeń na poziomie podsieci zasobów obliczeniowych ograniczają ruch wychodzący. Wymuszone tunelowanie służy do kierowania całego ruchu przez usługę Azure Firewall. Takie podejście pomaga zapewnić bezpieczne i izolowane środowisko dla zasobów obliczeniowych, co zwiększa ochronę danych i aplikacji.

Lista kontrolna zabezpieczeń

Zapoznaj się z pełnym zestawem zaleceń.