弱口令其实并没有一个明确的定义,大家把一些常见、有明显规律的口令称为弱口令,如password, 123456, qwerasdf等。现有的应用弱口令检测技术大都是通过事先准备好的用户名和弱口令字典对应用服务端口进行暴力破解,并每隔一段时间就执行一次应用弱口令检测。这种方式虽然简单、有效,但检测时间较长,且在检测期间会导致主机的CPU占用率过高,可能会影响主机正常业务的运行。若在两次弱口令检测期间,应用未进行用户的增、改,那么两次的检测结果就是一样的,第二次的检测就做了无效功,白白浪费了主机资源。
在此,向大家介绍一种相对高效,能够避免无效检测的应用弱口令检测方法,流程如下图:
每次弱口令检测完后都将结果存至文件中。在下次检测时,首先比较应用存放用户数据文件(如MySQL5.7版本的用户数据文件为user.MYD)和检测结果文件的修改时间,如果用户数据文件修改时间早于检测结果文件,那么上次的检测结果仍然有效,不需要再次检测;反之,该应用的用户有增、改,上次结果不能复用,需重新进行检测。而且应用用户的增改频率比应用弱口令检测的频率低,能够复用上次检测结果的情况更常见,大大减少应用弱口令检测消耗的主机资源。
尽管现在有弱口令检测这项技术在很大程度上帮助大家找出主机当中的弱口令,但这不能百分百保证主机中使用的弱口令被检测出来,还是有被遗漏,并被黑客利用的可能。所以我们不应该依赖于外部工具,而要有安全意识,在设置口令时,使用强口令(字母+数字+特殊字符的长组合)并定期修改口令,这样才能真正“消灭”弱口令,确保主机系统的安全。