编程技术分享平台

网站首页 > 技术教程 正文

nginx使用naxsi搭建web防火墙(nginx防dos)

xnh888 2024-10-14 19:57:37 技术教程 28 ℃ 0 评论

NAXSI 是一个开源、高性能、低规则维护的 Web 应用防火墙(WAF)模块,专门为 Nginx Web 服务器设计。它是 Nginx 模块,因此可以直接集成到 Nginx 中,提供对 Web 应用程序的保护,防止各种 Web 攻击,如 SQL 注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等。

NAXSI 的工作原理:

NAXSI 使用了一种基于规则的机制,通过检测和阻止可疑的 HTTP 请求来保护 Web 应用。它主要分为两个部分:

  1. 核心规则:这些规则是通用的,旨在检测常见的 Web 攻击模式。它们不需要太多配置,适用于大多数 Web 应用。
  2. 学习模式:NAXSI 可以设置为学习模式,在这个模式下,它不会阻止任何请求,而是记录下可能被认为是攻击的请求。管理员可以审查这些记录,决定哪些是误报,哪些是真正的攻击,并据此调整规则。

NAXSI 的特点:

  • 性能:NAXSI 设计为对性能影响最小,适合高流量的 Web 服务器。
  • 易于集成:作为 Nginx 模块,它可以轻松集成到现有的 Nginx 安装中。
  • 低维护:由于其核心规则的设计,NAXSI 需要的维护工作相对较少。
  • 灵活性:除了核心规则外,NAXSI 还允许自定义规则,以适应特定的应用程序需求。

安装和使用 NAXSI:

安装 NAXSI 通常涉及从源代码编译 Nginx 并包含 NAXSI 模块。

从git下载:

git clone https://github.com/nbs-system/naxsi.git

使用 --add-module 参数指定 NAXSI 模块的路径来编译 Nginx:

./configure --add-module=/path/to/naxsi/naxsi_src/

make

sudo make install

安装完成后,需要在 Nginx 配置文件中包含 NAXSI 规则。这可能包括启用核心规则、设置学习模式、以及配置如何处理检测到的攻击。

简单示例配置:

拷贝规则

cp /path/to/naxsi/naxsi_config/naxsi_core.rules /etc/nginx/

cp /path/to/naxsi/naxsi_config/naxsi.rules /etc/nginx/

然后配置nginx引入规则

http {

# 引入 NAXSI规则

include /etc/nginx/naxsi_core.rules;


server {

location / {

# 启用 NAXSI

NAXSI_RULES_FILE /etc/nginx/naxsi.rules;

...

}

}

最后重启Nginx 使配置生效。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表