Jiří Meitner | IT služby Linux | Kladno | Česko

An artistic, wide banner image representing the theme of the article titled Rsync Key Tool for Server Synchronization and Its Security Pitfalls

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:

  1. 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
  1. 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/adresareCode language: JavaScript (javascript)

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/adresareCode language: JavaScript (javascript)

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/adresareCode language: JavaScript (javascript)
Summary
software image
Author Rating
1star1star1star1star1star
Aggregate Rating
5 based on 3 votes
Software Name
rsync
Operating System
Linux
Software Category
net
Price
CZK 0
Landing Page

Comments

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..