Amazon VPC Network Access Analyzer

8 grudnia 2021

AWS udostępnił nową funkcję Amazon VPC Network Access Analyzer, która pomaga zidentyfikować konfiguracje sieciowe, które prowadzą do niezamierzonego dostępu do sieci.

Jak zobaczysz za chwilę, wskaże on sposoby, w jakie możesz poprawić swoje bezpieczeństwo, jednocześnie pozwalając Tobie i Twojej organizacji na sprawność i elastyczność. W przeciwieństwie do ręcznego sprawdzania konfiguracji sieci, które jest podatne na błędy i trudne do skalowania, to narzędzie pozwala analizować sieci AWS o dowolnej wielkości i złożoności.

Wprowadzenie Network Access Analyzer

Network Access Analyzer korzysta z zautomatyzowanej technologii wnioskowania, która już obsługuje usługi AWS IAM Access Analyzer, Amazon VPC Reachability Analyzer, Amazon Inspector Network Reachability i inne sprawdzone narzędzia bezpieczeństwa.

To narzędzie wykorzystuje Network Access Scopes, aby określić żądaną łączność między zasobami AWS. Możesz zacząć od zestawu zakresów stworzonych przez Amazon, a następnie albo je skopiować i dostosować, albo stworzyć własny od podstaw. Zakresy są wysokopoziomowe i niezależne od konkretnej architektury lub konfiguracji sieci, można je traktować jako język określania odpowiedniego poziomu dostępu i łączności w sieci. Możesz na przykład utworzyć scope, aby sprawdzić, czy wszystkie aplikacje internetowe korzystają z zapory sieciowej w celu uzyskania dostępu do zasobów internetowych lub wskazać, że zasoby AWS używane przez zespół finansowy są oddzielne, odrębne i niedostępne od zasobów używanych przez zespół programistów.

Aby ocenić swoją sieć w określonym zakresie, należy go wybrać go i rozpocząć analizę. Proces ten trwa kilka minut, a następnie generuje zestaw wyników, z których każdy wskazuje nieoczekiwaną ścieżkę sieciową między zasobami AWS zdefiniowanymi w zakresie. Możesz przeanalizować wyniki, dostosować konfigurację lub zmodyfikować zakres w odpowiedzi na wyniki i ponownie przeprowadzić analizę, a wszystko to w ciągu kilku minut.

Proces analizy bada bardzo szeroki zakres zasobów AWS, w tym grupy bezpieczeństwa Security Groups, bloki CIDR, listy prefiksów, interfejsy Elastic Network Interfaces, instancje EC2, Load Balancery, VPC, podsieci VPC, punkty końcowe VPC, usługi punktów końcowych VPC, bramy typu Transit Gateways, bramy NAT, bramy Internet Gateways, bramy VPN, połączenia typu Peering Connections i zapory sieciowe (Network Firewalls). Twoje zakresy mogą używać grup zasobów(Resource Groups) do odwoływania się do wszystkich zasobów, które są oznaczone w określony sposób.

Korzystanie z Network Access Analyzer

Aby rozpocząć, otwieramy konsolę VPC, znajdujemy sekcję Network Analysis w lewym panelu nawigacyjnym i klikamy Network Access Analyzer:

Network Access Analyzer

Widzimy wszystkie zakresy (scopes). Początkowo mamy cztery, wszystkie stworzone przez Amazon i gotowe do użycia:

Network Access Scopes

Aby przeprowadzić analizę, wybieramy zakres (AWS-VPC-Ingress (Amazon created)) i klikamy Analyze. Opis scope’u brzmi:

“Identify ingress paths into your VPCs from Internet Gateways, Peering Connections, VPC Service Endpoints, VPN and Transit Gateways.” (Zidentyfikuj ścieżki dostępu do swoich VPC z bram internetowych, połączeń Peering Connections, punktów końcowych usług VPC, VPN i bram Transit Gateways).

Analiza trwa kilka minut i wyświetla wyniki zaraz po zakończeniu:

AWS-VPC-Ingress (Amazon created)

Znajduje się tu wiele bardzo przydatnych informacji! Wykres widma zawiera przegląd zasobów zawartych w wynikach. Możemy najechać myszą na dowolny segment, aby dowiedzieć się więcej, lub kliknąć na jeden, aby przefiltrować wyniki i wyświetlić tylko te, które odnoszą się do określonego zasobu lub typu zasobu:

AWS-VPC-Ingress (Amazon created)

Na przykład klikając na VPC Peering Connections, widzimy wszystkie wyniki, które odnoszą się do połączenia peering connection:

VPC Peering Connections

Jak widać, Path details podświetlają połączenie VPC peering w ścieżce! Następnym krokiem jest zbadanie wyników, podjęcie decyzji, które z nich są oczekiwane i dodanie ich do zakresu, aby zostały wykluczone z przyszłych wyników (więcej o tym za chwilę).

Network Access Scope

Rzućmy okiem na zakres Network Access Scope, którego użyliśmy powyżej, a następnie zbudujmy inny zakres od podstaw za pomocą wizualnego konstruktora. Każdy zakres jest reprezentowany w formacie JSON i wskazuje, co jest uważane za ruch w zakresie (akceptowalny) między źródłami a miejscami docelowymi:

 

{
          "networkInsightsAccessScopeId": "nis-070dc1d37ca315e86",
          "matchPaths": [
                    {
                              "source": {
                                        "resourceStatement": {
                                                  "resources": [],
                                                  "resourceTypes": [
                                                            "AWS::EC2::InternetGateway",
                                                            "AWS::EC2::VPCPeeringConnection",
                                                            "AWS::EC2::VPCEndpointService",
                                                            "AWS::EC2::TransitGatewayAttachment",
                                                            "AWS::EC2::VPNGateway"
                                                  ]
                                        }
                              },
                              "destination": {
                                        "resourceStatement": {
                                                  "resources": [],
                                                  "resourceTypes": [
                                                            "AWS::EC2::NetworkInterface"
                                                  ]
                                        }
                              }
                    }
          ],
          "excludePaths": []
}

Element matchPaths zawiera elementy source oraz destination. Każdy z tych elementów z kolei identyfikuje typy zasobów AWS i określone zasoby. Chociaż nie pokazano tutaj, zakresy mogą również zawierać źródłowe i docelowe adresy IP, porty, listy prefiksów i typy ruchu (TCP lub UDP). Element excludePaths może zawierać typy zasobów, określone zasoby i tak dalej. Możemy przykładowo zdefiniować źródła i miejsca docelowe, które pasują do całego ruchu przychodzącego bramy Internet Gateway, ale wykluczyć ruch, który przepływa przez Load Balancer, lub możemy wykluczyć ruch SSH przeznaczony dla naszych instancji typu bastion.

Tworzenie Network Access Scope

Nowy scope możemy utworzyć na trzy sposoby. Możemy zduplikować i zmodyfikować już istniejący scope, możemy zacząć od zera i wykorzystać do tworzenia visual builder, lub możemy napisać własny skrypt JSON i użyć CLI lub API do stworzenia scope’u. Klikamy w Create Network Access Scope, aby użyć buildera:Building a Network Access Scope

Możemy rozpocząć korzystając z jednej z predefiniowanych wzorów (templatów) lub utworzyć nowy:

 

Network Access Scope Templates

Wprowadzamy nazwę oraz opis:

Define Network Access Scope

Następnie definiujemy źródło i miejsca docelowe według typu zasobu, identyfikatora, typu ruchu i tak dalej:

Network Access Scope

Mamy wiele możliwości dopasowania rodzaju ruchu. Dzięki temu możemy tworzyć zakresy do bardzo konkretnych celów:

Network Access Scope

Możemy użyć podobnego interfejsu, aby dodać dowolne wyjątki.

Warto wiedzieć

To bardzo potężne narzędzie, które szybko polubisz. Oto kilka rzeczy, które należy o nim wiedzieć:

Koszt – Opłata $0.002 naliczana jest za każdy interfejs Elastic Network Interface (ENI) analizowany w ramach oceny.

Regiony – Network Access Analyzer jest dostępny w regionach Wschodnie USA (Pn. Wirginia, Ohio), Zachodnie USA (Kalifornia, Oregon), Afryka (Kapsztad), Azja-Pacyfik (Hong Kong, Bombaj, Seul, Singapur, Sydney, Tokio), Kanada (Centralna), Europa (Frankfurt, Irlandia, Londyn, Mediolan, Paryż, Sztokholm), Południowa Afryka (Sao Paulo), oraz na Środkowy Wschód (Bahrajn).

Praca w toku — AWS ma wiele dodatkowych funkcji na swoim roadmapie, w tym wsparcie dla AWS Organizations możliwość regularnego uruchamiania analiz oraz obsługę zakresów adresów IPv6 i zasobów.

źródło: AWS

 

Case Studies
Referencje

Firma Hostersi pozwoliła nam osadzić ogólne zagadnienia programu Well Architected Framework w kontekście naszej firmy. Oszczędziło nam to wiele czasu i pozwoliło znaleźć lepiej dopasowane rozwiązania do specyfiki naszego biznesu. WAF był świetnym katalizatorem do wprowadzenie szeregu zmian w obszarze niezawodności, szybkości i bezpieczeństwa edrone. 

Piotr Stachowicz
CTO
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.