实现实时IP白名单系统的最佳方式

时间:2017-06-05 07:43:52

标签: node.js security nginx ip ddos

我想设置一个IP白名单系统来保护我的网络服务器。

我可以保护3个图层:(互联网=>)防火墙 => Nginx 反向代理=> Node.js 服务器

在实用性方面,我正在保护我的Node.js服务器,因为我可以动态地允许/拒绝实时Firebase表中的IP,我通过自定义Web界面进行编辑。但它并不能完全阻止DDoS,因为即使我将错误返回到未经授权的IP,我的节点服务器也会直接处理负载而这不好......

我更愿意保护我的服务器,如Nginx或防火墙。 但是,IP列表是服务器上的文件,实现一个与我现在使用的解决方案一样舒适的解决方案似乎很复杂。

您有什么建议,您对我目前的解决方案有什么看法?

谢谢!

1 个答案:

答案 0 :(得分:2)

有两种方法可以构建“动态”IP过滤器:

  1. 在每个请求中,Nginx要求Firebase(或其他ip白名单源)“在ip白名单中执行此客户端吗?”。为此,您需要一个允许为nginx编写脚本的模块,例如ngx_http_lua_modulengx_http_perl_modulenginScript;
  2. 每次更新数据Firebase触发事件时,某些应用程序会捕获事件,然后重建防火墙规则或nginx ip filter。
  3. 第二种方式在DDoS之前表现得更强,但如果ip white list非常大并且频繁更改,那么适用性较差。