背景

OpenWAF 是在 openresty 基础上发布的,但安全不仅仅是针对 HTTP 协议的防护,而是全方位立体化的防护。
因此,为了防护更多的协议,开始接触 suricata,用熟后,争取将 OpenWAF 集成到 suricata 上,再扩展其他协议防护。
如果成功,那么将 OpenWAF 独立出来,形成单独的防护库,即支持 openresty(nginx) 又支持 suricata

《suricata简介》

Suricata 是一个高性能的网络 IDS,IPS 和网络安全监控引擎。

IPS:入侵预防系统(IPS: Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵预防系统(Intrusion-prevention system)是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。是新一代的侵入检测系统(IDS)。

Suricata 是一个网络入侵检测和防护引擎,由开放信息安全基金会及其支持的厂商开发。该引擎是多线程的,内置支持 IPV6。可加载现有的 Snort 规则和签名,支持 Barnyard 和 Barnyard2 工具.

IDS:英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。

Barnyard:知名的开源IDS的日志工具,具有快速的响应速度,优异的数据库写入功能,是做自定义的入侵检测系统不可缺少的插件。

至于IDS和IPS的区别,可以查看下网络中其他文章,本人理解:

IDS只是发现攻击、产生报警,而 IPS 不但可以发现攻击,更重要的是针对攻击采取行动。

<suricata编译安装>

想到研究 suricata 只读源码估计还不凑效,需要了解下真实环境下怎么应用,这样理解起来估计会更有感觉,于是在自己本地虚拟机中安装编译一下:

1、虚拟机操作系统Linux Debian7.0
2、下载suricata源码
wget -c https://www.openinfosecfoundation.org/download/suricata-4.0.3.tar.gz

  • ipset

    ipset 安装参考文档(待整理)ipset 官方文档ipset 7.1版本链接使用参考文档 简单的流程可以用这几条命令概括使用 ipset 和 iptables 进行 IP 封禁的流程 ipset create blacklist ...

    ipset
  • 删除非目录文件

    linux 下删除一个目录下所有的隐藏文件和非目录文件 前言在 alpine 基础上编译 OpenWAF,想要达到最简,删除无用文件。 亮点rm -rf `ls -Fa | grep '^\.\w'` -- 删除隐...

    删除非目录文件
  • 在 alpine 上编译 openssl 遇到的问题

    alpine 上编译 openssl (v1.1.1) 遇到 ucontext 报错 前言今天在 alpine 基础上编译 openwaf,编到 openssl 时,报 ucontext 相关错误。 ucontext 报错编译 ope...

    在 alpine 上编译 openssl 遇到的问题
  • 批量修改或添加文件后缀名

    前言常见的是对不同文件名进行文件后缀名修改。但今天遇到同一文件名的情况。 常见windows 或 Linux 命令: ren *.jpg *.bmp # 将 jpg 后缀改为 bmp 如:1.jpg 2.txt 改后为:1.bm...

    批量修改或添加文件后缀名
  • hyperscan 安装

    1. 前言本文在 Debian8 中安装 hyperscan 5.0.0内存至少 2 G,不然编译慢而且失败 2. 依赖2.1 C/C++编译器hyperscan使用C++开发,且需要C99和C++11支持,目前支持的编译器有 GC...

    hyperscan 安装
  • linux 查看系统开机时间

    有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间;有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间;下面总结一些查看Linux开机关机时间的方法(非常全面) 1. who 命令查看who ...

    linux 查看系统开机时间
  • GDB 多线程 (non-stop)

    1. 背景这几天在扩展 ngx_lua 模块,但 gdb 定位时,提示:Thread debugging using libthread_db enabled。 2. GDB non-stop 配置把以下3行添加到 ~/.gdbini...

    GDB 多线程 (non-stop)
  • clear: command not found 命令无法找到

    1. 安装 ncurses-binsudo apt-get install ncurses-bin 此时尝试执行 ‘clear’ 命令,若失败,执行第二步(重新安装 ncurses-bin) 2. 重新安装 ncurses-binsu...

    clear: command not found 命令无法找到
  • svn 游记

    前言公司之前用 svn 管理项目代码,我一直用的 windows 版本 近期想要搭建知识库云平台,需要在 linux 上使用 svn 管理代码,因此做些笔记 直接使用公司搭建好的 svn服务器 1. 客户端安装yum install ...

    svn 游记
  • saltstack 从 0 开始

    1. 安装//salt-master安装(环境:OS-debian,IP-120.25.255.213) # apt-get install -t jessie-backports salt-master //salt-minion安...

    saltstack 从 0 开始