千家信息网

怎么为Nginx加入一个使用深度学习的软WAF

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"怎么为Nginx加入一个使用深度学习的软WAF",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么为Nginx加入一个使用深度学习的软WA
千家信息网最后更新 2025年12月01日怎么为Nginx加入一个使用深度学习的软WAF

本篇内容主要讲解"怎么为Nginx加入一个使用深度学习的软WAF",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么为Nginx加入一个使用深度学习的软WAF"吧!

一、前言

本文介绍如何向Nginx增加了一个使用Tensorflow C库的软WAF模块,模块主体基于Naxsi。

二、获取数据及训练数据

这里,之前有Dalao发表过这样一篇文章:基于卷积神经网络的SQL注入检测。

这是一个开源的项目,但是由于速度的关系,我不打算使用这篇文章的模型,仅仅采用这篇文章使用的数据集。这样可以节省很多特征工程的时间。

数据训练并不是这篇文章的重点,这里仅仅说一下训练结果,这里为了防止CUDA周期对检测时间的影响,使用CPU跑推理过程。

三、使用Tensorflow C库做推理

我们的目标是向Nginx加入一个使用Tensorflow C库的软WAF模块。如果从头开始写一个软WAF,想必会占用相当多的时间,并且这个也和这篇文章的主旨偏离。

在Nginx的开源的软WAF模块中,Naxsi是一个很受欢迎的模块。这个模块使用C作为主开发语言,因此,如果我们想基于这个模块加一个推理过程,很大可能性需要加入Tensorflow C库。那么,首先应该做的是,试着使用Tensorflow C库做单次推理,并做好模块测试。

Main文件如下:

编译完成后,可以跑一下数据,这里为了节省篇幅,仅测试一条

可见这部分代码已经可以正常工作了。

四、向Naxsi内加入代码

首先,回忆下Nginx的一些原理,Nginx在运行时使用fork,创建了一个master进程和若干worker进程,worker进程是实际处理数据的进程。每个模块的初始化函数,实际上是由初始化的进程来完成的,在这之后,如果配置了daemon,初始化的进程自动退出。

同时,为了便于理解,我们可以把推理流程拆分成这样几个部分:

1. 初始化模型

2. 将输入转化为Tensorflow识别的格式

3. 运行模型,获取结果

其中,步骤1仅需运行一次,步骤2,3在每次运行这个模块时都需要进行。

我对于Nginx理解不深,DaLao轻拍。

由于worker进程是fork产生的,实际上是无法使用初始化进程产生的model,所以,每个worker进程需要自己初始化一次自己的model相关资源。因此,新加入的函数应该类似这样:

这里,我仅仅检测uri内部的注入请求,其它部分的检测代码应该是非常相似的,这里就不再重复罗嗦了。

由于tf_model是在第一次调用模块时才会自动载入,因此,在这个服务器的每个worker进程第一次接受到数据时,可能会稍卡顿一下。

五、编译运行

将Naxsi和Nginx的代码同时复制到编译服务器内部,然后在编译Nginx时,包含下Naxsi的代码部分。

由于Nginx在编译时是不使用Tensorflow库的,所以我们需要手动修改下Makefile,在链接时自动加入Tensorflow库,最后编译。

然后,需要将Naxsi的配置文件复制到Nginx的conf文件夹内,配置Naxsi,并修改Nginx的配置文件,加入Naxsi模块。自定义一个403的Page,作为注入发生时的替换界面。然后,运行Nginx。

六、手注测试

这里使用简单的手注,测试模块是否正常运行。这里实际是不可能出现注入的情况的,如果有兴趣的话,可以加入DVWA等靶机,使用sqlmap等工具实际攻击。

到此,相信大家对"怎么为Nginx加入一个使用深度学习的软WAF"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

模块 进程 数据 运行 实际 编译 学习 代码 篇文章 推理 文件 检测 测试 配置 深度 时间 模型 训练 兴趣 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米刷机后不能连接到服务器 串口调试软件开发的意义 与网络技术相关的考研专业 415网络安全教育日视频 数据库数据表叙述 四川安防数显钟服务器虚拟主机 如何下载晶体材料的pdf数据库 网络安全靠人民主题队会 garmin 服务器 网页服务器被恶意攻击怎么办 数据库查询其他软件文件版本 谷速软件开发 树牢备战打仗的网络安全观 天津通讯软件开发设施厂家现货 属于计算机网络安全措施 为什么软件开发比后台工资低 冬奥网络安全卫士徐舒扬 关于关于网络安全的句子 联想 x86服务器 网络安全法 金融 网络安全青年文明号申报创建计划 网络技术对人们通讯 北邮网络技术学院编程软件 学生网络安全研究创新设想 源城软件开发定制 dota2老搜索协调服务器 网络安全法的行政主体 与internet时间服务器同步选哪个 南平市网络安全协调联动小组 学校网络安全领导小组职责
0