如何避免无效的URL请求攻击?

时间:2018-11-30 06:41:58

标签: ruby-on-rails

我的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) 

应对这种情况的最佳方法是什么?

3 个答案:

答案 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-releaseyum install fail2ban将其安装在CentOS上。