rsync指定ssh端口进行文件同步的方法
有台服务器因为安全性需要,修改了默认的ssh端口为34778端口。
因此rsync使用ssh同步的时候需要指定ssh的端口
rsync提供了一个-e参数
-e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了
具体语句写法如下:
rsync-e'ssh-p34778'username@hostname:SourceFileDestFile
单引号,目的是为了使引号内的参数为引号内的命令所用
实例:
rsync-auz-e'ssh-p43378'/data/svn/root@192.168.1.254:/data/backup
详解:
通过rsync,并使用auz参数,结合-e修改ssh的端口,将本地的/data/svn作为源数据,用root用户推到远端服务器192.168.1.254的/data/backup目录下。
需要注意的是源目录和目标目录是否带"/"结尾是有很大区别的
源目录带"/"结尾而目标目录不带,表示将源目录里面的所有文件(/data/svn/*)都同步到目标目录下(/data/backup/*)。
源目录带"/"结尾而目标目录也带“/”结尾,则表示将源目录作为文件夹,同步到目标目录下(/data/backup/svn/*)。
端口攻击之873端口rsync默认口令漏洞
1、简介:
rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。
2、Rsync使用教程:
用途:
当成镜像备份功能。
优点:
速度快,可对比本地文件,差异备份。
用法:
1、将/etc/内复制到/tmp/etc
rsync–av/etc/tmp
2、将rsh.server的/etc复制到本地/tmp
rsync–av–esshuser@rsh.server:/etc/tmp
3、通过rsync提供的服务(daemon),rsync使用873端口
Server:启动rsync,看:
/etc/xinetd.d/rsync
编辑:
/etc/rsyncd.conf
设置client端连接账号密码
Client:rsync–av–user@hostname::/dir/path/local/path
三种模式差异在几个分号:
命令:
Rsync[-avrlptgoD][-essh][user@hostIP:/dir][/local/path]
-v观察模式,输出更多资讯
-q与–v相反,仅显示错误信息
-r递归复制,针对目录
-u仅更新较新的文件
-l复制连接的属性
-p复制时保持属性不变
-g保存原有群组
-o保存原有拥有人
-D保存原有装置属性
-t保存原有时间属性
-I忽略更新时间属性,档案比对较快
-z加上压缩参数
-e使用协议通道,例如ssh,-essh
-a相对于-rlptgoD,所以-a最常用
3、安全问题:
rsync默认的端口是873,可以使用nmap扫描IP是否开放该端口。
nmap-n--open-p873x.x.x.x/24
找到开放端口后,查看时候可默认口令登陆。使用命令查看:
rsync-avx.x.x.x::
既然是同步文件,自然有选择查看、上传或者下载的能力,这要视权限设定。
运气好的情况下秒杀站点。
4、安全配置注意事项
注意两种方式防御,一是限定访问的IP,另一个是不允许匿名访问,添加用户口令。
限定IP的两种方式
IPTables防火墙
给rsync的端口添加一个iptables。
只希望能够从内部网络(192.168.101.0/24)访问:
iptables-AINPUT-ieth0-ptcp-s192.168.101.0/24--dport873-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables-AOUTPUT-oeth0-ptcp--sport873-mstate--stateESTABLISHED-jACCEPT
除此之外rsyncd.conf中的hostsallow也可以设置只允许来源ip。
hostsallow=X.X.X.X#允许访问的IP
添加用户口令
添加rsync用户权限访问,注意配置的是rsyncd.conf中的:
secretsfile=/etc/rsyncd.secrets#密码文件位置,认证文件设置,设置用户名和密码
authusers=rsync#授权帐号,认证的用户名,如果没有这行则表明是匿名,多个用户用,分隔。