Dovolitev TCP 873 na vmesniku tunela ne potisne rsynca skozi OpenVPN, niti ne doseže, da bi druga stran sprejela modul. Tunel nosi notranjo povezavo, katere pravila protokola in cilja ostanejo natanko takšna, kot so bila. Zato prvo vprašanje ni, katera vrata odpreti, ampak kakšno vrsto povezave vzpostavlja rsync. Vse spodaj predpostavlja, da je tunel že vzpostavljen in da je vprašljiva le notranja storitev.

Ugotovite, kakšno povezavo rsync dejansko vzpostavlja

Oddaljeni argument v ukazu običajno odgovori na to vprašanje pred kakršno koli spremembo požarnega zidu. Dvojno dvopičje ali shema URL izbereta demona, medtem ko enojno dvopičje za imenom gostitelja izbere oddaljeno lupino. Berite argument, ki ga dejansko izvajate, ne tistega iz primera v dokumentaciji.

Izrecna možnost oddaljene lupine lahko odgovor znova spremeni, ker rsyncu pove, kateri program naj zažene za prenos. Berite celo ukazno vrstico, vključno s podedovanimi ovojnimi skripti, ne le dela z gostiteljem.

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

Način demona: naslov vezave, modul in vrata

V sintaksi demona segment poti poimenuje konfiguriran modul, ne mape na disku. Geslo modula se preveri šele potem, ko je povezava sprejeta, modul pa je lahko dodatno samo za branje ali skrit s seznama. Ta vrstni red je pomemben pri branju napake, ker sta zavrnjena povezava in zavrnjen modul napaki v dveh različnih fazah. Nobeno od sporočil vam ne pove ničesar o samem tunelu.

Samostojnega demona je mogoče v konfiguracijski datoteki pripeti na naslov tunela, kar ga drži zunaj javnega vmesnika brez vsakega pravila požarnega zidu. Vrednost mora obstajati, ko se demon veže, in poslušalec, ki ga aktivira vtičnica ali upravlja inetd, jo lahko popolnoma prezre.

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

Nato preizkusite zasebni naslov namesto javnega imena. Javno ime gostitelja se razreši v naslov WAN in gre po drugi poti, tudi ko en stroj odgovarja na oba.

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

Način oddaljene lupine: SSH nosi prenos

Z enim dvopičjem rsync zažene program oddaljene lupine in govori njegov protokol po tem kanalu, zato je edina dosegljiva storitev SSH na tistih vratih, na katerih posluša strežnik. Demon rsync nikoli ne teče, vrata 873 niso pomembna in odločitev o dostopu postane odločitev o računu SSH. Oddaljena pot je takrat resnična pot datotečnega sistema, ki jo interpretira lupina na drugi strani. Zato sprememba požarnega zidu, usmerjena na 873, za ta način ne naredi prav ničesar.

Takšna zasnova potrebuje pooblaščen račun in preverjanje ključa gostitelja, in podeduje lastno politiko preverjanja pristnosti SSH. Pogosto je to boljša izbira, ko mora prenos prečkati nezanesljivo omrežje, ker šifriranje pripada protokolu, ki je bil za to zgrajen. Demon z zahtevo po geslu ni ista stvar.

Odprite le pot, ki ste jo izbrali

Ko je način določen, dovolite edino notranjo storitev na edinem vmesniku, ki nosi tunel. Zožite pravilo po vmesniku, naboru virov in ciljnem naslovu, da ga poznejša sprememba privzete zavrnitve ne more tiho razširiti. Nato pregledajte vrstni red pravil, ker dovoljujoče pravilo prej v verigi naredi ozko pravilo zgolj okrasno.

Če demon teče na stroju za prehodom VPN in ne na samem prehodu, potrebuje tudi prehod pot posredovanja, cilj pa lastno dovoljenje in povratno pot. Odpiranje vrat samo na prehodu ustvari povezavo, ki je sprejeta in nato ne pelje nikamor.

Preverite odjemalca z istim načinom in ciljem, ki ju nameravate uporabljati v produkciji. Uspešen seznam dokaže poslušalca, pot in pravilo skupaj; potek časa kaže na pot, zavrnitev pa na poslušalca.

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

Sorodni članki