前言
无论是企业网站还是个人博客,都面临着来自各方的潜在威胁。其中,恶意访问和频繁登录尝试更是让管理员头疼不已。
通过脚本自动屏蔽频繁访问和尝试SSH登录的IP,从而提升服务器的安全防护能力。
Nginx访问日志分析与屏蔽脚本
我们的第一个脚本是基于Nginx访问日志来屏蔽频繁访问的IP。Nginx是一款高性能的HTTP服务器和反向代理服务器,其访问日志记录了每个请求的详细信息,包括客户端IP、请求时间、请求URI等。
脚本代码
使用建议
-
将脚本保存为
nginx_block.sh
,并设置定时任务(如每分钟执行一次)来实时监控和屏蔽频繁访问的IP。 -
根据服务器的实际情况调整
tail -n5000
中的数字,以确保既能及时发现问题又不会因读取过多日志而影响性能。
通过TCP连接数屏蔽频繁访问IP
脚本介绍
除了基于访问日志来屏蔽频繁访问的IP外,我们还可以通过监控TCP连接数来实现这一目标。这种方法不需要依赖特定的日志格式,因此更具通用性。
脚本代码
使用建议
-
将脚本保存为
tcp_block.sh
,并设置定时任务来定期执行。 -
根据服务器的实际情况调整连接数的阈值(如100次),以确保既能有效屏蔽恶意访问又不会误伤正常用户。
屏蔽频繁SSH登录尝试的IP
1. 通过lastb获取登录状态
脚本代码
2.通过日志获取登录状态
脚本代码
使用建议
-
将两个脚本分别保存为
ssh_block_lastb.sh
和ssh_block_auth.log.sh
,并根据实际情况选择使用哪个脚本。 -
设置定时任务来定期执行脚本,以确保及时屏蔽频繁登录尝试的IP。
-
根据服务器的实际情况调整失败登录尝试次数的阈值(如10次或5次),以确保既能有效屏蔽恶意尝试又不会误伤正常用户。
© 版权声明
THE END
请登录后查看评论内容