首页 > 其他分享 >naxsi安装配置

naxsi安装配置

时间:2024-04-11 17:23:35浏览次数:23  
标签:src naxsi 安装 配置 module usr http local

cd /usr/local/src
git clone --recurse-submodules https://github.com/wargio/naxsi.git

\cp -r /usr/local/src/naxsi/naxsi_src/libinjection/* /usr/local/src/naxsi/naxsi_src

cd /usr/local/src/tengine-2.4.1

./configure \
--add-module=./modules/ngx_http_upstream_check_module/ \
--add-module=./modules/ngx_http_upstream_consistent_hash_module \
--add-dynamic-module=/usr/local/src/naxsi/naxsi_src \
--with-http_ssl_module

\cp -r /usr/local/src/naxsi/naxsi_src/libinjection_ngxbuild/* naxsi/naxsi_src

编译,完成后会在./objs目录生成ngx_http_naxsi_module.so文件
make CFLAGS=-std=c99


如果编译报错:error: ‘LIBINJECTION_VERSION’ undeclared (first use in this function);

则重新执行configure,每次执行configure会重新生成/usr/local/src/naxsi/naxsi_src/libinjection_ngxbuild目录里的文件

然后找到该报错文件的1214行的 return LIBINJECTION_VERSION;

vi /usr/local/src/naxsi/naxsi_src/libinjection_ngxbuild/libinjection_sqli.c

   1212 const char* libinjection_version(void)
   1213 {
   1214     return LIBINJECTION_VERSION;
   1215 }

修改为

   1212 const char* libinjection_version(void)
   1213 {
   1214     return "0.0.0";
   1215 }

然后再次重新编译
make CFLAGS=-std=c99

安装,安装过程会把ngx_http_naxsi_module.so文件复制到/usr/local/nginx/modules目录
make install

systemctl restart nginx

拷贝核心规则文件
cp /usr/local/src/naxsi/naxsi_rules/naxsi_core.rules  /usr/local/nginx/conf/

加载模块,vi /usr/local/nginx/conf/nginx.conf

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

load_module /usr/local/nginx/modules/ngx_http_naxsi_module.so;

events
    {
        use epoll;
        worker_connections 51200;

在http级别加载规则文件

http
    {

        include naxsi_core.rules;


修改虚拟主机配置,在server级别(也及时可以只针某个虚拟主机添加防护)添加配置

server {


        location / {
            SecRulesEnabled; # 启用Naxsi模块
            LearningMode; # 启用学习模式,即拦截请求后不拒绝访问,只将触发规则的请求写入日志
            LibInjectionSql; # 启用SQL注入检测
            LibInjectionXss; # 启用XSS注入检测
            DeniedUrl "/RequestDenied"; # 拒绝访问时展示的页面
            CheckRule "$SQL >= 8" BLOCK; # 检查规则
            CheckRule "$RFI >= 8" BLOCK; # 检查规则
            CheckRule "$TRAVERSAL >= 4" BLOCK; # 检查规则
            CheckRule "$EVADE >= 4" BLOCK; # 检查规则
            CheckRule "$XSS >= 8" BLOCK; # 检查规则
            BasicRule wl:0 "mz:$BODY_VAR:password|$URL_X:[\w/]*/login[\w/]*"; #url中带/login的地址允许body的password参数中带任何字符
            BasicRule wl:2 "mz:BODY|$URL_X:[\w/]*/upload/chunk"; #url中带/upload/chunk的地址允许不能识别数据类型的大请求
            BasicRule wl:1015,1315 "mz:$HEADERS_VAR:cookie"; #cookie允许带逗号和url编码后的特殊字符
            BasicRule wl:0 "mz:$BODY_VAR:HtmlEditor"; #body中HtmlEditor参数可以带任何字符
        }


        # 配置拦截后拒绝访问时展示的页面,这里直接返回403。
        location /RequestDenied {
                return 403;
        }
}

标签:src,naxsi,安装,配置,module,usr,http,local
From: https://www.cnblogs.com/lbnnbs/p/18129670

相关文章

  • IOS开发——构建版本发布到TestFlight后邀请人员安装App测试流程
    关于打包上传TestFlight详见: IOS开发Archives打包后构建版本发布到TestFlight全流程。这里详细说明发布到TestFlight后邀请人员安装App进行测试。1.创建测试组:登录上AppStoreConnect之后,选择App,切换到TestFlight界面,点击左侧导航中”内部测试“栏目右边蓝色的添加图标......
  • android12 双屏异触配置
    平台:RK3399 android12。客户整机是USB接口的TP且需要双屏异触,方案如下。双屏异触的修改方法有两种:1、修改EventHub.cpp代码。2、配置触摸屏的IDC文件。这里采取第二次方法。通过adbshelldumpsysinput确认触摸屏的PID和VID。补丁如下:Index:device/rockchip/rk3......
  • Unity机器学习ML-Agents-release_21环境安装
    https://zhuanlan.zhihu.com/p/678870771 pipconfigsetglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple(启用清华源下载)python-mpipinstallmlagents==1.0.0--no-dependenciespipinstallattrpipinstallcattrs==1.1.0pipinstallpyyamlpipinstall......
  • dmdpc安装部署
    环境:OS:Centos7DM:DMV8达梦分布计算集群英文全称DMDistributedProcessingCluster,简称DMDPC.计划生成节点,英文全称为SQLProcessor,简称为SP;数据存储节点,英文全称为BackendProcessor,简称为BP;元数据服务器节点,英文全称为MetadataProcessor,简称为MP.一个最小的......
  • 鸿蒙开发TypeScript语言:【TypeScript 安装】
    TypeScript安装本文介绍TypeScript环境的安装。我们需要使用到npm工具安装。NPM安装TypeScript如果你的本地环境已经安装了npm工具,可以使用以下命令来安装。使用国内镜像:npmconfigsetregistryhttps://registry.npmmirror.com安装typescript:npminstall-g......
  • 配置VSCODE
    ***官网配置文件:**https://code.visualstudio.com/docs/cpp/config-mingw点击查看代码gcc--versiong++--versiongdb--version![](https://img2024.cnblogs.com/blog/3425643/202404/3425643-20240411153032565-1541800147.png)其他:https://blog.csdn.net/qq_215673......
  • windows下配置mask2former(facebook版)
    由于此版本的mask2former官方只提供了macOS和Linux的安装说明,所以windows安装会趟一些坑记录一下1.安装Anaconda2.安装PyCharm3.创建python3.8环境(最高3.8因为有一个依赖包最高支持python3.8)4.安装GCC下载地址:https://sourceforge.net/projects/mingw/点击Download下载......
  • npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案
    1.删除用户界面下的npmrc文件(注意一定是用户C:\Users\{账户}\下的.npmrc文件下不是nodejs里面)2.清除缓存,注意不要用npmcacheclean--force,容易出现npmWARNusing--forceIsurehopeyouknowwhatyouaredoing.要用:npmcacheverify3.设置镜像源:npmconfigsetregis......
  • 补充 windows系统安装多个MySQL版本
    一、为什么想要安装多个版本?如果你发现自身的mysql太低,不能完好的导入sql文件,又因为原本的mysql的存储重要数据,于是多开的mysql的想法出现,其实就是开个其他的端口,不要和原本的3306冲突就行。二、MySQL8.0下载MySQL8.0下载地址:https://dev.mysql.com/downloads/mysql/下载原......
  • Java从外部配置文件读取参数
    1.pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mav......