Swastik-Garg/SNORT-CUSTOM-IDS-RULES
GitHub: Swastik-Garg/SNORT-CUSTOM-IDS-RULES
一套生产级 Snort 自定义 IDS/IPS 规则集,用于实时检测端口扫描、Web 攻击、暴力破解、DNS 异常等多种网络威胁。
Stars: 0 | Forks: 0
🛡️ Snort 自定义 IDS/IPS 规则
专业的自定义 Snort 检测规则,用于识别常见的网络攻击,包括侦察、暴力破解尝试、Web 应用攻击、恶意软件活动和数据泄露。




# 📖 概述
现代企业网络持续面临来自攻击者的威胁,这些攻击者会执行侦察、暴力破解、Web 攻击、恶意软件部署和数据窃取等活动。
本项目提供了一套专业编写的自定义 Snort IDS/IPS 规则集,旨在实时检测这些攻击技术。
目标用户包括:
- SOC 分析师
- 蓝队工程师
- 网络安全学生
- 检测工程师
- 网络安全专业人员
# ✨ 功能
- TCP SYN 端口扫描检测
- ICMP 泛洪检测
- 目录遍历检测
- Linux `/etc/passwd` 访问检测
- SQL 注入检测
- 跨站脚本攻击 (XSS)
- FTP 暴力破解检测
- SSH 暴力破解检测
- SMB 访问检测
- DNS 隧道检测
- DNS 放大检测
- SQLMap 检测
- Nikto 检测
- Nmap XMAS 扫描检测
- 反向 Shell 检测
- 大型 HTTP POST 检测
- IPS 阻断规则
# 🏗️ 网络架构
流量由 Snort 检测引擎使用自定义规则集进行检查。匹配的数据包会生成告警,安全分析师可以查看这些告警,或将其转发到 SIEM 平台。
# 🔄 检测工作流
工作流包含:
1. 数据包捕获
2. 数据包预处理
3. 规则匹配
4. 告警生成
5. 日志与分析
# 📂 仓库结构
```
SNORT-CUSTOM-IDS-RULES
│
├── configs
│ └── snort.conf.example
│
├── docs
│ ├── Installation.md
│ ├── Configuration.md
│ ├── Rule-Explanation.md
│ └── Testing.md
│
├── images
│
├── rules
│ └── custom.rules
│
├── scripts
│ ├── install.sh
│ ├── validate.sh
│ └── run-snort.sh
│
├── test-pcaps
│
├── .gitignore
├── LICENSE
└── README.md
```
# ⚙️ 环境要求
- Linux (Ubuntu / Kali)
- Snort 2.9.x 或更高版本
- Root 权限
- libpcap
- 已配置的网络接口
# 🚀 安装
克隆仓库
```
git clone https://github.com/YOUR_USERNAME/snort-custom-ids-rules.git
cd snort-custom-ids-rules
```
复制规则文件
```
sudo cp rules/custom.rules /etc/snort/rules/
```
打开 Snort 配置
```
sudo nano /etc/snort/snort.conf
```
包含自定义规则
```
include $RULE_PATH/custom.rules
```
# ✅ 验证配置
```
sudo snort -T -c /etc/snort/snort.conf
```
预期输出
```
Snort successfully validated the configuration.
```
# ▶️ 运行 Snort
```
sudo snort -A console \
-c /etc/snort/snort.conf \
-i eth0
```
将 **eth0** 替换为您的监控接口。
# 🧪 测试示例
## TCP SYN 扫描
```
nmap -sS
```
## SQL 注入
```
http://target/login.php?id=' OR 1=1--
```
## 跨站脚本攻击
```
```
## FTP 暴力破解
```
hydra -l admin -P rockyou.txt ftp://
```
## SSH 暴力破解
```
hydra -l root -P rockyou.txt ssh://
```
# 📊 检测覆盖范围
| 攻击 | 检测 |
|----------|-----------|
| TCP SYN 扫描 | ✅ |
| ICMP 泛洪 | ✅ |
| 目录遍历 | ✅ |
| SQL 注入 | ✅ |
| 跨站脚本攻击 | ✅ |
| FTP 暴力破解 | ✅ |
| SSH 暴力破解 | ✅ |
| SMB 检测 | ✅ |
| DNS 隧道 | ✅ |
| DNS 放大 | ✅ |
| SQLMap 检测 | ✅ |
| Nikto 检测 | ✅ |
| 反向 Shell | ✅ |
| 数据泄露 | ✅ |
# 📸 演示
## Snort 启动
## TCP SYN 端口扫描检测
## SQL 注入检测
## 跨站脚本攻击检测
## FTP 暴力破解检测
## SSH 暴力破解检测
# 📚 文档
完整的文档可在 **docs** 目录中找到。
| 文件 | 描述 |
|------|-------------|
| Installation.md | Snort 安装指南 |
| Configuration.md | Snort 配置 |
| Rule-Explanation.md | 每条规则的详细解释 |
| Testing.md | 分步测试流程 |
# 🛠️ 未来改进
- 支持 Snort 3
- 兼容 Suricata 的规则
- 更多恶意软件特征
- 威胁情报集成
- SIEM 集成示例
- 自动化 PCAP 测试
- 社区规则贡献
# ⚠️ 免责声明
这些规则仅用于教育目的和经授权的安全评估。
作者不对本项目的滥用行为负责。
# 📄 许可证
本项目基于 MIT 许可证授权。
详情请参阅 **LICENSE** 文件。
# 👨💻 作者
**Swastik Garg**
B.Tech — 物联网与网络安全
网络安全爱好者 | 蓝队 | SOC | 网络安全 | 检测工程
⭐ 如果您觉得这个仓库有用,请考虑给它点个 Star。
标签:AMSI绕过, CISA项目, Snort规则, 威胁检测, 应用安全, 插件系统, 红队行动, 网络安全, 网络流量分析, 隐私保护