2. 不允许缓存密码 我们需要确保MySQL服务器不会自动缓存密码,否则对手可以轻松地获取密码并对其进行攻击。我们可以通过以下方式禁用密码缓存:““[client]; Set this if you want mysql to ignore interactive ; questions about locking tables or killing queries.no-auto-rehash [mysql]n...
4.除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;5.用grant和revoke语句来进行用户访问控制的工作;6.不使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;7.不选用字典中...
哈希处理:在将密码存储到数据库之前,应使用哈希算法对密码进行加密。注意,为了增强安全性,可以对密码进行多次哈希处理,但通常单次哈希配合强哈希算法已足够安全。避免明文存储:绝对不要以明文形式存储密码,这是非常不安全的做法。验证流程:当用户登录时,系统会对用户输入的密码进行相同的哈希处理,然...
可以看到,AES_ENCRYPT函数将明文字符串加密为了一串16进制数,并且同样的密钥使用AES_DECRYPT函数可以将其解密为原始的明文字符串。需要注意的是,这两个函数传入的密钥必须是一个常量字符串,不能是表达式或变量。因此,在实际应用中需要妥善保管密钥。2.2 DES_ENCRYPT和DES_DECRYPT函数 除了AES_ENCRYPT和...
1.3禁止使用mysql命令行历史记录 Linux系统:执行如下命令:find / -name ".mysql_history"查看是否存在mysql的历史命令记录文件,如果存在,则需要进行如下加固:(1)删除.mysql_history文件;(2)设置环境变量MYSQL_HISTFILE为/dev/null,并添加到shell的初始化脚本中,创建mysql_history到/dev/null的...