2017-06-05 48 views
0

我想设置一个IP白名单系统来保护我的Web服务器。实现实时IP白名单系统的最佳方式

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

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

我宁愿保护我的服务器在较高级别,像Nginx或防火墙。 但是,IP列表是服务器上的文件,实施与我现在使用的解决方案一样舒适的解决方案似乎很复杂。

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

谢谢!

回答

1

有2种方式打造“动态的” IP筛选器:

  1. 在每次请求Nginx的要求火力地堡(或其他IP白名单源)“执行此客户端IP白名单?”。为此,您需要一个允许nginx脚本的模块,如ngx_http_lua_module,ngx_http_perl_module或者nginScript;
  2. 在每次更新数据Firebase触发事件时,某些应用程序会捕获事件,然后重新生成防火墙规则或nginx ip过滤器。

第二种方式在DDoS之前似乎更强大,但是如果ip白名单非常大且变化频繁,则不太适用。

+0

我真的很喜欢你的答案,'nginScript'看起来很有希望:) –

相关问题