影子守护程序web应用程序防火墙的python连接器
shadowd的Python项目详细描述
shadow daemon是detect、record和preventattacks对web应用程序的攻击的工具集合。 从技术上讲,shadow daemon是一个web应用程序防火墙,它拦截请求并过滤掉恶意参数。 它是一个模块化系统,将Web应用程序、分析和接口分开,以提高安全性、灵活性和可扩展性。
此组件可用于将python应用程序与background server连接起来。
文档
有关完整文档,请参阅shadowd.zecure.org。
安装
您可以使用easy_install或pip:
easy_install shadowd pip install shadowd
也可以克隆此存储库并手动安装包:
python setup.py install
您还必须创建一个配置文件。您可以将misc/examples/connectors.ini复制到/etc/shadowd/connectors.ini。 示例配置是带注释的,应该是自解释的。
cgi
要保护CGI应用程序,只需加载模块即可:
import shadowd.cgi_connector
django
django应用程序需要稍作修改。必须创建一个钩子来拦截请求。 为此,请在应用程序目录中创建文件middleware/shadowdconnector.py:
from shadowd.django_connector import InputDjango, OutputDjango, Connector class ShadowdConnectorMiddleware(object): def process_request(self, request): input = InputDjango(request) output = OutputDjango() status = Connector().start(input, output) if not status == True: return status
中间件目录中还必须有一个空的\u init\uu.py文件。 接下来,您必须在应用程序的settings.py文件中注册中间件:
MIDDLEWARE_CLASSES = ( 'middleware.shadowdconnector.ShadowdConnectorMiddleware', # ... )
连接器应该在中间件类列表的开头。
烧瓶
烧瓶的应用也需要一个小的修改。必须创建一个钩子来拦截请求:
from shadowd.flask_connector import InputFlask, OutputFlask, Connector @app.before_request def before_req(): input = InputFlask(request) output = OutputFlask() Connector().start(input, output)