Un port OpenVPN, tres serveis: per què importen els ports interns
Un túnel, tres serveis, un port públic. Separeu l'oient de la VPN exterior dels ports interns de les aplicacions i proveu cada permís intern per separat.
Una sessió SSH, una aplicació web i una consulta de nom poden compartir una única connexió VPN sense barallar-se pels ports. El client construeix un únic flux xifrat cap a la passarel·la, i cada conversa d'aplicació hi viatja dins. A fora només es veuen el transport i el port propis del túnel. A dins, cada servei conserva el seu port i encara necessita el seu propi permís.
Què transporta el flux exterior i què amaga
El client embolcalla cada paquet en el transport del túnel abans que surti de la màquina. Aquest flux exterior té un únic port de destinació, fixat quan es va configurar la VPN. Dins de l'embolcall, cada paquet original conserva l'adreça i el port del servei al qual es dirigeix. La passarel·la treu l'embolcall i encamina segons la capçalera interna, de manera que la destinació veu un client ordinari que arriba de la xarxa.
Per tant, una captura a la interfície WAN mostra una conversa, no tres. Els ports interns només apareixen després de la desencapsulació. És per això que una sola obertura del tallafoc pot transportar SSH, HTTPS i DNS alhora.
# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0
La documentació de TUN/TAP cobreix el lliurament en què un dispositiu TUN encaminat passa paquets IP entre el nucli i un procés d'espai d'usuari. Aquest lliurament és el que fa visible la capçalera interna per al codi d'encaminament i del tallafoc de la passarel·la. També explica per què el port exterior no diu res sobre quins serveis es permeten.
El reenviament NAT pertany a l'oient, no a les aplicacions
Una passarel·la autoallotjada darrere d'un NAT IPv4 necessita una única traducció d'entrada: l'adreça i el port públics mapats a l'oient de la VPN. No cal cap regla per a SSH, HTTPS o DNS només perquè els usuaris del túnel hi arribin. Publicar aquests ports exposaria serveis que el túnel ja protegeix. La regla de reenviament descriu l'abast de l'oient, no un permís per a res de dins.
També val a l'inrevés. Obrir el port del túnel no exposa res més, així que un servei accessible només a través del túnel manté la seva superfície pública tancada. Aquesta separació sol ser precisament la raó de mantenir el servei privat.
La política interna és on realment es decideix l'accés
El xifrat protegeix el camí; no autoritza una destinació. Les rutes del client trien quins prefixos entren al túnel, la política de reenviament de la passarel·la decideix si els paquets poden sortir-ne, i el tallafoc de la destinació més l'inici de sessió decideixen si el servei respon. El DNS és el cas més clar: portar consultes no fa que un resolutor les accepti del vostre conjunt de clients. Cada capa pot dir que no de manera independent.
Proveu cada servei per separat a través del túnel. Una consulta correcta no diu res sobre el port web, i una petició web correcta no diu res sobre SSH.
dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]
Quan el túnel està actiu i tot falla, llegiu primer la taula de rutes del client. Quan un servei falla mentre els altres funcionen, la fallada és en aquella destinació. Aquestes dues observacions assenyalen propietaris diferents, i barrejar-les fa perdre temps.
WireGuard traça la mateixa línia
WireGuard anomena el seu oient exterior amb ListenPort, i una aplicació interna encara utilitza el port de servei que necessiti. AllowedIPs és un conjunt de prefixos encaminats, no una llista de ports de servei permesos. Llegir-ho com una llista blanca de ports produeix regles que no coincideixen amb el que fa el túnel. La nomenclatura és diferent; la capa no ho és.
Permeteu el servei en la política d'entrada local quan s'executa al mateix punt final, o en la política de reenviament quan se situa darrere d'aquest punt final. La distinció decideix quin conjunt de regles veu el paquet.
La forma general és un transport exterior amb moltes converses internes. Els productes que necessiten diversos intercanvis exteriors, o un protocol IP diferent, són un recordatori que el patró d'un sol port públic descriu aquest disseny i no totes les VPN.