【问题标题】:How to avoid invalid url requests attack?如何避免无效 url 请求攻击?
【发布时间】:2018-11-30 06:41:58
【问题描述】:

一段时间以来,我的 rails 服务器一直被大量无效的 url 请求所攻击。我认为攻击不会对服务器造成太大影响,除了大量的日志。

ActionController::RoutingError (没有路由匹配 [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 (没有路由匹配 [GET] "/wp-login.php"): app_serv_green_1 | app_serv_green_1 |动作包(5.1.4)

处理这种情况的最佳方法是什么?

【问题讨论】:

  • 所以您不想记录路由错误?

标签: ruby-on-rails


【解决方案1】:

你可以在routes.rb的最后写一条规则:

get '*', to: 'invalid#404'

这会在头部返回 404 响应代码。

【讨论】:

    【解决方案2】:

    您发布的示例看起来像是一个正在寻找进入 WP 网站的方法的机器人。您可以考虑使用阻止机器人重复尝试的服务(ip 黑名单)。这样,您就不会从日志中排除将来可能会被证明有用的日志。我使用https://www.sqreen.io 的服务,但此字段中有许多可用选项。

    【讨论】:

      【解决方案3】:

      是的,那些是扫描所有网站寻找漏洞的机器人。安装fail2ban,它将扫描日志文件并将他们的IP地址与iptables放在Linux防火墙的黑名单上一段时间。您可以设置搜索什么和禁止什么的正则表达式。

      Fail2ban 扫描日志文件(例如 /var/log/apache/error_log)并禁止显示恶意迹象的 IP - 太多密码失败,寻找漏洞等。通常,Fail2Ban 用于更新防火墙规则以拒绝指定时间内的 IP 地址,但也可以配置任何其他任意操作(例如发送电子邮件)。开箱即用的 Fail2Ban 带有针对各种服务(apache、courier、ssh 等)的过滤器。

      在 CentOS 上使用 yum install epel-releaseyum install fail2ban 安装它。

      【讨论】:

        猜你喜欢
        • 2011-01-13
        • 1970-01-01
        • 2013-08-09
        • 1970-01-01
        • 1970-01-01
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 2020-05-12
        相关资源
        最近更新 更多