Rsync 是一个通过检查文件的时间戳和大小,来跨计算机系统高效地传输和同步文件的工具。通常情况下,管理程序在启动 Rsync 服务后,会直接运行传输任务。如果 Rsync 服务未经过安全加固,则很容易出现未授权访问等安全问题;其直接后果是传输数据裸露在互联网上,可以被任何人访问获取,带来严重的数据泄露风险。
以下是关于 Rsync 服务的安装及安全加固 的详细步骤:
一、Rsync 服务安装
1. 安装 Rsync
在 Linux 系统中,可以通过以下命令安装 Rsync:
yum install rsync -y
或者使用 apt(适用于 Debian/Ubuntu 系统):
sudo apt-get install rsync
2. 配置 Rsync 服务端
Rsync 的配置文件通常位于 /etc/rsyncd.conf。如果该文件不存在,需要手动创建并编辑。以下是一个基本的配置示例:
# Global Settings
uid = root
gid = root
use chroot = no
max connections = 20
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
secrets file = /etc/rsyncd.secrets
# Module Definition
[backup]
path = /backup/
comment = Backup Directory
read only = no
auth users = rsync_user
3. 创建密码文件
在配置文件中指定的 secrets file 需要包含用户和密码,格式为 username:password。例如:
echo "rsync_user:your_password" > /etc/rsyncd.secretschmod 600 /etc/rsyncd.secrets
4. 启动 Rsync 服务
通过以下命令启动 Rsync 守护进程:
rsync --daemon
确保 Rsync 服务在 873 端口监听,可以使用以下命令检查:
netstat -natp | grep rsync
二、Rsync 服务安全加固
1. 隐藏 Module 信息
在配置文件中设置:
list = false
2. 使用权限控制
将不需要写入权限的 Module 设置为只读:
read only = true
3. 限制网络访问
使用安全组策略或白名单,限制允许访问主机的 IP 地址。例如:
hosts allow = 192.168.0.1
4. 启用账户认证
服务端配置:
auth users = rsync_user
secrets file = /etc/rsyncd.secrets
·
在 /etc/rsyncd.secrets 文件中写入账号密码,格式为 username:password,支持多行。密码必须满足强密码策略。
客户端配置: 在客户端,使用 --password-file 参数指定密码文件:
rsync -av --password-file=/etc/rsyncd.secrets test.host.com::files /des/path
密码文件权限必须设置为 600。
5. 数据加密传输
Rsync 默认不支持加密传输,可以通过 SSH 模式实现加密。例如:
rsync -avz -e ssh /source/directory user@remote_host:/destination/directory
6. 配置防火墙规则
通过防火墙工具(如 iptables 或 firewalld)限制对 Rsync 端口(默认为 873)的访问。例如:
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 873 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j REJECT
7. 定期审计与日志监控
启用详细日志记录,修改 /etc/rsyncd.conf 文件:
log file = /var/log/rsyncd.log
log format = %t %a %m %f %b
定期检查日志文件,以便发现异常活动。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/10388.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~