实现实时IP白名单系统的最佳方式
问题描述:
我想设置一个IP白名单系统来保护我的Web服务器。实现实时IP白名单系统的最佳方式
有3层我可以保证:(互联网=>)防火墙 =>Nginx的反向代理=>Node.js的服务器
在实用性方面,我保证我的节点.js服务器,因为我可以通过自定义Web界面在实时Firebase表中动态地允许/拒绝IP。但它并不能完全防止DDoS,因为即使我将错误返回给未经授权的IP,我的节点服务器也会直接处理负载,这是不好的...
我宁愿保护我的服务器在较高级别,像Nginx或防火墙。 但是,IP列表是服务器上的文件,实施与我现在使用的解决方案一样舒适的解决方案似乎很复杂。
你有什么建议,你对我目前的解决方案有什么看法?
谢谢!
答
有2种方式打造“动态的” IP筛选器:
- 在每次请求Nginx的要求火力地堡(或其他IP白名单源)“执行此客户端IP白名单?”。为此,您需要一个允许nginx脚本的模块,如ngx_http_lua_module,ngx_http_perl_module或者nginScript;
- 在每次更新数据Firebase触发事件时,某些应用程序会捕获事件,然后重新生成防火墙规则或nginx ip过滤器。
第二种方式在DDoS之前似乎更强大,但是如果ip白名单非常大且变化频繁,则不太适用。
我真的很喜欢你的答案,'nginScript'看起来很有希望:) –