关于 apache 和 nginx 的 auth 疑问
- 0次
- 2021-05-27 19:00:52
- idczone
有一些服务器用的是apache或nginx
问题是,为了防止暴力破解,想有一个密码错误尝试多大带宽服务器次后不让其继续访问需要auth的页面(所对应的公网ip),但其他的普通网页依然允许访问的功能
我现在自己配置的apache和nginx可以无限重试,感觉太不放心了
auth? 你是指自带的 http auth 模块么
这俩自带的模块好像都没有这个特性
这里有解决方案: http://serverfault.com/questions/421046/how-to-limit-nginx-auth-basic-re-tries
单纯依靠nginx/apache实现不了吧。auth页面自己写逻辑啊,密码错误几次今天内这个ip封掉啊。redis&memcache就好
ngx lua 放到 access_by_lua 阶段,对请求中带 Authorization 头部的 IP 进行计数,在一定时间内超过阀值就触发 403。
现在我是直接Deny All
Allow IP
用fail2ban 把整个IP都给禁了 连普通页面也无法访问
太复杂了吧
能给个样例吗 谢谢
用fail2ban好像就以解决了
一点都不复杂。web server不承担验证逻辑判断的任务。像的方案也是把验证逻辑搬到了nginx里,“验证”这个逻辑和代码部分内容依然还是存在的。
补充一下,如果写到nginx里,那还要考虑到以后的扩展问题,做负载不好做啊 -_-#