You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器MySQL数据库登录尝试日志问题:仅能捕获用户名无法获取密码

如何记录MySQL登录尝试并处理密码捕获问题

嘿,我来帮你搞定这个事儿!你只抓到用户名却拿不到密码,核心原因是MySQL登录时的密码根本不是明文传输的——客户端会对密码做多层哈希处理后再发往服务器,所以直接抓原始数据包只能看到加密后的哈希值,没法直接还原出明文密码。下面给你几个按实用性排序的解决方案:

1. 启用MySQL通用查询日志(最省心的方案)

这个是最直接的办法,通用查询日志会完整记录所有客户端的连接请求,包括登录时的用户名、客户端IP,还有登录成功/失败的状态——虽然还是看不到明文密码,但完全能满足你“记录所有登录尝试”的需求。

  • 临时启用(MySQL重启后失效,适合快速测试):
    SET GLOBAL general_log = 'ON';
    SET GLOBAL general_log_file = '/var/log/mysql/general.log';
    
  • 永久启用(修改配置文件,重启后生效):
    找到你的MySQL配置文件(比如Debian/Ubuntu是/etc/mysql/mysql.conf.d/mysqld.cnf,RHEL/CentOS是/etc/my.cnf),在[mysqld]区块里添加:
    general_log = 1
    general_log_file = /var/log/mysql/general.log
    
    然后重启MySQL服务:
    sudo systemctl restart mysql
    
    之后打开日志文件就能看到类似这样的记录:

    2024-05-20T12:34:56.789123Z 12 Connect bad_user@192.168.1.100 on using TCP/IP
    2024-05-20T12:34:57.123456Z 12 Access denied for user 'bad_user'@'192.168.1.100' (using password: YES)

2. 用审计插件做专业监控

如果需要更细致的审计(比如记录登录时间、客户端端口、认证类型等细节),可以用开源的Percona Audit Log Plugin,或者MySQL企业版自带的Enterprise Audit插件。这里说下免费的Percona方案:

  1. 把对应版本的audit_log.so插件文件放到MySQL的插件目录(可以用SELECT @@plugin_dir;查看路径)
  2. 执行SQL启用插件:
    INSTALL PLUGIN audit_log SONAME 'audit_log.so';
    SET GLOBAL audit_log_enabled = ON;
    
  3. 默认日志存在/var/log/mysql/audit.log,里面会有结构化的登录记录,方便后续分析。

3. 破解认证数据包(技术门槛高,不推荐)

如果你非要拿到明文密码,那得利用MySQL的认证协议细节:客户端发送的哈希值是SHA1(密码) XOR SHA1(服务器随机盐 + SHA1(SHA1(密码))),要还原密码得先抓包拿到服务器发的随机盐和客户端的哈希值,然后用字典暴力破解。

步骤大概是:

  • 用tcpdump抓MySQL端口的数据包:
    tcpdump -i any port 3306 -w mysql_login.pcap
    
  • 用Wireshark打开pcap文件,找到MySQL Authentication Packet,提取里面的盐值和哈希字段
  • 用hashcat这类工具加载密码字典去匹配哈希值

这种方法效率极低,而且只有当密码在你的字典里时才能成功,还不符合安全规范,除非你有特殊需求,否则不建议这么做。

4. 系统日志补充监控

如果有人是先SSH登录服务器再操作MySQL,那系统的/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(RHEL/CentOS)会记录SSH登录尝试,但这和远程MySQL登录是两码事,只能作为补充监控手段。

总结一下:如果只是要记录所有MySQL登录尝试,启用通用查询日志就足够了;要是需要更细致的审计,就用审计插件;至于明文密码,除非必要,别费那个劲儿去破解——毕竟MySQL的加密传输就是为了安全。

内容的提问来源于stack exchange,提问作者Ninjailbreak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:37:15