想在Ubuntu系统上部署一套稳定可靠的入侵检测系统(IDS)?Snort作为业界经典的开源解决方案,值得尝试。以下配置指南将带你逐步完成安装与运行,轻松实现网络流量监控。

整个过程可分解为以下清晰步骤,按顺序操作即可。
第一步:安装必要的依赖包
首先,打开终端,更新软件包索引,并安装Snort编译与运行所需的依赖库。执行以下两条命令:
sudo apt-get update
sudo apt-get install -y build-essential libpcap-dev libpcre3-dev libdumbnet-dev zlib1g-dev libluajit-5.1-dev openssl libssl-dev
第二步:下载并编译安装DAQ库
DAQ(数据采集库)是Snort捕获网络数据包的关键组件,需手动编译安装。请按顺序执行以下命令:
wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
tar -xvf daq-2.0.7.tar.gz
cd daq-2.0.7
./configure
make
sudo make install
cd ..
第三步:下载并编译安装Snort主程序
获取Snort源码并进行编译安装。执行以下命令序列:
wget https://www.snort.org/downloads/snort/snort-2.9.18.tar.gz
tar -xvf snort-2.9.18.tar.gz
cd snort-2.9.18
./configure --enable-sourcefire
make
sudo make install
cd ..
第四步:进行Snort的初始配置
安装完成后,还需进行必要配置,确保Snort在安全权限下运行。
首先,创建Snort专用系统用户和用户组,避免以root权限运行,提升安全性:
sudo groupadd snort
sudo useradd -r -s /sbin/nologin -G snort snort
接着,创建Snort配置目录与日志目录,并设置正确权限:
sudo mkdir /etc/snort
sudo mkdir /var/log/snort
sudo chown snort:snort /etc/snort
sudo chown snort:snort /var/log/snort
从官方社区下载基础规则文件:
wget https://github.com/snort3/community-rules/raw/master/snort3-community.rules
sudo cp snort3-community.rules /etc/snort/
现在,创建Snort主配置文件 snort.lua:
sudo nano /etc/snort/snort.lua
将以下配置内容粘贴进去。注意:需将HOME_NET变量的值(示例为192.168.1.0/24)替换为你实际的内网网段。
ips = {
variables = {
HOME_NET = "192.168.1.0/24",
EXTERNAL_NET = "any",
},
include = {
'snort3-community.rules',
},
}
保存修改并退出编辑器。
第五步:运行Snort进行检测
配置完成后,即可启动Snort。假设网卡为eth0,使用以下命令开始实时监控:
sudo snort -i eth0 -c /etc/snort/snort.lua -l /var/log/snort/
此时Snort已开始实时监控网络流量并记录可疑事件。查看触发的警报,可执行:
cat /var/log/snort/alert
第六步(可选):配置Snort开机自启
如需Snort在系统启动时自动运行,可将其配置为systemd服务。
创建服务配置文件:
sudo nano /etc/systemd/system/snort.service
将以下服务定义内容粘贴进去:
[Unit]
Description=Snort NIDS
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/snort -i eth0 -c /etc/snort/snort.lua -l /var/log/snort/
Restart=always
User=snort
Group=snort
[Install]
WantedBy=multi-user.target
保存退出后,执行以下命令启用并启动服务:
sudo systemctl enable snort
sudo systemctl start snort
至此,基于Snort的入侵检测系统已在你的Ubuntu上成功部署,将持续守护网络边界安全。
