帮助中心 >  产品文档 >  Suricata IDS入侵检测系统的安装部署

一、Suricata简介

Suricata是一个免费的、开源的网络入侵检测系统(IDS)、入侵预防系统(IPS)和网络安全监控工具。它可以对网络流量进行实时分析和检测,并提供了丰富的规则库,可用于检测各种恶意行为,例如漏洞利用、恶意软件、网络扫描等。Suricata具有高性能、多线程处理、可扩展性强等特点,适用于大规模网络环境。同时,Suricata还支持多种协议解析,包括TCP、UDP、ICMP、HTTP等,可用于对不同类型的网络流量进行深度检测和分析。


二、主要特点

l  IDS/IPS – Suricata 是一个基于规则的入侵检测和防御引擎,它利用外部开发的规则集(例如Talos规则集和新兴威胁 Suricata 规则集)来监控网络流量中是否存在任何恶意活动、策略违规和威胁。

l  自动协议检测——Suricata 引擎自动检测 HTTP 和 HTTPS 等协议。任何端口上的 FTP 和 SMB,并应用适当的检测和日志记录逻辑。这在检测恶意软件和 CnC 通道时派上用场。

l  Lua 脚本——Suricata 可以调用提供高级恶意软件检测的Lua脚本,以检测和解码原本难以检测的恶意软件流量。

l  多线程——Suricata在确定网络流量时提供速度和重要性。该引擎旨在应用现代多核硬件芯片组提供的增强处理能力。


三、优缺点

1.优点

l  高性能:能够进行实时分析和检测网络流量。

l  多线程处理:提高了处理速度和效率。

l  可扩展性强:适用于大规模网络环境。

l  支持多种协议解析:包括TCP、UDP、ICMP、HTTP等,便于对不同类型的网络流量进行深度检测和分析。

l  提供丰富的规则库:可用于检测各种恶意行为,如漏洞利用、恶意软件、网络扫描等。

 

2.  缺点

l  规则库更新可能存在延迟:由于它是开源的,可能需要社区成员及时更新规则库以应对新的威胁。

l  可能存在一些已知的安全漏洞:开源软件通常需要社区成员积极修复这些漏洞。

 

四、部署安装

在 CentOS/RHEL 系统上

yum -y install epel-release yum-plugin-copr

yum -y copr enable @oisf/suricata-7.0

yum -y install suricata

 

在Ubuntu/Debian 系统上

添加 Suricata 仓库(可选,但推荐使用官方仓库以获得最新版本)

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

sudo apt-get update

sudo apt-get install suricata

 

这里以CentOS为例

Suricata主程序目录:/usr/sbin/suricata

Suricata核心配置目录:/etc/suricata/

Suricata日志目录:/var/log/suricata/

Suricata附属程序目录:/usr/bin

 

安装完成后,运行:

/usr/sbin/suricata --build-info

 

配置 Suricata:Suricata的配置文件位于/etc/suricata/suricata.yaml。你可以根据需要编辑此文件,配置Suricata的规则、日志路径、接口等。

sudo vim /etc/suricata/suricata.yaml


请仔细阅读配置文件并根据你的网络环境进行相应的配置。


# 全局配置

vars:

  address-groups:

    HOME_NET: "[192.168.0.0/16, 10.0.0.0/8]" 注意修改网段

 

# 接口配置

interfaces:

  - interface: eth0 # 注意修改

    enabled: yes

    promisc: no

 

# 日志输出配置

outputs:

  - fast:

      enabled: yes

      filename: fast.log

 

# 规则配置 注意与下面提到规则配置路径相对应

default-rule-path: /etc/suricata/rules

rule-files:

  - suricata.rules

 

# 检测引擎配置

detection:

  engine-analysis-frequency: 16

  cluster-type: cluster_flow



五、配置规则集

1.下载规则集(可选):Suricata使用规则集来检测网络流量中的威胁。你可以从Suricata官方网站或其他提供规则的地方下载规则。将规则文件放置在配置文件中指定的规则路径下。

https://www.landui.com/open/suricata-5.0/rules/

1.png

根据你的需求下载相应的规则集,这里我们下载 emerging.rules.zip


2.下载好之后解压到

/etc/suricata/rules/rules/


3.修改配置文件加载规则

vim /etc/suricata/suricata.yaml

修改default-rule-path 如下图修改为规则所在目录,可以配置多个

2.png


六、使用

1.启动 Suricata:

suricata -c /etc/suricata/suricata.yaml -i ens0

我自己的网卡是ens0,把这个换成自己要监听的网卡即可

2.查看日志 /var/log/suricata

suricata日志文件包含了系统运行时所记录的各种事件和信息。以下是一些常见的 Suricata 日志类型及其说明:

l  eve.json: 这是 Suricata 最常用的日志格式,以 JSON 格式记录事件信息,包括网络流量、警报、HTTP 请求等。该日志文件通常用于分析网络活动和检测潜在的安全威胁。

l  fast.log: 这个日志文件记录了 Suricata 检测到的快速事件,比如简单的流量匹配、流量流向等信息。

l  stats.log: 该日志文件包含有关 Suricata 运行状态和性能的统计信息,如吞吐量、警报数量、流量量等。

l  http.log: 记录 HTTP 请求和响应的信息,包括请求方法、URL、来源地址、目的地址、状态码等,有助于分析 Web 流量和检测恶意活动。

l  tls.log: 记录与 TLS/SSL 加密通信相关的信息,如握手过程、加密套件、证书信息等,有助于监控加密流量并检测可能的安全问题。

l  dns.log: 记录 DNS 查询和响应的信息,包括查询类型、域名、IP 地址等,有助于分析 DNS 流量和检测潜在的恶意域名。

l  suricata.log 文件是 Suricata 的运行日志,记录了 Suricata 启动、运行和关闭过程中的各种信息。这包括配置加载、规则文件处理、错误消息、警告以及其他诊断信息。

 

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: