Udostępnij za pośrednictwem


Implementacja wzorca dla bezpiecznego ruchu przychodzącego sieci

Bezpieczny ruch przychodzący sieci hermetyzuje kilka wzorców projektowych, w tym wzorce globalnego routingu, globalnego odciążania i monitorowania punktu końcowego kondycji. Implementację wzorca w tym artykule można użyć jako bramy dla dowolnego obciążenia HTTP lub HTTPS, które wymaga wysokiej dostępności lub niezawodności, zapewniając bezpieczny globalny routing do obciążeń w różnych regionach z małym opóźnieniem w trybie failover.

Wideo: Implementacja bezpiecznego ruchu przychodzącego sieci

Wymagania dotyczące wzorca

W tym artykule opisano trzy wymagania dotyczące implementacji wzorca bezpiecznego ruchu przychodzącego sieci: routing globalny, tryb failover o małych opóźnieniach i ograniczanie ataków na brzegu sieci.

Routing globalny

Wzorzec bezpiecznego ruchu przychodzącego sieci hermetyzuje globalny wzorzec routingu. W związku z tym implementacja może kierować żądania do obciążeń w różnych regionach.

Diagram przedstawiający żądanie HTTPS kierowane do dwóch obciążeń w różnych regionach.

Tryb failover z małym opóźnieniem

Implementacja musi być w stanie zidentyfikować obciążenia w dobrej kondycji i w złej kondycji oraz odpowiednio dostosować routing w sposób uwzględniający czas. Opóźnienie powinno być w stanie obsługiwać dostosowywanie routingu w ciągu kilku minut.

Diagram przedstawiający żądanie HTTPS, które nie jest kierowane do obciążenia w złej kondycji.

Łagodzenie ataków na brzegu

Łagodzenie ataków na brzegu wymaga części implementacji "bezpiecznej sieci". Obciążenia lub usługi platformy jako usługi (PaaS) nie powinny być dostępne za pośrednictwem Internetu. Ruch internetowy powinien być w stanie kierować tylko przez bramę. Brama powinna mieć możliwość ograniczenia luk w zabezpieczeniach.

Diagram przedstawiający żądanie HTTPS z instrukcją SQL w ciągu zapytania żądania, które nie jest zatrzymywane na krawędzi.

Wzorce

To rozwiązanie implementuje następujące wzorce projektowe:

  • Wzorzec routingu bramy: kierowanie żądań do wielu usług lub wystąpień usług, które mogą znajdować się w różnych regionach.
  • Wzorzec odciążania bramy: funkcje odciążania, takie jak ograniczanie ataków, do serwera proxy bramy.
  • Wzorzec monitorowania punktu końcowego kondycji: uwidacznia punkty końcowe, które weryfikują kondycję obciążenia.

Projektowanie

Diagram przedstawiający żądanie przepływające przez usługę Azure Front Door Premium do sygnatur regionalnych.

Na diagramie przedstawiono żądanie HTTPS przepływające do pola Azure Front Door Premium, które ma w nim zaporę aplikacji internetowej. Ilustruje to integrację między usługą Azure Front Door Premium i usługą Azure Web Application Firewall. Na diagramie przedstawiono żądanie przepływające przez usługę Private Link do dwóch sygnatur w różnych regionach. Każda sygnatura ma statyczną witrynę internetową i wewnętrzny moduł równoważenia obciążenia. Żądania przepływają przez usługę Private Link do statycznych witryn internetowych i modułów równoważenia obciążenia w obu sygnaturach.

Ta implementacja zawiera następujące szczegóły:

  • Używa kont usługi Azure Blob Storage do symulowania statycznych obciążeń internetowych działających w dwóch regionach. Ta implementacja nie obejmuje żadnych obciążeń uruchomionych za wewnętrznym modułem równoważenia obciążenia (ILB). Na diagramie przedstawiono wewnętrznym modułem równoważenia obciążenia, aby zilustrować, że ta implementacja będzie działać w przypadku obciążeń prywatnych działających za wewnętrznym modułem równoważenia obciążenia.
  • Używa ona warstwy Premium usługi Azure Front Door jako bramy globalnej.
  • Wystąpienie usługi Azure Front Door ma globalne zasady zapory aplikacji internetowej skonfigurowane przy użyciu reguł zarządzanych, które pomagają chronić przed typowymi programami wykorzystującymi luki w zabezpieczeniach.
  • Konta magazynu nie są udostępniane przez Internet.
  • Warstwa Premium usługi Azure Front Door uzyskuje dostęp do kont magazynu za pośrednictwem usługi Azure Private Link.
  • Wystąpienie usługi Azure Front Door ma następującą konfigurację wysokiego poziomu:
    • Punkt końcowy z pojedynczą trasą wskazującą pojedynczą grupę źródeł. Grupa pochodzenia to kolekcja źródeł lub zaplecza.
    • Grupa pochodzenia ma źródło skonfigurowane tak, aby wskazywało każde konto magazynu.
    • Każde źródło żąda dostępu usługi Private Link do konta magazynu.
    • Grupa źródeł ma sondy kondycji skonfigurowane do uzyskiwania dostępu do strony HTML na kontach magazynu. Strona HTML działa jako punkt końcowy kondycji dla obciążeń statycznych. Jeśli sondy mogą pomyślnie uzyskać dostęp do źródła w trzech z czterech ostatnich prób, źródło jest uznawane za w dobrej kondycji.

Składniki

Żądanie internetowe

  • Zapora aplikacji internetowej platformy Azure: warstwa Premium zapory aplikacji internetowej obsługuje reguły zarządzane przez firmę Microsoft, które pomagają chronić przed typowymi programami wykorzystującymi luki w zabezpieczeniach.
  • Azure Private Link: prywatne punkty końcowe w usłudze Azure Private Link uwidacznia usługę Azure PaaS na prywatny adres IP w sieci wirtualnej. Ta ekspozycja umożliwia komunikację w sieci szkieletowej firmy Microsoft, a nie w publicznym Internecie.
  • Warstwa Premium usługi Azure Front Door: usługa Azure Front Door zapewnia globalne równoważenie obciążenia warstwy 7. Usługa Azure Front Door ma integrację z zaporą aplikacji internetowej. Warstwa Premium obsługuje:
    • Azure Private Link: obsługa usługi Private Link umożliwia usłudze Azure Front Door komunikowanie się z usługami PaaS lub obciążeniami działającymi w prywatnej sieci wirtualnej za pośrednictwem sieci szkieletowej firmy Microsoft.
    • Zestawy reguł zarządzanych przez firmę Microsoft: warstwa Premium usługi Azure Front Door obsługuje warstwę Premium usługi Web Application Firewall, która obsługuje zarządzany zestaw reguł w zaporze aplikacji internetowej.
  • Azure Storage: ta implementacja używa kont usługi Blob Storage do reprezentowania statycznej witryny internetowej lub obciążenia.
  • Wewnętrzny moduł równoważenia obciążenia: ta implementacja nie używa wewnętrznego modułu równoważenia obciążenia. Na zdjęciu przedstawiono reprezentację obciążenia prywatnego uruchomionego za tym modułem równoważenia obciążenia. Routing do konta magazynu jest taki sam, jak w przypadku modułów równoważenia obciążenia.

Operacje

Zabezpieczanie zasobów z perspektywy sieci pomaga chronić przed programami wykorzystującymi luki w zabezpieczeniach, ale także izoluje zasoby od procesów lub administratorów, którzy mogą potrzebować dostępu do tych zasobów. Na przykład agent kompilacji w potoku DevOps może wymagać dostępu do konta magazynu w celu wdrożenia aktualizacji w aplikacji internetowej. Ponadto administrator może potrzebować dostępu do zasobu na potrzeby rozwiązywania problemów.

Aby zilustrować zapewnianie dostępu do bezpiecznego dostępu do sieci w celach operacyjnych, ta implementacja wdraża maszynę wirtualną w sieci wirtualnej, która ma dostęp do kont magazynu za pomocą usługi Private Link. Ta implementacja wdraża usługę Azure Bastion, której administrator może użyć do nawiązania połączenia z maszyną wirtualną. W scenariuszu wdrażania można wdrożyć prywatnego agenta kompilacji w sieci wirtualnej, podobnie jak w przypadku maszyny wirtualnej.

Poniżej przedstawiono szczegółowe informacje o składnikach operacji:

  • Azure Virtual Network: ta implementacja używa sieci wirtualnej do przechowywania składników wymaganych przez administratora do bezpiecznego komunikowania się z kontem magazynu za pośrednictwem prywatnej sieci szkieletowej firmy Microsoft.
  • Azure Virtual Machines: ta implementacja używa maszyny wirtualnej jako serwera przesiadkowego, z którymi administratorzy mogą się łączyć. Maszyna wirtualna jest wdrażana w prywatnej sieci wirtualnej.
  • Azure Bastion: usługa Azure Bastion umożliwia administratorowi bezpieczne łączenie się z maszyną wirtualną serwera przesiadkowego za pośrednictwem protokołu Secure Shell (SSH) bez konieczności posiadania publicznego adresu IP przez maszynę wirtualną.
  • Punkt końcowy usługi Private Link: prywatny punkt końcowy ma przypisany prywatny adres IP z sieci wirtualnej i nawiązuje połączenie z usługą PaaS konta magazynu. To połączenie umożliwia zasobom w prywatnej sieci wirtualnej komunikowanie się z kontem magazynu za pośrednictwem prywatnego adresu IP.
  • Prywatna strefa DNS platformy Azure: prywatna strefa DNS platformy Azure to usługa DNS używana do rozpoznawania nazwy hosta usługi Private Link konta usługi Azure Storage z prywatnym adresem IP prywatnego punktu końcowego.

Przepływ żądań internetowych

Diagram przedstawiający przepływ żądania internetowego.

Na diagramie przedstawiono użytkownika wysyłającego żądanie internetowe do usługi Azure Front Door. W polu Azure Front Door diagram przedstawia każdy z kroków przepływu routingu usługi Azure Front Door. Wyróżnione w przepływie to krok, w którym są oceniane reguły zapory aplikacji internetowej, gdzie jest dopasowana trasa usługi Azure Front Door, a grupa pochodzenia jest zaznaczona i gdzie źródło jest wybierane z grupy źródeł. Ostatni wyróżniony fragment to miejsce, w którym usługa Azure Front Door łączy się z kontem usługi Azure Blob Storage za pośrednictwem usługi Private Link.

  1. Użytkownik wysyła żądanie HTTP lub HTTPS do punktu końcowego usługi Azure Front Door.

  2. Reguły zapory aplikacji internetowej są oceniane. Reguły zgodne są zawsze rejestrowane. Jeśli tryb zasad zapory aplikacji internetowej usługi Azure Front Door jest ustawiony na zapobieganie , a zgodna reguła ma ustawioną akcję blokującą anomalię, żądanie zostanie zablokowane. W przeciwnym razie żądanie będzie kontynuowane lub przekierowywane albo kolejne reguły są oceniane.

  3. Trasa skonfigurowana w usłudze Azure Front Door jest zgodna i wybrano prawidłową grupę pochodzenia. W tym przykładzie ścieżka dotyczyła zawartości statycznej w witrynie internetowej.

  4. Źródło jest wybierane z grupy źródeł.

    a. W tym przykładzie sondy kondycji uznały witrynę internetową za złą kondycję, więc zostały wyeliminowane z możliwych źródeł.
    b. Ta witryna internetowa jest zaznaczona.

  5. Żądanie jest kierowane do konta usługi Azure Storage za pośrednictwem usługi Private Link za pośrednictwem sieci szkieletowej firmy Microsoft.

Aby uzyskać więcej informacji na temat architektury routingu usługi Azure Front Door, zobacz Omówienie architektury routingu.

Przepływ operacyjny

Diagram przedstawiający przepływ używany przez administratora do łączenia się z chronionym zasobem.

Diagram ma trzy części. Pierwsza część przedstawia usługę Azure Blob Storage działającą jako statyczną witrynę internetową. Usługa Azure Front Door łączy się za pośrednictwem usługi Private Link z kontem magazynu. Druga część to pole reprezentujące sieć wirtualną. Sieć wirtualna ma podsieci i ich zawartość. Te podsieci obejmują podsieć prywatnego punktu końcowego, która zawiera punkt końcowy usługi Private Link z adresem IP 10.0.2.5, podsiecią przesiadkową z maszyną wirtualną przesiadkową oraz podsiecią usługi Azure Bastion z usługą Azure Bastion. Trzecia część to użytkownik administracyjny, który używa protokołu SSH do uzyskiwania dostępu do maszyny wirtualnej serwera przesiadkowego w sieci wirtualnej za pośrednictwem usługi Azure Bastion. Strzałka przechodzi z maszyny wirtualnej do prywatnej strefy usługi Azure DNS. Ostatnia strzałka przechodzi z maszyny wirtualnej do punktu końcowego łącza prywatnego, a następnie do konta magazynu.

  1. Administrator łączy się z wystąpieniem usługi Azure Bastion wdrożonym w sieci wirtualnej.

  2. Usługa Azure Bastion zapewnia łączność SSH z maszyną wirtualną serwera przesiadkowego.

  3. Administrator serwera przesiadkowego próbuje uzyskać dostęp do konta magazynu za pośrednictwem interfejsu wiersza polecenia platformy Azure. Serwer przesiadkowy wysyła zapytanie DNS do publicznego punktu końcowego konta usługi Azure Blob Storage: storageaccountname.blob.core.windows.net.

    Prywatna strefa DNS ostatecznie rozwiązuje problem .storageaccountname.privatelink.blob.core.windows.net Zwraca on prywatny adres IP punktu końcowego usługi Private Link, czyli 10.0.2.5 w tym przykładzie.

  4. Połączenie prywatne z kontem magazynu jest ustanawiane za pośrednictwem punktu końcowego usługi Private Link.

Kwestie wymagające rozważenia

Podczas korzystania z tego rozwiązania należy pamiętać o następujących kwestiach.

Niezawodność

Niezawodność gwarantuje, że aplikacja może spełnić zobowiązania, które należy wykonać dla klientów. Aby uzyskać więcej informacji, zobacz Omówienie filaru niezawodności.

Ten scenariusz dotyczy następujących kluczowych kwestii dotyczących niezawodności:

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Ten scenariusz dotyczy następujących kluczowych kwestii dotyczących zabezpieczeń:

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Mimo że zarówno usługa Azure Front Door Premium, jak i zapora aplikacji internetowej w warstwie Premium zapewniają zaawansowane funkcje zabezpieczeń w warstwie Standardowa, są naliczane dodatkowe koszty. Zapoznaj się z następującymi zasobami, aby dowiedzieć się więcej na temat cen usługi Azure Front Door i zapory aplikacji internetowej:

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Omówienie filaru doskonałości operacyjnej.

Implementowanie granic zabezpieczeń sieci zwiększa złożoność operacji i wdrażania. Pamiętaj o tych kwestiach:

Ważne

Przykład bezpiecznego ruchu przychodzącego sieci umożliwia wdrożenie wszystkich zasobów wymaganych do nawiązania połączenia z serwerem przesiadkowym za pośrednictwem usługi Azure Bastion i nawiązania połączenia z bezpieczną maszyną wirtualną sieci.

Efektywność wydajności

Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które użytkownicy na nim umieszczają. Aby uzyskać więcej informacji, zobacz Omówienie filaru wydajności.

Routing globalny umożliwia skalowanie w poziomie przez wdrożenie większej liczby zasobów w tym samym regionie lub w różnych regionach.

Następne kroki