# AWS - VPC & Networking Osnovne Informacije

{{#include ../../../../banners/hacktricks-training.md}}

## AWS Mrežno Ukratko

**VPC** sadrži **mrežni CIDR** kao što je 10.0.0.0/16 (sa svojom **routing tabelom** i **mrežnim ACL**).

Ova VPC mreža je podeljena na **podmreže**, tako da je **podmreža** direktno **povezana** sa **VPC**, **routing** **tabelom** i **mrežnim ACL**.

Zatim, **mrežne interfejse** povezane sa uslugama (kao što su EC2 instance) su **povezane** sa **podmrežama** uz **grupe sigurnosti**.

Stoga, **grupa sigurnosti** će ograničiti izložene portove mrežnih **interfejsa koji je koriste**, **nezavisno od podmreže**. A **mrežni ACL** će **ograničiti** izložene portove na **celu mrežu**.

Pored toga, da biste **pristupili Internetu**, postoje neka zanimljiva podešavanja koja treba proveriti:

- **Podmreža** može **automatski dodeliti javne IPv4 adrese**
- **Instanca** kreirana u mreži koja **automatski dodeljuje IPv4 adrese može dobiti jednu**
- **Internet gateway** treba da bude **priključen** na **VPC**
- Takođe možete koristiti **Egress-only internet gateways**
- Takođe možete imati **NAT gateway** u **privatnoj podmreži** tako da je moguće **povezati se sa spoljnim uslugama** iz te privatne podmreže, ali **nije moguće doći do njih sa spolja**.
- NAT gateway može biti **javan** (pristup internetu) ili **privatan** (pristup drugim VPC-ima)

![](<../../../../images/image (274).png>)

## VPC

Amazon **Virtual Private Cloud** (Amazon VPC) vam omogućava da **pokrenete AWS resurse u virtuelnoj mreži** koju ste definisali. Ova virtuelna mreža će imati nekoliko podmreža, Internet Gateway-e za pristup Internetu, ACL-e, grupe sigurnosti, IP adrese...

### Podmreže

Podmreže pomažu u sprovođenju višeg nivoa sigurnosti. **Logičko grupisanje sličnih resursa** takođe pomaže u održavanju **lakoće upravljanja** kroz vašu infrastrukturu.

- Validni CIDR su od /16 netmask do /28 netmask.
- Podmreža ne može biti u različitim dostupnim zonama u isto vreme.
- **AWS rezerviše prva tri host IP adrese** svake podmreže **za** **internu AWS upotrebu**: prva host adresa se koristi za VPC ruter. Druga adresa je rezervisana za AWS DNS, a treća adresa je rezervisana za buduću upotrebu.
- **Javne podmreže** su one koje imaju **direktan pristup Internetu, dok privatne podmreže nemaju.**

<figure><img src="https://lh5.googleusercontent.com/N_WTrTrDAHwN61FMKJvLSHVua2EM0IazHH1fSTg8JQfTChm-dLN9mn7wkjz2MlpD-uOUqtWdMZpqKOp4VxaHy5-5X66GD1K8y1UGc27r-GbHdFty9ImpXdcjEsC7u4vjxKme_B_HwDOUnG6camxENYECTw=s2048" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh3.googleusercontent.com/MmjfVzGmV4jM7tO8lVoTKONoeqbq6E40DGeKUoo4kN-lmMDKnEiGNB-gGVx3EvjK9UV844im225CA8aAjomHf1Modt3MramHrHZdEGbeSZncWhVuT9R8f7tQZ2pXjdSJxeNfErmJ-0mmcUaV6dcU0TAd2A=s2048" alt=""><figcaption></figcaption></figure>

### Tabele Rute

Tabele rute određuju usmeravanje saobraćaja za podmrežu unutar VPC-a. One određuju koji mrežni saobraćaj se prosleđuje internetu ili VPN konekciji. Obično ćete pronaći pristup do:

- Lokalnog VPC-a
- NAT
- Internet Gateway-a / Egress-only Internet gateway-a (neophodni za omogućavanje pristupa VPC-u internetu).
- Da biste napravili podmrežu javnom, potrebno je da **kreirate** i **priključite** **Internet gateway** na vaš VPC.
- VPC krajnje tačke (za pristup S3 iz privatnih mreža)

Na sledećim slikama možete proveriti razlike između podrazumevane javne mreže i privatne:

<figure><img src="https://lh3.googleusercontent.com/q4ASpcLAYqijdNMLhMLl8EoowDtTMU5I_7YCVfk7-5hxDyeQOik9ImHnD2SYy32XUA2qXjEbXTAxA1lP--znJASdhYOdBveDcrD42f9XBKZ3EmjJCazN3YPLC6oS0xtRMmfORuwCszmMt-KrAkH07_izwg=s2048" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh5.googleusercontent.com/30psylXAI0gRN6_LK-reP00aGIlMma64E1qafCVPunn6nS-y5jAO6Y2JiempKcf6-LFi7ScicYcOh7BbHEya2VWtksnFX_8SPXQf97tKkg2tNZzrArWbiDCCn2m2LP1QUq6MZ_KayH3yir7t8zpO7CEQOw=s2048" alt=""><figcaption></figcaption></figure>

### ACLs

**Mrežne Kontrolne Liste (ACLs)**: Mrežni ACL-ovi su pravila vatrozida koja kontrolišu dolazni i odlazni mrežni saobraćaj ka podmreži. Mogu se koristiti za dozvoljavanje ili odbijanje saobraćaja ka specifičnim IP adresama ili opsezima.

- Najčešće se koristi dozvoljavanje/odbijanje pristupa putem grupa sigurnosti, ali ovo je jedini način da se potpuno prekine uspostavljene obrnute ljuske. Izmenjeno pravilo u grupama sigurnosti ne zaustavlja već uspostavljene veze.
- Međutim, ovo se primenjuje na celu podmrežu, budite oprezni kada zabranjujete stvari jer potrebna funkcionalnost može biti ometena.

### Grupe Sigurnosti

Grupe sigurnosti su virtuelni **vatrozid** koji kontroliše dolazni i odlazni mrežni **saobraćaj ka instancama** u VPC-u. Odnos 1 SG na M instanci (obično 1 na 1).\
Obično se koristi za otvaranje opasnih portova u instancama, kao što je port 22 na primer:

<figure><img src="https://lh5.googleusercontent.com/LliB7eb3cYfkEyOpyw1-eYgWsn2kq1yF6uRn5VYndvOuTvDlURimYx9UvuK8F2impTLmx50mid4MdTXE-Ljt2i_rxaIfnKUdji_hFjCdU9tdoW-axng9-W4tSL71gbbjrPQ7IYY5lAdH_G3UoMRMGGGOxQ=s2048" alt=""><figcaption></figcaption></figure>

### Elastične IP Adrese

_Elastična IP adresa_ je **staticka IPv4 adresa** dizajnirana za dinamičko cloud računarstvo. Elastična IP adresa se dodeljuje vašem AWS nalogu i vaša je dok je ne oslobodite. Korišćenjem elastične IP adrese, možete maskirati kvar instance ili softvera brzo preusmeravajući adresu na drugu instancu u vašem nalogu.

### Povezivanje između podmreža

Podrazumevano, sve podmreže imaju **automatsko dodeljivanje javnih IP adresa isključeno**, ali to može biti uključeno.

**Lokalna ruta unutar tabele rute omogućava komunikaciju između VPC podmreža.**

Ako **povezujete podmrežu sa drugom podmrežom, ne možete pristupiti podmrežama povezanim** sa drugom podmrežom, morate direktno uspostaviti vezu sa njima. **Ovo se takođe odnosi na internet gateway-e**. Ne možete proći kroz vezu podmreže da biste pristupili internetu, morate dodeliti internet gateway svojoj podmreži.

### VPC Peering

VPC peering vam omogućava da **povežete dva ili više VPC-a zajedno**, koristeći IPV4 ili IPV6, kao da su deo iste mreže.

Jednom kada je uspostavljena veza, **resursi u jednom VPC-u mogu pristupiti resursima u drugom**. Povezanost između VPC-ova se implementira kroz postojeću AWS mrežnu infrastrukturu, i tako je visoko dostupna bez uskog grla u propusnosti. Kako **povezane veze funkcionišu kao da su deo iste mreže**, postoje ograničenja kada su u pitanju vaši CIDR opsezi koji se mogu koristiti.\
Ako imate **preklapajuće ili duplirane CIDR** opsege za vaš VPC, onda **nećete moći da povežete VPC-ove** zajedno.\
Svaki AWS VPC će **komunicirati samo sa svojim partnerom**. Na primer, ako imate vezu između VPC 1 i VPC 2, i drugu vezu između VPC 2 i VPC 3, kao što je prikazano, tada VPC 1 i 2 mogu direktno komunicirati jedni s drugima, kao i VPC 2 i VPC 3, međutim, VPC 1 i VPC 3 ne mogu. **Ne možete usmeravati kroz jedan VPC da biste došli do drugog.**

### **VPC Tokovi Logova**

Unutar vašeg VPC-a, potencijalno možete imati stotine ili čak hiljade resursa koji komuniciraju između različitih podmreža, kako javnih tako i privatnih, kao i između različitih VPC-ova putem VPC peering veza. **VPC Tokovi Logova vam omogućavaju da zabeležite informacije o IP saobraćaju koji teče između mrežnih interfejsa vaših resursa unutar vašeg VPC-a**.

Za razliku od S3 logova pristupa i CloudFront logova pristupa, **podaci logova generisani od strane VPC Tokova Logova se ne čuvaju u S3. Umesto toga, podaci logova se šalju u CloudWatch logove**.

Ograničenja:

- Ako pokrećete VPC peering vezu, tada ćete moći da vidite tokove logova samo za povezane VPC-ove koji su unutar istog naloga.
- Ako još uvek pokrećete resurse unutar EC2-Classic okruženja, nažalost nećete moći da dobijete informacije sa njihovih interfejsa.
- Kada je VPC Tok Logova kreiran, ne može se izmeniti. Da biste izmenili konfiguraciju VPC Tok Logova, morate ga obrisati i zatim kreirati novi.
- Sledeći saobraćaj se ne prati i ne beleži u logovima. DHCP saobraćaj unutar VPC-a, saobraćaj sa instanci namenjen Amazon DNS serveru.
- Bilo koji saobraćaj namenjen IP adresi za podrazumevani ruter VPC-a i saobraćaj do i od sledećih adresa, 169.254.169.254 koja se koristi za prikupljanje metapodataka instance, i 169.254.169.123 koja se koristi za Amazon Time Sync Service.
- Saobraćaj koji se odnosi na licencu za aktivaciju Windows-a iz Windows instance.
- Saobraćaj između interfejsa mrežnog balansiranja opterećenja i interfejsa krajnje tačke mreže.

Za svaki mrežni interfejs koji objavljuje podatke u CloudWatch grupu logova, koristiće se različit tok logova. I unutar svakog od ovih tokova, biće podaci o događajima logova koji prikazuju sadržaj log unosa. Svaki od ovih **logova beleži podatke tokom prozora od otprilike 10 do 15 minuta**.

## VPN

### Osnovne Komponente AWS VPN-a

1. **Kupčev Gateway**:
- Kupčev Gateway je resurs koji kreirate u AWS-u da biste predstavili vašu stranu VPN veze.
- To je u suštini fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- Pružate informacije o usmeravanju i javnu IP adresu vašeg mrežnog uređaja (kao što je ruter ili vatrozid) AWS-u da biste kreirali Kupčev Gateway.
- Služi kao referentna tačka za postavljanje VPN veze i ne izaziva dodatne troškove.
2. **Virtuelni Privatni Gateway**:
- Virtuelni Privatni Gateway (VPG) je VPN koncentrator na Amazon strani Site-to-Site VPN veze.
- Priključen je na vaš VPC i služi kao cilj za vašu VPN vezu.
- VPG je AWS strana krajnje tačke za VPN vezu.
- Rukuje sigurnom komunikacijom između vašeg VPC-a i vaše lokalne mreže.
3. **Site-to-Site VPN Veza**:
- Site-to-Site VPN veza povezuje vašu lokalnu mrežu sa VPC-om kroz sigurni, IPsec VPN tunel.
- Ova vrsta veze zahteva Kupčev Gateway i Virtuelni Privatni Gateway.
- Koristi se za sigurnu, stabilnu i doslednu komunikaciju između vašeg data centra ili mreže i vašeg AWS okruženja.
- Obično se koristi za redovne, dugoročne veze i naplaćuje se na osnovu količine podataka prenetih preko veze.
4. **Klijent VPN Krajnja Tačka**:
- Klijent VPN krajnja tačka je resurs koji kreirate u AWS-u da omogućite i upravljate klijent VPN sesijama.
- Koristi se za omogućavanje pojedinačnim uređajima (kao što su laptopi, pametni telefoni itd.) da se sigurno povežu sa AWS resursima ili vašom lokalnom mrežom.
- Razlikuje se od Site-to-Site VPN-a po tome što je dizajnirana za pojedinačne klijente, a ne za povezivanje celih mreža.
- Sa Klijent VPN-om, svaki klijentski uređaj koristi VPN klijentski softver za uspostavljanje sigurne veze.

### Site-to-Site VPN

**Povežite vašu lokalnu mrežu sa vašim VPC-om.**

- **VPN veza**: Sigurna veza između vaše lokalne opreme i vaših VPC-ova.
- **VPN tunel**: Enkriptovana veza kroz koju podaci mogu prolaziti iz mreže kupca ka AWS-u ili obrnuto.

Svaka VPN veza uključuje dva VPN tunela koja možete istovremeno koristiti za visoku dostupnost.

- **Kupčev gateway**: AWS resurs koji pruža informacije AWS-u o vašem uređaju kupčevog gateway-a.
- **Uređaj kupčevog gateway-a**: Fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- **Virtuelni privatni gateway**: VPN koncentrator na Amazon strani Site-to-Site VPN veze. Koristite virtuelni privatni gateway ili transit gateway kao gateway za Amazon stranu Site-to-Site VPN veze.
- **Transit gateway**: Transit hub koji se može koristiti za međusobno povezivanje vaših VPC-ova i lokalnih mreža. Koristite transit gateway ili virtuelni privatni gateway kao gateway za Amazon stranu Site-to-Site VPN veze.

#### Ograničenja

- IPv6 saobraćaj nije podržan za VPN veze na virtuelnom privatnom gateway-u.
- AWS VPN veza ne podržava Path MTU Discovery.

Pored toga, uzmite u obzir sledeće kada koristite Site-to-Site VPN.

- Kada povezujete svoje VPC-ove sa zajedničkom lokalnom mrežom, preporučujemo da koristite nepreklapajuće CIDR blokove za vaše mreže.

### Klijent VPN <a href="#what-is-components" id="what-is-components"></a>

**Povežite se sa vašeg računara na vaš VPC**

#### Koncepti

- **Klijent VPN krajnja tačka:** Resurs koji kreirate i konfigurišete da omogućite i upravljate klijent VPN sesijama. To je resurs gde se sve klijent VPN sesije završavaju.
- **Ciljna mreža:** Ciljna mreža je mreža koju povezujete sa Klijent VPN krajnjom tačkom. **Podmreža iz VPC-a je ciljana mreža**. Povezivanje podmreže sa Klijent VPN krajnjom tačkom omogućava vam da uspostavite VPN sesije. Možete povezati više podmreža sa Klijent VPN krajnjom tačkom za visoku dostupnost. Sve podmreže moraju biti iz iste VPC. Svaka podmreža mora pripadati različitoj dostupnoj zoni.
- **Ruta**: Svaka Klijent VPN krajnja tačka ima tabelu ruta koja opisuje dostupne odredišne mrežne rute. Svaka ruta u tabeli ruta specificira putanju za saobraćaj ka specifičnim resursima ili mrežama.
- **Pravila autorizacije:** Pravilo autorizacije **ograničava korisnike koji mogu pristupiti mreži**. Za određenu mrežu, konfigurišete Active Directory ili grupu provajdera identiteta (IdP) kojoj je dozvoljen pristup. Samo korisnici koji pripadaju ovoj grupi mogu pristupiti određenoj mreži. **Podrazumevano, nema pravila autorizacije** i morate konfigurisati pravila autorizacije da omogućite korisnicima pristup resursima i mrežama.
- **Klijent:** Krajnji korisnik koji se povezuje na Klijent VPN krajnju tačku da uspostavi VPN sesiju. Krajnji korisnici treba da preuzmu OpenVPN klijent i koriste konfiguracioni fajl Klijent VPN-a koji ste kreirali da uspostave VPN sesiju.
- **Klijent CIDR opseg:** Opseg IP adresa iz kojeg se dodeljuju klijentske IP adrese. Svaka veza sa Klijent VPN krajnjom tačkom dodeljuje jedinstvenu IP adresu iz klijent CIDR opsega. Birate klijent CIDR opseg, na primer, `10.2.0.0/16`.
- **Klijent VPN portovi:** AWS Klijent VPN podržava portove 443 i 1194 za TCP i UDP. Podrazumevani port je 443.
- **Klijent VPN mrežni interfejsi:** Kada povežete podmrežu sa vašom Klijent VPN krajnjom tačkom, kreiramo Klijent VPN mrežne interfejse u toj podmreži. **Saobraćaj koji se šalje u VPC iz Klijent VPN krajnje tačke šalje se kroz Klijent VPN mrežni interfejs**. Zatim se primenjuje prevođenje izvorne mrežne adrese (SNAT), gde se izvorna IP adresa iz klijent CIDR opsega prevodi na IP adresu Klijent VPN mrežnog interfejsa.
- **Logovanje konekcija:** Možete omogućiti logovanje konekcija za vašu Klijent VPN krajnju tačku da beležite događaje konekcija. Ove informacije možete koristiti za forenziku, analizu kako se vaša Klijent VPN krajnja tačka koristi ili za otklanjanje problema sa konekcijama.
- **Portal za samoposluživanje:** Možete omogućiti portal za samoposluživanje za vašu Klijent VPN krajnju tačku. Klijenti se mogu prijaviti na web portal koristeći svoje akreditive i preuzeti najnoviju verziju konfiguracionog fajla Klijent VPN krajnje tačke, ili najnoviju verziju klijenta koji pruža AWS.

#### Ograničenja

- **Klijent CIDR opsezi ne mogu se preklapati sa lokalnim CIDR** VPC-a u kojem se povezana podmreža nalazi, ili bilo kojim rutama koje su ručno dodate u tabelu ruta Klijent VPN krajnje tačke.
- Klijent CIDR opsezi moraju imati veličinu bloka od **najmanje /22** i ne smeju **biti veći od /12.**
- **Deo adresa** u klijent CIDR opsegu se koristi za **podršku modelu dostupnosti** Klijent VPN krajnje tačke i ne može se dodeliti klijentima. Stoga, preporučujemo da **dodelite CIDR blok koji sadrži dvostruko više IP adresa koje su potrebne** da omogućite maksimalan broj istovremenih konekcija koje planirate da podržite na Klijent VPN krajnjoj tački.
- **Klijent CIDR opseg ne može se promeniti** nakon što kreirate Klijent VPN krajnju tačku.
- **Podmreže** povezane sa Klijent VPN krajnjom tačkom **moraju biti u istom VPC-u**.
- **Ne možete povezati više podmreža iz iste dostupne zone sa Klijent VPN krajnjom tačkom**.
- Klijent VPN krajnja tačka **ne podržava povezivanje podmreža u VPC-u sa posvećenim zaklonom**.
- Klijent VPN podržava **IPv4** saobraćaj samo.
- Klijent VPN **nije** usklađen sa Federal Information Processing Standards (**FIPS**).
- Ako je višefaktorska autentifikacija (MFA) onemogućena za vaš Active Directory, lozinka korisnika ne može biti u sledećem formatu.

```
SCRV1:<base64_encoded_string>:<base64_encoded_string>
```

- Portal za samoposluživanje **nije dostupan za klijente koji se autentifikuju koristeći međusobnu autentifikaciju**.

{{#include ../../../../banners/hacktricks-training.md}}
