设计用于白名单和/或黑名单http请求的web应用防火墙。
wlister的Python项目详细描述
``` wlister``是一个web应用防火墙(waf),允许基于白名单和攻击特征的web应用程序保护。前者用于快速验证已授权且格式正确的请求。后者用于在http请求中检测已知的攻击模式。
使用"wlister"可以应用这两种方法,并可以随意组合它们。
``wlister``允许描述web应用程序和客户端之间的交互,使用http请求的每一部分及其组合作为潜在的验证点(uri、参数、头、内容、方法、协议等)。
使用一组规则分析ng请求。规则具有对请求应用的必须满足的先决条件。如果满足先决条件(代表不满足),则应用规则(分别使用下一条规则。""rule is applied"表示对请求的某个部分执行模式匹配。
根据匹配结果(匹配或不匹配),可以指定操作。目前,有3个操作:
-标记/取消标记下一个规则分析的请求
-白名单
-黑名单
白名单和黑名单终止请求分析。标记/取消标记有助于构建智能的前置条件,避免应用与规则完全无关的规则(例如,*http静态内容请求不能由专用于身份验证过程的规则或任何其他规则进行检查)。
用于单元测试的规则配置文件使用所有可用功能。
需求
i.
2.2.22-1ubuntu 1.4apache http服务器-传统的非线程模型
```
`````
$sudo dpkg-l grep mod python
ii libapache2 mod python 3.3.1-9ubuntu1用于apache 2的python嵌入模块
````
`````
$cat/etc/lsb release
distrib id=ubuntu
distrib_release=12.04
distrib_codename=precise
distrib_description="ubuntu 12.04.4 lts"
````````
````mod_python```应该已经死了,但它现在被使用(不是wsgi)。另外,它似乎并没有那么死,请参见:
*[mod_python-主页](http://modpython.org/)
*[mod_python-the long story](http://grisha.org/blog/2013/10/25/mod python the long story/)
pros
``wlister``允许分析http请求的任何部分,头文件a第二个身体,以一种方便的方式,只关注有趣的部分。
规则先决条件、标记和操作(如果(错误)匹配意味着只应用必要的规则,并快速完成决策;允许或拒绝。
``wlister``尝试使用延迟计算,以避免转换可能永远不会使用的数据(但这是本地优化,必须进行度量)。
cons
``wlister``基于``mod_python``和apache。这本身并不坏,但因为它是一个python应用程序。虽然到目前为止还没有做过基准测试,但速度肯定不够快。
``wlister``基于``mod python``和apache,因此不能在其他web服务器/代理中使用。
缺少什么?
**文档**``doc/````中有些东西。规则文档肯定过时了。但是实现的内容是经过测试的,因此可以从``conf/rules.conf```和``tests/*.py````中找到可读的示例。
**日志**它存在,但不够好。将日志格式用于高级调试/配置和日志格式以引发警报非常有用。另一种格式…无论什么。必须实现格式化的日志记录工具。
**攻击签名**此处没有签名,但我想mod_security signatures数据库可以提供帮助。
**文档**用于单元测试的规则文件确实可以提供帮助,但所有规则指令都必须在某个时候进行文档记录。
**代码审阅**一个开发人员,一个开发人员。但是有测试ts(请参见``tests/*.py```)
**重构**匹配指令是硬编码的。拥有一个新的意味着开发它并通过容易出错的代码绑定内容。有人会想要一个新的,所以最好简单。
**学习模块**推断模式,查找不变量/常量,…
r特此授予任何
目的,无论是否收费,前提是上述
版权声明和本许可声明出现在所有副本中。
本软件按"原样"提供,作者不承担与本软件有关的所有保证,包括所有隐含保证。适销性和适用性。在任何情况下,作者都不对任何特殊的、直接的、间接的或间接的损害或任何由使用、数据或利润损失引起的损害负责,无论是在合同诉讼、疏忽或其他侵权诉讼中,还是在与U或此软件的性能。
使用"wlister"可以应用这两种方法,并可以随意组合它们。
``wlister``允许描述web应用程序和客户端之间的交互,使用http请求的每一部分及其组合作为潜在的验证点(uri、参数、头、内容、方法、协议等)。
使用一组规则分析ng请求。规则具有对请求应用的必须满足的先决条件。如果满足先决条件(代表不满足),则应用规则(分别使用下一条规则。""rule is applied"表示对请求的某个部分执行模式匹配。
根据匹配结果(匹配或不匹配),可以指定操作。目前,有3个操作:
-标记/取消标记下一个规则分析的请求
-白名单
-黑名单
白名单和黑名单终止请求分析。标记/取消标记有助于构建智能的前置条件,避免应用与规则完全无关的规则(例如,*http静态内容请求不能由专用于身份验证过程的规则或任何其他规则进行检查)。
用于单元测试的规则配置文件使用所有可用功能。
需求
i.
2.2.22-1ubuntu 1.4apache http服务器-传统的非线程模型
```
`````
$sudo dpkg-l grep mod python
ii libapache2 mod python 3.3.1-9ubuntu1用于apache 2的python嵌入模块
````
`````
$cat/etc/lsb release
distrib id=ubuntu
distrib_release=12.04
distrib_codename=precise
distrib_description="ubuntu 12.04.4 lts"
````````
````mod_python```应该已经死了,但它现在被使用(不是wsgi)。另外,它似乎并没有那么死,请参见:
*[mod_python-主页](http://modpython.org/)
*[mod_python-the long story](http://grisha.org/blog/2013/10/25/mod python the long story/)
pros
``wlister``允许分析http请求的任何部分,头文件a第二个身体,以一种方便的方式,只关注有趣的部分。
规则先决条件、标记和操作(如果(错误)匹配意味着只应用必要的规则,并快速完成决策;允许或拒绝。
``wlister``尝试使用延迟计算,以避免转换可能永远不会使用的数据(但这是本地优化,必须进行度量)。
cons
``wlister``基于``mod_python``和apache。这本身并不坏,但因为它是一个python应用程序。虽然到目前为止还没有做过基准测试,但速度肯定不够快。
``wlister``基于``mod python``和apache,因此不能在其他web服务器/代理中使用。
缺少什么?
**文档**``doc/````中有些东西。规则文档肯定过时了。但是实现的内容是经过测试的,因此可以从``conf/rules.conf```和``tests/*.py````中找到可读的示例。
**日志**它存在,但不够好。将日志格式用于高级调试/配置和日志格式以引发警报非常有用。另一种格式…无论什么。必须实现格式化的日志记录工具。
**攻击签名**此处没有签名,但我想mod_security signatures数据库可以提供帮助。
**文档**用于单元测试的规则文件确实可以提供帮助,但所有规则指令都必须在某个时候进行文档记录。
**代码审阅**一个开发人员,一个开发人员。但是有测试ts(请参见``tests/*.py```)
**重构**匹配指令是硬编码的。拥有一个新的意味着开发它并通过容易出错的代码绑定内容。有人会想要一个新的,所以最好简单。
**学习模块**推断模式,查找不变量/常量,…
r特此授予任何
目的,无论是否收费,前提是上述
版权声明和本许可声明出现在所有副本中。
本软件按"原样"提供,作者不承担与本软件有关的所有保证,包括所有隐含保证。适销性和适用性。在任何情况下,作者都不对任何特殊的、直接的、间接的或间接的损害或任何由使用、数据或利润损失引起的损害负责,无论是在合同诉讼、疏忽或其他侵权诉讼中,还是在与U或此软件的性能。