Dozvola TCP 873 na interfejsu tunela ne propušta rsync kroz OpenVPN, i ne čini da drugi kraj prihvati modul. Tunel nosi unutrašnju vezu čija pravila protokola i odredišta ostaju tačno kakva su bila. Prvo pitanje zato nije koji port otvoriti, nego kakvu vrstu veze rsync uspostavlja. Sve ispod pretpostavlja da je tunel već podignut i da je sporan samo unutrašnja usluga.

Odredite koju vezu rsync zaista uspostavlja

Udaljeni argument u naredbi obično odgovara na to pitanje prije bilo kakve promjene vatrozida. Dvostruka dvotačka ili URL šema biraju demona, dok jedna dvotačka nakon imena hosta bira udaljenu ljusku. Čitajte argument koji zaista izvršavate, a ne onaj iz primjera u dokumentaciji.

Eksplicitna opcija udaljene ljuske može ponovo promijeniti odgovor, jer govori rsyncu koji program pokrenuti za transport. Čitajte cijelu naredbu, uključujući naslijeđene omotne skripte, a ne samo dio s hostom.

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

Režim demona: adresa vezivanja, modul i port

U sintaksi demona segment putanje imenuje konfigurirani modul, a ne direktorij na disku. Lozinka modula provjerava se tek nakon što je veza prihvaćena, a modul uz to može biti samo za čitanje ili skriven s popisa. Taj redoslijed je važan kada čitate grešku, jer su odbijena veza i odbijeni modul kvarovi u dvije različite faze. Nijedna poruka ne govori ništa o samom tunelu.

Samostalni demon može se prikovati na adresu tunela u svojoj konfiguracijskoj datoteci, što ga drži izvan javnog interfejsa bez ikakvog pravila vatrozida. Vrijednost mora postojati kada se demon veže, a slušalica aktivirana socketom ili vođena inetdom može je potpuno zanemariti.

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

Zatim testirajte prema privatnoj adresi, a ne javnom imenu. Javno ime hosta razrješava se u WAN adresu i prolazi drugom putanjom, čak i kada jedan stroj odgovara na obje.

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

Režim udaljene ljuske: SSH nosi prijenos

S jednom dvotačkom rsync pokreće program udaljene ljuske i govori njegov protokol preko tog kanala, pa je jedina dostupna usluga SSH na kojem god portu poslužitelj sluša. Demon rsync nikada ne radi, port 873 je nevažan, a odluka o pristupu postaje odluka o SSH računu. Udaljena putanja tada je stvarna putanja datotečnog sistema koju tumači ljuska na drugoj strani. Zato promjena vatrozida usmjerena na 873 ne čini baš ništa za ovaj režim.

Taj dizajn traži ovlašteni račun i provjeru ključa hosta, i nasljeđuje vlastitu politiku provjere autentičnosti SSH-a. Često je bolji izbor kada prijenos mora prijeći preko nepouzdane mreže, jer enkripcija pripada protokolu koji je za to napravljen. Demon sa zahtjevom za lozinku nije ista stvar.

Otvorite samo putanju koju ste odabrali

Kad je režim utvrđen, dopustite jedinu unutrašnju uslugu na jedinom interfejsu koji nosi tunel. Suzite pravilo po interfejsu, izvornom bazenu i odredišnoj adresi kako ga kasnija promjena zadanog odbijanja ne bi mogla tiho proširiti. Zatim pregledajte redoslijed pravila, jer dopuštajuće pravilo ranije u lancu usko pravilo čini ukrasnim.

Ako demon radi na stroju iza VPN pristupnika, a ne na samom pristupniku, pristupniku treba i putanja prosljeđivanja, a cilju vlastito dopuštenje i povratna ruta. Otvaranje porta samo na pristupniku daje vezu koja se prihvati i zatim nigdje ne ode.

Provjerite s klijenta s istim režimom i odredištem koje namjeravate koristiti u produkciji. Uspješan popis dokazuje slušalicu, rutu i pravilo zajedno; istek vremena pokazuje na putanju, a odbijanje na slušalicu.

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

Povezani članci