AWS - VPC & Networking Basic Information

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

AWS Netwerke in 'n Neutedop

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

Hierdie VPC-netwerk is verdeel in subnetwerke, dus is 'n subnetwerk direk verwant aan die VPC, roetetabel en netwerk ACL.

Dan is Netwerkinterfaces wat aan dienste geheg is (soos EC2-instanies) verbind met die subnetwerke met sekuriteitsgroepe.

Daarom sal 'n sekuriteitsgroep die blootgestelde poorte van die netwerk interfaces wat dit gebruik, beperk, onafhanklik van die subnetwerk. En 'n netwerk ACL sal die blootgestelde poorte beperk tot die hele netwerk.

Verder, om toegang tot die internet te verkry, is daar 'n paar interessante konfigurasies om te kontroleer:

  • 'n Subnetwerk kan outomaties openbare IPv4-adresse toewys

  • 'n instansie wat in die netwerk geskep is wat IPv4-adresse outomaties toewys, kan een kry

  • 'n Internetkoppelvlak moet aan die VPC geheg word

  • Jy kan ook Uitgaande-internetkoppelvlakke gebruik

  • Jy kan ook 'n NAT-koppelvlak hê in 'n privaat subnet sodat dit moontlik is om vanaf daardie privaat subnet na eksterne dienste te koppel, maar dit is nie moontlik om hulle van buiteaf te bereik nie.

  • Die NAT-koppelvlak kan openbaar (toegang tot die internet) of privaat (toegang tot ander VPC's) wees

VPC

Amazon Virtual Private Cloud (Amazon VPC) stel jou in staat om AWS-hulpbronne in 'n virtuele netwerk te begin wat jy gedefinieer het. Hierdie virtuele netwerk sal verskeie subnetwerke, Internetkoppelvlakke om toegang tot die internet te verkry, ACL's, Sekuriteitsgroepe, IP's hê...

Subnetwerke

Subnetwerke help om 'n hoër vlak van sekuriteit af te dwing. Logiese groepering van soortgelyke hulpbronne help jou ook om 'n gemak van bestuur regoor jou infrastruktuur te handhaaf.

  • Geldige CIDR is vanaf 'n /16 netmasker tot 'n /28 netmasker.

  • 'n Subnet kan nie terselfdertyd in verskillende beskikbaarheidsone wees nie.

  • AWS behou die eerste drie gas IP-adresse van elke subnet vir interne AWS-gebruik: die eerste gasadres wat gebruik word, is vir die VPC-roeteerder. Die tweede adres is gereserveer vir AWS DNS en die derde adres is gereserveer vir toekomstige gebruik.

  • Dit word openbare subnetwerke genoem wat direkte toegang tot die internet het, terwyl private subnetwerke dit nie het nie.

Roetetabelle

Roetetabelle bepaal die verkeersroete 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 volgende:

  • Plaaslike VPC

  • NAT

  • Internetkoppelvlakke / Uitgaande-internetkoppelvlakke (nodig om 'n VPC toegang tot die internet te gee).

  • Om 'n subnet openbaar te maak, moet jy 'n Internetkoppelvlak aan jou VPC skep en geheg word.

  • VPC-eindpunte (om S3 vanaf privaat netwerke te bereik)

In die volgende afbeeldings kan jy die verskille in 'n standaard openbare netwerk en 'n private een sien:

ACL's

Netwerktoegangsbeheerlyste (ACL's): Netwerk ACL's is firewall-reëls wat inkomende en uitgaande netwerkverkeer na 'n subnet beheer. Dit kan gebruik word om verkeer na spesifieke IP-adresse of reekse toe te laat of te ontken.

  • Dit is mees algemeen om toegang toe te laat/te ontken deur sekuriteitsgroepe te gebruik, maar dit is slegs 'n manier om gevestigde omgekeerde skulpe heeltemal te sny. 'n Gewysigde reël in 'n sekuriteitsgroep stop nie reeds gevestigde verbindings nie

  • Dit geld egter vir die hele subnetwerk, wees versigtig wanneer jy dinge verbied, omdat nodige funksionaliteit versteur kan word

Sekuriteitsgroepe

Sekuriteitsgroepe 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 oop te maak, soos poort 22 byvoorbeeld:

Elastiese IP-adresse

'n Elastiese IP-adres is 'n statiese IPv4-adres wat ontwerp is vir dinamiese wolkrekenaars. 'n Elastiese IP-adres word toegewys aan jou AWS-rekening, en is joune totdat jy dit vrylaat. 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 herkaart.

Verbinding tussen subnetwerke

Standaard het alle subnetwerke die outomatiese toekenning van openbare IP-adresse uitgeschakel maar dit kan aangeskakel word.

'n Plaaslike roete binne 'n roetetabel maak kommunikasie tussen VPC-subnetwerke moontlik.

As jy 'n subnet met 'n ander subnet verbind, kan jy nie toegang tot die subnette wat met die ander subnet verbind is nie, jy moet direk met hulle 'n verbinding skep. Dit geld ook vir internethekke. Jy kan nie deur 'n subnetverbinding gaan om toegang tot die internet te verkry nie, jy moet die internethek aan jou subnet toeken.

VPC-koppeling

VPC-koppeling maak dit moontlik om twee of meer VPC's aan mekaar te koppel, deur IPV4 of IPV6 te gebruik, asof hulle deel van dieselfde netwerk was.

Sodra die koppelvlak tot stand gebring is, kan hulpbronne in een VPC toegang tot hulpbronne in die ander verkry. Die koppeling tussen die VPC's word geïmplementeer deur die bestaande AWS-netwerkinfrastruktuur, en dit is dus hoogs beskikbaar sonder bandwydteknelpunte. Aangesien gekoppelde koppeling asof hulle deel van dieselfde netwerk was, is daar beperkings wanneer dit kom by jou CIDR-blokreeks wat gebruik kan word. As jy oorvleuelende of duplikaat CIDR-reeks vir jou VPC het, sal jy nie die VPC's kan koppel nie. Elke AWS VPC sal slegs met sy eweknie kommunikeer. Byvoorbeeld, as jy 'n koppelvlakverbinding tussen VPC 1 en VPC 2 het, en 'n ander verbinding tussen VPC 2 en VPC 3 soos getoon, kan VPC 1 en 2 direk met mekaar kommunikeer, so ook VPC 2 en VPC 3, maar VPC 1 en VPC 3 nie. Jy kan nie deur een VPC roete om by 'n ander te kom nie.

VPC-vloeilogte

Binne jou VPC kan jy moontlik honderde of selfs duisende hulpbronne hê wat kommunikeer tussen verskillende subnetwerke, beide openbare en private, en ook tussen verskillende VPC's deur VPC-koppelingsverbindinge. VPC-vloeilogte stel jou in staat om IP-verkeersinligting wat vloei tussen die netwerkinterfaces van jou hulpbronne binne jou VPC vas te vang.

In teenstelling met S3-toegangslogte en CloudFront-toegangslogte, word die logdata wat deur VPC-vloeilogte gegenereer word, nie in S3 gestoor nie. In plaas daarvan word die vasgevangde logdata na CloudWatch-logte gestuur.

Beperkings:

  • As jy 'n VPC-gekoppelde verbinding het, sal jy slegs vloei-logte van gekoppelde VPC's binne dieselfde rekening kan sien.

  • As jy steeds hulpbronne in die EC2-Classic-omgewing hardloop, kan jy ongelukkig nie inligting van hul koppelvlakke terugkry nie.

  • Sodra 'n VPC-vloeilog geskep is, kan dit nie verander word nie. Om die VPC-vloeilogkonfigurasie te verander, moet jy dit uitvee en dan 'n nuwe een skep.

  • Die volgende verkeer word nie gemonitor en vasgevang deur die logte nie. DHCP-verkeer binne die VPC, verkeer van instansies wat bestem is vir die Amazon DNS-bediener.

  • Enige verkeer wat bestem is vir die IP-adres van die VPC-standaardroeteerder en verkeer na en van die volgende adresse, 169.254.169.254 wat gebruik word vir die insameling van instansiemetagegewe, en 169.254.169.123 wat gebruik word vir die Amazon Time Sync-diens.

  • Verkeer wat verband hou met 'n Amazon Windows-aktiveringslisensie van 'n Windows-instansie

  • Verkeer tussen 'n netwerklaaibalansierderkoppelvlak en 'n eindpunt-netwerkkoppelvlak

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 vloeiloggebeurtenisdata wees wat die inhoud van die loginskrywings toon. Elkeen van hierdie logte vang data op gedurende 'n venster van ongeveer 10 tot 15 minute.

VPN

Basiese AWS VPN-komponente

  1. Kliënthek:

  • 'n Kliënthek 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 voorsien roetine-inligting en die openbare IP-adres van jou netwerktoestel (soos 'n router of 'n vuurwal) aan AWS om 'n Kliënthek te skep.

  • Dit dien as 'n verwysingspunt vir die opstel van die VPN-verbinding en dra nie addisionele kostes nie.

  1. Virtuele Privaathek:

  • 'n Virtuele Privaathek (VPG) is die VPN-konsentraator aan die Amazon-kant van die Site-to-Site VPN-verbinding.

  • Dit is aan jou VPC geheg 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 koppel jou plaaslike netwerk aan 'n VPC deur 'n veilige, IPsec VPN-tunnel.

  • Hierdie tipe verbinding vereis 'n Kliënthek en 'n Virtuele Privaathek.

  • Dit word gebruik vir veilige, stabiele en konstante kommunikasie tussen jou data-sentrum of netwerk en jou AWS-omgewing.

  • Gewoonlik gebruik vir gereelde, langtermynverbindinge 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 moontlik te maak en te bestuur.

  • Dit word gebruik om individuele toestelle (soos draagbare rekenaars, slimfone, ens.) toe te laat om veilig met AWS-hulpbronne of jou plaaslike netwerk te verbind.

  • Dit verskil van Site-to-Site VPN daarin dat dit ontwerp is vir individuele kliënte eerder as om hele netwerke te koppel.

  • Met Kliënt-VPN gebruik elke kliënttoestel 'n VPN-kliënt sagteware om 'n veilige verbinding tot stand te bring.

Site-to-Site VPN

Koppel jou plaaslike netwerk met jou VPC.

  • VPN-verbinding: 'n veilige verbinding tussen jou plaaslike toerusting en jou VPC's.

  • VPN-tunnel: 'n versleutelde 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ënthek: 'n AWS-hulpbron wat inligting aan AWS verskaf oor jou kliënthektoestel.

  • Kliënthektoestel: 'n fisiese toestel of sagtewaretoepassing aan jou kant van die Site-to-Site VPN-verbinding.

  • Virtuele privaathek: Die VPN-konsentraator aan die Amazon-kant van die Site-to-Site VPN-verbinding. Jy gebruik 'n virtuele privaathek of 'n transitotheek as die hek vir die Amazon-kant van die Site-to-Site VPN-verbinding.

  • Transitotheek: 'n transitotheek wat gebruik kan word om jou VPC's en plaaslike netwerke met mekaar te verbind. Jy gebruik 'n transitotheek of virtuele privaathek as die hek vir die Amazon-kant van die Site-to-Site VPN-verbinding.

Beperkings

  • IPv6-verkeer word nie ondersteun vir VPN-verbindinge op 'n virtuele privaat gateway nie.

  • 'n AWS VPN-verbinding ondersteun nie Path MTU Discovery nie.

Daarbenewens moet die volgende in ag geneem word wanneer jy Site-to-Site VPN gebruik.

  • Wanneer jy jou VPC's aan 'n gemeenskaplike on-premises netwerk koppel, beveel ons aan dat jy nie-oorvleuelende CIDR-blokkies vir jou netwerke gebruik.

Kliënt VPN

Verbind vanaf jou rekenaar na jou VPC

Konsepte

  • Kliënt VPN-eindpunt: Die hulpbron wat jy skep en konfigureer om kliënt VPN-sessies moontlik te maak en te bestuur. Dit is die hulpbron waar al die kliënt VPN-sessies beeïndig word.

  • Teiken netwerk: 'n Teiken netwerk is die netwerk wat jy assosieer met 'n Kliënt VPN-eindpunt. 'n Subnet van 'n VPC is 'n teiken netwerk. Om 'n subnet met 'n Kliënt VPN-eindpunt te assosieer, maak dit dit moontlik 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 Beskikbaarheidsonderneming behoort.

  • Roete: Elke Kliënt VPN-eindpunt het 'n roetetabel wat die beskikbare bestemmingsnetwerke beskryf. Elke roete in die roetetabel spesifiseer die pad vir verkeer na spesifieke bronne of netwerke.

  • Outoriseringsreëls: 'n Outoriseringsreël beperk die gebruikers wat toegang kan verkry tot 'n netwerk. Vir 'n gespesifiseerde netwerk, konfigureer jy die Active Directory of identiteitsverskaffer (IdP) groep wat toegang kry. Slegs gebruikers wat aan hierdie groep behoort, kan toegang verkry tot die gespesifiseerde netwerk. Standaard is daar geen outoriseringsreëls nie en jy moet outoriseringsreëls konfigureer om gebruikers in staat te stel om hulpbronne en netwerke te benader.

  • Kliënt: Die eindgebruiker wat koppel na die Kliënt VPN-eindpunt 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 toegewys word. Elke verbinding na die Kliënt VPN-eindpunt word 'n unieke IP-adres toegewys uit die kliënt CIDR-reeks. 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 verstekpoort is poort 443.

  • Kliënt VPN-netwerkinterfaces: Wanneer jy 'n subnet assosieer met jou Kliënt VPN-eindpunt, skep ons Kliënt VPN-netwerkinterfaces in daardie subnet. Verkeer wat vanaf die Kliënt VPN-eindpunt na die VPC gestuur word, word deur 'n Kliënt VPN-netwerkinterface gestuur. Bronnetwerkadresvertaling (SNAT) word dan toegepas, waar die bron-IP-adres van die kliënt CIDR-reeks vertaal word na die IP-adres van die Kliënt VPN-netwerkinterface.

  • Verbindingslogging: Jy kan verbindingslogging aktiveer vir jou Kliënt VPN-eindpunt om verbindingsgebeure te log. Jy kan hierdie inligting gebruik om forensies uit te voer, te analiseer hoe jou Kliënt VPN-eindpunt gebruik word, of verbindingsprobleme te ontleed.

  • Selfbedieningsportaal: Jy kan 'n selfbedieningsportaal aktiveer vir jou Kliënt VPN-eindpunt. Kliënte kan inlog op die webgebaseerde portaal met hul geloofsbriewe en die nuutste weergawe van die Kliënt VPN-eindpunt konfigurasie-lêer aflaai, of die nuutste weergawe van die deur AWS voorsiene kliënt.

Beperkings

  • Kliënt CIDR-reeks kan nie oorvleuel met die plaaslike CIDR van die VPC waarin die geassosieerde subnet geleë is, of enige roetes wat handmatig by die Kliënt VPN-eindpunt se roetetabel gevoeg is nie.

  • Kliënt CIDR-reekse moet 'n blokgrootte van ten minste /22 hê en mag nie groter as /12 wees nie.

  • 'n Gedeelte 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 toegewys word nie. Daarom beveel ons aan dat jy 'n CIDR-blok toewys wat dubbel die aantal IP-adresse bevat wat benodig word om die maksimum aantal gelyktydige verbindings wat jy beplan om op die Kliënt VPN-eindpunt te ondersteun, te aktiveer.

  • Die kliënt CIDR-reeks kan nie verander word nadat jy die Kliënt VPN-eindpunt geskep het nie.

  • Die subnets wat geassosieer is met 'n Kliënt VPN-eindpunt moet in dieselfde VPC wees.

  • Jy kan nie verskeie subnets van dieselfde Beskikbaarheidsonderneming met 'n Kliënt VPN-eindpunt assosieer nie.

  • 'n Kliënt VPN-eindpunt ondersteun nie subnet-assosiasies in 'n toegewyde tenancy VPC nie.

  • Kliënt VPN ondersteun slegs IPv4-verkeer.

  • Kliënt VPN is nie Federal Information Processing Standards (FIPS) kompatibel nie.

  • As multi-faktor outentifikasie (MFA) gedeaktiveer is vir jou Active Directory, kan 'n gebruikerswagwoord nie in die volgende formaat wees nie.

SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • Die selfbedieningsportaal is nie beskikbaar vir kliënte wat outentifiseer met wederkerige outentifikasie nie.

Last updated