对于拥有三名员工的公司来说,每天 4,812 次
本节中涉及的访问日志来自一家拥有三名员工的公司。昨晚有人尝试登录管理页面。 第 4,812 号 我进来了。很多人认为因为自己的公司小,所以不会成为攻击的目标,但实际上,规模与大小无关。
管理地址 /wp-login.php我 /admin如果您保留默认值,您每天都会收到这笔金额。这是因为,该程序不是由攻击者一方的人员进行检查,而是扫描整个互联网并访问默认路径。
不是随机的
如果您按照帐户和密码组合来组织日志中留下的尝试,则性质会清楚地显现出来。而不是尝试插入任何字符串, 将从其他网站泄露的密码列表按顺序粘贴到通用帐户名中。 就是这样。
- 该帐户是
admin,administrator,容易猜到的值,例如公司域名的前面部分或代表姓名的英文符号,都会重复。 - 密码是从已经泄露并公开的列表中按顺序检索的。
- 尝试集中的部分之间的间隔是 0.4秒是的。这不是人类用手打字的速度。
因此,如果您的管理员帐户使用的密码与其他服务使用的密码相同,则该组合可能已在列表中。
只需要在 4,812 次中击中一次即可。
该日志包含一长串 401 响应,后跟一行 302 响应。则说明认证成功。从下一行开始,出现文件上传请求。
从此时起,登录尝试次数就失去了意义。获得管理员权限的一方上传Web shell,并继续使用Web shell创建垃圾邮件页面。搜索结果中大量的陌生页面是如何开始的? 如何在10秒内检查你的主页是否被黑客入侵它被覆盖了。
确认是一行
您可以在访问日志中统计管理员地址被调用的次数。
grep -c "wp-login.php" /var/log/nginx/access.log
awk '/wp-login/{print $1}' access.log | sort | uniq -c | sort -rn
第一行统计呼叫总数,第二行显示哪些 IP 被窃听、有多少个以及按什么顺序窃听。如果您的网站不使用 WordPress wp-login.php 到位 /admin, /manager像这样,你需要输入你实际使用的管理员路径并统计它。
如果每天的调用次数超过数百次,则还没有被突破,但已经成为目标。
立即采取四项行动
- 替换默认的管理员地址。
/wp-login.php和/admin如果您将其移至只有公司知道的路径,则大多数自动化尝试都无法到达那里。 - 开启两步验证。 即使密码正确,您也会再次被阻止。
- 限制可访问的IP。 如果您只允许您的办公室和 VPN 带宽到达管理页面,则任何剩余的请求将直接发送到服务器。
- 根据失败次数自动阻塞。 设置服务器在一定时间内直接拒绝失败5次的IP。
必须将四者结合起来才能发挥作用。简单地将密码更改为更长的密码并不会减少尝试次数。由于该方法使用已经泄露的列表,增加长度只会降低成功的概率,并不能阻止窃听行为。