Amazon VPC Network Access Analyzer
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:
Widzimy wszystkie zakresy (scopes). Początkowo mamy cztery, wszystkie stworzone przez Amazon i gotowe do użycia:
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:
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:
Na przykład klikając na VPC Peering Connections, widzimy wszystkie wyniki, które odnoszą się do połączenia peering connection:
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:
Możemy rozpocząć korzystając z jednej z predefiniowanych wzorów (templatów) lub utworzyć nowy:
Wprowadzamy nazwę oraz opis:
Następnie definiujemy źródło i miejsca docelowe według typu zasobu, identyfikatora, typu ruchu i tak dalej:
Mamy wiele możliwości dopasowania rodzaju ruchu. Dzięki temu możemy tworzyć zakresy do bardzo konkretnych celów:
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