AWS - VPC & Networking Basic Information
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
VPC zawiera CIDR sieci jak 10.0.0.0/16 (z jego tablicą routingu i ACL sieciowym).
Ta sieć VPC jest podzielona na podsieci, więc podsieć jest bezpośrednio powiązana z VPC, tablicą routingu i ACL sieciowym.
Następnie, Interfejsy sieciowe przypisane do usług (jak instancje EC2) są połączone z podsieciami za pomocą grup zabezpieczeń.
Dlatego grupa zabezpieczeń ograniczy wystawione porty interfejsów sieciowych, które jej używają, niezależnie od podsieci. A ACL sieciowy ograniczy wystawione porty do całej sieci.
Ponadto, aby uzyskać dostęp do Internetu, istnieją 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 go uzyskać
Brama internetowa musi być przypisana do VPC
Możesz również użyć bram internetowych tylko do wyjścia
Możesz również mieć bramę NAT w prywatnej podsieci, aby możliwe było połączenie z zewnętrznymi usługami z tej prywatnej podsieci, ale nie jest możliwe, aby dotrzeć do nich z zewnątrz.
Brama NAT może być publiczna (dostęp do internetu) lub prywatna (dostęp do innych 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 uzyskania dostępu do Internetu, ACL, grupy zabezpieczeń, IP...
Podsieci pomagają w egzekwowaniu wyższego poziomu bezpieczeństwa. Logiczne grupowanie podobnych zasobów również pomaga w utrzymaniu łatwości zarządzania w całej infrastrukturze.
Ważne CIDR są od maski /16 do maski /28.
Podsiec nie może znajdować się w różnych strefach dostępności w tym samym czasie.
AWS rezerwuje pierwsze trzy adresy IP hostów każdej podsieci do wewnętrznego użytku AWS: pierwszy adres hosta jest używany dla routera VPC. Drugi adres jest zarezerwowany dla DNS AWS, a trzeci adres jest zarezerwowany do przyszłego użytku.
Nazywa się publicznymi podsieciami te, które mają bezpośredni dostęp do Internetu, podczas gdy prywatne podsieci nie mają.
Tablice routingu określają trasowanie ruchu dla podsieci w VPC. Określają, który ruch sieciowy jest przesyłany do internetu lub do połączenia VPN. Zwykle znajdziesz dostęp do:
Lokalnego VPC
NAT
Bram internetowych / Bram internetowych tylko do wyjścia (potrzebnych do zapewnienia VPC dostępu do Internetu).
Aby uczynić podsieć publiczną, musisz utworzyć i przypisać bramę internetową do swojego VPC.
Punkty końcowe VPC (do uzyskania dostępu do S3 z prywatnych sieci)
Na poniższych obrazach możesz sprawdzić różnice między domyślną publiczną siecią a prywatną:
Listy kontroli dostępu do sieci (ACL): ACL sieciowe to zasady zapory, które kontrolują przychodzący i wychodzący ruch sieciowy do podsieci. Mogą być używane do zezwalania lub odmawiania ruchu do określonych adresów IP lub zakresów.
Najczęściej zezwala się/odmawia dostępu za pomocą grup zabezpieczeń, ale to jedyny sposób na całkowite przerwanie ustanowionych odwrotnych powłok. Zmodyfikowana zasada w grupach zabezpieczeń nie zatrzymuje już ustanowionych połączeń.
Jednak to dotyczy całej podsieci, bądź ostrożny przy zabranianiu rzeczy, ponieważ potrzebna funkcjonalność może być zakłócona.
Grupy zabezpieczeń to wirtualna zapora, która kontroluje przychodzący i wychodzący ruch sieciowy do instancji w VPC. Relacja 1 SG do M instancji (zwykle 1 do 1). Zwykle używa się ich do otwierania niebezpiecznych portów w instancjach, takich jak port 22 na przykład:
Adres Elastic IP to statyczny adres IPv4 zaprojektowany do dynamicznego przetwarzania w chmurze. Adres Elastic IP jest przypisany do twojego konta AWS i jest twój, dopóki go nie zwolnisz. Używając Elastic IP, możesz zamaskować awarię instancji lub oprogramowania, szybko przemapowując adres na inną instancję w swoim koncie.
Domyślnie wszystkie podsieci mają automatyczne przypisanie publicznych adresów IP wyłączone, ale można je włączyć.
Lokalna trasa w tablicy routingu umożliwia komunikację między podsieciami VPC.
Jeśli łączysz podsieć z inną podsiecią, nie możesz uzyskać dostępu do podsieci połączonych z inną podsiecią, musisz utworzyć połączenie z nimi bezpośrednio. To również dotyczy 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 pozwala na połączenie dwóch lub więcej VPC, używając IPV4 lub IPV6, tak jakby były częścią tej samej sieci.
Gdy połączenie peer jest ustanowione, zasoby w jednym VPC mogą uzyskiwać dostęp do zasobów w drugim. Połączenie między VPC jest realizowane przez istniejącą infrastrukturę sieciową AWS, więc jest wysoce dostępne bez wąskich gardeł przepustowości. Ponieważ połączenia peer działają tak, jakby były częścią tej samej sieci, istnieją ograniczenia dotyczące zakresów bloków CIDR, które mogą być używane. Jeśli masz nakładające się lub duplikujące się zakresy CIDR dla swojego VPC, to nie będziesz mógł połączyć VPC razem. Każde VPC AWS będzie komunikować się tylko ze swoim peerem. Na przykład, jeśli masz połączenie peeringowe między VPC 1 a VPC 2, oraz inne połączenie między VPC 2 a VPC 3, jak pokazano, to VPC 1 i 2 mogą komunikować się ze sobą bezpośrednio, tak jak VPC 2 i VPC 3, jednak VPC 1 i VPC 3 nie mogą. Nie możesz routować przez jedno VPC, aby dotrzeć do drugiego.
W ramach swojego VPC możesz mieć potencjalnie setki lub nawet tysiące zasobów, które komunikują się między różnymi podsieciami, zarówno publicznymi, jak i prywatnymi, a także między różnymi VPC za pośrednictwem połączeń peeringowych VPC. Logi przepływu VPC pozwalają na uchwycenie informacji 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, dane logów są wysyłane do logów CloudWatch.
Ograniczenia:
Jeśli uruchamiasz połączenie peeringowe VPC, to będziesz mógł zobaczyć logi przepływu tylko dla peeringowych VPC, które są w tym samym koncie.
Jeśli nadal uruchamiasz zasoby w środowisku EC2-Classic, to niestety nie możesz uzyskać informacji z ich interfejsów.
Gdy log przepływu VPC został utworzony, nie można go zmienić. Aby zmienić konfigurację logu przepływu VPC, musisz go usunąć, a następnie utworzyć nowy.
Następujący ruch nie jest monitorowany i rejestrowany przez logi. Ruch DHCP w ramach VPC, ruch z instancji skierowany do serwera DNS Amazon.
Wszelki ruch skierowany do adresu IP domyślnego routera VPC oraz ruch do i z 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 Amazon.
Ruch związany z licencją aktywacyjną systemu Windows Amazon z instancji Windows.
Ruch między interfejsem równoważnika obciążenia sieciowego a interfejsem punktu końcowego sieci.
Dla każdego interfejsu sieciowego, który publikuje dane do grupy logów CloudWatch, będzie używany inny strumień logów. A w ramach każdego z tych strumieni będą dane zdarzeń logów przepływu, które pokazują zawartość wpisów logów. Każdy z tych logów rejestruje dane w oknie czasowym wynoszącym około 10 do 15 minut.
Brama klienta:
Brama klienta to zasób, który tworzysz w AWS, aby reprezentować swoją stronę połączenia VPN.
Jest to zasadniczo fizyczne urządzenie lub aplikacja programowa po twojej stronie połączenia VPN Site-to-Site.
Podajesz informacje o routingu i publiczny adres IP swojego urządzenia sieciowego (takiego jak router lub zapora) do AWS, aby utworzyć Bramę klienta.
Służy jako punkt odniesienia do skonfigurowania połączenia VPN i nie generuje dodatkowych opłat.
Wirtualna brama prywatna:
Wirtualna brama prywatna (VPG) to koncentrator VPN po stronie Amazon w połączeniu VPN Site-to-Site.
Jest przypisana do twojego VPC i służy jako cel dla twojego połączenia VPN.
VPG jest punktem końcowym po stronie AWS dla połączenia VPN.
Obsługuje bezpieczną komunikację między twoim VPC a twoją siecią lokalną.
Połączenie VPN Site-to-Site:
Połączenie VPN Site-to-Site łączy twoją lokalną sieć z VPC przez bezpieczny tunel VPN IPsec.
Ten typ połączenia wymaga Bramy klienta i Wirtualnej bramy prywatnej.
Jest używany do bezpiecznej, stabilnej i spójnej komunikacji między twoim centrum danych lub siecią a twoim środowiskiem AWS.
Zwykle używany do regularnych, długoterminowych połączeń i jest rozliczany na podstawie ilości danych przesyłanych przez połączenie.
Punkt końcowy klienta VPN:
Punkt końcowy klienta VPN to zasób, który tworzysz w AWS, aby umożliwić i zarządzać sesjami klienta VPN.
Jest używany do umożliwienia indywidualnym urządzeniom (takim jak laptopy, smartfony itp.) bezpiecznego połączenia z zasobami AWS lub twoją lokalną siecią.
Różni się od VPN Site-to-Site tym, że jest zaprojektowany dla indywidualnych klientów, a nie do łączenia całych sieci.
Z klientem VPN każde urządzenie klienckie używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia.
Połącz swoją lokalną sieć z twoim VPC.
Połączenie VPN: Bezpieczne połączenie między twoim sprzętem lokalnym a twoimi VPC.
Tunel VPN: Szyfrowane połączenie, przez które dane mogą przechodzić z sieci klienta do AWS lub odwrotnie.
Każde połączenie VPN zawiera dwa tunele VPN, które możesz jednocześnie używać dla wysokiej dostępności.
Brama klienta: Zasób AWS, który dostarcza informacje do AWS o twoim urządzeniu bramy klienta.
Urządzenie bramy klienta: Fizyczne urządzenie lub aplikacja programowa po twojej stronie połączenia VPN Site-to-Site.
Wirtualna brama prywatna: Koncentrator VPN po stronie Amazon w połączeniu VPN Site-to-Site. Używasz wirtualnej bramy prywatnej lub bramy tranzytowej jako bramy po stronie Amazon w połączeniu VPN Site-to-Site.
Brama tranzytowa: Hub tranzytowy, który może być używany do łączenia twoich VPC i lokalnych sieci. Używasz bramy tranzytowej lub wirtualnej bramy prywatnej jako bramy po stronie Amazon w połączeniu VPN Site-to-Site.
Ruch IPv6 nie jest obsługiwany dla połączeń VPN na wirtualnej bramie prywatnej.
Połączenie VPN AWS nie obsługuje odkrywania MTU ścieżki.
Dodatkowo, weź pod uwagę następujące kwestie, gdy używasz VPN Site-to-Site.
Podczas łączenia swoich VPC z wspólną lokalną siecią, zalecamy użycie niepokrywających się bloków CIDR dla twoich sieci.
Połącz się z twojego urządzenia z twoim VPC
Punkt końcowy klienta VPN: Zasób, który tworzysz i konfigurujesz, aby umożliwić i zarządzać sesjami klienta VPN. To zasób, w którym kończą się wszystkie sesje klienta VPN.
Sieć docelowa: Sieć docelowa to sieć, którą przypisujesz do punktu końcowego klienta VPN. Podsieć z VPC jest siecią docelową. Przypisanie podsieci do punktu końcowego klienta VPN umożliwia nawiązanie sesji VPN. Możesz przypisać wiele podsieci do punktu końcowego klienta VPN 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 klienta VPN ma tablicę tras, która opisuje dostępne trasy sieciowe. Każda trasa w tablicy tras określa ścieżkę dla ruchu do określonych zasobów lub sieci.
Zasady autoryzacji: Zasada autoryzacji ogranicza użytkowników, którzy mogą uzyskać dostęp do sieci. Dla określonej sieci konfigurujesz grupę Active Directory lub dostawcy tożsamości (IdP), która ma dostęp. Tylko użytkownicy należący do tej grupy mogą uzyskać dostęp do określonej sieci. Domyślnie nie ma zasad autoryzacji i musisz skonfigurować zasady 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 klienta VPN, aby nawiązać sesję VPN. Użytkownicy końcowi muszą pobrać klienta OpenVPN i użyć pliku konfiguracyjnego punktu końcowego klienta VPN, który utworzyłeś, aby nawiązać sesję VPN.
Zakres CIDR klienta: Zakres adresów IP, z którego przypisywane są adresy IP klienta. Każde połączenie z punktem końcowym klienta VPN otrzymuje unikalny adres IP z zakresu CIDR klienta. Wybierasz zakres CIDR klienta, na przykład 10.2.0.0/16
.
Porty klienta VPN: Klient VPN AWS obsługuje porty 443 i 1194 zarówno dla TCP, jak i UDP. Domyślnie jest to port 443.
Interfejsy sieciowe klienta VPN: Gdy przypisujesz podsieć do swojego punktu końcowego klienta VPN, tworzymy interfejsy sieciowe klienta VPN w tej podsieci. Ruch wysyłany do VPC z punktu końcowego klienta VPN jest wysyłany przez interfejs sieciowy klienta VPN. Następnie stosuje się translację adresu źródłowego (SNAT), gdzie adres IP źródłowy z zakresu CIDR klienta jest tłumaczony na adres IP interfejsu sieciowego klienta VPN.
Rejestrowanie połączeń: Możesz włączyć rejestrowanie połączeń dla swojego punktu końcowego klienta VPN, aby rejestrować zdarzenia połączeń. Możesz użyć tych informacji do przeprowadzania analizy, analizowania, jak twój punkt końcowy klienta VPN jest używany, lub debugowania problemów z połączeniem.
Portal samoobsługowy: Możesz włączyć portal samoobsługowy dla swojego punktu końcowego klienta VPN. Klienci mogą zalogować się do portalu internetowego, używając swoich danych uwierzytelniających, i pobrać najnowszą wersję pliku konfiguracyjnego punktu końcowego klienta VPN lub najnowszą wersję klienta dostarczonego przez AWS.
Zakresy CIDR klienta nie mogą pokrywać się z lokalnym CIDR VPC, w którym znajduje się przypisana podsieć, ani z żadnymi trasami ręcznie dodanymi do tablicy tras punktu końcowego klienta VPN.
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 klienta VPN i nie może być przypisana do klientów. Dlatego zalecamy, abyś przypisał blok CIDR, który zawiera dwukrotność liczby wymaganych adresów IP, aby umożliwić maksymalną liczbę jednoczesnych połączeń, które planujesz obsługiwać na punkcie końcowym klienta VPN.
Zakres CIDR klienta nie może być zmieniany po utworzeniu punktu końcowego klienta VPN.
Podsieci przypisane do punktu końcowego klienta VPN muszą znajdować się w tym samym VPC.
Nie możesz przypisać wielu podsieci z tej samej strefy dostępności do punktu końcowego klienta VPN.
Punkt końcowy klienta VPN nie obsługuje przypisania podsieci w dedykowanym VPC.
Klient VPN obsługuje tylko ruch IPv4.
Klient VPN nie jest zgodny z Federal Information Processing Standards (FIPS).
Jeśli uwierzytelnianie wieloskładnikowe (MFA) jest wyłączone dla twojej Active Directory, hasło użytkownika nie może być w następującym formacie.
Portal samoobsługowy nie jest dostępny dla klientów, którzy uwierzytelniają się za pomocą uwierzytelniania wzajemnego.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)