mysql-proxy明文密码

Mar*_*hes 11 mysql lua mysql-proxy

我有MySQL代理运行,我有一个功能的LUA,read_auth()但在身份验证过程中传递的密码被哈希(如预期).

我需要的格式是我可以使用和发布的,所以明文.在MySQL客户端上启用明文插件没有任何效果,我怀疑MySQL代理不要求客户端以明文形式发送它,因此默认为散列.

所以基本上:你对我如何能够在read_auth()MySQL代理的功能中获得明文验证细节有任何想法吗?

注意:我的最终目标是使用LDAP进行身份验证,但是我可以获取密码(哈希是否哈希)的唯一方法是实际绑定到LDAP,无法通过搜索获得.

Tim*_*ker 8

MySQL网络协议不允许以明文形式发送密码,您可以捕获的只是加密版本.


但是,如果您尝试发送(从客户端到服务器)明文,客户端明文插件应该工作...

从MySQL 5.5.27开始,为了不太可能无意中使用此插件,需要客户端明确启用它.这可以通过以下几种方式完成:

将LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN环境变量设置为以1,Y或y开头的值.这为所有客户端连接启用了插件.

mysql,mysqladmin和mysqlslap客户端程序支持--enable-cleartext-plugin选项,该选项在每次调用的基础上启用插件.

mysql_options()C API函数支持MYSQL_ENABLE_CLEARTEXT_PLUGIN选项,该选项基于每个连接启用插件.此外,任何使用libmysqlclient和读取选项文件的程序都可以通过在客户端库读取的选项组中包含enable-cleartext-plugin选项来启用该插件.


或者,还有一些其他选项可以通过LDAP进行身份验证.例如,您可以使用PAM身份验证插件,它允许您使用任何可用的PAM模块来提供身份验证服务,并且有一个易于配置的pam_ldap模块.

您还可以考虑使用角色并将用户名映射到角色,因此您将拥有一些具有权限的角色和许多映射到这些角色的用户名.您可以在此处找到更多相关信息.

更多资源: