Rsync 服务安全加固方法
Rsync是一个通过检查文件的时间戳和大小,来跨计算机系统高效地传输和同步文件的工具。
通常情况下,管理程序在启动Rsync服务后,会直接运行传输任务。如果Rsync服务未经过安全加固,则很容易出现未授权访问等安全问题;其直接后果是传输数据裸露在互联网上,可以被任何人访问获取,带来严重的数据泄露风险。
建议您在使用Rsync服务端时,参考本文对Rsync服务进行安全加固,保障数据安全。
加固方案
隐藏module信息
将配置文件修改为以下内容:
list=false
使用权限控制
将不需要写入权限的module设置为只读:
readonly=true
限制网络访问
使用安全组策略或白名单,限制允许访问主机的IP地址。
hostsallow=123.123.123.123
启用账户认证
只允许指定的用户,使用指定的密码,来调用Rsync服务。
服务端配置
authusers=ottocho
secretsfile=/etc/rsyncd.secrets
在文件/etc/rsyncd.secrets中写入使用的账号密码,格式为:username:password,支持多行。
注意:密码要求满足强密码策略,必须是8位以上,且包括大小写字母、数字、特殊字符的字符串。此处的password使用明文。
客户端配置
在客户端,使用--password-file=/etc/rsyncd.secrets参数,在/etc/rsyncd.secrets中写入密码。
Rsync-av--password-file=/etc/rsyncd.secretstest.host.com::files/des/path
在上述/etc/rsyncd.secrets密码文件中,用户或用户组必须和实际使用者保持一致,且权限必须是600。
数据加密传输
Rsync默认不支持加密传输,如果需要使用Rsync传输重要性很高的数据,可以使用SSH模式。
Rsync支持以下两种同步模式:
当源路径或目的路径的主机名后面包含一个冒号分隔符时,Rsync使用SSH传输。
当源路径或目的路径的主机名后面包含两个冒号,或使用Rsync://URL时,Rsync使用TCP直接连接Rsyncdaemon。
在配置好SSH后,推荐参照以下方式来使用:
Rsync-avtest.host.com:/path/to/files/des/path