我的rails服务器在一段时间内一直被大量无效的url请求所束缚。我认为除了大量的日志外,攻击不会对服务器造成太大影响。
ActionController::RoutingError (No route matches [GET] "/xmlrpc.php"): app_serv_green_1 | app_serv_green_1 | actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' ActionController::RoutingError (No route matches [GET] "/wp-login.php"): app_serv_green_1 | app_serv_green_1 | actionpack (5.1.4)
应对这种情况的最佳方法是什么?
答案 0 :(得分:1)
您可以在route.rb的末尾写一条规则:
with open('questions.xml','r') as fp:
myXMLfile=fp.read()
并在头中返回404响应代码。
答案 1 :(得分:1)
您发布的示例看起来像是一个机器人,正在寻找进入WP网站的途径。您可以考虑使用一种服务来阻止机器人的重复尝试(ip黑名单)。这样,您就不会从日志中排除这可能会在将来有用。我在https://www.sqreen.io使用了一项服务,但是此字段中有很多选项。
答案 2 :(得分:1)
是的,这些是扫描所有网站以寻找漏洞的机器人。安装fail2ban,它将扫描日志文件并将其IP地址与iptables
一起放置在Linux防火墙的黑名单中一段时间。您可以设置搜索内容和禁止内容的正则表达式。
Fail2ban扫描日志文件(例如/ var / log / apache / error_log)并禁止显示恶意迹象的IP-太多密码失败,寻找漏洞等。通常,Fail2Ban然后用于更新防火墙规则以拒绝尽管可以配置任何其他任意操作(例如,发送电子邮件),但可以在指定的时间段内使用IP地址。 Fail2Ban开箱即用,带有针对各种服务(apache,courier,ssh等)的过滤器。
使用yum install epel-release
和yum install fail2ban
将其安装在CentOS上。