nginx加強安全模組

cnbird發表於2013-08-05

什麼是SEnginx?

SEnginx是反向代理和Web伺服器軟體nginx的一個變種版本,SEnginx中的SE是Security Enhanced的縮寫,即安全增強。

SEnginx在nginx上增加了一個Web安全模組的開發框架,並基於這個框架開發了若干Web安全模組,主要目的是增強nginx的安全特性,並且讓使用者可以更加方便的使用這些安全特性。SEnginx除了包含我們自行開發的各種Web安全模組,還整合了多種第三方開源安全模組,包括ModSecurity等。

為什麼要建立SEnginx專案?

nginx目前自身的特性主要集中在反向代理和Web伺服器方面,Web安全相關的特性比較缺乏,而且nginx本身沒有一套非常完善的、用於開發Web安全特性的框架。目前現有的基於nginx的第三方安全模組,例如ModSecuritynaxsiRoboo等,則均是各自為戰,無法統一進行排程和管理。例如:如果同時安裝了naxsi和ModSecurity,那麼如何隨意調整他們的執行順序是個難題。

為此我們在nginx中增加了一個開發框架,此框架提供了一些API供第三方模組的開發者使用。我們還開發了一些Web安全的特性,主要有動態黑名單機制、防惡意機器人訪問等,此外還將一些開源的第三方模組,例如naxsi,ModSecurity等整合到了這個框架中。

SEnginx提供的特性是nginx原有特性的一個超集,我們基於nginx進行二次開發,並跟隨nginx的主幹程式碼進行同步。也就是說,nginx擁有的特性,SEnginx也全部擁有,並且功能和使用方式都沒有變化。SEnginx並不打算替代nginx,只是將nginx做為一個優秀的基礎平臺,在其上進行安全功能的增強。SEnginx為使用者提供了額外的選擇,當使用者需要使用在nginx上使用一些安全功能的時候,可以選擇在標準的nginx上自行新增多種安全模組,也可以直接使用SEnginx從而多種安全功能,我們認為使用SEnginx會是一種更加便捷的方式。

相對於標準的nginx,SEnginx都提供哪些額外的功能?

SEnginx計劃提供多種Web安全特性,目前只有如下特性進行了開發和整合:

開發框架:

  1. 安全功能開發框架
  2. session機制

安全功能:

  1. 基於session機制的動態黑名單
  2. 機器人緩解功能
  3. 整合第三方的naxsi
  4. 整合第三方的ModSecurity

其他:

  1. rewrite模組的if指令增

http://www.senginx.org/cn/index.php/%E9%A6%96%E9%A1%B5


相關文章