AWS - VPC & Networking Basic Information

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Sieciowanie w AWS w pigułce

VPC zawiera CIDR sieci np. 10.0.0.0/16 (z jego tabelą routingu i listą ACL sieci).

Ta sieć VPC jest podzielona na podsieci, więc podsieć jest bezpośrednio powiązana z VPC, tabelą routingu i listą ACL sieci.

Następnie Interfejsy sieciowe podłączone do usług (np. instancje EC2) są połączone z podsieciami za pomocą grup zabezpieczeń.

Dlatego grupa zabezpieczeń ograniczy wystawione porty interfejsów sieciowych używających jej, niezależnie od podsieci. A lista ACL sieci będzie ograniczać wystawione porty dla całej sieci.

Ponadto, aby uzyskać dostęp do Internetu, istnieją pewne interesujące konfiguracje do sprawdzenia:

  • Podsieć może automatycznie przypisywać publiczne adresy IPv4

  • Instancja utworzona w sieci, która automatycznie przypisuje adresy IPv4, może otrzymać jeden

  • Do VPC musi być dołączony brama internetowa

  • Możesz również użyć bram internetowych tylko do egress

  • Możesz również mieć bramę NAT w prywatnej podsieci, dzięki czemu możliwe jest połączenie z usługami zewnętrznymi z tej prywatnej podsieci, ale nie można ich osiągnąć z zewnątrz.

  • Brama NAT może być publiczna (dostęp do Internetu) lub prywatna (dostęp do innych VPC)

VPC

Amazon Virtual Private Cloud (Amazon VPC) umożliwia uruchamianie zasobów AWS w wirtualnej sieci, którą zdefiniowałeś. Ta wirtualna sieć będzie miała kilka podsieci, Bramy Internetowe do dostępu do Internetu, ACL, Grupy zabezpieczeń, IP...

Podsieci

Podsieci pomagają w egzekwowaniu większego poziomu bezpieczeństwa. Logiczne grupowanie podobnych zasobów pomaga również w utrzymaniu łatwości zarządzania w całej infrastrukturze.

  • Poprawne CIDR to od maski sieci /16 do maski sieci /28.

  • Podsieć nie może znajdować się jednocześnie w różnych strefach dostępności.

  • AWS zastrzega pierwsze trzy adresy IP hosta każdej podsieci dla wewnętrznego użytku AWS: pierwszy używany adres hosta jest dla routera VPC. Drugi adres jest zarezerwowany dla DNS AWS, a trzeci adres jest zarezerwowany na przyszłe użycie.

  • Nazywa się je publicznymi podsieciami, które mają bezpośredni dostęp do Internetu, podczas gdy prywatne podsieci nie mają.

Tabele routingu

Tabele routingu określają trasowanie ruchu dla podsieci w ramach VPC. Określają, który ruch sieciowy jest przekazywany do Internetu lub do połączenia VPN. Zazwyczaj znajdziesz dostęp do:

  • Lokalnego VPC

  • NAT

  • Bram Internetowych / Bram internetowych tylko do egress (potrzebne do zapewnienia VPC dostępu do Internetu).

  • Aby uczynić podsieć publiczną, musisz utworzyć i dołączyć bramę internetową do swojego VPC.

  • Punkty końcowe VPC (do dostępu do S3 z prywatnych sieci)

Na poniższych obrazach możesz sprawdzić różnice między domyślną siecią publiczną a prywatną:

ACL

Listy kontrolne dostępu do sieci (ACL): Listy ACL sieciowych to reguły zapory sieciowej kontrolujące ruch sieciowy przychodzący i wychodzący do podsieci. Mogą być używane do zezwalania lub blokowania ruchu do określonych adresów IP lub zakresów.

  • Najczęściej zezwala się/blokuje dostęp za pomocą grup zabezpieczeń, ale jest to jedyny sposób na całkowite przerwanie ustanowionych powrotnych powłok. Zmodyfikowana reguła w grupach zabezpieczeń nie zatrzymuje już ustanowionych połączeń

  • Jednak dotyczy to całej podsieci, więc bądź ostrożny, gdy zakazujesz czegoś, ponieważ potrzebna funkcjonalność może zostać zakłócona

Grupy zabezpieczeń

Grupy zabezpieczeń są wirtualnym firewallem, który kontroluje ruch sieciowy do i z instancji w VPC. Związek 1 SG do M instancji (zazwyczaj 1 do 1). Zazwyczaj jest to używane do otwierania niebezpiecznych portów w instancjach, takich jak port 22 na przykład:

Elastyczne adresy IP

Adres Elastic IP to statyczny adres IPv4 zaprojektowany do dynamicznego obliczeń w chmurze. Adres Elastic IP jest przydzielany do twojego konta AWS i pozostaje twoim do momentu jego zwolnienia. Korzystając z adresu Elastic IP, możesz ukryć awarię instancji lub oprogramowania, szybko przypisując adres do innej instancji w twoim koncie.

Połączenie między podsieciami

Domyślnie wszystkie podsieci mają automatyczne przypisywanie publicznych adresów IP wyłączone, ale można je włączyć.

Trasa lokalna w tabeli tras umożliwia komunikację między podsieciami VPC.

Jeśli łączysz podsieć z inną podsiecią, nie możesz uzyskać dostępu do połączonych podsieci z innej podsieci, musisz nawiązać z nimi bezpośrednie połączenie. Dotyczy to również bram internetowych. Nie możesz przejść przez połączenie podsieci, aby uzyskać dostęp do internetu, musisz przypisać bramę internetową do swojej podsieci.

Peering VPC

Peering VPC pozwala na połączenie dwóch lub więcej VPC za pomocą IPV4 lub IPV6, jak gdyby były częścią tej samej sieci.

Po ustanowieniu połączenia między rówieśnikami, zasoby w jednym VPC mogą uzyskać dostęp do zasobów w drugim. Połączenie między VPC jest realizowane za pomocą istniejącej infrastruktury sieciowej AWS, dlatego jest wysoce dostępne bez wąskich gardeł w przepustowości. Ponieważ połączenia rówieśnicze działają jakby były częścią tej samej sieci, istnieją ograniczenia dotyczące zakresów bloków CIDR, które można użyć. Jeśli masz nakładające się lub zduplikowane zakresy CIDR dla swojego VPC, to nie będziesz mógł zestawić połączenia między VPC. Każde VPC AWS będzie komunikować się tylko ze swoim rówieśnikiem. Na przykład, jeśli masz połączenie rówieśnicze między VPC 1 i VPC 2, oraz inne połączenie między VPC 2 i VPC 3, jak pokazano, to VPC 1 i 2 mogą komunikować się ze sobą bezpośrednio, podobnie jak VPC 2 i VPC 3, jednak VPC 1 i VPC 3 nie mogą. Nie można kierować ruchu przez jedno VPC, aby dostać się do innego.

Logi przepływu VPC

W ramach twojego VPC możesz mieć potencjalnie setki lub nawet tysiące zasobów komunikujących się między różnymi podsieciami, zarówno publicznymi, jak i prywatnymi, a także między różnymi VPC poprzez połączenia rówieśnicze VPC. Logi przepływu VPC pozwalają rejestrować informacje o ruchu IP, który przepływa między interfejsami sieciowymi twoich zasobów w ramach twojego VPC.

W przeciwieństwie do logów dostępu S3 i logów dostępu CloudFront, dane logów generowane przez logi przepływu VPC nie są przechowywane w S3. Zamiast tego przechwytywane dane logów są wysyłane do logów CloudWatch.

Ograniczenia:

  • Jeśli korzystasz z połączenia rówieśniczego VPC, będziesz mógł zobaczyć logi przepływu tylko z rówieśniczych VPC znajdujących się w tym samym koncie.

  • Jeśli nadal korzystasz z zasobów w środowisku EC2-Classic, niestety nie będziesz mógł pobrać informacji z ich interfejsów.

  • Po utworzeniu logu przepływu VPC nie można go zmienić. Aby zmienić konfigurację logu przepływu VPC, należy go usunąć, a następnie utworzyć nowy.

  • Następujący ruch nie jest monitorowany i przechwytywany przez logi. Ruch DHCP w ramach VPC, ruch z instancji przeznaczony do serwera DNS Amazona.

  • Ruch kierowany do adresu IP domyślnego routera VPC oraz ruch do i od następujących adresów, 169.254.169.254, który jest używany do zbierania metadanych instancji, oraz 169.254.169.123, który jest używany do usługi synchronizacji czasu Amazona.

  • Ruch związany z licencją aktywacji Windowsa od instancji systemu Windows.

  • Ruch między interfejsem równoważenia obciążenia sieci a interfejsem sieci końcowej

Dla każdego interfejsu sieciowego publikującego dane do grupy logów CloudWatch, zostanie użyty inny strumień logów. W każdym z tych strumieni będzie zawierać dane zdarzeń logów przepływu, które pokazują zawartość wpisów logów. Każdy z tych logów rejestruje dane podczas okna czasowego trwającego około 10 do 15 minut.

VPN

Podstawowe składniki AWS VPN

  1. Bramka klienta:

  • Bramka klienta to zasób, który tworzysz w AWS, aby reprezentować twoją stronę połączenia VPN.

  • Jest to w zasadzie fizyczne urządzenie lub aplikacja oprogramowania po twojej stronie połączenia VPN typu miejsce-miejsce.

  • Udostępniasz informacje o trasowaniu i publicznym adresie IP urządzenia sieciowego (takiego jak router lub zapora ogniowa) AWS, aby utworzyć bramkę klienta.

  • Służy jako punkt odniesienia do konfiguracji połączenia VPN i nie generuje dodatkowych opłat.

  1. Wirtualna bramka prywatna:

  • Wirtualna bramka prywatna (VPG) to koncentrator VPN po stronie Amazonu w połączeniu VPN typu miejsce-miejsce.

  • Jest dołączona do twojego VPC i służy jako cel twojego połączenia VPN.

  • VPG jest punktem końcowym AWS po stronie VPN.

  • Obsługuje bezpieczną komunikację między twoim VPC a twoją siecią lokalną.

  1. Połączenie VPN miejsce-miejsce:

  • Połączenie VPN miejsce-miejsce łączy twoją sieć lokalną z VPC poprzez bezpieczny tunel VPN IPsec.

  • Ten rodzaj połączenia wymaga bramki klienta i wirtualnej bramki prywatnej.

  • Służy do zapewnienia bezpiecznej, stabilnej i spójnej komunikacji między twoim centrum danych lub siecią a środowiskiem AWS.

  • Zazwyczaj używane do regularnych, długoterminowych połączeń i rozliczane na podstawie ilości przesyłanych danych w ramach połączenia.

  1. Punkt końcowy VPN klienta:

  • Punkt końcowy VPN klienta to zasób, który tworzysz w AWS, aby umożliwić i zarządzać sesjami VPN klientów.

  • Służy do umożliwienia indywidualnym urządzeniom (takim jak laptopy, smartfony itp.) bezpiecznego połączenia z zasobami AWS lub twoją siecią lokalną.

  • Różni się od połączenia VPN miejsce-miejsce tym, że jest przeznaczony dla indywidualnych klientów, a nie do łączenia całych sieci.

  • W przypadku VPN klienta każde urządzenie klienta używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia.

Połączenie VPN miejsce-miejsce

Połącz swoją sieć lokalną z twoim VPC.

  • Połączenie VPN: Bezpieczne połączenie między twoim sprzętem lokalnym a twoimi VPC.

  • Tunel VPN: Zaszyfrowane połączenie, przez które dane mogą przechodzić z sieci klienta do lub z AWS.

Każde połączenie VPN zawiera dwa tunele VPN, które można jednocześnie wykorzystywać dla wysokiej dostępności.

  • Bramka klienta: Zasób AWS, który dostarcza informacje AWS o urządzeniu bramki klienta.

  • Urządzenie bramki klienta: Fizyczne urządzenie lub aplikacja oprogramowania po twojej stronie połączenia VPN miejsce-miejsce.

  • Wirtualna bramka prywatna: Koncentrator VPN po stronie Amazonu w połączeniu VPN miejsce-miejsce. Używasz wirtualnej bramki prywatnej lub bramki tranzytowej jako bramy po stronie Amazonu w połączeniu VPN miejsce-miejsce.

  • Bramka tranzytowa: Centrum tranzytowe, które można użyć do łączenia twoich VPC i sieci lokalnych. Używasz bramki tranzytowej lub wirtualnej bramki prywatnej jako bramy po stronie Amazonu w połączeniu VPN miejsce-miejsce.

Ograniczenia

  • Ruch IPv6 nie jest obsługiwany dla połączeń VPN na bramie prywatnej wirtualnej.

  • Połączenie VPN AWS nie obsługuje odkrywania ścieżki MTU.

Ponadto, weź pod uwagę następujące kwestie podczas korzystania z VPN typu Site-to-Site.

VPN klienta

Połącz się ze swojego urządzenia z VPC

Pojęcia

  • Punkt końcowy VPN klienta: Zasób, który tworzysz i konfigurujesz, aby umożliwić i zarządzać sesjami VPN klienta. Jest to zasób, w którym wszystkie sesje VPN klienta są zakończone.

  • Sieć docelowa: Sieć docelowa to sieć, którą łączysz z punktem końcowym VPN klienta. Podsieć z VPC jest siecią docelową. Powiązanie podsieci z punktem końcowym VPN klienta umożliwia nawiązanie sesji VPN. Możesz powiązać wiele podsieci z punktem końcowym VPN klienta dla wysokiej dostępności. Wszystkie podsieci muszą pochodzić z tego samego VPC. Każda podsieć musi należeć do innej Strefy Dostępności.

  • Trasa: Każdy punkt końcowy VPN klienta ma tablicę tras opisującą dostępne trasy sieci docelowych. Każda trasa w tablicy tras określa ścieżkę dla ruchu do określonych zasobów lub sieci.

  • Reguły autoryzacji: Reguła autoryzacji ogranicza użytkowników, którzy mogą uzyskać dostęp do sieci. Dla określonej sieci konfigurujesz grupę Active Directory lub dostawcę tożsamości (IdP), która ma prawo dostępu. Tylko użytkownicy należący do tej grupy mogą uzyskać dostęp do określonej sieci. Domyślnie nie ma reguł autoryzacji i musisz skonfigurować reguły autoryzacji, aby umożliwić użytkownikom dostęp do zasobów i sieci.

  • Klient: Użytkownik końcowy łączący się z punktem końcowym VPN klienta w celu nawiązania sesji VPN. Użytkownicy końcowi muszą pobrać klienta OpenVPN i użyć pliku konfiguracyjnego punktu końcowego VPN klienta, który utworzyłeś, aby nawiązać sesję VPN.

  • Zakres CIDR klienta: Zakres adresów IP, z którego przypisywane są adresy IP klientów. Każde połączenie z punktem końcowym VPN klienta otrzymuje unikalny adres IP z zakresu CIDR klienta. Wybierasz zakres CIDR klienta, na przykład 10.2.0.0/16.

  • Porty VPN klienta: AWS Client VPN obsługuje porty 443 i 1194 zarówno dla protokołów TCP, jak i UDP. Domyślnie jest to port 443.

  • Interfejsy sieci VPN klienta: Gdy powiążesz podsieć z punktem końcowym VPN klienta, tworzymy interfejsy sieci VPN klienta w tej podsieci. Ruch wysyłany do VPC z punktu końcowego VPN klienta jest przesyłany przez interfejs sieci VPN klienta. Następnie stosowane jest tłumaczenie adresów źródłowych sieci (SNAT), gdzie adres IP źródłowy z zakresu CIDR klienta jest tłumaczony na adres IP interfejsu sieci VPN klienta.

  • Logowanie połączeń: Możesz włączyć logowanie połączeń dla punktu końcowego VPN klienta, aby rejestrować zdarzenia połączeń. Możesz użyć tych informacji do przeprowadzania analizy śledczej, analizowania sposobu korzystania z punktu końcowego VPN klienta lub rozwiązywania problemów z połączeniem.

  • Portal samoobsługowy: Możesz włączyć portal samoobsługowy dla punktu końcowego VPN klienta. Klienci mogą zalogować się do portalu internetowego za pomocą swoich danych uwierzytelniających i pobrać najnowszą wersję pliku konfiguracyjnego punktu końcowego VPN klienta lub najnowszą wersję klienta dostarczonego przez AWS.

Ograniczenia

  • Zakresy CIDR klienta nie mogą się pokrywać z lokalnym CIDR VPC, w którym znajduje się powiązana podsieć, ani z żadnymi trasami dodanymi ręcznie do tablicy tras punktu końcowego VPN klienta.

  • Zakresy CIDR klienta muszą mieć rozmiar bloku co najmniej /22 i nie mogą być większe niż /12.

  • Część adresów w zakresie CIDR klienta jest używana do wsparcia modelu dostępności punktu końcowego VPN klienta i nie mogą być przypisane klientom. Dlatego zalecamy, abyś przypisał blok CIDR zawierający dwukrotność liczby adresów IP wymaganych do umożliwienia maksymalnej liczby równoczesnych połączeń, które planujesz obsłużyć na punkcie końcowym VPN klienta.

  • Zakresu CIDR klienta nie można zmienić po utworzeniu punktu końcowego VPN klienta.

  • Podsieci powiązane z punktem końcowym VPN klienta muszą znajdować się w tym samym VPC.

  • Nie można powiązać wielu podsieci z tej samej Strefy Dostępności z punktem końcowym VPN klienta.

  • Punkt końcowy VPN klienta nie obsługuje powiązań podsieci w VPC o dedykowanej dzierżawie.

  • VPN klienta obsługuje tylko ruch IPv4.

  • VPN klienta nie jest zgodny z Federalnymi Standardami Przetwarzania Informacji (FIPS).

  • Jeśli wieloczynnikowa autoryzacja (MFA) jest wyłączona dla Twojej usługi Active Directory, hasło użytkownika nie może mieć następującego formatu.

SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • Portal samoobsługowy nie jest dostępny dla klientów, którzy uwierzytelniają się za pomocą uwierzytelniania wzajemnego.

Last updated