Linux下详细教程:安装配置nginx+naxsi及安全规则设置
5星 · 超过95%的资源 需积分: 49 106 浏览量
更新于2024-09-10
收藏 91KB DOCX 举报
本文档主要介绍了在Linux环境下如何安装和配置nginx服务器,并结合naxsi模块实现Web应用的安全防护。naxsi是一个开源的Web应用防火墙,能够帮助检测并阻止SQL注入、跨站脚本(XSS)、文件包含漏洞(RFI)等常见攻击。
首先,安装nginx前需要确保系统已经安装了必要的依赖包,包括gcc-c++、openSSL和pcre。你可以通过以下命令来安装这些依赖:
1. 安装gcc-c++:如果你的源码在gcc-4.4.7目录下,可以执行相应的编译安装步骤。
2. 安装pcre:从dependenceRPM包中提取pcre及其相关包并进行安装。
3. 安装openSSL:同样从dependenceRPM包中提取openSSL及其相关包并进行安装。
接下来,开始编译安装nginx。在编译过程中,你需要链接naxsi模块,这样nginx在启动时就能加载naxsi。编译选项可能类似于以下命令:
```bash
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-pcre=路径/to/pcre --with-openssl=路径/to/openssl --add-module=路径/to/naxsi
make
make install
```
配置naxsi规则需要在nginx的主配置文件`nginx.conf`中引入naxsi的核心规则库,例如:
```nginx
http {
...
include /path/to/naxsi_core.rules;
...
}
```
然后在`location`块中配置naxsi模块的参数,比如启用学习模式(LearningMode)和规则检查(SecRulesEnabled),并定义阻断请求的URL(DeniedUrl):
```nginx
location / {
error_log logs/error.test.log;
proxy_pass http://dmmng;
...
# Naxsi 模块配置
LearningMode;
SecRulesEnabled;
DeniedUrl "/RequestDenied";
include wl.conf;
...
# 检查规则
CheckRule "$XSS>=4" BLOCK;
CheckRule "$TRAVERSAL>=4" BLOCK;
CheckRule "$EVADE>=8" BLOCK;
CheckRule "$UPLOAD>=8" BLOCK;
CheckRule "$RFI>=8" BLOCK;
CheckRule "$SQL>=8" BLOCK;
}
```
配置好后,记得设置一个用于显示请求被阻断的`location`,例如:
```nginx
location /RequestDenied {
return 405;
}
```
完成配置后,重启nginx服务以应用新的配置:
```bash
sudo service nginx restart
```
为了让naxsi更好地学习网站的行为,你需要在系统中遍历整个网站,确保在此期间naxsi会记录所有非正常请求,但不会立即阻断。这些记录会被写入到`error.test.log`日志文件中。
在学习阶段结束后,你可以通过修改`nx_util.conf`文件并运行`nx_util.py`脚本来生成白名单。具体操作如下:
1. 打开`naxsi/nx_util/nx_util.conf`,根据提示进行相应修改。
2. 运行`naxsi/nx_util/nx_util.py`,指定`error.test.log`作为输入,生成白名单。
这样,naxsi将根据学习到的正常行为建立白名单,从而在未来能够更准确地识别和阻止恶意请求。务必在学习阶段避免混杂攻击流量,以免误判。
2021-01-31 上传
2021-02-05 上传
2023-06-09 上传
2023-07-25 上传
2024-10-27 上传
2024-10-28 上传
2023-06-07 上传
2024-09-12 上传
susuizj
- 粉丝: 0
- 资源: 2
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍