在 Ubuntu 上配置 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 是 Snort 的数据获取库。运行以下命令以下载、编译并安装 DAQ:
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:
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 用户和组:
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
现在,从 GitHub 下载 Snort 配置文件:
wget https://github.com/snort3/community-rules/raw/master/snort3-community.rules
sudo cp snort3-community.rules /etc/snort/
接下来,创建一个名为 snort.lua
的 Snort 配置文件:
sudo nano /etc/snort/snort.lua
将以下内容粘贴到文件中:
ips =
{
variables =
{
HOME_NET = "192.168.1.0/24",
EXTERNAL_NET = "any",
},
include =
{
'snort3-community.rules',
},
}
请根据您的网络环境修改 HOME_NET
变量。保存并关闭文件。
运行以下命令以使用 Snort 对网络接口(例如 eth0)进行入侵检测:
sudo snort -i eth0 -c /etc/snort/snort.lua -l /var/log/snort/
现在,Snort 已经在实时监控您的网络并记录入侵事件。要查看日志,请运行:
cat /var/log/snort/alert
创建一个名为 snort.service
的 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
保存并关闭文件。然后运行以下命令以启用和启动 Snort 服务:
sudo systemctl enable snort
sudo systemctl start snort
现在,Snort 已经在 Ubuntu 上配置好了,并且可以实时检测网络入侵。