![图片[1]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20211221074407748-1024x286-1.webp)
编译安装部署
编译安装在生产环境中会比较稳定,而且针对企业,需要进行二次开发,因此编译安装会比较合适。
这里我们以Ubuntu镜像为例,展示一下编译安装的全过程
依赖环境安装
- 我们在官方文档基础上补充了
libnss3-dev
、libnspr4-dev
、libnspr4-dev
、rustc cargo
、python-distutils-extra
模块的安装,否则会产生报错
sudo apt-get -y install python-distutils-extra libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
make libmagic-dev libjansson-dev libjansson4 libnss3-dev libnspr4-dev libnspr4-dev rustc cargo pkg-config
- 如果您apt-get安装非常的慢,建议更换阿里云镜像源
cd /etc/apt/
sudo vi sources.list
文件最前面添加(后面其他的镜像源可以#注释掉)
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
然后更新本地索引之后,重新使用apt-get install相关命令安装依赖
sudo apt-get update
更换完阿里的镜像源速度还是非常可观的
![图片[2]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220103045632593.webp)
Suricata编译安装
先将suricata-6.0.4.tar.gz 最新版文件下载到桌面上,解压缩相关文件
wget https://www.openinfosecfoundation.org/download/suricata-6.0.4.tar.gz
tar xzvf suricata-6.0.4.tar.gz
![图片[3]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20211221061901693-1024x714-1.webp)
进入suricata目录
cd suricata-6.0.4
编译
./configure && make && make install-full
安装完成后相关文件的默认路径
以上是正常部署步骤,如果有特殊的需求,可以按需修改相关配置文件部署的路径
--enable-geoip
启用 GeoIP 支持以进行检测。
运行suricata 进行流量网卡监听测试
我们这里为了验证功能是否可以正常运行,选择监听网卡模式
查看要监听的网卡
我们先查看自己虚拟机里开放的网卡口
ip a
这里看到可以使用ens33网卡
![图片[4]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220104025454742.webp)
然后我们运行suricata,并把流量日志记录到桌面fancypig文件夹下
创建好存储结果的文件夹
这里需要在桌面上使用mkdir fancypig
先创建好fancypig文件夹
![图片[5]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220104025829976.webp)
开始监听
suricata -c /usr/local/etc/suricata/suricata.yaml -i ens33 -l /home/fancypig/Desktop/fancypig
然后就可以跑起来了
![图片[6]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220104032735548.webp)
我们可以进一步到桌面我们创建好的fancypig文件夹下去寻找相应的日志,后面我会详细介绍!
![图片[7]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220104032803766.webp)
以下内容本文不做详细介绍,方法与上面类似,而且比上面的更简单,如果有问题欢迎在文末留言。
极速安装部署
Ubuntu
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata
Debian
sudo apt-get install suricata
稳定版本通常不是最新版本,因此,我们可以参考下面的命令使用备用节点,添加最新的版本
echo "deb http://http.debian.net/debian buster-backports main" > \
/etc/apt/sources.list.d/backports.list
apt-get update
apt-get install suricata -t buster-backports
参考链接
- 以下内容来自suricata官方安装文档(官方最新的只有英文版的)
https://suricata.readthedocs.io/en/latest/install.html
Docker方式部署
当然,你如果只是体验一下功能,Docker方式部署会减少您的很多时间。
Docker部署Suricata
- 拉取最新镜像
docker pull jasonish/suricata:latest
注:如果有特殊的架构,如amd64、arm64v8可以使用下面的命令
#针对amd64架构的服务器
docker pull jasonish/suricata:latest-amd64
#针对arm64v8的服务器
docker pull jasonish/suricata:6.0.4-arm64v8
- 启动容器
<interface>要填你的网卡,如果不知道那款网卡,专家建议通过ip a
查看UP状态的网卡名称
docker run --rm -it --net=host \
--cap-add=net_admin --cap-add=sys_nice \
-v $(pwd)/logs:/var/log/suricata \
jasonish/suricata:latest -i <interface>
常见目录
Suricata 容器相关文件夹:
/var/log/suricata
– Suricata 日志目录/var/lib/suricata
– 规则、Suricata-Update 缓存和其他运行时数据可能有助于在运行之间保留。/etc/suricata
– 配置目录
参考链接
详细用法参考https://github.com/jasonish/docker-suricata
报错问题如何解决
完全安装如果出现下面的问题
make install-rules
make[1]: Entering directory '/home/fancypig/Desktop/suricata-6.0.4'
error: rules not installed as suricata-update not available
make[1]: *** [Makefile:932: install-rules] Error 1
make[1]: Leaving directory '/home/fancypig/Desktop/suricata-6.0.4'
make: *** [Makefile:913: install-full] Error 2
root@ubuntu:/home/fancypig/Desktop/suricata-6.0.4# make install-rules
error: rules not installed as suricata-update not available
make: *** [Makefile:932: install-rules] Error 1
root@ubuntu:/home/fancypig/Desktop/suricata-6.0.4#
一般情况下,你需要单独输入./configure
进行检测,我这里看到的是由于没有安装python的distutils模块
Python support: yes
Python path: /usr/bin/python3
Python distutils no
Python yaml yes
Install suricatactl: no, requires distutils
Install suricatasc: no, requires distutils
Install suricata-update: no, requires distutils
因此,我们在Ubuntu安装上即可,我这里使用的是下面的命令
sudo apt-get install python-distutils-extra
如果使用我上面提供的命令无法安装,您可以参考下面的命令
sudo apt-get install python-distutils
sudo apt-get install python3-distutils
然后,我们再运行./configure
发现缺的模块已经补上,suricata-update
也可以正常编译了
Python support: yes
Python path: /usr/bin/python3
Python distutils yes
Python yaml yes
Install suricatactl: yes
Install suricatasc: yes
Install suricata-update: yes
然后重新运行
make && make install-full
这里发现规则也自动加载上了
![图片[8]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20220104024830210.webp)
附录:如何手动上传ET规则
开源ET规则手动下载(如果你正常编译安装了suricata-update,则无需看下面的教程)
最新版ET规则下载链接需要将[Version]替换为你的suricata版本号
https://rules.emergingthreats.net/open/suricata-[Version]/emerging.rules.tar.gz
我们使用的是最新的6.0.4版本,因此链接如下
https://rules.emergingthreats.net/open/suricata-6.0.4/emerging.rules.tar.gz
我们这里在进行下载
cd /usr/local/var/lib/suricata/rules
wget https://rules.emergingthreats.net/open/suricata-6.0.4/emerging.rules.tar.gz
下载完成后进行解压
tar -zxvf emerging.rules.tar.gz
然后将其重命名,为了后面规则可以分门别类的列出,我们这里把他改成idsrules文件夹
这里将刚解压缩的rules文件夹名称修改为idsrules
mv rules idsrules
引入规则suricata.yaml配置
然后需要修改配置suricata.yaml,引入idsrules文件夹
cd /usr/local/etc/suricata
gedit suricata.yaml
添加
- idsrules/*.rules
![图片[9]-如何部署Suricata开源IDS/IPS引擎-FancyPig's blog](https://www.cvv-goods.com/wp-content/uploads/2023/03/20211221101825969.webp)
实际上上方的一个相对链接:[default-rule-path] + idsrules 拼凑出的绝对路径
当然如果你直接输入绝对路径也是没问题的!因此你想把他放到桌面上当然也是没问题的咯
例如,- /home/fancypig/Desktop/idsrules/*.rules 也是可以的哦!
暂无评论内容