Rsync未授权访问漏洞复现及彻底修复

一、什么是 Rsync?

  1. Rsync 是一种广泛使用的文件传输工具,它允许系统管理员和用户通过局域网(LAN)或广域网(WAN)在计算机之间同步文件和目录。
  2. Rsync 支持通过本地或远程 shell 访问,也可以作为守护进程运行,监听特定端口(默认为 873)上的连接。
  3. Rsync 使用一种高效的算法来同步文件,只传输文件的变更部分,而不是整个文件,可以保持文件属性、权限、时间戳和符号链接等,这使得它非常适合于大型文件和频繁更新的场景。

二、Rsync未授权访问漏洞复现

1、首先,可以通过以下命令直接访问,并查看各个Rsync配置好的文件

Shell 复制代码
rsync rsync://192.168.118.3:873

如下

2、未认证的话,还可直接访问到模块内的目录

三、漏洞修复措施

1、先别急,看看配置文件/etc/rsync.conf,详细解析

bash 复制代码
motd file = /path -> motd文件位置
log file = /path -> 日志文件位置
path = /path -> 默认路径位置
use chroot = yes -> 是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为true就限定为模块默认目录
read only = no -> 只读配置(yes or no)
list = true -> 是否可以列出模块名
uid = root -> 传输使用的用户名
gid = root -> 传输使用的用户组
auth users = username -> 认证用户名
secrets file = /etc/rsyncd.passwd -> 指定密码文件,如果设定验证用户,这一项必须设置,设定密码权限为400,密码文件/etc/rsyncd.passwd的内容格式为:username:password
hosts allow = 192.168.0.101  -> 设置可以允许访问的主机,可以是网段,多个Ip地址用空格隔开
hosts deny = 192.168.118.0/24  -> 禁止的主机,host的两项可以使用*表任意。

2、好了,大概了解,可以用hosts allow和hosts deny,来允许和禁止访问的主机IP,例如

bash 复制代码
[Confi]
path = /etc
hosts allow = 192.168.0.101
hosts deny = 192.168.118.0/24

设置192.168.118.0/24网段,Confi访问不了了,效果如下

3、或者添加账号密码认证,给Priva添加,例如

bash 复制代码
[Priva]
path = /tmp
auth users = username
secrets file = /etc/rsyncd.passwd

接下来访问Priva模块,要输入密码啦,效果如下

4、还有个问题,一开始访问的目录,该怎么隐藏呢

哈哈,细心的小伙伴肯定发现了,从rsync.conf解析看,可以将list默认的true,设置为false

bash 复制代码
list = false

就啥模块也找不到啦,不过后面添加模块路径,依旧可以访问的,效果如下

5、简单粗暴的,直接在系统iptables防火墙设置,只允许指定的主机IP访问873端口

bash 复制代码
iptables -A INPUT -p tcp -s 192.168.0.101 --dport 873 -j DROP
iptables -A INPUT -p tcp --dport 873 -j DROP

嘿嘿,结果显示是,一直超时,效果如下

iptables重启后,规则会自动失效 ,记得保存,iptables-save保存到一个路径,重启后输入iptables-restore命令还原,即可

bash 复制代码
iptables-save > /tmp/iptables.save
iptables-restore < /tmp/iptables.save

6、完美解决,Over~~

相关推荐
ylscode4 小时前
OpenSSH 10.4 正式发布:后量子加密落地,多项高危漏洞得到修复
网络·安全·网络安全
DianSan_ERP5 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
阿成学长_Cain6 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
青瓦梦滋6 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
驭渊的小故事10 小时前
网络原理01(两千字解析)
网络
KaMeidebaby12 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
阿成学长_Cain14 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
skd899914 小时前
万能查任意网络设备IP工具
服务器·网络·tcp/ip
NiceCloud喜云15 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
门思科技15 小时前
TKL + EB:重新定义 LoRaWAN 在存量设备改造中的价值,让传统设备快速接入物联网
网络·物联网