Rsync: Klíčový nástroj pro synchronizaci serverů a jeho bezpečnostní úskalí
Rsync je jedním z nejdůležitějších nástrojů pro správu serverů. Tento nástroj, který byl původně vytvořen Andrewem Tridgellem a Paulem Mackerrasem a nyní je udržován Wayneem Davisem, je základním kamenem mnoha systémů pro zálohování a synchronizaci dat.
Co je to rsync?
Rsync, což je zkratka pro „remote synchronization“, je nástroj pro unixové systémy, který umožňuje rychlou a efektivní synchronizaci souborů a adresářů mezi dvěma místy na stejném nebo různých počítačích.
Rsync je založen na algoritmu, který hledá rozdíly mezi zdrojovými a cílovými soubory a přenáší pouze tyto rozdíly, místo aby přenášel celé soubory. Tento proces se nazývá „delta přenos“. Delta přenos šetří čas a šířku pásma, což je zvláště důležité při práci se velkými soubory nebo při synchronizaci dat přes pomalé síťové spojení.
Bezpečnostní úskalí rsync
Rsync je mocný nástroj, ale jako každý nástroj má i svá úskalí. Jedním z největších bezpečnostních rizik při používání rsync je jeho „daemon“ režim. Rsync démon je proces, který běží na pozadí a umožňuje jiným systémům připojit se a synchronizovat soubory. Tento režim představuje velké bezpečnostní riziko.
Rsync v režimu démona (rsyncd) nepoužívá šifrování při přenosu dat, což znamená, že všechna data, včetně přihlašovacích údajů, se přenášejí v čitelné podobě. To znamená, že pokud by útočník měl přístup k síti a byl by schopen odposlouchávat komunikaci, mohl by teoreticky odposlechnout a dešifrovat data, včetně hesel. Proto je důležité, aby byl rsync daemon vždy vypnutý a zamaskován. Pokud používáte rsync démona, měli byste zvážit jeho nahrazení za rsync přes ssh, což je dnes standardní typ užívání.
Vypnutí a zakázání rsync daemona:
Systémy založené na Ubuntu/Debianu
systemctl stop rsync
systemctl disable rsync
systemctl mask rsync
Systémy založené na Red Hat Enterprise Linuxu:
systemctl stop rsyncd
systemctl disable rsyncd
systemctl mask rsyncd
Přenos souborů skrze rsync daemona může být vyvolán omylem
Transport přes vzdálený shell se používá vždy, když cesta ke zdroji nebo cíli obsahuje jednu dvojtečku (:) jako oddělovač za specifikací hostitele. Přímý kontakt s rsync démonem nastává, když cesta ke zdroji nebo cíli obsahuje dvojitou dvojtečku (::) jako oddělovač za specifikací hostitele, NEBO když je specifikována rsync url (obsahující rsync://).
Vyvarujte se tedy používání rsync url a dvou dvojteček. Užitečné by mohlo být zakázat v síti i výchozí port protokolu rsync. Jedná se o port 873. Rsync podporuje i přenos přes protokol RSH a ten je rovněž nezabezpečený. Můžete zakázat i jeho port 514.
Na systémech založených na Red Hat Enterprise Linux 8 a vyšších je rsync daemon součást balíčku rsync-daemon, na Red Hat Enrerprise Linux 7 je přímou součástí balíčku rsync. Zamaskovat rsyncd je možné, i když nemáte rsync-daemon nainstalovaný. Balík rsync-daemon na Red Hat Enterprise Linuxech 8 a vyšších neinstalujte.
Jak používat Rsync?
Řekli jsme si, jak rsync nepoužívat a teď se podíváme na pár příkladů použití. Rsync je velmi flexibilní a nabízí mnoho možností, které můžete přizpůsobit svým potřebám. Zde je několik základních příkladů použití rsync:
- Základní synchronizace souborů: Nejjednodušší způsob, jak použít rsync, je synchronizovat dva adresáře na stejném systému. To můžete udělat pomocí následujícího příkazu:
rsync -av /cesta/do/zdrojoveho/adresare/ /cesta/do/ciloveho/adresare
- Synchronizace souborů mezi dvěma systémy: Rsync může také synchronizovat soubory mezi dvěma různými systémy. To můžete udělat pomocí následujícího příkazu:
rsync -av /cesta/do/zdrojoveho/adresare/ uzivatel@vzdalenyhost:/cesta/do/ciloveho/adresare
Rsync můžete používat spolu s SSH klíči, a když z nějakého důvodu nepoužíváte SSH klíče, můžete použít v kombinaci s sshpass.
sshpass -f /cesta/soubor_s_heslem rsync -avrhp /cesta/do/zdrojoveho/adresare/ uzivatel@vzdalenyhost:/cesta/do/ciloveho/adresare
Rsync můžete použít i při synchronizaci skrze reverzní ssh tunel, na příkladu níže je reverzní tunel dostupný na localhostu jako port 2223:
rsync -avhrp -e 'ssh -p 2223' vzdaleny_uzivatel@localhost:/cesta/do/zdrojoveho/adresare/ /cesta/do/ciloveho/adresare

Jiří Meitner
Kdo jsem:
IT nadšenec, který se nedávno přestěhoval do Kladna. Systémový inženýr ve dvoupísmenkové bance (aktuální zaměstnání) pracující v době Covidu na Home Office, linuxový administrátor, správce informačních systémů.
Proč jsem si založil tento web:
Abych pomáhal běžným lidem řešit jejich reálné problémy s počítači. Stavět počítače, instalovat a konfigurovat operační systém, ideálně Linux. Někdo si večer pustí telku, já si rád hraju s počítači. Je to pro taky trošku zkouška, jestli by byl o takovou pomoc zájem a jestli by se dalo takovou pomocí uživit, kdybych chtěl seknout s prací ve velkých firmách.
S čím vám mohu pomoci:
Počítač: Rád Vám pomohu s omlazením vašeho počítače (desktopu, notebooku) nebo sestavím nový. Nainstaluji Vám operační systém, zachráním data, udělám zálohu, přenesu na záložní médium, vyřeším bezpečnost a pravidelné zálohování.
Server: Chcete mít vlastní webový server, NAS (síťové úložiště), VPN server nebo cloud? Provozovat eshop? I v tom vám mohu pomoci.
Domácí síť: Potřebujete vyřešit domácí síť, nejste spokojeni s rychlostí a kvalitou WiFi? Potřebujete připojit zařízení k VPN?
Počítač pro home office: Potřebujete nutně počítač pro home office, ale nechcete platit moc?
Počítač pro online výuku: Jste učitel nebo žák/student, či máte doma někoho, kdo je? Nemáte na čem pracovat? Pomohu vám to vyřešit levně a kvalitně.
Mám rád počítače a moderní technologie, Linux, zejména Ubuntu, Debian, CentOS. Pracuji jako System engineer v bance, kde se starám o cca 6000 linuxových serverů (Ubuntu, Red Hat Enterprise Linux, CentOS). Linux propaguji i na desktopech a notebocích pro domácí použití ze spousty důvodů.
V předchozím zaměstnání (Správce informačních systémů) jsem kromě správy linuxových serverů získal zkušenosti i se správou Windows Serverů a Windows 10 a instalací a konfigurací terminálů. Raději instaluji Linux, ale umím instalovat, konfigurovat a spravovat i windowsové systémy.
Jiří Meitner
IT is Love
podpora@ITisLove.cz
WhatsApp
Karla Tomana 830
Kladno
Středočeský kraj
272 04
Česko
Systémový inženýr, Linux administáror, správce informačních systémů, admin, IT specialista, IT help





