Rogue Mysql Server蜜罐部署指南:开启账号密码验证的安全实践
【免费下载链接】rogue_mysql_serverA rouge mysql server supports reading files from most mysql libraries of multiple programming languages.项目地址: https://gitcode.com/gh_mirrors/ro/rogue_mysql_server
Rogue Mysql Server是一款支持从多种编程语言的MySQL库中读取文件的蜜罐工具,通过部署该蜜罐并开启账号密码验证功能,能够有效识别和防御针对MySQL服务的未授权访问尝试。本文将详细介绍如何配置账号密码验证,构建安全可靠的MySQL蜜罐环境。
为什么需要开启账号密码验证?
在默认配置下,Rogue Mysql Server可能未启用严格的身份验证机制,这使得攻击者可以轻易尝试连接并获取敏感信息。通过启用静态账号密码验证功能,蜜罐能够:
- 记录所有尝试登录的用户名和密码
- 过滤掉无效的连接请求
- 收集攻击者使用的凭证信息
- 提高蜜罐的真实性和欺骗性
核心配置文件解析
账号密码验证功能主要通过mysql/auth_server_static.go文件实现,该文件提供了基于静态配置的认证服务。核心结构体AuthServerStatic支持多种认证方式,包括:
MysqlNativePassword(默认):使用MySQL原生密码哈希MysqlClearPassword:明文密码验证MysqlDialog:交互式密码验证
快速部署步骤
1. 准备认证配置文件
创建JSON格式的用户凭证文件(例如auth_config.json),支持两种密码格式:
{ "admin": [ { "MysqlNativePassword": "*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4", "UserData": "admin_user", "Groups": ["admin"] } ], "test": [ { "Password": "test123", "SourceHost": "localhost" } ] }安全提示:推荐使用
MysqlNativePassword字段存储哈希值,可通过MySQL的SELECT PASSWORD('your_password')命令生成
2. 编译并启动服务
使用以下命令克隆仓库并构建项目:
git clone https://gitcode.com/gh_mirrors/ro/rogue_mysql_server cd rogue_mysql_server make build启动服务时指定认证配置文件:
./rogue_mysql_server -mysql_auth_server_static_file=auth_config.json3. 配置自动重载(可选)
通过添加-mysql_auth_static_reload_interval参数实现凭证自动更新:
./rogue_mysql_server -mysql_auth_server_static_file=auth_config.json -mysql_auth_static_reload_interval=3600s高级配置选项
命令行参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
-mysql_auth_server_static_file | JSON凭证文件路径 | -mysql_auth_server_static_file=./auth.json |
-mysql_auth_server_static_string | JSON格式的凭证字符串 | -mysql_auth_server_static_string='{"user":[{"Password":"pass"}]}' |
-mysql_auth_static_reload_interval | 凭证自动重载间隔 | -mysql_auth_static_reload_interval=1h |
信号量控制
发送SIGHUP信号可手动触发配置重载:
kill -HUP <pid>验证与测试
使用MySQL客户端测试认证功能:
mysql -h localhost -P 3306 -u admin -p Enter password: 输入对应密码查看服务日志确认认证是否成功,成功的认证尝试会记录如下信息:
INFO[0000] AuthServerStatic initialized with 2 user entries常见问题解决
配置文件解析错误
若启动时出现Error parsing auth server config错误,请检查JSON格式是否正确。特别注意:
- 使用双引号而非单引号
- 正确处理数组和对象结构
- 确保逗号使用符合JSON规范
密码验证失败
如果客户端连接提示"Access denied",可能原因:
- 用户名或密码不匹配
- 密码哈希格式错误(
MysqlNativePassword需以*开头) - 源主机限制(
SourceHost仅支持localhost)
安全最佳实践
- 定期更新凭证:结合自动重载功能定期轮换密码
- 使用强密码策略:生成足够复杂的密码哈希
- 限制网络访问:仅开放必要的端口和IP范围
- 日志分析:定期检查认证日志识别攻击模式
- 禁用明文密码:优先使用
MysqlNativePassword哈希方式
通过以上步骤,您可以构建一个启用账号密码验证的Rogue Mysql Server蜜罐,有效提升网络安全防护能力,同时收集有价值的威胁情报。
【免费下载链接】rogue_mysql_serverA rouge mysql server supports reading files from most mysql libraries of multiple programming languages.项目地址: https://gitcode.com/gh_mirrors/ro/rogue_mysql_server
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考