rsync caur VPN: dēmona ports 873 pret SSH režīmu
Ports 873 ir iekšējs pakalpojums, ko pārnēsā tunelis, nevis tā aizstājējs. Atšķiriet dēmona režīmu no SSH režīma un pēc tam atveriet tikai to ceļu, kuru patiešām lietojat.
Atļaujot TCP 873 tuneļa saskarnē, rsync netiek virzīts caur OpenVPN, un tas arī neliek pretējai pusei pieņemt moduli. Tunelis pārnēsā iekšēju savienojumu, kura protokola un galamērķa noteikumi paliek tieši tādi, kādi bija. Tāpēc pirmais jautājums nav, kuru portu atvērt, bet gan kāda veida savienojumu rsync izveido. Viss zemāk pieņem, ka tunelis jau darbojas un šaubas ir tikai par iekšējo pakalpojumu.
Nosakiet, kādu savienojumu rsync patiešām izveido
Attālais arguments komandā parasti atbild uz šo jautājumu pirms jebkādām ugunsmūra izmaiņām. Dubults kols vai URL shēma izvēlas dēmonu, savukārt viens kols pēc resursdatora nosaukuma izvēlas attālu čaulu. Lasiet argumentu, kuru patiešām izpildāt, nevis to, kas ir dokumentācijas piemērā.
Skaidra attālās čaulas opcija var atkal mainīt atbildi, jo tā pasaka rsync, kuru programmu palaist pārnēsāšanai. Lasiet visu komandrindu, tostarp mantotās ietvērējskriptus, ne tikai resursdatora daļu.
| Remote argument | What 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 |
Dēmona režīms: saistīšanas adrese, modulis un ports
Dēmona sintaksē ceļa segments nosauc konfigurētu moduli, nevis direktoriju diskā. Moduļa parole tiek pārbaudīta tikai pēc tam, kad savienojums ir pieņemts, un modulis papildus var būt tikai lasāms vai paslēpts no saraksta. Šī secība ir svarīga, lasot kļūdu, jo noraidīts savienojums un noraidīts modulis ir neveiksmes divos dažādos posmos. Neviens no ziņojumiem neko nepasaka par pašu tuneli.
Patstāvīgu dēmonu var piespraust tuneļa adresei tā konfigurācijas failā, kas to bez jebkāda ugunsmūra noteikuma tur prom no publiskās saskarnes. Vērtībai jābūt, kad dēmons veic saistīšanu, un ligzdas aktivizēts vai inetd pārvaldīts klausītājs to var pilnībā ignorēt.
address = 10.44.0.1
port = 873
[archive]
path = /srv/archive
read only = yes
Pēc tam pārbaudiet pret privāto adresi, nevis publisko nosaukumu. Publisks resursdatora nosaukums tiek atrisināts uz WAN adresi un iet citu ceļu, pat ja viena mašīna atbild uz abiem.
rsync --list-only rsync://10.44.0.1/archive/
Attālās čaulas režīms: SSH pārnēsā pārsūtīšanu
Ar vienu kolu rsync palaiž attālās čaulas programmu un runā tās protokolā pa šo kanālu, tāpēc vienīgais sasniedzamais pakalpojums ir SSH tajā portā, kurā serveris klausās. rsync dēmons nekad nedarbojas, ports 873 nav svarīgs, un piekļuves lēmums kļūst par SSH konta lēmumu. Attālais ceļš tad ir īsts failu sistēmas ceļš, ko interpretē pretējās puses čaula. Tāpēc uz 873 vērstas ugunsmūra izmaiņas šim režīmam nedara pilnīgi neko.
Šādam dizainam vajag pilnvarotu kontu un resursdatora atslēgas pārbaudi, un tas manto SSH paša autentifikācijas politiku. Tas bieži ir labāka izvēle, kad pārsūtīšanai jāšķērso neuzticams tīkls, jo šifrēšana pieder protokolam, kas tam būvēts. Dēmons, kas prasa paroli, nav tas pats.
Atveriet tikai izvēlēto ceļu
Kad režīms ir noteikts, atļaujiet vienīgo iekšējo pakalpojumu vienīgajā saskarnē, kas pārnēsā tuneli. Sašauriniet noteikumu pēc saskarnes, avotu kopas un galamērķa adreses, lai vēlākas noklusējuma aizlieguma izmaiņas to nevarētu klusi paplašināt. Pēc tam pārskatiet noteikumu secību, jo atļaujošs noteikums ķēdē agrāk padara šauro noteikumu tikai dekoratīvu.
Ja dēmons darbojas mašīnā aiz VPN vārtejas, nevis pašā vārtejā, vārtejai vajadzīgs arī pārsūtīšanas ceļš, un mērķim vajadzīga sava atļauja un atgriešanās maršruts. Atverot portu tikai vārtejā, rodas savienojums, kas tiek pieņemts un pēc tam nekur nenonāk.
Pārbaudiet no klienta ar to pašu režīmu un galamērķi, ko plānojat lietot ražošanā. Veiksmīgs saraksts pierāda klausītāju, maršrutu un noteikumu kopā; noildze norāda uz ceļu, un atteikums norāda uz klausītāju.
ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873