| 关键词: Nginx Naxsi devel 配置 上下文 http 攻击 tCheckRule 所以 local |
![]() 能够浏览我的这篇文章,相信你已经对 Nginx 不陌生了,所以这里就不再赘述 Nginx 的安装和配置了,我们直接从 Nginx 和 Naxsi 的集成来讲,如果你对 Nginx 还比较陌生,不知道配置文件在哪里或者不知道如何编译,那这篇文章不太适合你,还请先熟悉 Nginx 的安装和配置编译。 我为什么需要 WAF 呢?随着网站上线时间变长,各种扫描攻击也日益增多,为了能安心一点,所以就希望能有个 WAF防火墙抵挡大部分攻击扫描,但是硬件 WAF防火墙虽然好,价格也十分昂贵,中小型企业或者创业团队肯定没有资金来购买昂贵的安全设备的,但是 Nginx + Naxsi 就可以构建一个免费的软件 WAF防火墙,所以我开始尝试使用 Naxsi 来实现我的 WAF防火墙。 在开始之前,我们先了解一下都需要准备的环境(我所演示的操作均在Linux环境下):
一、下载和安装各项依赖和包 1、我使用的Centos7,所以直接使用 yum 安装: yum -y install crontabs gcc gcc-c++ glibc libpcre3-dev make zlib autoconf openssl openssl-devel wget libxslt-devel gd gd-devel GeoIP GeoIP-devel pcre pcre-devel 2、下载 Nginx: wget -P /usr/local/src/ http://nginx.org/download/nginx-1.16.0.tar.gz 3、下载 Naxsi: wget -P /usr/local/src/ https://github.com/nbs-system/naxsi/archive/untagged-afabfc163946baa8036f.tar.gz 4、解压 Nginx 和 Naxsi: tar vxf nginx-1.16.0.tar.gz 注意,untagged-afabfc163946baa8036f.tar.gz 就是下载的 Naxsi,解压后就是下文中的 naxsi 文件夹 5、新建 Nginx 的工作目录 mkdir /usr/local/nginx 6、配置 Nginx 的各个模块,在此处添加 Naxsi 模块,注意下文中的 “../naxsi/” 就是 Naxsi 解压的文件夹 cd nginx-1.16.0/ 7、编译安装 make modules 8、复制 Naxsi 的核心规则文件到指定位置 cp ../naxsi/naxsi_config/naxsi_core.rules /etc/nginx/naxsi_core.rules 二、配置 Nginx 的配置文件 nginx.conf 1、在 http 节点处 http {2、在 server 节点处 server {这里说下 LearningMode 学习模式,如果把这个放出来,启用学习模式的话,就不会拦截攻击,只是把攻击请求写入 error_log 日志里面,所以我们需要它拦截攻击,就需要把这个注释掉。 三、重启 Nginx,验证是否能拦截攻击请求 /usr/local/nginx/sbin/nginx -t 验证方法也很简单,执行类似这样的请求: http://localhost/?id=<> 如果显示的是 403 禁止访问,那么就是成功了! |
| 本文出处: https://www.toutiao.com/a6722709645829341710/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|