Suricata(Ubuntu)的安装以及使用过程(超详细)

前景:

老师让我们使用网络入侵检测工具进行模拟攻击入侵,在已经尝试配置snort,Sguil,OSSEC HIDS不行的情况下,历时三天,终于换成Suricata之后就配置成功了!

什么是IDS

入侵检测是通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析, 发觉入侵行为, 从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象. 入侵检测是防火墙的合理补充. 有助于对付网络攻击,扩展系统管理员的安全管理能力,提高信息安全结构的完整性。入侵检测系统IDS(Intrusion Detection System)可以包括硬件和软件, 通常由数据源,分析引擎和响应3部分组成,根据分析引擎所采用的技术,可分为异常检测和误用检测. IDS多采用主动防御技术,用于监视、分析用户及系统活动,对系统构造和弱点审计,识别已知进攻或并报警,对异常行为模式进行记录,统计分析,评估重要系统和数据文件的完整性,操作系统的审计跟踪管理,并识别用户违反安全策略的行为等. 一个好的入侵检测系统除了上述功能外,还应该管理、配置简单,操作容易.

小提示:本次安装的Ubuntu版本为Ubuntu22.04.3LTS,使用xshell进行连接,如果不会使用xshell的可以参考大佬:

https://blog.csdn.net/qq_44222849/article/details/105043739

安装过程

Ubuntu安装入门

在开始之前,小伙伴们一定要给自己的虚拟机拍个快照!然后将系统包更新到最新版本

apt update -y
apt upgrade -y

更新所有包后,运行以下命令来安装所有必需的依赖项:

apt install 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 pkg-config libnspr4-dev libnss3-dev liblz4-dev rustc cargo python3-pip python3-distutils

apt install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0

安装 Suricata源代码

使用以下命令下载最新版本的 Suricata:

wget https://www.openinfosecfoundation.org/download/suricata-6.0.8.tar.gz

下载完成后,使用以下命令解压缩下载的文件:

tar xzf suricata-6.0.8.tar.gz

导航到提取的目录并使用以下命令对其进行配置:

cd suricata-6.0.8
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

输出结果如下:

接下来,使用以下命令安装 Suricata:

make
make install-full

输出结果如下(make的时间特别长,需要耐心等待噢):

Ubuntu 存储库安装 Suricata

使用以下命令安装所有依赖项:

apt install gnupg2 software-properties-common curl wget git unzip -y

使用以下命令添加 Suricata 存储库:

add-apt-repository ppa:oisf/suricata-stable --yes

使用以下命令更新存储库缓存:

apt update

验证 Suricata 包:

apt-cache policy suricata

输出结果如下:

以下命令安装 Suricata:

apt install suricata jq

验证suricata包:

suricata --build-info

对Suricata进行配置

编辑 Suricata 配置文件并定义网络接口和网络:

nano /etc/suricata/suricata.yaml

如果不会对nano进行配置,可以找到对应的目录下输入:

sudo chmod 777 suricata.yaml

因为本身suricata.yaml是只读的,所以要提权

手动找到,并且更改以下行:

    HOME_NET: "[10.0.2.0/24]"

    EXTERNAL_NET: "!$HOME_NET"

af-packet:
  - interface: eth0
#        - sip
    sip:
    enabled: no

保存并关闭文件,然后使用以下命令更新 Suricata 配置:

suricata-update

验证 Suricata 配置文件:

suricata -T -c /etc/suricata/suricata.yaml -v

输出结果如下:

对验证suricata的验证可以参考:

https://blog.csdn.net/yeshankuangrenaaaaa/article/details/100533857

使用以下命令启动并启用 Suricata 服务:

systemctl enable --now suricata

使用以下命令检查 Suricata 服务:

systemctl status suricata

验证 Suricata

禁用网络接口上的数据包卸载功能:

ethtool -K ens33 gro off lro off

使用以下命令停止 Suricata:

systemctl stop suricata
rm -rf /var/run/suricata.pid

手动运行 Suricata:

suricata -D -c /etc/suricata/suricata.yaml -i ens33

使用kail的hping3命令对Ubuntu进行模拟攻击:

hping3 -S -p 80 --flood --rand-source suricata-ip -I ens33 -c 50

接下来就是漫长的泛洪攻击了,可以提前结束噢

回到 Suricata 服务器并检查 Suricata 日志文件:

tail -f /var/log/suricata/fast.log

解释一下为什么不是eth0而是ens33,需要ifconfig查看你的网卡,我的eth0被禁用了没有去修改,所以使用了ens33

写在最后

安装这个suricata也花了好多好多时间,都是结合了很多大佬的文章才配置成功的,一定一定要给虚拟机进行快照,不然每次重新安装都要耗费很多精力去卸载环境。

### Windows 系统下 Suricata安装使用 #### 1. 下载 Suricata 访问 Suricata 官方网站(Home - Suricata),找到适用于 Windows 的 Suricata 版本并下载。确保所选版本与系统的架构(32 位或 64 位)相匹配[^1]。 #### 2. 安装 Suricata 运行已下载的安装程序,按照安装向导逐步完成安装过程。在此期间,可选择自定义选项,如安装目录、是否创建桌面快捷方式等。一般情况下,保留默认设置即可满足基本需求[^1]。 #### 3. 启动 Suricata Windows 上启动 Suricata 主要有两种方式:命令行和快捷方式。以下是通过命令行的方式启动的具体步骤: - 打开命令提示符(需以管理员身份运行)。 - 导航至 Suricata 的 `bin` 文件夹所在路径,例如: ```cmd cd "C:\Program Files\Suricata\bin" ``` - 使用以下命令启动 Suricata 并实时监控指定网络接口的数据流量: ```cmd suricata -c "C:\Program Files\Suricata\etc\suricata.yaml" -i <网络接口名称> ``` 参数说明: - `-c`: 指定配置文件路径。 - `-i`: 指定要监听的网络接口名称[^3]。 #### 4. 配置文件详解 Suricata 的核心功能由其配置文件控制,默认位于 `C:\Program Files\Suricata\etc\suricata.yaml`。编辑此文件可以实现更高级的功能定制,例如启用特定规则集、优化性能参数以及设定目标操作系统的检测策略(host-os-policy)。对于后者,合理配置能够显著提升检测效率[^4]。 #### 5. 数据分析模式 Suricata 支持多种数据分析模式,在 Windows 环境中常见的有两类: - **离线分析 Pcap 包**: 对预先捕获的网络数据包进行回放分析。 - **实时分析 Pcap 包**: 动态监测当前网络活动中的潜在威胁。 --- ### 示例代码 以下为一个简单的批处理脚本示例,用于自动化启动 Suricata 并记录日志: ```batch @echo off set SURICATA_BIN="C:\Program Files\Suricata\bin\suricata.exe" set CONFIG_FILE="C:\Program Files\Suricata\etc\suricata.yaml" set INTERFACE=Ethernet %SURICATA_BIN% -c %CONFIG_FILE% -i %INTERFACE% if errorlevel 1 ( echo Error occurred while starting Suricata. ) else ( echo Suricata started successfully on interface %INTERFACE%. ) pause ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值