nginx安全设置(Nginx+ModSecurity安全模块部署的实现)
类别:服务器 浏览量:1769
时间:2021-10-02 01:07:48 nginx安全设置
Nginx+ModSecurity安全模块部署的实现目录
- 一、下载
- 二、部署
- 1.Nginx部署
- 2.ModSecurity部署
- 3.添加ModSecurity模块
- 4.配置Nginx虚拟主机
为演示已安装Nginx而未添加ModSecurity的情况,以下操作为先安装Nginx,后添加ModSecurity模块。
ModSecurity是一个开源的跨平台Web应用程序防火墙(WAF)引擎,,完美兼容nginx,是nginx官方推荐的WAF,并且支持支持OWASP规则。
中文网站:http://www.modsecurity.cn
应用实战可参考:http://www.modsecurity.cn/practice/
一、下载1.Nginx下载
wget http://nginx.org/download/nginx-1.14.2.tar.gz
2.ModSecurity下载
wget http://www.modsecurity.cn/download/modsecurity/modsecurity-v3.0.4.tar.gz
1.Nginx部署
1.1安装依赖
yum install -y pcre* openssl* gcc c++ make
1.2 编译安装
解压文件
tar -xvf nginx-1.14.2.tar.gz cd nginx-1.14.2/
配置模块
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
执行编译
make make install
创建账号和目录
useradd nginx -s /sbin/nologin mkdir /var/tmp/nginx/
2.ModSecurity部署
2.1 安装依赖
yum install -y gcc-c++ flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel pcre-devel lmdb-devel libxml2-devel ssdeep-devel lua-devel libtool autoconf automake
2.2 编译安装
解压文件
tar -xvf modsecurity-v3.0.4.tar.gz cd modsecurity-v3.0.4/
编译安装
./configure make make install cp modsecurity.conf-recommended /usr/local/modsecurity/modsecurity.conf cp unicode.mapping /usr/local/modsecurity/
3.添加ModSecurity模块
3.1查看Nginx编译参数
/usr/local/nginx/sbin/nginx -V
3.2下载ModSecurity模块
git clone https://github.com/SpiderLabs/ModSecurity-nginx.git 或至下载 https://github.com/SpiderLabs/ModSecurity-nginx
3.3重新编译Nginx
解压模块
unzip ModSecurity-nginx-master.zip #仅在下载安装包情况下,如果是git clone 则不需要
编译安装
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --add-module=../ModSecurity-nginx #此处需要注意/ModSecurity-nginx路径 make make install /usr/local/nginx/sbin/nginx -V #查看已经有了ModSecurity模块
添加配置文件
mkdir /usr/local/nginx/conf/modsecurity cp /usr/local/modsecurity/modsecurity.conf /usr/local/nginx/conf/modsecurity/ cp /usr/local/modsecurity/unicode.mapping /usr/local/nginx/conf/modsecurity/
4.配置Nginx虚拟主机
4.1虚拟主机配置
vim /usr/local/nginx/conf/nginx.conf modsecurity on; modsecurity_rules_file /usr/local/nginx/conf/modsecurity/modsecurity.conf; #在http节点添加表示全局配置,在server节点添加表示为指定网站配置
4.2Modsecurity配置
vim /usr/local/nginx/conf/modsecurity/modsecurity.conf #更改一下部分 SecRuleEngine On SecAuditLogParts ABCDEFHZ #追加到配置文件 Include /usr/local/nginx/conf/modsecurity/crs-setup.conf Include /usr/local/nginx/conf/modsecurity/rules/*.conf
4.3下载规则文件
wget http://www.modsecurity.cn/download/corerule/owasp-modsecurity-crs-3.3-dev.zip #Modsecurity中文网下载 wget https://github.com/coreruleset/coreruleset #github下载
4.4 配置规则
unzip owasp-modsecurity-crs-3.3-dev.zip cd owasp-modsecurity-crs-3.3-dev/ cp crs-setup.conf.example /usr/local/nginx/conf/modsecurity/crs-setup.conf cp -r rules /usr/local/nginx/conf/modsecurity/ cd /usr/local/nginx/conf/modsecurity/rules mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
4.5测试
#浏览器 或 curl访问测试,返回403 curl -I 'http://localhost/?id=1 AND 1=1'
到此这篇关于Nginx+ModSecurity安全模块部署的实现的文章就介绍到这了,更多相关Nginx ModSecurity部署内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
- nginx 配置https(Nginx下配置Https证书详细过程)
- nginx配置访问接口(nginx网站服务如何配置防盗链推荐)
- nginx优化安全设置(nginx优化的六点方法)
- nginx tomcat集群(Nginx+tomcat负载均衡集群的实现方法)
- nginx404错误页面设置(Nginx tp3.2.3 404问题解决方案)
- linux部署flask项目(用uWSGI和Nginx部署Flask项目的方法示例)
- nginx负载均衡器的作用(Nginx 负载均衡是什么以及该如何配置)
- nginx如何配置不显示nginx名字(Nginx安装完成没有生成sbin目录的解决方法)
- nginx流媒体服务搭建与应用(用nginx+FastDFS一步步搭建文件管理系统)
- nginx反向代理及原理(传说中的反向代理,Nginx+Apache软件配置Web服务器)
- linux nginx搭建(Ubuntu使用nginx搭建webdav文件服务器的详细过程)
- nginx+ssl配置详解(nginx配置ssl实现https的方法示例)
- nginx常见错误码(Nginx常见的错误配置举例)
- nginx配置详解(Nginx进程管理和重载原理详解)
- nginx服务器有什么用(Nginx的作用详解,为什么在Web服务器中Nginx的比例越来越高?)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
热门推荐
- python交互执行shell脚本(python 利用文件锁单例执行脚本的方法)
- docker中mysql连接命令(docker 如何修改mysql的root密码)
- sqlserver存储过程参数默认值(sql server使用临时存储过程实现使用参数添加文件组脚本复用)
- laravel队列过期时间(laravel 修改记住我功能的cookie保存时间的方法)
- python条形码识别(python3转换code128条形码的方法)
- laravel架构设置(Laravel框架查询构造器 CURD操作示例)
- sql中trim函数用法(SQL中Truncate的用法)
- lombok 代码行数(Lombok实现方式JSR-269)
- easyui layout 折叠后显示标题
- php可以一次下载几个文件(php实现大文件断点续传下载实例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9