【问题标题】:Best way to implement an Real-Time IP Whitelisting System实施实时 IP 白名单系统的最佳方法
【发布时间】:2017-11-05 22:33:15
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

    标签: node.js security nginx ip ddos


    【解决方案1】:

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

    1. 在每次请求时,Nginx 都会询问 Firebase(或其他 ip 白名单来源)“此客户端是否在 ip 白名单中?”。为此,您需要允许为 nginx 编写脚本的模块之一,例如 ngx_http_lua_modulengx_http_perl_modulenginScript
    2. 在每次更新白名单时,Firebase 都会触发事件,然后某些应用程序会捕获事件并重建防火墙规则或 nginx ip 过滤器。

    第二种方式在DDoS面前似乎更强,但在ip白名单很大且变化频繁的情况下不太适用。

    【讨论】:

    • 我真的很喜欢你的回答,nginScript 看起来很有希望:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2011-07-09
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多