目标:在Nginx中成功安装Naxsi模块并验证防护策略是否生效
准备环境:宿主机-Windows10系统、虚拟机-Ubantu(通过win10应用商店安装)、Nginx(在Ubantu中)、Chrome(在win10中)
目录
2.下载Naxsi、Nginx源代码、编译Nginx并替换Nginx可执行文件
1.查看当前的Nginx版本及相关文件目录
PS:本文登陆Ubantu是以非超管权限的账号登录的,所以命令前要加上sudo,然后输入超管密码即可以管理员权限操作(下同)。
sudo nginx -v
- 确认当前nginx版本为:
,即,1.17.10
- 确认当前nginx的配置(nginx.conf)位置,一般在Ubantu根目录下的etc/nginx,即,/etc/niginx
- 确认当前nginx可执行文件的位置(在第2步要被新编译完的Nginx替换),一般在Ubantu根目录下的usr/sbin(该目录下还包括各种其他程序的可执行文件),即,/usr/sbin
- 可以在Ubantu系统中,用以下命令查找nginx文件和文件夹。
find / -name nginx
2.下载Naxsi、Nginx源代码、编译Nginx并替换Nginx可执行文件
-
在宿主机win10下载nginx-1.17.10版本的源代码(http://nginx.org/download/nginx-1.17.10.tar.gz),注意,必须与当前已经安装的nginx版本一致。
-
在宿主机win10下载naxsi最新发布的版本的源代码(GitHub - nbs-system/naxsi: NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX),在页面右侧找到
-
把源代码文件包从宿主机win10移动到虚拟机Ubantu系统中(移动文件的方法见:Win10系统中应用商店下载的Ubantu虚拟机,获取外部宿主win10系统的文件的方法_飞起来的喵-优快云博客),放在系统根目录的tmp文件夹下(即,/tmp/),并用tar命令进行解压缩,
tar zxvf nginx-1.17.10.tar.gz tar zxvf naxsi-1.3.tar.gz
-
查看当前nginx版本的详细配置参数(注意是大写的V):
sudo nginx -V
打印:
nginx version: nginx/1.17.10 (Ubuntu) built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-Pmk9_C/nginx-1.17.10=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOUR