Ahmet-Goksen/IDS_Deployment_Analysis_Home_lab
GitHub: Ahmet-Goksen/IDS_Deployment_Analysis_Home_lab
Stars: 0 | Forks: 0
# 使用 Snort 部署入侵检测系统 (IDS)
## 项目摘要
本项目演示了在 **Ubuntu Server** 虚拟机上使用 **Snort** 部署和配置基础入侵检测系统 (IDS) 的过程。目标是在家庭实验环境中监控实时网络流量,并针对特定活动(特别是 ICMP (ping) 请求)生成警报。
项目涵盖了完整的设置过程,包括虚拟机创建、网络配置、Snort 安装、规则自定义以及警报验证。
## 环境
- **虚拟化平台:** Oracle VirtualBox
- **操作系统:** Ubuntu Server 24.04.3 LTS
- **虚拟机资源:**
- 2 个 CPU 核心
- 4 GB 内存
- 25 GB 动态分配磁盘
- **网络模式:** 启用混杂模式的桥接适配器
## 关键实施步骤
### 1. 虚拟机配置
在 VirtualBox 中创建了一个新的 Ubuntu Server 虚拟机,并分配了运行 Snort 所需的适当系统资源。
### 2. 网络桥接与混杂模式
虚拟机网络适配器从 NAT 切换为 **桥接适配器**,并将 **混杂模式** 设置为 *允许所有*。
这使得虚拟机能够捕获来自本地网络的实时流量,这对于 IDS 功能至关重要。
### 3. Snort 安装与配置
Snort 从 Ubuntu 的默认仓库安装。
在 `snort.conf` 中配置了 `HOME_NET` 和 `EXTERNAL_NET` 变量,以正确定义内部和外部流量边界。
使用以下命令执行配置验证:
```
sudo snort -T -c /etc/snort/snort.conf
```
### 4. 创建自定义规则
添加了一条本地检测规则,用于在检测到 ICMP (ping) 流量时触发警报:
```
alert icmp any any -> $HOME_NET any (msg:"ALARM: Ping Detected!"; sid:1000001; rev:1;)
```
该规则被添加到:
```
/etc/snort/rules/local.rules
```
并在 `snort.conf` 中确认为活动状态。
### 5. 测试与警报验证
以控制台模式运行 Snort:
```
sudo snort -A console -q -c /etc/snort/snort.conf -i enp0s3
```
当从同一网络上的另一台设备 ping Ubuntu 虚拟机时,Snort 成功生成了实时警报,确认 IDS 运行正常。
## 成果
本项目成功演示了:
- 在虚拟化环境中部署 Snort
- 通过桥接和混杂模式配置网络监控
- 创建并激活自定义检测规则
- 为受监控流量生成实时警报
此设置提供了基础的 IDS 实现,可以通过高级规则集、日志记录机制以及与 SIEM 平台的集成进行扩展,以实现更深入的网络安全分析。
## 未来改进方向
- 启用数据包日志记录和警报文件输出
- 与 SIEM 解决方案集成
- 实施更多自定义检测规则
- 将 Snort以内联模式部署为 IPS (入侵防御系统)
- 添加自动警报通知
标签:AMSI绕过, Homelab, ICMP, PB级数据处理, Ubuntu Server, VirtualBox, 入侵检测系统, 入侵防御, 威胁检测, 安全数据湖, 安全运维, 家庭实验室, 应用安全, 时间线生成, 混杂模式, 系统部署, 网络安全, 网络配置, 虚拟化, 规则编写, 隐私保护