宝塔+云锁Nginx自编译web防护教程

安装云锁教程

快速安装

wget https://www.cunshao.com/666666/bao/yunsuo_agent_64bit.tar.gz && tar xvzf yunsuo_agent_64bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install

分步安装

下载云锁安装包。

在附件里下载后上传yunsuo_agent_64bit.tar.gz到服务器root目录下

解压文件,得到安装包文件。

x64:tar zxvf yunsuo_agent_64bit.tar.gz

给云锁安装文件赋予可执行权限。

chmod +x yunsuo_install/install

执行安装,直到提示“Install Yunsuo Success.”安装完成。

yunsuo_install/install
图片[1]-宝塔+云锁Nginx自编译web防护教程-村少博客

添加服务器到云中心。

/usr/local/yunsuo_agent/agent_smart_tool.sh -u 你的账号 -p 你的密码

云中心地址:https://console.yunsuo.qianxin.com/login

安装完成后通过PC端进行管理。

pc端管理软件在附件。

查看云锁是否运行

ps -ef | grep yunsuo_agent
图片[2]-宝塔+云锁Nginx自编译web防护教程-村少博客

云锁启动/停止/重启/状态等命令

service yunsuo start/stop/restart/status

/etc/init.d/yunsuo start/stop/restart/status

卸载云锁

/usr/local/yunsuo_agent/uninstall

致此云锁安装初步完成,需要防c等防御还需自编译。

对于非宝塔面板用户,也可以使用本教程进行编译,过程是一样的,只需要修改路径为正确路径即可。

编译教程

宝塔用户请直接跳到第三步。

1、配置编译环境,宝塔面板默认已有环境,无需再安装。

yum install -y gcc gcc-c++ pcre-devel openssl openssl-devel

2、查看nginx位置

ps -elf | grep nginx

3、进入宝塔nginx目录

cd /www/server/nginx/sbin/

说明:如果你不是宝塔用户,或者宝塔并不是安装在/www下,请执行第二步获取实际位置。

4、备份nginx

cp nginx nginx.bak

说明:备份的目的是如果自编译出现问题,可以将nginx还原为原有版本,防止业务瘫痪,如果你是宝塔面板,可以忽略这一步,因为宝塔的特性,如果编译出现问题,可以在宝塔直接重装nginx,且网站数据和配置不受影响,非宝塔用户请一定要备份,以免出现问题后无法补救。

5、进入root目录

cd /root

6、下载云锁防护模块压缩包

wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip

7、解压云锁防护模块压缩包

unzip nginx-plugin-master.zip

8、查看宝塔编译好的nginx加载模块,在重新编译加载云锁防护模块的时候仍需加载这些模块

nginx -V

注意这个命令是大写的V,如果小写v是不会显示模块的

图片[3]-宝塔+云锁Nginx自编译web防护教程-村少博客

9、将./configure arguents:之后的内容复制到记事本备用。

10、进入nginx源码目录,对nginx进行重新编译,操作之前请确认自己的nginx是编译模式安装的,而不是宝塔面板的极速安装,极速安装不存在src目录,也无法进行二次编译

cd /www/server/nginx/src

说明:如果你不是宝塔用户,或者宝塔并不是安装在/www下,请执行第二步获取实际位置,然后cd 实际路径。

11、编译内容

./configure 上一步记事本中的备用内容 --add-module=/root/nginx-plugin-master

./configure和记事本复制的内容之间有个空格,后面的--add-module前面也有个空格。

图片[4]-宝塔+云锁Nginx自编译web防护教程-村少博客

例如:我的nginx编译的指令是:

./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/root/nginx-plugin-master

等待命令结束,需要修改objs/Makefile文件和objs/ngx_modules.c来支持post过滤和内容过滤。

12、首先,在Makefile文件中的CFLAGS=…-Werror -g后追加宏定义 -DHIGHERTHAN8

CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DHIGHERTHAN8

宝塔用户可以用宝塔面板打开/www/server/nginx/src/objs/(说明:如果你的宝塔没有更改过安装路径,可以直接执行本步骤,如果你更改了宝塔安装路径或非宝塔用户,请修改正确。)找到makefile,使用宝塔编辑器进行修改,非宝塔用户或对linux命令行较为熟悉的用户可以通过vi命令使用vim修改,然后,将ngx_modules.c中的&ngx_http_yunsuo_module,向下移动到ngx_http_userid_filter_modulengx_http_headers_filter_module之间(已在此之间的则可忽略)。

图片[5]-宝塔+云锁Nginx自编译web防护教程-村少博客
图片[6]-宝塔+云锁Nginx自编译web防护教程-村少博客

请注意:这两个文件的修改非常重要,如果没有修改,会导致云锁防护不完整,其中makefile文件的宏定义和post过滤有关,如果没有追加宏定义,无法检测post提交内容,会造成防护失效,ngx_modules.c和云锁的敏感词过滤·功能有关,如果不修改,会导致该功能失效,需要注意的是,如果nginx开启了G-ZIP,该功能一样会失效。

13、修改完成后,输入编译命令

make

14、等待编译完成(根据服务器性能不同,在10分钟左右)完成后将系统中原有的nginx用重新编译生成的nginx文件替换

15、停止nginx

service nginx stop

16、删除原来的nginx

rm -rf /www/server/nginx/sbin/nginx

说明:如果你的宝塔没有更改过安装路径,可以直接执行本步骤,如果你更改了宝塔安装路径或非宝塔用户,请修改为正确的路径。

17、复制新编译的nginx

cp /www/server/nginx/src/objs/nginx /www/server/nginx/sbin/

说明:如果你的宝塔没有更改过安装路径,可以直接执行本步骤,如果你更改了宝塔安装路径或非宝塔用户,请修改为正确的路径。

18、启动nginx

service nginx start

通过PC端登陆云锁,PC端刷新后可以看到云锁nginx插件已经亮起(由灰色变为绿色)

图片[7]-宝塔+云锁Nginx自编译web防护教程-村少博客

19、点击nginx后方的绿色自编译图标,选择“网站漏洞防护”

图片[8]-宝塔+云锁Nginx自编译web防护教程-村少博客
图片[9]-宝塔+云锁Nginx自编译web防护教程-村少博客

20、将右上角的防护模式修改为“防护模式”

图片[10]-宝塔+云锁Nginx自编译web防护教程-村少博客

21、点击上方菜单栏中的“系统防护”并点击“防护开关”

图片[11]-宝塔+云锁Nginx自编译web防护教程-村少博客

22、将开关全部修改为开启

图片[12]-宝塔+云锁Nginx自编译web防护教程-村少博客

23、输入你的网址后面加上/?order%20by,测试云锁

图片[13]-宝塔+云锁Nginx自编译web防护教程-村少博客

出现以上拦截页面即代表成功开启防护,如没有出现拦截页面,请检查云锁是否处于监控模式,修改为防护模式即可。

宝塔+云锁Nginx自编译web防护教程-村少博客
宝塔+云锁Nginx自编译web防护教程
此内容为付费资源,请付费后查看
会员专属资源
您暂无购买权限,请先开通会员
开通会员
下载说明本站所有资源均为作者提供和网友推荐收集整理而来,仅供学习和研究使用,请在下载后24小时内删除。
付费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容