Un inici de sessió VPN en un PC compartit: qui més rep la ruta?
L'inici de sessió VPN autentica una persona; la ruta que instal·la és un àmbit diferent. Compareu túnels d'amfitrió, d'usuari i d'aplicació en una màquina compartida.
Compartir una estació de treball planteja una pregunta que un portàtil d'un sol usuari mai no ha de respondre: un cop una persona autentica el túnel, qui més pot fer-lo servir? L'inici de sessió identifica un subjecte i la ruta que instal·la descriu un àmbit, i aquestes dues coses no són el mateix objecte. Entre elles hi ha el sistema operatiu, la configuració del client i el que el servei privat exigeix pel seu compte. Comparar els punts d'aplicació és l'única manera de respondre la pregunta sense endevinar.
Un inici de sessió, diversos àmbits
L'autenticació respon qui ha estat admès. La ruta respon quins paquets poden sortir pel túnel. L'autorització respon quin servei acceptarà la connexió resultant, i cap de les tres no implica la següent.
Un túnel d'amfitrió és el valor predeterminat habitual i fa evident la diferència. La ruta és a la taula del nucli, així que qualsevol procés que utilitzi aquesta taula pot arribar a la xarxa privada, inclòs un iniciat per un usuari que mai no ha vist el diàleg VPN. No és un defecte del túnel; és el que significa una ruta de tot el sistema. El servei privat encara pot rebutjar la connexió, i per això l'abastabilitat i el permís necessiten respostes separades.
Escriure les quatre preguntes abans de provar evita que la revisió es redueixi a una d'elles.
On és realment la frontera
Quatre disposicions cobreixen la majoria de màquines: un túnel d'amfitrió, una connexió per usuari, una llista d'aplicacions permeses i un espai de noms de xarxa o una màquina virtual a part.
Cadascuna posa el punt d'aplicació en un lloc diferent, i les diferències importen més que les etiquetes. Una connexió per usuari s'aplica amb els permisos del perfil, no amb la pantalla d'inici de sessió de l'escriptori. Una llista d'aplicacions permeses s'aplica dins del client, que decideix què portarà. Un espai de noms o una VM s'aplica a la frontera de la interfície, així que un procés de dins no pot veure gens la ruta de l'amfitrió. El nombre de pantalles d'inici de sessió de la màquina no diu res de cap d'elles.
| Arrangement | Enforced by | Who can use the path |
|---|---|---|
| Host-wide tunnel | The routing table | Any local process using that table |
| Per-user connection | Profile permission list | Only the listed accounts |
| Per-app allowlist | The VPN client itself | Only the selected applications |
| Namespace or VM | The interface boundary | Only processes inside it |
Llegir la taula fila per fila mostra que la pregunta real no és si hi ha aïllament, sinó on s'implementa.
Compareu quatre punts d'aplicació
A Linux la taula de rutes és el primer que cal inspeccionar, perquè un túnel d'amfitrió hi apareix i un espai de noms no. Executar la consulta com a segon usuari és el pas que la gent s'estalvia; la resposta difereix de la que van obtenir com ells mateixos, i això explica l'informe.
Les dues comprovacions següents miren la política, no l'encaminament. Una regla de tallafocs que coincideix amb un UID s'aplica al trànsit generat localment, així que pot separar dos usuaris en un amfitrió encara que tots dos comparteixin la ruta. Un perfil de connexió amb una llista explícita de permisos l'aplica el gestor de xarxa en activar-se. Cap de les comprovacions no requereix canviar el túnel, i per això val la pena fer-les abans de redissenyar res.
ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid
Si la segona consulta mostra la ruta del túnel, la frontera no és on el disseny suposava.
Les regles de sessions concurrents són un control a part
Les passarel·les sovint limiten quantes sessions pot mantenir un compte, i aquest límit no té res a veure amb els usuaris locals. Restringeix el compte, així que una segona persona que entri amb la mateixa credencial pot acabar amb el túnel de la primera.
Llegiu la fallada abans de suposar un problema local d'aïllament. Un límit de sessions produeix una desconnexió a la passarel·la, mentre que un problema d'àmbit produeix un túnel que funciona però que simplement no porta el trànsit de l'altre usuari. Aquests dos símptomes porten a correccions completament diferents. Guardeu el missatge exacte del client, perquè normalment anomena la regla. Demaneu al propietari del perfil el flux de treball aprovat en lloc de vorejar el límit.
Una màquina virtual no eximeix ningú d'aquesta regla i afegeix el seu propi disseny de xarxa i de credencials.
Proveu el context que us importa
Proveu l'usuari i l'aplicació previstos i després proveu un context que hauria de ser denegat. Una revisió que només demostra que la contrasenya original funciona ha provat l'autenticació i res més.
sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'
Anoteu el punt d'aplicació al costat de cada resultat: la taula de rutes, una regla d'UID, un permís de perfil o la política de sessions de la passarel·la. Aquest registre fa revisable el canvi següent. També evita que la mateixa pregunta es reobri cada cop que algú nota una segona pantalla d'inici de sessió. L'abastabilitat no és autorització, i cap de les dues no és aïllament.