nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程

 最近在工作上遇到一点问题,问了大佬、百度,都没有很好地解决;经过大量搜索查阅以及试验,终于将问题解决。于是写下这篇文章以提醒自己,也可供读者参考。

环境:CentOS-7-x86_64-LiveGNOME

-2003.iso+Xshell

版本:nginx/1.16.1 + modsecurity

一、安装相关依赖工具

yum install -y git wget epel-releaseyum 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

注:如果不成功,可能是yum仓库没装好,此处可自行百度

二、安装Modsecurity

cd /usr/localgit clone https://github.com/SpiderLabs/ModSecurity//执行上面的步骤会生成Modsecurity目录

a3f3ead447a20c167c4fc5690c02a4b1.png

fc1e49bee81431bb44bc0ca3b7ec27c1.png

注:用时较长,大约40分钟,可能会有网速慢或者下载失败的现象,重复尝试几遍就好了

cd ModSecuritygit checkout -b v3/master origin/v3/master

de7cf5a5ff034d7bdc0ff7155183ffdb.png

git submodule init

16d7cb6446c2d5d016b51cb51b969102.png

git submodule update

20129254547f74eb3d6428d77ef4eecd.png

注:用时几分钟。这一步我做了两次,可能是因为网络阻塞。如果不成功,多尝试几次。

sh build.sh

07f52892ec2831443fd78eb84eb12d46.png

先看看/usr/local下新生成有几个目录:

944ca97258ed02a98488fbeeada115c6.png只有Modsecurity

进入到/usr/local/Modsecurity

//还是在/usr/local/Modsecurity目录下操作./configure make   //需要的时间稍微久一点,10分钟左右      //编译make install                                //安装//上述安装三部曲会在上一级目录/usr/local下 生成modsecurity目录

./configure图示

070ec7cfa4e1c2f17da55e5857bec5b1.png

第一次 make图示(出错) --------  没有出错可略过

1ea4c4b5809e10b1c393c85d9f16a4ec.png

根据提示去到/usr/local/include,把对应的文件删了(正常情况下/usr/local存放的是下载的包,不会有诸如bin、include、lib之类的解压目录,所以放心删,一定是之前安装过什么才会存在这些目录),然后回去/usr/local/Modsecurity执行make clean命令

解决方法:

rm /usr/local/include * -rfcd /usr/local/Modsecuritymake cleanmake

由于本人是第二次装nginx+modsecurity,所以才会出现这样的问题

6cd7780d5f710cacf7d5f527d3869725.png

第二次 make图示(成功)

7af31a0e0aa3283122fb98cd64cead45.png

第一次make install图示 ----- 和上面是同样问题 上述问题解决后,该问题也迎刃而解

f25fc4917d47b441d92c98bccd94cc6d.png

第二次make install

1d7dd2e93207aa502c7f6a9cd79c64d6.png

编译安装三部曲以后,在/usr/local下生成modsecurity目录

2051f3e68a38f0d250bcafc5646ca199.png

三、安装nginx与ModSecurity-nginx

cd /usr/localgit clone https://github.com/SpiderLabs/ModSecurity-nginx//上述步骤会在/usr/local下生成Modsecurity-nginx的目录

7cb0e07d02c2026e84021e8eb54e8dfe.png

wget http://nginx.org/download/nginx-1.16.1.tar.gz//上述步骤会在/usr/local下出现nginx-1.16.1.tar.gz文件

f1716ffc0712b589e49818ebec3c0f2e.png

tar -xvzf nginx-1.16.1.tar.gzcd /usr/local/nginx-1.16.1./configure --add-module=/usr/local/ModSecurity-nginx//如果出错,也可以直接./configuremakemake install//做完上述这些步骤 当前目录(/usr/local)就会生成一个nginx的目

./configure --add-module=/usr/local/ModSecurity-nginx 图示

6fbf5f225135d76222b4c55ddc29ebdb.png

make图示

6a15e3e257bf5eb9a03fb9e8afca62ad.png

make install图示

7a1a4e01877f12a7855a5856ec1acdeb.png

在/usr/local下生成nginx目录

6b0b2b2f1e2c49975ec14873f1ffdfa8.png

四、测试效果

输入ifconfig查看ip

我的ip:192.168.200.132

c9b9dce3645f41ff27c16fcb66b9db70.png

启动nginx

/usr/local/nginx/sbin/nginx

尝试启动 发现有问题

90f74e265ed8d1110018099876c87e53.png

使用以下命令解决:

sudo fuser -k 80/tcp

7d927e4db1a53463a0382c2c1c4aaa52.png

已经没问题了

426f88cb54f54118b6607c1377bd38dc.png

1、未开启nginx的状态下,用浏览器访问虚拟机配的ip

效果:

67e65b3b8d64eee5da6b7fa148d33a41.png

2、开启nginx服务后,用浏览器访问虚拟机配的ip:

/usr/local/nginx/sbin/nginx或cd /usr/local/nginx/sbin./nginx

5f6105ebfd58d7fe4ccfec3982a05898.png

效果:

99360b427a7e6ab3085d7d4bbd3daf65.png

模拟攻击,测试未启动ModSecurity时的访问效果访问URL为:http://服务器IP/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E

26f8bb2b00ed58b67e1426d50bbeef4c.png

结论:配置了nginx服务的虚拟机,只有开启了nginx服务,才能访问其IP

一些网站攻击:譬如SQL注入、XSS攻击,也不会被拦截。

ModSecurity作为一款入侵侦测与防护引擎,它主要是用于Web应用程序,所以也被称为Web应用程序防火墙(WAF)。它可以作为Web服务器的模块或是单独的应用程序来运作。ModSecurity的功能是增强Web Application 的安全性和保护Web application以避免遭受来自已知与未知的攻击。

所以我们需要在linux以及nginx下配置modsecurity

五、最后配置

创建用于存在配置文件的文件夹

mkdir /usr/local/nginx/conf/modsecurity

1、将/usr/local/Modsecurity/modsecurity.conf-recommended

复制到/usr/local/nginx/conf/modsecurity,并重命名为modsecurity.conf;

2、将/usr/local/Modsecurity/unicode.mapping

复制到/usr/local/nginx/conf/modsecurity;

下载规则文件压缩包

owasp-modsecurity-crs-3.3-dev.zip 

移动到/usr/local下

解压

unzip owasp-modsecurity-crs-3.3-dev.zip

1、解压后复制crs-setup.conf.example

到/usr/local/nginx/conf/modsecurity/下并重命名为crs-setup.conf;

2、复制rules文件夹

到/usr/local/nginx/conf/modsecurity/下,

同时修改REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example与RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example两个文件的文件名,将".example"删除,可将自己写的规则放置于此两个文件中;

306d2e17d52b87c0c26087313f007705.png

4e980ecf2a79fec71897ff85338a6a18.png

99b16931cdfac77ad11302f529f75295.png

编辑nginx.conf

(/usr/local/nginx/conf/nginx.conf)

在http或server节点中添加以下内容(在http节点添加表示全局配置,在server节点添加表示为指定网站配置):

vim /usr/local/nginx/conf/nginx.conf//在下面添加如下内容,下图所示modsecurity on;modsecurity_rules_file /usr/local/nginx/conf/modsecurity/modsecurity.conf;

0bc029f4d1bfd7aec69a08402ad11dd3.png

编辑modsecurity.conf

(/usr/local/nginx/conf/modsecurity/modsecurity.conf)

SecRuleEngine DetectionOnly改为SecRuleEngine On

同时添加以下内容:

Include /usr/local/nginx/conf/modsecurity/crs-setup.confInclude /usr/local/nginx/conf/modsecurity/rules/*.conf

1852b6b8d3d954471133baba94c94b30.png

78d98c282cabee031b72c87feaccd9dd.png

六、重新加载Nginx测试效果

配完以后重新启动nginx

命令行输入:

/usr/local/nginx/sbin/nginx -s reload //nginx已启动的情况或/usr/local/nginx/sbin/nginx  //nginx未启动的情况

浏览器访问:

http://192.168.200.132/?param="><script>alert(1);script>

60ddde56abf1f8ceb69a2d81f82ff3c2.png

拦截成功!!

此外也可以对网页进行一些简单的攻击用来测试modsecurity是否成功拦截攻击

简单SQL注入:https://192.168.200.132/?id=1 AND 1=1简单xss攻击:https://192.168.200.132/?search=alert('xss');相应的,也是显示上述网页展现的  403Forbidden

七、查看nginx与modsecurity的版本信息

nginx:

[root@CetnOS-GUI /usr/local/nginx/sbin]# ./nginx -Vnginx version: nginx/1.16.1built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)configure arguments: --add-module=/usr/local/ModSecurity-nginx

我这里的版本是nginx/1.16.1

9cc47d59bdef5639770eb3a9f2c682c1.png

第一次安装遇到的问题:启动nginx时出现错误

/usr/local/nginx/sbin/nginx -s reload

40104acd7d2cbe8310a87f3111e1179e.png

解决办法:原因是安装的时候某一步骤出了错,需要重新来一遍,将modsecurity、Modsecurity、Modsecurity-nginx、nginx删掉即可,若对自己某一步骤有信心,可以不删除相应目录,参考上述文章执行命令产生的目录所对应的具体步骤。

至此,Linux+nginx下安装、测试modsecurity结束,谢谢观看!

Nginx集成ModSecurity WAF:编译安装配置与性能调优实战指南 Web应用防火墙(WAF)是保障Web应用安全的核心组件,其原理是通过分析HTTP/HTTPS流量,基于规则集识别并阻断SQL注入、跨站脚本(XSS)等应用层攻击。在技术实现上,WAF作为反向代理或模块集成,为Web服务器提供深度防御能力,其技术价值在于弥补了网络防火墙和入侵检测系统对应用层威胁的防护不足。在实际应用场景中,开源引擎ModSecurity结合Nginx这一高性能Web服务器,通过连接器模块实现无缝集成,为各类在线业务构建主动防护层。本文聚焦于**Nginx ModSecurity连接器**的 阅读详情

相关推荐

Nginx集成ModSecurity与OWASP CRS:构建企业级Web应用防火墙实战指南

Web应用防火墙(WAF)是保障Web服务安全的关键组件,其核心原理是通过深度检测HTTP/HTTPS流量,基于预定义规则识别并阻断恶意请求。在技术价值层面,WAF能有效防御SQL注入、跨站脚本(XSS)等OWASP Top 10常见攻击,为业务代码提供额外的安全层,降低漏洞被利用的风险。应用场景广泛覆盖电商、金融、企业门户等对外提供Web服务的系统。本文聚焦于Nginx环境下,通过集成开源的ModSecurity模块与权威的OWASP核心规则集(CRS),详细讲解从源码编译、配置优化到规则调优的全流程,帮

weixin_33863087的博客 707

linux下启动nginx

nginx无法启动

qq_36028750的博客 7258

Nginx集成ModSecurity 3.0构建WAF:从编译部署到规则调优实战

Web应用防火墙(WAF)是保障Web应用安全的核心组件,通过深度解析HTTP/HTTPS流量,基于规则引擎实时检测和拦截SQL注入、XSS等常见攻击。其技术原理在于对请求和响应进行协议解析与模式匹配,结合异常评分机制实现精准防护。在工程实践中,将开源WAF引擎ModSecurity与高性能Web服务器Nginx集成,能够为中小型项目提供可控、可定制的安全防护方案。本文聚焦于NginxModSecurity 3.0的**编译集成**、**OWASP核心规则集(CRS)** 部署及自定义规则配置,涵盖从环境

weixin_33805992的博客 417

Linux安装nginx没有sbin目录,Nginx安装完成没有sbin目录如何启动

Linux安装nginx没有sbin目录,Nginx安装完成没有sbin目录如何启动

weixin_42810470的博客 3133

安装nginxmake&&make install报错无权限

这是因为没有足够的权限来在该目录下创建文件夹,在 Linux 系统中,只有特定的用户(例如 root 用户)或具有适当权限的用户才能在某些目录中创建文件夹。

qq_59833893的博客 4276

redis源码安装redis-6.0.9 版本

源码安装redis-6.0.9 版本本文目标:学习内容:下载包安装ReadMe同时多个实例启动作为开机服务启动 赠人玫瑰,手有余香,你的关注,我的动力! 本文目标: 基本内容,安装redis-6.0.9版本 引申内容,正确安装所有版本的redis,及其他工具的方法 学习内容: 下载包 废话不多说,开始吧 粘贴复制好的链接地址,可以去掉对应的url ,来查看其他的版本的redis,例如https://download.redis.io/releases 可查看更多的版本 下面开始准备,下载在Linu

茄子的博客 1557

nginx 没有sbin_Nginx 服务器实操指南

必须要有的前言这一次的前言得认真写一下,为什么要学习Nginx呢。这个是我在上一篇文章中搭建FastFDS服务器时候的一个疑问,或者说是不明白的地方;Nginx到底是什么,有什么作用和功能,能够对后台开发有什么帮助,这些都是我的疑问?于是我开始逐步了解Nginx,发现在后台开发中用的非常多,而且非常强大。什么是NginxNginx是一款高性能的http 服务器、反向代理服务器及电子邮件(IMAP/...

weixin_39835965的博客 1072

CentOS 7Nginx集成ModSecurity WAF:从编译部署到生产调优全指南

Web应用防火墙(WAF)是保障Web应用安全的核心组件,其原理是通过分析HTTP/HTTPS流量,基于预定义规则集识别并拦截恶意请求,从而防御SQL注入、XSS等常见攻击。在开源WAF方案中,ModSecurity以其强大的检测引擎和灵活的规则系统成为主流选择,尤其与高性能的Nginx服务器结合,能构建高效的安全防护层。本文聚焦于在稳定可靠的CentOS 7系统上,通过源码编译方式将ModSecurity v3作为动态模块集成到Nginx中,并详细配置OWASP核心规则集(CRS)。内容涵盖环境依赖梳理、

jlins_you的专栏 359

Nginx集成ModSecurity 3.x:从源码编译到规则调优的完整实战指南

Web应用防火墙(WAF)是保障Web服务安全的关键组件,其核心原理是通过深度检测HTTP/HTTPS流量,识别并阻断SQL注入、跨站脚本(XSS)等应用层攻击。在技术实现上,WAF通过规则引擎对请求参数、头部和内容进行模式匹配与行为分析,从而在恶意请求到达应用前将其拦截。这种主动防御机制对于保护业务逻辑和数据安全具有重要价值,尤其适用于电商、金融、政务等高安全要求的在线服务场景。本文聚焦于将开源的ModSecurity WAF引擎与高性能的Nginx Web服务器深度集成,详细拆解从源码编译LibModS

weixin_34178244的博客 422

阿里云Alibaba Cloud Linux 3部署Nginx+ModSecurity 3+OWASP CRS开源WAF实战

Web应用防火墙(WAF)是保障Web服务安全的关键技术,其核心原理是通过分析HTTP/HTTPS流量,识别并拦截SQL注入、跨站脚本(XSS)等常见攻击。开源方案如ModSecurity配合OWASP核心规则集(CRS),提供了可定制、高性能的防护能力,尤其适合需要灵活控制规则和成本敏感的场景。在阿里云ECS等云服务器环境中,选择Alibaba Cloud Linux 3这类深度优化的操作系统,能确保更好的内核兼容性与服务稳定性。本文以阿里云环境为例,详细解析从源码编译、动态模块集成到规则集配置、性能调优

weixin_33811539的博客 410

Nginx集成ModSecurity构建自主可控WAF:从编译部署到规则调优实战

Web应用防火墙(WAF)是保障Web服务安全的关键基础设施,通过在网络流量入口实施实时检测与防护,有效抵御SQL注入、跨站脚本(XSS)等常见攻击。其核心原理是基于规则引擎对HTTP/HTTPS请求进行深度解析与模式匹配,从而在应用层构建安全防线。对于追求自主可控与成本优化的场景,自建WAF方案具有显著技术价值,能够实现规则灵活定制、数据本地化处理,并满足混合云等复杂架构的安全需求。Nginx作为高性能Web服务器,与开源WAF引擎ModSecurity的深度集成,为构建企业级防护体系提供了坚实基础。本文

451

CentOS 7 安装 Nginx 的真实避坑指南:yum、编译与离线三路径详解

Nginx 是高性能 Web 服务器与反向代理的工业标准,其在 CentOS 7 系统上的部署远非简单执行 yum install 命令即可完成。核心原理在于:CentOS 7 依赖 systemd 实现服务生命周期管理,而 yum 作为包管理工具,需协同 DNS 解析、SELinux 策略、firewalld 规则及仓库元数据等多重机制才能可靠交付。技术价值体现在环境鲁棒性、安全合规性(如等保三级)与运维可追溯性;典型应用场景包括 VMware 虚拟机快速部署、金融/政务离线环境交付、以及需要定制模块(如

weixin_33712987的博客 652

Nginx+ModSecurity实战:5步搭建企业级WAF防护层(附规则调优技巧)

Web应用防火墙(WAF)是保障Web应用安全的核心组件,其原理是通过分析HTTP/HTTPS流量,识别并拦截SQL注入、跨站脚本(XSS)等常见攻击。在开源生态中,Nginx作为高性能的反向代理服务器,结合ModSecurity防火墙引擎,能够构建一套深度可控、可编程的安全防护体系。这种自建方案不仅满足了企业对安全策略的定制化需求,还能有效平衡性能与防护深度,尤其适合需要处理特定合规场景或对成本敏感的技术团队。通过部署OWASP核心规则集(CRS)并进行精细化规则调优,可以大幅降低误报率,让WAF真正融入

weixin_33861800的博客 329

ModSecurity跨平台部署指南:Linux、Windows、MacOS全攻略

Web应用防火墙(WAF)是保障Web应用安全的核心组件,通过在应用层对HTTP/HTTPS流量进行深度检测和过滤,有效防御SQL注入、跨站脚本(XSS)等常见攻击。其工作原理是基于预定义或自定义的安全规则集,对请求和响应进行实时分析、匹配与拦截。在混合IT架构和云原生环境下,实现WAF的跨平台统一部署与运维成为关键挑战,这直接关系到安全策略的一致性和管理效率。本文聚焦于业界广泛使用的开源WAF引擎ModSecurity,针对其在Linux(CentOS/Ubuntu)、Windows(IIS)和MacOS

cuml0912的博客 444

OneinStack服务器安全加固:fail2ban、WAF与SSL证书实战配置

在服务器安全领域,基础防护是抵御网络攻击的第一道屏障。其核心原理在于通过多层防御机制,构建纵深安全体系。从技术价值看,这不仅能有效防范暴力破解、SQL注入等常见威胁,更是保障业务连续性和数据隐私的基石。典型的应用场景包括Web服务器防护、API接口安全以及数据传输加密。本文将聚焦于在OneinStack环境中,如何通过配置fail2ban实现入侵检测与自动封禁,并利用WAF防火墙拦截应用层攻击,同时结合SSL证书确保通信安全,为服务器构筑稳固的三道防线。

weixin_33714884的博客 493

Bottle+CentOS 7生产部署:轻量Web服务的可控落地实践

微框架(如Bottle)是构建轻量级Python Web服务的核心技术选型,其核心价值在于低抽象、高可控与快速交付。在企业级Linux环境中,CentOS 7凭借systemd原生服务管理、SELinux强制访问控制和长期稳定内核,成为生产部署的理想基座。二者结合可规避Docker或云原生抽象带来的调试黑盒问题,实现从代码到HTTP服务的全链路透明运维——包括非特权用户隔离、systemd进程守护、Nginx反向代理卸载、firewalld策略管控及日志轮转治理。本方案特别适用于内部工具页、运维看板、API

weixin_30267785的博客 310

Debian 11 安装 Nginx 防踩坑指南:ufw、systemctl 与安全配置实战

Nginx 是 Linux 环境中最主流的 Web 服务器与反向代理工具,其在 Debian 系统中的部署涉及包管理、服务控制、防火墙策略和权限模型等基础运维核心能力。理解 apt 包版本机制、systemctl 的单元生命周期管理、ufw 的 netfilter 集成原理,是保障服务稳定启动与网络可达的关键。本文聚焦 Debian 11(bullseye)这一广泛用于生产环境的长期支持版本,深入解析官方仓库安装逻辑、systemd 服务定制安全实践、ufw 规则持久化机制,以及 nginx -t 与 jo

324

Nginx高性能Web服务器配置与优化实战指南

Web服务器是现代互联网架构的核心组件,其性能直接影响用户体验和系统稳定性。Nginx采用事件驱动的异步架构,通过单线程处理高并发连接,相比传统多线程模型具有显著性能优势。在技术实现上,Nginx通过worker进程、epoll事件模型和高效内存管理等机制,可实现单机数万并发连接处理能力。对于工程实践而言,合理的Nginx配置能大幅提升静态资源处理效率(实测可达8000+ QPS),同时作为反向代理和负载均衡器时,其连接池管理和健康检查机制能有效保障后端服务稳定性。在微服务架构中,Nginx常被用作API网

weixin_34393428的博客 341
上一篇: scala语言的底层是java实现的_Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)...
下一篇: 数仓 调度_database-sync: 数据库表同步工具、数据仓库工具、数据集市工具,数据抽取。传入一定的参数,即可在相同或不同的数据库间进行表的同步,包括表结构的同步及数据的同步。作业由调试工具进...
weixin_39922868
博客等级 码龄9年 38粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值