Els portàtils darrere d'un encaminador domèstic sense reenviament de ports encara accepten connexions SSH que arriben per la VPN. Això no és una contradicció, perquè dos dispositius diferents jutgen dos paquets diferents. L'encaminador reenvia el transport xifrat i l'amfitrió decideix què fer amb el paquet desxifrat que arriba a la seva interfície de túnel. Mantenir aquestes dues decisions separades és tot l'exercici.

L'encaminador reenvia el túnel; l'amfitrió jutja el paquet

Dibuixa el camí des de l'origen remot fins al servei abans de mirar una sola regla. La part exterior és el transport VPN, gestionat per l'encaminador i la passarel·la. La part interior comença quan el punt final elimina la capa del túnel i l'amfitrió rep un paquet adreçat a la seva adreça VPN.

Uneix aquestes dues parts i l'encaminador s'endú el mèrit d'una decisió que pren l'amfitrió. Una pàgina de reenviament de ports o un registre de l'encaminador descriuen només converses exteriors, i cap dels dos diu quin trànsit desxifrat acceptarà l'amfitrió. L'amfitrió aplica la seva pròpia política d'entrada al paquet interior, igual que a qualsevol paquet que arribi a una interfície. És en aquesta política on es resol realment la qüestió de l'exposició.

Un oient comodí no és un servei públic

A Linux, enllaçar-se a INADDR_ANY vol dir tota adreça local, així que un servei pot respondre en una interfície de túnel que mai va nomenar. La referència dels sockets IP descriu aquest enllaç i val la pena llegir-la abans de treure conclusions d'una llista d'oients. Una entrada comodí és un fet sobre el socket, no una afirmació sobre l'abastabilitat.

Les dues línies de sota són el mateix servei en dos enllaços diferents, i la diferència és tota la resposta a si la interfície importa. Llegeix en quina adreça seu el socket abans de res.

ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))

Anomena la disposició que podria arribar al port

Tres disposicions posen un paquet en aquesta interfície, i tenen propietaris diferents. Anomenar la correcta decideix qui ha de canviar una política.

ArrangementWhat reaches the portWhere the decision lives
Another permitted VPN peerA packet from the same tunnel subnetGateway forwarding policy and host input rules
A deliberate public forwardTraffic the gateway publishes on purposeGateway service definition
A subnet routed behind the gatewayClient traffic from the far sideGateway route and host input rules

Un resultat del navegador que mostra una adreça de sortida pública no diu res de cap de les tres, perquè descriu com surt el trànsit de sortida i no què s'ha permès al trànsit d'entrada. Treu les conclusions cap enrere des de l'oient i l'adreça d'origen del registre del servei. Si l'origen és un altre parell del túnel, la política de la passarel·la és el document interessant. Si és una adreça traduïda, troba la traducció abans de canviar una regla.

Limita el servei al camí que volies

Si l'SSH només cal des d'un camí de gestió, escriu aquest camí com a rang d'origen més una interfície. Després limita les regles d'entrada de l'amfitrió per interfície, destinació i origen en lloc de pel nom de la xarxa, ja que un nom que sembla privat pot representar qualsevol adreça. Deixa una ruta per a la persona que arreglarà el proper problema.

nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input

Una regla que anomena la interfície del túnel i el rang de gestió declara la intenció en un sol lloc. Compara-la amb una regla escrita per a la xarxa Wi-Fi, que no diu res del trànsit desxifrat del túnel. Quan les dues capes no coincideixen, la política de l'amfitrió és la que el paquet troba.

Deixa els inicis de sessió i els pedaços exactament on són; arribar a un port mai no ha estat el mateix que tenir permís per usar-lo. Anota la família d'adreces i l'hora de qualsevol origen desconegut, i investiga abans de culpar una funció o una vulnerabilitat. Una regla que admet cada parell del túnel és un disseny diferent d'una que admet una subxarxa de gestió, i cap línia de registre dirà quina es pretenia.

Accepta la correcció amb un èxit i un rebuig

Prova les dues meitats: una connexió aprovada té èxit i un camí exclòs és rebutjat. El rebuig és la meitat que la gent s'alta i és la que mostra que la regla fa feina en lloc d'estar-se al costat d'un valor per defecte permissiu. Prova-ho des del costat exclòs en lloc de raonar-hi.

Repeteix la parella després d'una reconnexió, perquè un túnel que torna amb un nom d'interfície diferent pot saltar-se en silenci una regla limitada a l'antic. La frontera que importa és la que l'amfitrió aplica als paquets que realment rep.

Articles relacionats