ExploitGd/raspberry-pi-security-lab

GitHub: ExploitGd/raspberry-pi-security-lab

基于树莓派5的一键式家庭网络安全实验室,集成系统加固、入侵检测、蜜罐和实时监控仪表盘,帮助安全学习者在低成本硬件上实践蓝队防御技能。

Stars: 0 | Forks: 0

# 🛡️ Raspberry Pi 5 — 家庭安全实验室 一个基于运行 Ubuntu Desktop 的 Raspberry Pi 5 (8GB) 构建的完全自动化的网络安全家庭实验室。本项目展示了跨越四个阶段的实用蓝队安全技能:系统加固、入侵检测、蜜罐部署以及实时日志可视化。 ## 📸 仪表盘预览 ![Grafana 仪表盘](https://raw.githubusercontent.com/ExploitGd/raspberry-pi-security-lab/main/screenshots/Grafana.png) ## 🏗️ 架构 ``` Internet Traffic │ ▼ ┌─────────────────────────────────────────────┐ │ Raspberry Pi 5 (Ubuntu) │ │ │ │ ┌─────────┐ ┌──────────┐ ┌────────┐ │ │ │ UFW │ │ Suricata │ │ Cowrie │ │ │ │Firewall │ │ IDS │ │Honeypot│ │ │ └─────────┘ └────┬─────┘ └───┬────┘ │ │ │ │ │ │ ┌───────▼──────────────▼────┐ │ │ │ Promtail │ │ │ │ (Log Shipper) │ │ │ └───────────┬───────────────┘ │ │ │ │ │ ┌───────────▼───────────────┐ │ │ │ Loki │ │ │ │ (Log Aggregator) │ │ │ └───────────┬───────────────┘ │ │ │ │ │ ┌───────────▼───────────────┐ │ │ │ Grafana │ │ │ │ (Live Dashboard) │ │ │ └───────────────────────────┘ │ └─────────────────────────────────────────────┘ ``` ## 🔧 硬件 | 组件 | 规格 | |---|---| | 设备 | Raspberry Pi 5 | | 内存 | 8GB | | 操作系统 | Ubuntu Desktop 24.x | | 网络 | 有线以太网 (eth0) | ## 📋 项目阶段 ### 阶段 1 — 安全加固 **脚本:** [`pi5_hardening.sh`](pi5_hardening.sh) ![所有服务已激活](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f2a0118504211455.png) 遵循 CIS 基准原则,自动执行全新 Ubuntu 安装的加固。 | 控制项 | 实现方式 | |---|---| | 用户管理 | 专用管理员用户,禁用 root 登录 | | 身份验证 | 基于 SSH 密钥的身份验证,禁用密码身份验证 | | 网络 | UFW 防火墙,默认拒绝入站策略 | | 暴力破解防护 | fail2ban (3 次重试,封禁 1 小时) | | 服务精简 | 禁用蓝牙、CUPS、Avahi、ModemManager | | 补丁管理 | 启用无人值守安全更新 | **展示的关键概念:** - 最小权限原则 - 攻击面缩减 - 纵深防御 - CIS 基准控制 ### 阶段 2 — 入侵检测系统 (Suricata) **脚本:** [`pi5_suricata_setup.sh`](pi5_suricata_setup.sh) ![Suricata 实时告警](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/85ff965d0c211518.png) 部署 Suricata 7.x 作为网络 IDS,监控主接口上的所有流量。 | 特性 | 详情 | |---|---| | 引擎 | Suricata 7.x (OISF 官方仓库) | | 模式 | IDS (被动监控) | | 规则 | 49,770+ 条 Emerging Threats 签名 | | 接口 | eth0 (自动检测) | | 输出 | eve.json (JSON), fast.log (告警) | | 日志轮转 | 每天,保留 7 天,压缩存储 | **捕获的示例告警:** ``` [1:2100498:7] GPL ATTACK_RESPONSE id check returned root Classification: Potentially Bad Traffic | Priority: 2 3.169.231.53:80 -> 192.168.1.23:52254 ``` **展示的关键概念:** - 网络流量分析 - 基于签名的检测 - 规则管理与更新 - JSON 日志解析 - 蓝队 / SOC 分析师工具 ### 阶段 3 — SSH 蜜罐 (Cowrie) **脚本:** [`pi5_cowrie_setup.sh`](pi5_cowrie_setup.sh) ![Cowrie 实时捕获](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/867202a221211522.png) 部署 Cowrie 2.9. x 作为中等交互的 SSH 蜜罐,记录所有攻击者活动。 | 特性 | 详情 | |---|---| | 引擎 | Cowrie 2.9.17 | | 协议 | SSH (端口 2222) | | 隔离 | 专用的非特权用户 | | 环境 | Python virtualenv | | 日志记录 | 带有完整 TTY 录制的 JSON 会话日志 | | 服务 | systemd,自动重启 | **捕获的示例会话:** ``` {"eventid":"cowrie.login.success","username":"root","password":"yes1234"} {"eventid":"cowrie.command.input","input":"whoami"} {"eventid":"cowrie.command.input","input":"cat /etc/passwd"} {"eventid":"cowrie.session.closed","duration":"39.5"} ``` **针对每次攻击者会话记录的内容:** - 源 IP 和端口 - SSH 客户端版本和指纹 (HASSH) - 每一次凭据尝试 - 输入的每一条命令 - 下载/上传的文件 - 完整的 TTY 会话重播 **展示的关键概念:** - 蜜罐部署与运营 - 威胁情报收集 - 攻击者行为分析 - 最小权限原则(隔离的服务用户) - Python virtualenv 管理 ### 阶段 4 — 实时安全仪表盘 (Grafana + Loki) **脚本:** [`pi5_dashboard_setup.sh`](pi5_dashboard_setup.sh) 构建一个聚合 Suricata 和 Cowrie 日志的实时安全仪表盘。 | 组件 | 角色 | |---|---| | Grafana | 仪表盘 UI (端口 3000) | | Loki | 日志聚合与存储 (端口 3100) | | Promtail | 来自 Suricata + Cowrie 的日志发送 | **仪表盘面板:** - Suricata 告警日志流 (实时) - Cowrie 蜜罐事件流 (实时) - 24 小时内 Suricata 告警计数 (统计) **使用的 LogQL 查询:** ``` {job="suricata"} # All IDS alerts {job="cowrie"} # All honeypot events count_over_time({job="suricata"}[24h]) # Alert volume stat {job="cowrie"} |= "login.success" # Successful honeypot logins {job="suricata"} |= "ATTACK_RESPONSE" # Specific attack category ``` **展示的关键概念:** - 日志聚合管道 (Promtail → Loki → Grafana) - 基础设施即代码 (通过配置文件配置 Grafana) - LogQL 查询语言 - 安全运营中心 (SOC) 工具 - 可观测性与监控 ## 🚀 快速开始 ### 前置条件 - 已安装 Ubuntu Desktop 的 Raspberry Pi 5 - 已配置 SSH 访问 - 互联网连接 ### 安装 将此仓库克隆到你的 Pi 上: ``` git clone https://github.com/yourusername/raspberry-pi-security-lab.git cd raspberry-pi-security-lab ``` 按顺序运行每个阶段: ``` # 阶段 1 - 系统加固 sudo bash pi5_hardening.sh # 阶段 2 - 部署 Suricata IDS sudo bash pi5_suricata_setup.sh # 阶段 3 - 部署 Cowrie 蜜罐 sudo bash pi5_cowrie_setup.sh # 阶段 4 - 部署 Grafana 仪表板 sudo bash pi5_dashboard_setup.sh ``` ### 访问仪表盘 ``` http://YOUR-PI-IP:3000 Default credentials: admin/admin ``` ## 📁 仓库结构 ``` raspberry-pi-security-lab/ ├── README.md ├── pi5_hardening.sh # Phase 1: System hardening ├── pi5_suricata_setup.sh # Phase 2: Suricata IDS ├── pi5_cowrie_setup.sh # Phase 3: Cowrie honeypot ├── pi5_dashboard_setup.sh # Phase 4: Grafana dashboard └── screenshots/ ├── grafana-dashboard.png ├── suricata-alerts.png └── cowrie-session.png ``` ## 🔍 常用命令 ``` # Suricata sudo tail -f /var/log/suricata/fast.log # Live alerts sudo suricata-update # Update rules sudo systemctl status suricata # Service status # Cowrie sudo cat /home/cowrie/cowrie/var/log/cowrie/cowrie.json | tail -20 sudo systemctl status cowrie # Service status # Grafana 技术栈 sudo systemctl status grafana-server loki promtail # 防火墙 sudo ufw status verbose # fail2ban sudo fail2ban-client status sshd ``` ## 🛠️ 展示的技能 | 技能领域 | 工具 / 概念 | |---|---| | Linux 管理 | Ubuntu, systemd, bash 脚本编写, 用户管理 | | 网络安全 | UFW 防火墙, SSH 加固, 端口管理 | | 入侵检测 | Suricata, Emerging Threats 规则集, EVE JSON | | 威胁情报 | Cowrie 蜜罐, 攻击者画像, HASSH 指纹识别 | | 日志管理 | Loki, Promtail, LogQL, 日志轮转 | | 可视化 | Grafana, 仪表盘设计, 实时监控 | | 自动化 | Bash 脚本编写, systemd 服务, 基础设施即代码 | | 安全加固 | CIS 基准, 攻击面缩减, 最小权限 | ## 📚 参考资料 - [Suricata 文档](https://suricata.readthedocs.io) - [Cowrie 文档](https://cowrie.readthedocs.io) - [Grafana 文档](https://grafana.com/docs) - [Emerging Threats 规则集](https://rules.emergingthreats.net) - [CIS Ubuntu 基准](https://www.cisecurity.org/benchmark/ubuntu_linux) ## ⚠️ 免责声明 本项目仅供教育目的和个人家庭实验室使用。该蜜罐只能部署在你拥有或获得明确授权进行监控的网络上。切勿未经授权在网络上部署安全工具。 *使用 🍓 Raspberry Pi 5 | Ubuntu | Suricata | Cowrie | Grafana 构建*
标签:AMSI绕过, CISA项目, Grafana, IoT安全, IP 地址批量处理, Loki, Metaprompt, PB级数据处理, PE 加载器, Promtail, Raspberry Pi, Suricata, TGT, UFW防火墙, 入侵检测系统, 内存执行, 威胁检测, 安全仪表盘, 安全数据湖, 安全架构, 安全运维, 家庭实验室, 应用安全, 开源自建, 插件系统, 攻防演练, 日志可视化, 日志聚合, 树莓派5, 现代安全运营, 系统加固, 网络安全, 网络安全审计, 蜜罐, 证书利用, 边缘计算, 逆向工具, 隐私保护