安全配置你的Rsync

0x00 Rsync简介


Rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。

rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。

rsync 包括如下的一些特性:

0x01 架设Rsync服务器


安装Rsync与xinetd包

确保xinetd运行在levels 3或4或5。

创建rsync的密码文件,格式 username:password

创建rsync共享配置文件

添加如下内容:

 

还有很多参数没有使用。

http://www.samba.org/ftp/rsync/rsyncd.conf.html里详细解释了rsyncd.conf各个参数的意思。

修改权限与所有权,重启xinetd服务:

 

然后就可以通过如下命令访问了:

下载文件: ./rsync -vzrtopg –progress –delete username@xxx.xxx.xxx.xxx::out /home/test/getfile

上传文件: /usr/bin/rsync -vzrtopg –progress /home/test/getfile username@xxx.xxx.xxx.xxx::out

Rsync 同步参数说明

如果不想每次都再输入一次密码可以使用--password-file参数

 

本机上的/test/rsyncd.secrets文件里只需要保存密码即可,用户名已经在命令中有了,并且权限应为600。

0x02 匿名访问危害

wooyun出现不少没有限定任何ip并且允许匿名访问,而导致严重后果的实际案例:

WooYun: 我是如何沦陷ChinaZ下载站服务器的,可登录3389、篡改源码等

WooYun: 新浪漏洞系列第三弹-微博内网遭入侵

WooYun: Discuz旗下5d6d某服务器Rsync任意文件上传

0x03 寻找匿名访问Rsync方式

Rsync默认的端口是873,可以使用nmap扫描哪些ip开放了873端口。

找到开放的873端口后,连接能否查看模块名:

 

如果可以,就尝试上传,下载文件试一下。

0x04 安全配置注意事项


注意两种方式防御,一是限定访问的IP,另一个是不允许匿名访问,添加用户口令。

限定IP的两种方式

IPTables防火墙

给rsync的端口添加一个iptables。

只希望能够从内部网络(192.168.101.0/24)访问:

除此之外rsyncd.conf中的hosts allow也可以设置只允许来源ip。

添加用户口令

添加rsync用户权限访问,注意配置的是rsyncd.conf中的:

本文由网络安全攻防研究室(www.91ri.org)信息安全收集整理转载请注明出处。