2017-06-05 90 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'看起來很有希望:) –

相關問題