Permetre TCP 873 a la interfície del túnel no fa passar rsync per OpenVPN, ni fa que l’altre extrem accepti el mòdul. Un túnel transporta una connexió interna les regles de protocol i de destinació de la qual continuen exactament com eren. Per tant, la primera pregunta no és quin port cal obrir, sinó quin tipus de connexió estableix rsync. Tot el que segueix assumeix que el túnel ja està aixecat i que només el servei intern continua en dubte.

Decidiu quina connexió estableix realment rsync

L’argument remot de l’ordre normalment respon aquesta pregunta abans de qualsevol canvi al tallafoc. Un doble dos punts o un esquema d’URL tria el dimoni, mentre que un sol dos punts després d’un nom d’amfitrió tria una closca remota. Llegiu l’argument que realment executeu, no el de l’exemple de la documentació.

Una opció explícita de closca remota pot tornar a canviar la resposta, perquè diu a rsync quin programa ha d’engegar per al transport. Llegiu tota la línia d’ordres, incloent-hi els guions embolcall heretats, no només la part de l’amfitrió.

Remote argumentWhat it opens
rsync://vault.corp.internal/archive/rsync daemon, normally TCP 873
vault.corp.internal::archive/rsync daemon, normally TCP 873
[email protected]:/srv/archive/Remote shell, normally SSH on its configured port

Mode dimoni: adreça d’escolta, mòdul i port

En la sintaxi de dimoni, el segment de camí anomena un mòdul configurat, no un directori del disc. La contrasenya del mòdul només es comprova després que s’hagi acceptat la connexió, i el mòdul pot ser a més només de lectura o quedar amagat del llistat. Aquest ordre importa quan llegiu un error, perquè una connexió refusada i un mòdul rebutjat són fallades en dues etapes diferents. Cap dels dos missatges no us diu res sobre el túnel mateix.

Un dimoni independent es pot fixar a l’adreça del túnel al seu fitxer de configuració, cosa que el manté fora de la interfície pública sense cap regla de tallafoc. El valor ha d’existir quan el dimoni es vincula, i un oient activat per socket o gestionat per inetd pot ignorar-lo del tot.

address = 10.44.0.1
port = 873
[archive]
    path = /srv/archive
    read only = yes

Després proveu contra l’adreça privada en lloc del nom públic. Un nom d’amfitrió públic es resol a una adreça WAN i recorre un camí diferent, fins i tot quan una sola màquina respon a tots dos.

rsync --list-only rsync://10.44.0.1/archive/

Mode de closca remota: SSH transporta la transferència

Amb un sol dos punts, rsync engega un programa de closca remota i parla el seu protocol per aquell canal, de manera que l’únic servei abastable és SSH en el port que escolti el servidor. El dimoni rsync no s’executa mai, el port 873 és irrellevant i la decisió d’accés es converteix en una decisió de compte SSH. El camí remot és aleshores un camí real del sistema de fitxers interpretat per la closca de l’altre costat. Per això un canvi de tallafoc adreçat al 873 no fa absolutament res per a aquest mode.

Aquest disseny necessita un compte autoritzat i la verificació de la clau de l’amfitrió, i hereta la política d’autenticació pròpia d’SSH. Sovint és la millor opció quan la transferència ha de creuar una xarxa no fiable, perquè el xifratge pertany a un protocol fet per a això. Un dimoni amb petició de contrasenya no és el mateix.

Obriu només el camí que heu triat

Un cop decidit el mode, permeteu l’únic servei intern a l’única interfície que porta el túnel. Limiteu la regla per interfície, pool d’origen i adreça de destinació perquè un canvi posterior de denegació per defecte no la pugui eixamplar silenciosament. Reviseu després l’ordre de les regles, perquè una regla permissiva anterior a la cadena fa que l’estreta sigui decorativa.

Si el dimoni s’executa en una màquina darrere de la passarel·la VPN i no a la passarel·la mateixa, la passarel·la també necessita un camí de reenviament i l’objectiu necessita el seu propi permís i la ruta de tornada. Obrir el port només a la passarel·la produeix una connexió que s’accepta i després no va enlloc.

Verifiqueu des del client amb el mateix mode i destinació que penseu fer servir en producció. Un llistat correcte demostra alhora l’oient, la ruta i la regla; un temps d’espera assenyala el camí, i un refús assenyala l’oient.

ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873

Articles relacionats