初学者的等保测评2.0:MySQL身份鉴别(下)
一、说明
接上篇内容,上篇只写了MySQL数据库身份鉴别a项,今天把b、c给写了,文章内容主要记录自己的一个踩坑过程,等保测评里面的测评项其实有很多都是老版本的,基本上按照等保测评书上给的步骤,很难查出来东西了,就算能查出来,也没有效果。
二、MySQL数据库身份鉴别测评项
应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
三、先说b)吧
应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
说白了这这一项说的也就是对一个登录次数的限制和登录长时间未操作的限制。接下来我们来实际操作一下,MySQL的登录失败处理功能和密码复杂度有点类似,因为它也是基于模块进行安装的。我们先根据初级测评书上面的操作步骤进行操作看看是否可以得到我想要的结果。
mysql> Show variables like"max_connect_errors"; +--------------------+-------+ | Variable_name ? ? ?| Value | +--------------------+-------+ | max_connect_errors | 100 ? | +--------------------+-------+ 1 row in set (0.00 sec)大家看到这个值是不是有点懵,我刚看的时候也懵,为什么只提供了一个最大连接错误的一个值,这里是数据库一个默认值为100,数据库官网意思是说,如果来自主机的连续连接请求超过这个数目而没有成功连接而被中断,服务器将阻止该主机进一步连接。您可以通过刷新主机缓存来解除被阻塞主机的阻塞。为此,发出FLUSH HOSTS语句或执行mysqladmin FLUSH - HOSTS命令。如果在前一个连接被中断后,在少于max_connect_errors尝试的情况下成功地建立了连接,主机的错误计数将被清除为零。然而,一旦主机被阻塞,刷新主机缓存是解除阻塞的唯一方法。默认值是100。
那么问题来了,这个默认值我们应该怎么判断,我一般是根据值的大小是否达到安全级别,当前值为一百的话,是有点大了,可以给部分符合。因为对于那总暴力破解行为的话还是有用的。
这个方法的话是如果被拒绝,那么你不执行操作的话就会一直被拒绝,不会自动恢复。下面我们设置connection_control模块的登录失败处理,这个可以根据自己设置的时间自动恢复登录。我们先看一下有没有这个模块。
没有哈,我们设置一下,把这个模块添加进去。
Install plugin connection_control soname "connection_control.so";直接输入命令添加,执行成功可以使用show plugins;查看一下有没有
已经显示的有了,好我们再查看一下这个模块现在的默认配置。
mysql> show variables like '%connection_control%';
+-------------------------------------------------+------------+
| Variable_name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | Value ? ? ?|
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 3 ? ? ? ? ?|
| connection_control_max_connection_delay ? ? ? ? | 2147483647 |
| connection_control_min_connection_delay ? ? ? ? | 1000 ? ? ? |
+-------------------------------------------------+------------+
3 rows in set (0.00 sec)
最多输出三次密码,然后隔1秒(这里1000毫秒),间隔时间有点短。我们把值提添加一个0
使用账户测试一下
新建一个账户进行测试。
等待十秒种之后才可继续登录。
接下来查看登录连接超时
SHOW GLOBAL VARIABLES LIKE '%timeout%';这里是一些连接超时的参数,这里就不细讲了。
四、身份鉴别c)项
当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
意思就是是否对远程连接数据库进行加密连接,有些工具是加密的有些是明文传输的,查看远程连接的话首先,先查看是否开启远程登录。
localhost只允许本地登录。查看是否开启openssl连接。
已经开启。这里openssl连接是加密的连接方式。这里就可以根据查看情况去记录。
五、结束语
MySQL数据库的身份鉴别控制项已经结束了,后续有时间再出后续吧,互联网再发展,系统也在不断的更新升级,我们的测评方式也要跟上更新的脚步,勿要落后,落后就没有饭吃啊。