直接 IP 攻击,ElastickBeanstalk/NGINX

Direct IP Attacks, ElastickBeanstalk/NGINX

我的网站有点问题。 所以设置是 ElasticBeanstalk(NGINX) + Cloudflare

但每天凌晨 4 点左右,我的服务器都会受到直接 IP 攻击。 1-2 分钟内大约有 300 个请求。 Bot 尝试访问一些资源,例如

GET /phpMyadmi/index.php HTTP/1.1
GET /shaAdmin/index.php HTTP/1.1
POST /htfr.php HTTP/1.1

目前所有这些都转到 80 或 8080 端口。 并由 Nginx 配置成功处理,将其重定向到 example:443

server {
        listen 80 default_server;
        listen 8080 default_server;
        server_name _;
        return 301 https://example.com$request_uri;
      }

      server {
        listen 443 ssl;
        server_name example.com;
        ssl on;    
...

所以问题是,

  1. 有许多站点 owners/devOps 面临同样的攻击。您采取什么措施来防止此类攻击。
  2. 目前处理的很好,没有影响服务器工作,需要担心吗?或者只是用 /phpmy/ 模式过滤掉日志然后忘记它。
  3. 在这次攻击之前我有使用方法 PROPFIND 的请求,出于安全原因我应该阻止它吗?目前由默认服务器处理。

我知道我可以使用 Cloudflare Argotunel 或 ELB + WAF。不过我暂时不想做。

我在 Whosebug 上找到了一个解决方案。是所有 cloudflare ips 的白名单。但我认为这不是一件好事。

另一个应该有效的解决方案我想是检查主机 header,并将其与 'example.com' 进行比较。

回答您的具体问题:

  1. 每个 public IP 都会收到您描述的不需要的流量,遗憾的是这很正常。这并不是真正的攻击,它只是一个寻找特定弱点迹象的机器人,或者试图激发包含有用数据的响应。这些数据无疑后来被用于实际攻击,但它基本上是大规模自动识别。

  2. 这种脚本很可能不会造成任何损害,因此只要您的服务器配置良好且已完全修补,这就不是什么大问题。然而,这些类型的扫描是发起攻击的第一步 - 通过识别具有已知漏洞的服务和应用程序版本 - 因此保留日志以供分析是明智的。

  3. 你应该遵循最小权限原则。 PROPFIND 与 WebDAV 相关 - 如果您不使用它,请禁用它(或者更好地将您支持的动词列入白名单并忽略其余部分)。

如果您的网站已经在 CloudFlare 之后,那么您真的应该对您的 IP 进行防火墙访问,这样只有 Cloudflares IP 才能与您的服务器通信。这些 IP 确实会发生变化,因此我建议使用脚本从 https://www.cloudflare.com/ips-v4 and have it periodically update your firewall. Theres a slightly vuage help article from CloudFlare on the subject here: https://support.cloudflare.com/hc/en-us/articles/200169166-How-do-I-whitelist-Cloudflare-s-IP-addresses-in-iptables-

下载最新版本

如果出于某种原因您无法对 IP 设置防火墙,您的下一个最佳选择是 fail2ban (www.fail2ban.org) - 它是一个日志解析器,可以操纵防火墙暂时或永久阻止 IP 地址基于在您的日志文件中找到的模式。

最后一个想法 - id 建议不要从您的 IP 重定向到您的域名 - 您告诉 bot/hackers 您的 URL - 然后他们可以用来绕过 CDN 并直接攻击您的服务器.除非你有一些理由允许 HTTP/HTTPS 流量到你的 IP 地址,否则 return 一个 4XX(也许 444 一个“连接关闭而没有响应”)而不是在请求到达你的 IP 时重定向。然后你应该创建一个单独的服务器块来处理你的重定向,但只让它响应真正命名的 URLs.