我的网站有点问题。 因此设置为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;
...
问题是
我知道我可以使用Cloudflare Argotunel或ELB + WAF。但是我现在真的不想做。
我找到了一个关于stackoverflow的解决方案。是所有cloudflare ips的白名单。但我认为这不是一个好人。
还有另一种可行的解决方案,我想是检查主机标头,并将其与“ example.com”进行比较。
答案 0 :(得分:3)
要回答您的特定问题:
每个公用IP都收到您所描述的不必要的流量,可惜它非常正常。这样的攻击并不是真正的攻击,它只是一个机器人在寻找特定弱点的迹象,或者试图引发包含有用数据的响应。毫无疑问,这些数据将在以后用于实际攻击中,但是它基本上可以自动进行大规模识别。
这种脚本可能不会尝试造成任何损害,因此,只要您的服务器配置正确并进行了全面修补,就不必担心。但是,这类扫描是发动攻击的第一步-通过识别具有已知漏洞的服务和应用程序版本-因此明智的做法是保留日志以进行分析。
您应遵循最小特权原则。 PROPFIND与WebDAV有关-如果您不使用它,请将其禁用(或者最好将您支持的动词列入白名单,而忽略其余动词)。
如果您的站点已经在CloudFlare后面,那么您确实应该对您的IP进行防火墙访问,以便只有Cloudflares IP可以与您的服务器通信。这些IP确实会发生变化,所以我建议使用脚本从https://www.cloudflare.com/ips-v4下载最新的脚本,并定期更新您的防火墙。 CloudFlare对此主题提供了一些帮助性的文章: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重定向到域名-您告诉机器人/黑客您的URL-然后他们可以使用它们绕过CDN并直接攻击您的服务器。除非您出于某种原因允许HTTP / HTTPS通信到达您的IP地址,否则在请求到达您的IP时,返回4XX(可能是444“没有响应的关闭连接”),而不是重定向。然后,您应该创建一个单独的服务器块来处理您的重定向,但只能让它响应真正的命名URL。