AWS - VPC & Networking Basiese Inligting

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

AWS Netwerk in ’n Neutskil

’n VPC bevat ’n netwerk CIDR soos 10.0.0.0/16 (met sy routeringstabel en netwerk ACL).

Hierdie VPC-netwerk is verdeel in subnetwerke, so ’n subnetwerk is direk verwant aan die VPC, routering tabel en netwerk ACL.

Dan is Netwerkinterfaces wat aan dienste (soos EC2-instansies) gekoppel is, verbonden met die subnetwerke met veiligheidsgroep(e).

Daarom sal ’n veiligheidsgroep die blootgestelde poorte van die netwerk interfaces wat dit gebruik, onafhanklik van die subnetwork beperk. En ’n netwerk ACL sal die blootgestelde poorte tot die hele netwerk beperk.

Boonop, om toegang tot die Internet te verkry, is daar ’n paar interessante konfigurasies om na te kyk:

  • ’n subnetwerk kan outomaties openbare IPv4-adresse toewys
  • ’n instansie wat in die netwerk geskep is wat outomaties IPv4-adresse toewys, kan een kry
  • ’n Internet-gateway moet aan die VPC gekoppel wees
  • Jy kan ook Egress-only internet gateways gebruik
  • Jy kan ook ’n NAT-gateway in ’n privaat subnet hĆŖ sodat dit moontlik is om verbinding te maak met eksterne dienste vanaf daardie private subnet, maar dit is nie moontlik om hulle van buite te bereik nie.
  • Die NAT-gateway kan publiek wees (toegang tot die internet) of privaat (toegang tot ander VPCs)

VPC

Amazon Virtuele Privaatsky (Amazon VPC) stel jou in staat om AWS-hulpbronne in ’n virtuele netwerk te ontplooi wat jy gedefinieer het. Hierdie virtuele netwerk sal verskeie subnetwerke, Internet-gateways om toegang tot die Internet te verkry, ACLs, Veiligheidsgroepe, IPs…

Subnetwerke

Subnetwerke help om ’n groter vlak van sekuriteit af te dwing. Logiese groepe van soortgelyke hulpbronne help jou ook om ’n gemak van bestuur oor jou infrastruktuur te handhaaf.

  • Geldige CIDR is van ’n /16 netmask tot ’n /28 netmask.
  • ’n Subnet kan nie in verskillende beskikbaarheidsone op dieselfde tyd wees nie.
  • AWS reserveer die eerste drie gasheer IP-adresse van elke subnet vir interne AWS-gebruik: die eerste gasheeradres wat gebruik word, is vir die VPC-router. Die tweede adres is gereserveer vir AWS DNS en die derde adres is gereserveer vir toekomstige gebruik.
  • Dit word publieke subnetwerke genoem vir diegene wat direkte toegang tot die Internet het, terwyl private subnetwerke dit nie het nie.

Routeringstabelle

Routeringstabelle bepaal die verkeerroutering vir ’n subnet binne ’n VPC. Hulle bepaal watter netwerkverkeer na die internet of na ’n VPN-verbinding gestuur word. Jy sal gewoonlik toegang vind tot die:

  • Plaaslike VPC
  • NAT
  • Internet-gateways / Egress-only Internet gateways (nodig om ’n VPC toegang tot die Internet te gee).
  • Om ’n subnet publiek te maak, moet jy ’n Internet-gateway skep en aanheg aan jou VPC.
  • VPC-eindpunte (om toegang tot S3 vanaf private netwerke te verkry)

In die volgende beelde kan jy die verskille in ’n standaard publieke netwerk en ’n private een nagaan:

ACLs

Netwerk Toegang Beheer Lyste (ACLs): Netwerk ACLs is firewall-reĆ«ls wat inkomende en uitgaande netwerkverkeer na ’n subnet beheer. Hulle kan gebruik word om verkeer na spesifieke IP-adresse of reekse toe te laat of te weier.

  • Dit is die mees algemene om toegang toe te laat/te weier met behulp van veiligheidsgroepe, maar dit is die enigste manier om gevestigde omgekeerde skulpies heeltemal te sny. ’n Gewysigde reĆ«l in ’n veiligheidsgroep stop nie reeds gevestigde verbindings nie.
  • Dit geld egter vir die hele subnetwerk, wees versigtig wanneer jy goed verbied omdat nodige funksionaliteit dalk versteur kan word.

Veiligheidsgroepe

Veiligheidsgroepe is ’n virtuele firewall wat inkomende en uitgaande netwerk verkeer na instansies in ’n VPC beheer. Verhouding 1 SG tot M instansies (gewoonlik 1 tot 1).
Gewoonlik word dit gebruik om gevaarlike poorte in instansies te open, soos poort 22 byvoorbeeld:

Elastiese IP Adresse

’n Elastiese IP adres is ’n statische IPv4 adres ontwerp vir dinamiese wolkrekenaars. ’n Elastiese IP adres word aan jou AWS-rekening toegeken, en is joune totdat jy dit vrystel. Deur ’n Elastiese IP adres te gebruik, kan jy die mislukking van ’n instansie of sagteware maskeer deur die adres vinnig na ’n ander instansie in jou rekening te herverdeel.

Verbinding tussen subnetwerke

Standaard het alle subnetwerke die outomatiese toewysing van openbare IP-adresse afgeskakel, maar dit kan aangeskakel word.

’n Plaaslike roete binne ’n routeringstabel stel kommunikasie tussen VPC-subnetwerke in staat.

As jy ’n subnet met ’n ander subnet verbind, kan jy nie toegang verkry tot die subnetwerke wat met die ander subnet verbind is nie, jy moet direk verbinding met hulle maak. Dit geld ook vir internet-gateways. Jy kan nie deur ’n subnetverbinding gaan om toegang tot die internet te verkry nie, jy moet die internet-gateway aan jou subnet toewys.

VPC Peering

VPC-peering stel jou in staat om twee of meer VPCs saam te verbind, met behulp van IPV4 of IPV6, asof hulle deel van dieselfde netwerk is.

Sodra die peerverbinding gevestig is, kan hulpbronne in een VPC toegang verkry tot hulpbronne in die ander. Die verbinding tussen die VPCs word deur die bestaande AWS-netwerkinfrastruktuur geĆÆmplementeer, en is dus hoogs beskikbaar sonder enige bandwydte-bottlenecks. Aangesien gepeerde verbindings werk asof hulle deel van dieselfde netwerk is, is daar beperkings wanneer dit kom by jou CIDR-blokreekse wat gebruik kan word.
As jy oorlappende of duplikaat CIDR reekse vir jou VPC het, dan sal jy nie in staat wees om die VPCs saam te peer nie.
Elke AWS VPC sal slegs met sy peer kommunikeer. As ’n voorbeeld, as jy ’n peeringverbinding tussen VPC 1 en VPC 2 het, en ’n ander verbinding tussen VPC 2 en VPC 3 soos getoon, dan kan VPC 1 en 2 direk met mekaar kommunikeer, soos VPC 2 en VPC 3, maar VPC 1 en VPC 3 kan nie. Jy kan nie deur een VPC roete om by ’n ander te kom nie.

VPC Stroomlogs

Binne jou VPC kan jy potensieel honderde of selfs duisende hulpbronne hĆŖ wat tussen verskillende subnetwerke kommunikeer, beide publiek en privaat, en ook tussen verskillende VPCs deur VPC-peeringverbindinge. VPC Stroomlogs stel jou in staat om IP-verkeersinligting vas te vang wat tussen jou netwerkinterfaces van jou hulpbronne binne jou VPC vloei.

In teenstelling met S3-toeganglogs en CloudFront-toeganglogs, is die logdata wat deur VPC Stroomlogs gegenereer word, nie in S3 gestoor nie. In plaas daarvan word die logdata wat vasgevang word, na CloudWatch-logs gestuur.

Beperkings:

  • As jy ’n VPC-gepeerde verbinding het, sal jy slegs die stroomlogs van gepeerde VPCs wat binne dieselfde rekening is, kan sien.
  • As jy steeds hulpbronne binne die EC2-Klassieke omgewing bestuur, kan jy ongelukkig nie inligting van hul interfaces verkry nie.
  • Sodra ’n VPC Stroomlog geskep is, kan dit nie gewysig word nie. Om die VPC Stroomlog-konfigurasie te verander, moet jy dit verwyder en dan ’n nuwe een herskep.
  • Die volgende verkeer word nie gemonitor en vasgevang deur die logs nie. DHCP-verkeer binne die VPC, verkeer van instansies wat bestem is vir die Amazon DNS-server.
  • Enige verkeer wat bestem is vir die IP-adres van die VPC se standaardrouter en verkeer na en van die volgende adresse, 169.254.169.254 wat gebruik word om instansiemetadataversameling, en 169.254.169.123 wat gebruik word vir die Amazon Tyd Sink diens.
  • Verkeer wat verband hou met ’n Amazon Windows aktiveringslisensie van ’n Windows-instansie
  • Verkeer tussen ’n netwerklaaibalansierinterface en ’n eindpuntnetwerkinterface

Vir elke netwerkinterface wat data na die CloudWatch-loggroep publiseer, sal dit ’n ander logstroom gebruik. En binne elkeen van hierdie strome sal daar die stroomloggebeurtenisdata wees wat die inhoud van die loginskrywings toon. Elke een van hierdie logs vang data tydens ’n venster van ongeveer 10 tot 15 minute.

VPN

Basiese AWS VPN Komponente

  1. Kliƫnt Gateway:
  • ’n KliĆ«nt Gateway is ’n hulpbron wat jy in AWS skep om jou kant van ’n VPN-verbinding te verteenwoordig.
  • Dit is essensieel ’n fisiese toestel of sagtewaretoepassing aan jou kant van die Site-to-Site VPN-verbinding.
  • Jy verskaf routeringinligting en die openbare IP-adres van jou netwerktoestel (soos ’n router of ’n firewall) aan AWS om ’n KliĆ«nt Gateway te skep.
  • Dit dien as ’n verwysingspunt vir die opstelling van die VPN-verbinding en bring geen addisionele koste mee nie.
  1. Virtuele Privaatsky Gateway:
  • ’n Virtuele Privaatsky Gateway (VPG) is die VPN-konsentrasie aan die Amazon-kant van die Site-to-Site VPN-verbinding.
  • Dit is aan jou VPC gekoppel en dien as die teiken vir jou VPN-verbinding.
  • VPG is die AWS-kant eindpunt vir die VPN-verbinding.
  • Dit hanteer die veilige kommunikasie tussen jou VPC en jou plaaslike netwerk.
  1. Site-to-Site VPN Verbinding:
  • ’n Site-to-Site VPN-verbinding verbind jou plaaslike netwerk met ’n VPC deur ’n veilige, IPsec VPN-tunnel.
  • Hierdie tipe verbinding vereis ’n KliĆ«nt Gateway en ’n Virtuele Privaatsky Gateway.
  • Dit word gebruik vir veilige, stabiele en konsekwente kommunikasie tussen jou datacentrum of netwerk en jou AWS-omgewing.
  • Gewoonlik gebruik vir gereelde, langtermynverbindingen en word gefaktureer op grond van die hoeveelheid data wat oor die verbinding oorgedra word.
  1. Kliƫnt VPN Eindpunt:
  • ’n KliĆ«nt VPN-eindpunt is ’n hulpbron wat jy in AWS skep om kliĆ«nt VPN-sessies te aktiveer en te bestuur.
  • Dit word gebruik om individuele toestelle (soos skootrekenaars, slimfone, ens.) veilig met AWS-hulpbronne of jou plaaslike netwerk te verbind.
  • Dit verskil van Site-to-Site VPN in die sin dat dit ontwerp is vir individuele kliĆ«nte eerder as om hele netwerke te verbind.
  • Met KliĆ«nt VPN gebruik elke kliĆ«nttoestel ’n VPN-kliĆ«nt sagteware om ’n veilige verbinding te vestig.

Site-to-Site VPN

Verbind jou plaaslike netwerk met jou VPC.

  • VPN-verbinding: ’n Veilige verbinding tussen jou plaaslike toerusting en jou VPCs.
  • VPN-tunnel: ’n GeĆ«nkripteerde skakel waar data van die kliĆ«ntnetwerk na of van AWS kan beweeg.

Elke VPN-verbinding sluit twee VPN-tunnels in wat jy gelyktydig kan gebruik vir hoƫ beskikbaarheid.

  • KliĆ«ntgateway: ’n AWS-hulpbron wat inligting aan AWS verskaf oor jou kliĆ«ntgateway-toestel.
  • KliĆ«ntgateway-toestel: ’n Fisiese toestel of sagtewaretoepassing aan jou kant van die Site-to-Site VPN-verbinding.
  • Virtuele privaatsky-gateway: Die VPN-konsentrasie aan die Amazon-kant van die Site-to-Site VPN-verbinding. Jy gebruik ’n virtuele privaatsky-gateway of ’n transit-gateway as die gateway vir die Amazon-kant van die Site-to-Site VPN-verbinding.
  • Transit-gateway: ’n transit-hub wat gebruik kan word om jou VPCs en plaaslike netwerke met mekaar te verbind. Jy gebruik ’n transit-gateway of virtuele privaatsky-gateway as die gateway vir die Amazon-kant van die Site-to-Site VPN-verbinding.

Beperkings

  • IPv6-verkeer word nie ondersteun vir VPN-verbindinge op ’n virtuele privaatsky-gateway nie.
  • ’n AWS VPN-verbinding ondersteun nie Pad MTU Ontdekking nie.

Boonop, neem die volgende in ag wanneer jy Site-to-Site VPN gebruik.

  • Wanneer jy jou VPCs aan ’n gemeenskaplike plaaslike netwerk verbind, beveel ons aan dat jy nie-oorlappende CIDR-blokke vir jou netwerke gebruik.

Kliƫnt VPN

Verbind vanaf jou masjien met jou VPC

Konsepte

  • KliĆ«nt VPN eindpunt: Die hulpbron wat jy skep en konfigureer om kliĆ«nt VPN-sessies te aktiveer en te bestuur. Dit is die hulpbron waar al kliĆ«nt VPN-sessies beĆ«indig word.
  • Teiken netwerk: ’n Teiken netwerk is die netwerk wat jy met ’n KliĆ«nt VPN-eindpunt assosieer. ’n Subnet van ’n VPC is ’n teiken netwerk. Om ’n subnet met ’n KliĆ«nt VPN-eindpunt te assosieer, stel jou in staat om VPN-sessies te vestig. Jy kan verskeie subnets met ’n KliĆ«nt VPN-eindpunt assosieer vir hoĆ« beskikbaarheid. Alle subnets moet van dieselfde VPC wees. Elke subnet moet aan ’n ander beskikbaarheidsone behoort.
  • Roete: Elke KliĆ«nt VPN-eindpunt het ’n routeringstabel wat die beskikbare bestemmingsnetwerkroetes beskryf. Elke roete in die routeringstabel spesifiseer die pad vir verkeer na spesifieke hulpbronne of netwerke.
  • OutorisasiereĆ«ls: ’n autorisatiereĆ«l beperk die gebruikers wat toegang tot ’n netwerk kan verkry. Vir ’n spesifieke netwerk, konfigureer jy die Aktiewe Gids of identiteitsverskaffer (IdP) groep wat toegang verleen. Slegs gebruikers wat tot hierdie groep behoort, kan toegang tot die spesifieke netwerk verkry. Standaard is daar geen autorisatiereĆ«ls nie en jy moet autorisatiereĆ«ls konfigureer om gebruikers in staat te stel om toegang tot hulpbronne en netwerke te verkry.
  • KliĆ«nt: Die eindgebruiker wat met die KliĆ«nt VPN-eindpunt verbind om ’n VPN-sessie te vestig. Eindgebruikers moet ’n OpenVPN-kliĆ«nt aflaai en die KliĆ«nt VPN-konfigurasie lĆŖer wat jy geskep het, gebruik om ’n VPN-sessie te vestig.
  • KliĆ«nt CIDR-reeks: ’n IP-adresreeks waaruit kliĆ«nt IP-adresse toegeken kan word. Elke verbinding met die KliĆ«nt VPN-eindpunt word aan ’n unieke IP-adres van die kliĆ«nt CIDR-reeks toegeken. Jy kies die kliĆ«nt CIDR-reeks, byvoorbeeld, 10.2.0.0/16.
  • KliĆ«nt VPN-poorte: AWS KliĆ«nt VPN ondersteun poorte 443 en 1194 vir beide TCP en UDP. Die standaard is poort 443.
  • KliĆ«nt VPN netwerkinterfaces: Wanneer jy ’n subnet met jou KliĆ«nt VPN-eindpunt assosieer, skep ons KliĆ«nt VPN-netwerkinterfaces in daardie subnet. Verkeer wat na die VPC van die KliĆ«nt VPN-eindpunt gestuur word, word deur ’n KliĆ«nt VPN-netwerkinterface gestuur. Bron netwerkadresvertaling (SNAT) word dan toegepas, waar die bron IP-adres van die kliĆ«nt CIDR-reeks na die KliĆ«nt VPN-netwerkinterface IP-adres vertaal word.
  • Verbindingslogging: Jy kan verbindingslogging vir jou KliĆ«nt VPN-eindpunt aktiveer om verbindingsgebeurtenisse te log. Jy kan hierdie inligting gebruik om forensiese ondersoeke te doen, te analiseer hoe jou KliĆ«nt VPN-eindpunt gebruik word, of verbindingsprobleme op te los.
  • Selfdiensportaal: Jy kan ’n selfdiensportaal vir jou KliĆ«nt VPN-eindpunt aktiveer. KliĆ«nte kan in die webgebaseerde portaal aanmeld met hul geloofsbriewe en die nuutste weergawe van die KliĆ«nt VPN-eindpunt konfigurasielĆŖer aflaai, of die nuutste weergawe van die AWS verskafde kliĆ«nt.

Beperkings

  • KliĆ«nt CIDR-reekse kan nie oorvleuel met die plaaslike CIDR van die VPC waarin die geassosieerde subnet geleĆ« is nie, of enige roetes wat handmatig aan die KliĆ«nt VPN-eindpunt se routeringstabel bygevoeg is.
  • KliĆ«nt CIDR-reekse moet ’n blokgrootte van ten minste /22 hĆŖ en mag nie groter wees as /12 nie.
  • ’n Deel van die adresse in die kliĆ«nt CIDR-reeks word gebruik om die beskikbaarheidsmodel van die KliĆ«nt VPN-eindpunt te ondersteun, en kan nie aan kliĆ«nte toegeken word nie. Daarom beveel ons aan dat jy ’n CIDR-blok toewys wat twee keer die aantal IP-adresse bevat wat benodig word om die maksimum aantal gelyktydige verbindings wat jy van plan is om te ondersteun op die KliĆ«nt VPN-eindpunt, te aktiveer.
  • Die kliĆ«nt CIDR-reeks kan nie verander word nadat jy die KliĆ«nt VPN-eindpunt geskep het nie.
  • Die subnets wat met ’n KliĆ«nt VPN-eindpunt geassosieer is, moet in dieselfde VPC wees.
  • Jy kan nie verskeie subnets van dieselfde beskikbaarheidsone met ’n KliĆ«nt VPN-eindpunt assosieer nie.
  • ’n KliĆ«nt VPN-eindpunt ondersteun nie subnetassosiasies in ’n toegewyde huur VPC nie.
  • KliĆ«nt VPN ondersteun IPv4 verkeer slegs.
  • KliĆ«nt VPN is nie Federale Inligting Verwerkingsstandaarde (FIPS) konform nie.
  • As multi-faktor verifikasie (MFA) vir jou Aktiewe Gids gedeaktiveer is, kan ’n gebruikerswagwoord nie in die volgende formaat wees nie.
SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • Die selfdiensportaal is nie beskikbaar vir kliĆ«nte wat met behulp van wederkerige verifikasie autentiseer nie.

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks