Tuneluri VPN și IPsec
1) De ce IPsec și când este adecvat
IPsec oferă criptare L3 între site-uri/nori/centre de date și pentru acces la distanță. Aplicaţii:- Site-to-Site: on-prem ↔ cloud, cloud ↔ cloud, DC ↔ DC.
- Client VPN: acces admin, salt-gazdă, spargere-sticlă.
- Backhaul/Transit: хабы и vorbit-VPC/VNet (hub-și-vorbit).
- IPsec este adecvat atunci când aveți nevoie de o stivă standard, interoperabilă, accelerare hardware (AES-NI/DPDK/ASIC), politici cripto stricte și compatibilitate hardware de rețea.
2) Concepte de bază (digestie rapidă)
IKEv2 (Faza 1) - negocierea/autentificarea parametrilor (RSA/ECDSA/PSK), crearea IKE SA.
IPsec ESP (Faza 2) - criptarea traficului, Child SA (SA pentru prefixe/interfețe specifice).
SFP - efemeralitate (grup Diffie-Hellman) pentru fiecare Copil SA.
NAT-T (UDP/4500) - încapsulare ESP dacă există NAT pe drum.
DPD - Dead Peer Detection, un înlocuitor pentru un SA rupt.
Rekey/Reauth - actualizarea cheilor înainte de expirare (durata de viață/octeți).
- IKE: 'AES-256-GCM' sau 'AES-256-CBC + SHA-256', DH 'group 14/19/20' (2048-bit MODP sau ECP).
- ESP: „AES-GCM-256” (AEAD), SFP de către aceleași grupuri.
- Durata de viață: IKE 8-24 h, Child 30-60 min sau în funcție de volumul traficului (de exemplu, 1-4 GB).
3) Topologii și tipuri de tuneluri
3. 1 Traseu (preferat)
Interfață virtuală (VTI) pe fiecare parte; rutele/protocoalele dinamice (BGP/OSPF) transportă prefixe. Mai ușor de scalat și de segmentat, mai bine pentru suprapunerea CIDR (cu politicile NAT).
3. 2 Bazat pe politici
Listează „istochnik↔naznacheniye” în SA. Potrivit pentru S2S simple, fără rutare dinamică; este mai complex cu mai multe prefixe.
3. 3 GRE-over-IPsec/VXLAN-over-IPsec
Încapsularea L3/L2 deasupra canalului criptat: multiprotocol, convenabil pentru BGP (carry keepalive) și pentru cazurile în care multicast/ECMP este necesar în underlay.
4) Segmentare, rutare și toleranță la erori
BGP peste VTI/GRE: schimb de prefixe, MED/LocalPref/comunități pentru priorități, protecție max-prefix.
ECMP/Active-Active: pereche de tuneluri în paralel (diferiți furnizori/POP).
Activ-pasiv: tunel redundant cu AD mai mare/LocalPref, DPD accelerează comutarea.
Split-tunel: prefixe corporative numai prin VPN; Internet - local (reducerea întârzierilor/costurilor).
Suprapunerea politicilor CIDR: NAT la margini sau subrețele proxy, dacă este posibil - reproiectarea adresei.
5) MTU, MSS și performanță
IPsec/NAT-T deasupra capului: − ~ 60-80 octeți per pachet. Set MTU 1436-1460 pentru VTI/tuneluri.
MSS-clemă: pentru TCP, set „MSS = 1350-1380” (depinde de underlay) pentru a elimina fragmentarea.
Activați PMTUD și jurnalul ICMP „Fragmentarea necesară”.
Descărcarea hardware/calea rapidă (DPDK, AES-NI, ASIC) reduce semnificativ sarcina procesorului.
6) Fiabilitate cheie și securitate
SFP este obligatorie; Rekey înainte de 70-80% durata de viață expiră.
Autentificare: dacă este posibil, certificate ECDSA de la CA corporative (sau cloud-CA), PSK - numai temporar și cu entropie mare.
CRL/OCSP sau perioada de valabilitate a certificatului scurt.
Autentificare și jurnale de alertă pentru IKE-uri eșuate repetate.
7) Nori și caracteristici ale furnizorilor
AWS: AWS Managed VPN (bazat pe politici/traseu), TGW (Transit Gateway), VGW/CGW. Pentru performanţă/scală - Direct Connect + IPsec ca copie de rezervă.
GCP: Cloud VPN (Classic/HA), Cloud Router (BGP); для de transfer - Interconectare.
Azure: VPN Gateway (Policy/Route-based), VNet-VNet, ExpressRoute pentru confidențialitatea L2/L3.
Private Endpoints/Privatelink: este mai bine să faceți trafic către PaaS prin interfețe private în loc de ieșire NAT.
8) Kubernete și plasă de serviciu
Noduri K8s interiorul rețelelor private; Pod CIDR nu ar trebui să „târască” la site-uri de la distanță - Nod CIDR și servicii proxy prin gateway-uri de intrare/ieșire.
Istio/Linkerd mTLS peste IPsec - domenii de încredere separate.
Controlul ieșirii: interzicerea accesului direct din pod la Internet (NetworkPolicy), permisiunea - pentru VTI/VPN.
9) Monitorizarea și jurnalele
Tunel-SLA: latență, jitter, pierderea pachetelor, în sus/în jos starea SA.
BGP: vecini, prefixe, contoare de clapete.
Jurnale IKE/ESP: autentificare, rekey, evenimente DPD.
Export către Prometheus (prin snmp_exporter/telegraf), alerte către SA și degradarea RTT/PLR.
Trace/application logs mark 'site = onprem' cloud ',' vpn = tunel-X 'pentru corelare.
10) Trableshooting (listă de verificare)
1. Firewall-uri: permise UDP/500, UDP/4500, protocol 50 (ESP) de-a lungul căii (sau numai 4500 cu NAT-T).
2. Ceas/NTP este sincron - altfel IKE scade din cauza temporizări/certificate.
3. Parametrii IKE/ESP sunt aceiași: cifruri, DH, lifetimes, selectori.
4. NAT-T este activat dacă NAT este prezent.
5. DPD și rekey: nu prea agresiv, dar nu leneș (DPD 10-15, rekey ~ 70% durata de viață).
6. MTU/MSS: prindeți MSS, verificați ICMP „necesită fragmentare”.
7. BGP: filtre/comunități/AS-cale, există o „gaură neagră” din cauza greșit next-hop.
8. Logies: IKE SA stabilit? Copil SA creat? Se schimbă SPI-ul? Există erori de reluare?
11) Configurații (referințe, scurtate)
11. 1 strongSwan (VTI + IKEv2 pe bază de traseu)
ini
/etc/ipsec. conf conn s2s keyexchange=ikev2 auto=start left=%defaultroute leftid=@onprem. example leftsubnet=0. 0. 0. 0/0 leftauth=pubkey leftcert=onprem. crt right=203. 0. 113. 10 rightid=@cloud. example rightsubnet=0. 0. 0. 0/0 rightauth=pubkey ike=aes256gcm16-prfsha256-ecp256!
esp=aes256gcm16-ecp256!
dpdaction=restart dpddelay=15s ikelifetime=12h lifetime=45m installpolicy=no # route-based через VTI
VTI (Linux):
bash ip tunnel add vti0 local 198. 51. 100. 10 remote 203. 0. 113. 10 mode vti ip link set vti0 up mtu 1436 ip addr add 169. 254. 10. 1/30 dev vti0 ip route add 10. 20. 0. 0/16 dev vti0
11. 2 VyOS (BGP peste VTI, clemă MSS)
bash set interfaces vti vti0 address '169. 254. 10. 1/30'
set interfaces vti vti0 mtu '1436'
set protocols bgp 65010 neighbor 169. 254. 10. 2 remote-as '65020'
set protocols bgp 65010 neighbor 169. 254. 10. 2 timers holdtime '9'
set firewall options mss-clamp interface-type 'all'
set firewall options mss-clamp mss '1360'
11. 3 Cisco IOS (profil IKEv2/IPsec)
cisco crypto ikev2 proposal P1 encryption aes-gcm-256 integrity null group 19
!
crypto ikev2 policy P1 proposal P1
!
crypto ikev2 keyring KR peer CLOUD address 203. 0. 113. 10 pre-shared-key very-long-psk
!
crypto ikev2 profile IKEV2-PROF match address local 198. 51. 100. 10 authentication local pre-share authentication remote pre-share keyring local KR
!
crypto ipsec transform-set ESP-GCM esp-gcm 256 mode transport
!
crypto ipsec profile IPSEC-PROF set transform-set ESP-GCM set ikev2-profile IKEV2-PROF
!
interface Tunnel10 ip address 169. 254. 10. 1 255. 255. 255. 252 tunnel source 198. 51. 100. 10 tunnel destination 203. 0. 113. 10 tunnel protection ipsec profile IPSEC-PROF ip tcp adjust-mss 1360
12) Politici și conformitate
Profilurile cripto și listele de cifruri permise sunt centralizate (linia de bază de securitate).
Rotație cheie/cert cu memento-uri și automatizare.
IKE/IPsec busteni de audit în stocare imuabilă (WORM/Object Lock).
Segmentare: domenii VRF/VR pentru prod/stage/dev și schița cardului (PCI DSS).
13) Specificul iGaming/Finanțe
Rezidența datelor: traficul cu PII/evenimente de plată trece peste IPsec numai în jurisdicțiile permise (rutare prin VRF/tag-uri).
PSP/KYC: dacă accesul este dat de conectivitatea privată - utilizare; în caz contrar - proxy de ieșire cu mTLS/HMAC, allowlist FQDN.
Jurnale de tranzacții: înregistrare paralelă (on-prem și în cloud) prin IPsec/Privatelink; jurnalele imuabile.
SLO „căi bănești”: tuneluri/rute separate cu prioritate și monitorizare sporită.
14) Antipattern
PSK pentru totdeauna, o frază secretă „generică”.
Bazat pe politici cu multe prefixe - „iadul administratorilor” (mai bine decât VTI + BGP).
Ignorarea MTU/MSS → fragmentare, temporizări ascunse, 3xx/5xx „fără motiv”.
Un tunel fără rezervă; un singur furnizor.
Nu există NTP/ceas-sincronizare → picături IKE spontane.
Cifruri „implicite” (grupuri moștenite/MD5/SHA1).
Nu există alerte privind creșterea SA/BGP și RTT/PLR.
15) Lista de verificare Prod Readiness
- IKEv2 + AES-GCM + SFP (grup 14/19/20), durata de viață negociată, rekey ~ 70%.
- VTI/GRE, BGP cu/comunități, ECMP sau filtre hot-standby.
- NAT-T activat (dacă este necesar), UDP/500/4500 deschis, ESP pe cale.
- MTU 1436-1460, clemă MSS 1350-1380, PMTUD activ.
- DPD 10-15s, reacție Dead Peer și reinstalare rapidă SA.
Monitorizarea SA/BGP/RTT/PLR; IKE/ESP busteni în colectarea centralizată.
- Auto-rotație de serturi/chei, TTL scurt, OCSP/CRL, alerte.
- Segmentarea (VRF), split-tunel, egress nega-implicit politică.
- Cloud gateway-uri (AWS/GCP/Azure) testate sub sarcină reală.
- Runbook documentat și player de fișiere și extensii de canal.
16) TL; DR
Construiți IPsec pe bază de traseu (VTI/GRE) cu IKEv2 + AES-GCM + PFS, rutare dinamică BGP, redundanță dublă independentă a legăturii și MTU/MSS corect. Activați NAT-T, DPD și rekey regulat, monitorizați SA/BGP/RTT/PLR, stocați jurnalele de autentificare. În nori, utilizați gateway-uri gestionate și PrivateLink; în Kubernetes - nu „transporta” Pod CIDR prin VPN. Pentru iGaming, păstrați jurisdicțiile și circuitul de plată izolat, cu SLO-uri și audituri strânse.