我正在为家庭自动化编程一个家庭网络服务器。我曾多次看到“机器人”扫描我的服务器端口。为了避免给不需要的扫描提供任何类型的活动标志,我试图避免为特定 URL 生成任何类型的答案,例如“/”,即。为典型扫描的 URL 配置静默模式。
我尝试过使用 void .route 装饰器、错误寻址和空页面,但它们都生成了某种响应。
在 Flask 和 Python 中这可能吗?
有什么解决办法吗?
谢谢
我建议为您正在扫描的网址返回自定义错误代码,例如 HTTP_410_GONE。
From: http://www.flaskapi.org/api-guide/status-codes/
@app.route('/')
def empty_view(self):
content = {'please move along': 'nothing to see here'}
return content, status.HTTP_410_GONE
将 nginx 放在您的 Flask 应用程序前面,并使用fail2ban 配置来监视此错误代码,并开始禁止不断访问这些 url 的 ip。
From: https://github.com/mikechau/fail2ban-configs/blob/master/filter.d/nginx-404.conf
# Fail2Ban configuration file
[Definition]
failregex = <HOST> - - \[.*\] "(GET|POST).*HTTP.* 410
ignoreregex =
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)