蛮力攻击针对目标网站,猜测并组合不同的用户名和密码,多次尝试登录以获取正确的登录信息,达到进入网站目的。这是一个简单而有效的网站攻击方式,可用于任何网站,尤其是那些登录区域安全性较差的网站。
一旦你的网站受到这种攻击,就会由于出现大量的流量和过度使用服务器内存,而导致严重的性能问题。蛮力攻击很容易检测到,但是却很难预防和缓解。即便如此,你仍然可以做一些事情来预防网站受到这样的攻击。接下来我们将介绍一些常用的预防蛮力攻击的有效方法。
加强用户名和密码
默认情况下,一个账户的用户名是“admin”,密码则可能是类似“12345678”这样的信息。这些登录信息过于简单,很容易被黑客猜到。一旦这样的情况发生,你的网站将处于一个很危险的境地。因此,不要随意设置一个简单的容易被他人猜到的用户名和密码。设置一个长并且复杂的密码,最好同时包括大小写字母、数字和特殊字符等。此外,用户名和密码不应包括任何真实名称,比如公司或网站的名字。此外,如果你的网站有多个管理员,你也应该提醒他们完善登录信息。
锁定账户
锁定账户可以防止自动化脚本测试其他可能对某些账户密码。一旦设置这种功能,用户登录失败达到一定次数时,这个账户就会被锁定一段时间或者完全锁定,直到管理员解除锁定才能再次登录。这种方法在某些情况下是有效的,尤其是当攻击量大的时候。然而,它却不是在所有情况下都适用,比如说攻击者试图故意锁定你的诸多用户账户。
显示模糊的错误提示信息
通常,登录失败时会显示错误提示信息,比如说“无效的用户名”或“密码错误”。这些提示信息可能会帮助攻击者找到正确的用户名和密码,因为攻击者可以根据提示信息调整用户名或密码并不断尝试,直到找出有效的登录信息。因此,你在设置登录错误提示时,只需要提示用户登录信息有误,而不用显示其他具体的详细信息。
设置登录间隔时间
攻击者在某一账户登录失败后,会使用另外的密码尝试登录。因此,建议你最好设置登录间隔时间,让攻击者无法集中发动攻击,这样可以有效降低攻击进程。你可以设置30秒或更长的间隔时间。当然你不必担心这会影响到你网站的真实用户,但它确实可以防止攻击者在短时间内进入你的网站。
使用验证码进行身份验证
验证码可用于区分计算机和人类,停止自动请求。一旦你在登录页面添加一个验证码,真实的用户只需要输入正确的验证码就可以通过验证并登录成功,而来自电脑的自动请求则会失败。为了更好的预防和缓解的蛮力攻击,你甚至可以创建一个全新的页面验证码和留言框,用户需要完成页面上的验证信息才可以访问管理区域。此外,最好将验证码设置成需要手动输入的信息,而不是几个选项。
设置失败登录问题
为了提高用户账户的安全,你也可以让所有用户制定一些问题,并设置只有他们自己知道的答案。当某个账户有一次或者两次登录失败时,不仅要求登录的人输入正确的用户名和密码,还需要输入问题的正确答案,否则他们无法得到进一步验证。你甚至可以制定问题,不管有没有登录失败,都需要所有用户在登录时回答这些问题,使自动攻击无法访问你的网站。
锁定或限制IP地址
如果你有权访问你网站的服务器,那么你可以锁定或者限制那些垃圾邮件发送者的IP地址和蛮力攻击的来源地。为了更高的网站安全性,你甚至可以只允许某些IP地址访问你网站的登录或管理区域。
结论
以上这些方法你没有必要全部采用,但你可以选择其中的一些加强你网站登录安全,防止蛮力攻击。不管你采取哪些办法,加强用户名和密码是很有必要的。