.. _installation:
3. 安装¶
在使用Suricata之前需要先进行安装。可以通过二进制包在各种发行版上安装Suricata:参考 二进制包安装。
对于熟悉自行编译软件的用户,推荐采用`源码安装`方式。
高级用户可以查看进阶指南:参考 高级安装。
3.1. 源码安装¶
通过源码发行文件安装能最大程度控制Suricata的安装过程。
在构建源码前应验证Suricata源码发行文件的完整性,参见 验证 Suricata 源码分发文件。
基本步骤:
tar xzvf suricata-7.0.0.tar.gz
cd suricata-7.0.0
./configure
make
make install
这将把Suricata安装到 /usr/local/bin/
目录,默认配置文件位于 /usr/local/etc/suricata/
,日志输出到 /usr/local/var/log/suricata
3.1.1. 常用配置选项¶
- --disable-gccmarch-native¶
不针对构建硬件优化二进制文件。若需二进制可移植或在虚拟机中使用Suricata时添加此标志。
- --prefix=/usr/¶
将Suricata二进制文件安装到/usr/bin/。默认为
/usr/local/
- --sysconfdir=/etc¶
将配置文件安装到/etc/suricata/。默认为
/usr/local/etc/
- --localstatedir=/var¶
设置日志目录为/var/log/suricata/。默认为
/usr/local/var/log/suricata
- --enable-lua¶
启用Lua支持用于检测和输出。
- --enable-geoip¶
启用GeoIP检测支持。
3.1.2. 依赖与编译¶
3.1.2.1. Ubuntu/Debian¶
Note
以下指令需要安装 sudo
。
sudo apt -y install autoconf automake build-essential cargo \
cbindgen libjansson-dev libpcap-dev libpcre2-dev libtool \
libyaml-dev make pkg-config rustc zlib1g-dev
3.1.2.2. CentOS, AlmaLinux, RockyLinux, Fedora等¶
Note
以下指令需要安装 sudo
。
要安装所有最小依赖,多数发行版需要启用额外软件仓库。可通过以下方式之一启用:
sudo dnf -y update
sudo dnf -y install epel-release dnf-plugins-core
# AlmaLinux 8 / RockyLinux 8
sudo dnf config-manager --set-enabled powertools
# AlmaLinux 9 / RockyLinux 9
sudo dnf config-manager --set-enable crb
# Oracle Linux 8
sudo dnf config-manager --set-enable ol8_codeready_builder
# Oracle Linux 9
sudo dnf config-manager --set-enable ol9_codeready_builder
sudo dnf install -y rustc cargo cbindgen
sudo dnf install -y gcc gcc-c++ jansson-devel libpcap-devel \
libyaml-devel make pcre2-devel zlib-devel
3.1.2.3. Windows¶
Windows平台源码构建安装参见 在Windows上构建。
3.1.2.4. 编译¶
在Suricata目录执行以下步骤:
./configure # 可在此添加额外参数
# ./configure --help 查看所有可用参数
# j参数用于并行编译;数字表示并行度,请根据构建系统选择合适数值
make -j8
make install # 安装编译好的Suricata二进制文件
# make install-full - 同时安装配置文件和规则集
3.1.2.5. Rust支持¶
Rust包可通过包管理器获取,但某些发行版未提供或提供过时版本。 若版本不足可直接从Rust项目安装:
1) 安装Rust https://www.rust-lang.org/en-US/install.html 2) 安装cbindgen - 若仓库中未找到或版本过低,可强制安装: cargo install --force cbindgen 3) 确保cargo路径在PATH环境变量中 echo 'export PATH="~/.cargo/bin:${PATH}"' >> ~/.bashrc export PATH="~/.cargo/bin:${PATH}"
3.1.3. 自动配置¶
也可使用Suricata的自动配置功能:
./configure && make && sudo make install-conf
make install-conf 会执行常规安装并自动创建/设置所需目录及 suricata.yaml
配置文件。
./configure && make && sudo make install-rules
make install-rules 会执行常规安装并自动从Emerging Threats下载最新规则集。
./configure && make && sudo make install-full
make install-full 会整合上述所有功能(install-conf和install-rules),提供开箱即用的Suricata环境。
3.2. 二进制包安装¶
Suricata可通过二进制包在各种发行版便捷安装,无需编译源码。
Ubuntu系统:
参考 Ubuntu 软件包安装 了解通过PPA仓库安装的详细说明。
Debian系统:
参考 Debian 软件包安装 了解通过官方仓库和backports安装的详细说明。
RPM系发行版(CentOS, AlmaLinux, RockyLinux, Fedora等):
参考 RPM安装 了解通过COPR仓库安装的详细说明。
其他发行版:
参考 其他软件包安装方式 获取Arch Linux等发行版的安装说明。
3.3. 高级安装¶
Ubuntu用户可参考 从GIT安装。
其他通过GIT安装的指南及其他操作系统安装说明请查看(请注意内容可能已过时): https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Installation