Una VPN que connecta però no arriba enlloc se sol descriure com un problema de tallafocs, i la solució a què la gent recorre és posar la interfície del túnel en una zona de confiança. Això funciona en el sentit que el trànsit comença a fluir, però també admet molt més que el servei previst. Les dues polítiques implicades són diferents: una admet el transport exterior cap a un sòcol que escolta, i l'altra autoritza el trànsit desxifrat a arribar a un recurs concret. Tractar-les com un sol paràmetre és el que converteix un permís estret en un d'ample. Les dues es decideixen en llocs diferents, i per això l'error és tan fàcil de cometre.

Dues polítiques, un túnel

La política exterior respon una pregunta senzilla: pot un paquet d'aquesta origen arribar a l'UDP 1194 d'aquest amfitrió? La política interior respon una altra: pot el client autenticat darrere d'aquest túnel arribar a aquesta destinació, amb aquest protocol, en aquest port? La primera tracta d'un sòcol, la segona d'un camí, i firewalld les modela amb objectes diferents perquè es decideixen en punts diferents. Una és una propietat d'un sòcol d'aquest amfitrió, l'altra d'un camí que el travessa.

La conseqüència pràctica és que un túnel que funciona no diu res sobre la segona política, i una segona política correcta no fa innecessària la primera.

Admeteu l'escolta exterior real

Comenceu inspeccionant què ja està assignat en lloc de suposar-ho. Llegiu les zones actives, llisteue la zona que realment porta l'entrada i comproveu la definició del servei instal·lat, perquè el nom d'un servei descriu un conjunt de ports i no diu res sobre si l'escolta d'aquest servidor hi coincideix.

firewall-cmd --get-active-zones
firewall-cmd --zone=public --list-all
firewall-cmd --info-service=openvpn

Si l'escolta és realment UDP 1194 en aquesta zona, obriu aquest port i transport específicament, i després feu persistent la mateixa regla específica un cop l'hàgiu provada. Comproveu també les assignacions per origen, perquè una zona lligada a un rang d'orígens pot capturar el trànsit abans que la zona de la interfície el vegi.

Autoritzeu la destinació desxifrada per separat

Una connexió a un servei que s'executa al mateix servidor VPN és política d'entrada local. Una connexió reenviada a un altre amfitrió de la LAN necessita política de reenviament, el reenviament habilitat al nucli i una ruta de resposta — tres requisits separats que la gent sol col·lapsar en un. Els objectes de política moderns de firewalld descriuen el trànsit dirigit entre una zona d'entrada i una zona de sortida, i aquest és el lloc correcte per expressar quines fonts VPN poden arribar a quins serveis privats.

Definiu explícitament les fonts permeses i deixeu que tota la resta caigui en una denegació. Un permís per al servei exterior no és aquesta política, per molt que ho sembli la disposició de les zones.

Per què confiar en la interfície és la drecera equivocada

Posar la interfície del túnel en una zona el destí de la qual ho accepta tot admet tot el trànsit desxifrat cap a cada servei que l'amfitrió exposa, incloent-hi els que no heu revisat. Reorientar la zona de confiança perquè sigui restrictiva en una màquina en marxa és pitjor, perquè altres interfícies i rangs d'orígens poden dependre ja del seu significat i canviaran de comportament quan l'editeu. Si necessiteu una política estreta, creeu-ne una; no reutilitzeu una zona compartida.

Manteniu també estable l'assignació de zona del túnel a través del component que posseeixi aquesta configuració. Perdre l'assignació en reiniciar produeix una fallada que sembla un problema de regla de tallafocs i en realitat és un problema de persistència.

Verifiqueu tres coses, incloent-hi una denegació

Proveu la connexió exterior des de fora, proveu un servei interior autoritzat des d'un client connectat i proveu un servei que hauria de romandre inaccessible. La tercera prova és la que distingeix una política d'un efecte secundari, i és la que la gent omet perquè tot sembla funcionar. Si el servei denegat respon, heu admès una zona en lloc d'un servei.

Anoteu la zona, el port, el transport i l'objecte de política a les notes del servidor. Si no, el proper canvi en aquest amfitrió començarà des de la mateixa suposició.

Articles relacionats