编译教程
其实几乎全程只要复制粘贴即可,非常简单。
1、首先根据这篇文章内容安装云锁:https://www.iminbk.com/archives/321.html
wget http://down.iminbk.com/v3/new/yunsuo_agent_64bit.tar.gz && tar xvzf yunsuo_agent_64bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install
3、进入root目录cd /root
4、下载云锁防护模块压缩包wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip
5、解压云锁防护模块压缩包unzip nginx-plugin-master.zip
6、查看宝塔编译好的nginx加载模块,在重新编译加载云锁防护模块的时候仍需加载这些模块nginx -V
注意这个命令是大写的V,如果小写v是不会显示模块的,而是显示nginx版本号。
7、将./configure arguents:之后的内容复制到记事本备用。
8、进入nginx源码目录,对nginx进行重新编译,操作之前请确认自己的nginx是编译模式安装的,而不是宝塔面板的极速安装,极速安装不存在src目录,也无法进行二次编译cd /www/server/nginx/src
9、执行configure生成Makefile./configure 上一步记事本中的备用内容 --add-module=/root/nginx-plugin-master
./configure和记事本复制的内容之间有个空格,后面的--add-module前面也有个空格。
例如:我的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有些同学在configure过程中出现LuaJIT2.X报错,如果是宝塔面板,一般是没有环境变量导致的,解决方法如下:
首先检查一下系统的luajit的安装情况:
find /usr -name "*luajit*"
如果没有安装请点击这里查看安装方法,如果有安装,进行下一步操作:
根据上面的路径创建全局函数变量,如果和我一致就直接复制即可,如果不一致就根据实际情况修改:
echo 'export LUAJIT_LIB=/usr/local/lib' >> /etc/profile
echo 'export LUAJIT_INC=/usr/local/include/luajit-2.1' >> /etc/profile
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> /etc/profile
然后使其生效:
source /etc/profile
执行好之后重新configure,然后再进行下一步,如果最终结果存在warnning可以忽略,只要没有error就可以。
不同的系统环境,模块可能并不相同,上面的例子仅供参考,以实际自己的为准,等待命令结束,需要修改objs/Makefile文件和objs/ngx_modules.c来支持post过滤和内容过滤。
10、首先,在Makefile文件中的CFLAGS=...-Werror -g后追加宏定义
-DHIGHERTHAN8
如果你不会用VI,可以在宝塔面板的文件管理打开/www/server/nginx/src/objs/,找到makefile,使用宝塔进行修改,追加宏定义的目的是使云锁支持POST请求检测,非常重要,一定要做这个步骤。
然后,将ngx_modules.c中的&ngx_http_yunsuo_module,向下移动到ngx_http_userid_filter_module和ngx_http_headers_filter_module之间,此步骤的目的是使云锁支持敏感词检测与拦截,如果你不需要这个功能,可以跳过此步骤。
注意是在第三行后面追加,不是另起一行哈,千万别搞错了,否则编译会出错。
11、修改完成后,输入编译命令make
12、等待编译完成后,执行一键替换命令:
service nginx stop && rm -rf /www/server/nginx/sbin/nginx && cp /www/server/nginx/src/objs/nginx /www/server/nginx/sbin/ && service nginx start
如果你是ubuntu用户(我只测试了腾讯云的ubuntu24.04镜像),执行一键替换并重启nginx的命令时有如下报错,忽略报错,然后在宝塔的软件管理里重启nginx即可,防护可以正常生效。
通过PC端登陆云锁,PC端刷新后可以看到云锁nginx插件已被识别(图标变为绿色)
13、点击nginx后方的绿色自编译图标,选择“网站漏洞防护”
14、将右上角的防护模式修改为“防护模式”
15、点击上方菜单栏中的“系统防护”并点击“防护开关”
17、输入你的网址后面加上/?order%20by,测试云锁
出现以上拦截页面即代表成功开启防护,如没有出现拦截页面,请检查云锁是否处于监控模式,修改为防护模式即可。
18、(可选)部分用户反馈,安装云锁后,会导致网站出现被重置、链接被断开的情况,经过研发确认,是和云锁的一个模块有关,如果你遇到了这个问题,可以尝试关闭这个模块,方法如下:
首先,关闭云锁的:“自身防护功能”;
然后,使用宝塔或VIM打开:/usr/local/yunsuo_agent/FilterKernel.xml
service yunsuo restart && service nginx restart
即可解决此问题。
19、(可选)部分用户反馈编译后的nginx莫名被替换,可以设置防篡改。
如图这样设置就可以了。
20、(可选)建议开启RASP增强防护:
RASP“Runtime application self-protection”应用运行时自我保护技术,是奇安信椒图云锁服务器安全管理系统(简称云锁)web攻击防护的核心组件之一,是构建在WEB语言解释器中的异常行为检测引擎。
RASP通过HOOK函数的方式,可以细粒度的监控应用脚本的行为及函数调用上下文信息,及时发现恶意代码和漏洞利用行为,缩小攻防信息不对称的时间差,有效降低未知安全威胁造成的破坏。
建议参考本文一键开启。
常见问题:
1.访问网站出现:“您所提交的请求含有不合法的参数,已被网站管理员设置拦截!”是怎么回事?
答:这是云锁帮你成功拦截了攻击而对攻击者展示的页面,如果你未对网站进行渗透入侵,请依次检查:自己输入的url是否合规,清除浏览器cookie后再试,如果依旧不行可能是误报,可以在确认可信的情况下将对方IP加白。
温馨提示:云锁351规则的误报较大且该规则默认开启,建议直接关闭,方法:主页-应用防护-点击web服务器后面的拼图图标或自编译图标,选择“虚拟补丁”,找到编号为351的规则,并点击关闭按钮。
2.为什么安装云锁之后网站依旧被挂马了?
答:云锁免费版基于规则、签名等传统防护手段,只能防护规则库中有相应防御规则攻击和已知webshell且免费版本规则库更新慢,无法覆盖最新已知威胁,而对0day、定向渗透、未知webshell并无防护能力,如果你有更高的安全防护需求,请开通高级防护,高级防护采用RASP等基于行为的防护技术可以增强云锁对抗黑客攻击的能力。
3.开通高级防护也没有效果是怎么回事?
答:高级防护依赖于RASP,请先检查RASP工作是否正常,RASP插件是否已经安装,php的RASP请点击这里,java的RASP请点击这里,按照教程安装好RASP后进行测试,如果依旧可以被绕过,说明云锁公有云版无法识别出这种攻击方式,如有更高安全需求,请加钱上企业版,企业版介绍:奇安信网神云锁。
温馨提示:云锁老版本公有云版本包括免费版 V3.0(https://console.yunsuo.qianxin.com)与 VIP 版 V1.5.40(http://vip.yunsuo.qianxin.com)已停止维护,不再更新,请大家尽快迁移到新公有云平台(V8.0.8 及以上版本)以获取产品更新及技术支持。












学习了,最近也是在搜索这个教程来试一下