SEnginx是反向代理和Web服务器软件nginx的一个变种版本,SEnginx中的SE是Security Enhanced的缩写,即安全增强。
SEnginx在nginx上增加了一个Web安全模块的开发框架,并基于这个框架开发了若干Web安全模块,主要目的是增强nginx的安全特性,并且让用户可以更加方便的使用这些安全特性。SEnginx除了包含我们自行开发的各种Web安全模块,还集成了多种第三方开源安全模块,包括ModSecurity等。
nginx目前自身的特性主要集中在反向代理和Web服务器方面,Web安全相关的特性比较缺乏,而且nginx本身没有一套非常完善的、用于开发Web安全特性的框架。目前现有的基于nginx的第三方安全模块,例如ModSecurity,naxsi,Roboo等,则均是各自为战,无法统一进行调度和管理。例如:如果同时安装了naxsi和ModSecurity,那么如何随意调整他们的执行顺序是个难题。
为此我们在nginx中增加了一个开发框架,此框架提供了一些API供第三方模块的开发者使用。我们还开发了一些Web安全的特性,主要有动态黑名单机制、防恶意机器人访问等,此外还将一些开源的第三方模块,例如naxsi,ModSecurity等整合到了这个框架中。
SEnginx提供的特性是nginx原有特性的一个超集,我们基于nginx进行二次开发,并跟随nginx的主干代码进行同步。也就是说,nginx拥有的特性,SEnginx也全部拥有,并且功能和使用方式都没有变化。SEnginx并不打算替代nginx,只是将nginx做为一个优秀的基础平台,在其上进行安全功能的增强。SEnginx为用户提供了额外的选择,当用户需要使用在nginx上使用一些安全功能的时候,可以选择在标准的nginx上自行添加多种安全模块,也可以直接使用SEnginx从而多种安全功能,我们认为使用SEnginx会是一种更加便捷的方式。
SEnginx计划提供多种Web安全特性,目前只有如下特性进行了开发和集成:
开发框架:
安全功能:
其他: