albert-einshutoin/secure-learn

GitHub: albert-einshutoin/secure-learn

一个基于 Docker 的综合安全学习与 SOC 训练环境,让用户在隔离环境中体验从攻击到响应的安全运营全生命周期。

Stars: 0 | Forks: 0

# Secure Learn / SOC-Lab **基于 Docker 的综合安全学习与 SOC 训练环境** [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/albert-einshutoin/secure-learn/actions/workflows/ci.yml) ## 概述 SOC-Lab 是一个完全基于 Docker 的实战型学习环境,旨在进行安全运营中心(SOC)的训练。 您可以体验 **攻击 → 检测 → 响应 → 报告 → 改进** 的一系列生命周期。 ## 特点 - 🐳 **Docker Compose 一键启动** - 无需复杂的环境搭建 - 🎯 **7 个学习场景** - 从端口扫描到模拟 APT - 📊 **实时可视化** - 通过 Kibana Dashboard 观察攻击 - 🔔 **自动告警** - ElastAlert + Slack 通知 - 📝 **评估系统** - 分为初级、中级、高级的等级评估 ## 架构 ``` [ Kali Linux ] (攻撃) | v [ Suricata ] (L3-7 IDS/IPS) | v [ NestJS App ] (脆弱なWebアプリ) | +--> App Log --> Fail2ban (自動BAN) | [ Linux Host ] | +--> Auditd (OS監査) | [ Filebeat ] | [ Elasticsearch ] <---> [ Kibana ] (SIEM / SOC) ``` ## 快速开始 ### 前提条件 - Docker & Docker Compose - 8GB 以上内存 - 20GB 以上磁盘空间 ### 启动 ``` # 克隆仓库 git clone https://github.com/albert-einshutoin/secure-learn.git cd secure-learn # 環境を起動 docker compose up -d --build # 起動確認 docker compose ps ``` ### 访问 | 服务 | URL | |---------|-----| | Kibana | http://localhost:5601 | | NestJS App | http://localhost:3000 | | Elasticsearch | http://localhost:9200 | ### 健康检查 ``` curl http://localhost:3000/health docker compose ps ``` ### 执行攻击 ``` # Kaliコンテナに接続 docker exec -it soc-lab-kali /bin/bash # シナリオを実行 /scripts/s1_portscan.sh /scripts/s2_bruteforce.sh /scripts/s3_sqli.sh /scripts/s4_dos.sh /scripts/s7_lateral.sh ``` Kali 容器根据本仓库的 `attack/Dockerfile` 构建,包含 `nmap`、`hydra`、`sqlmap`、`curl` 和 `jq`。 ## 学习场景 | 编号 | 场景 | 主要层 | 难度 | |----|---------|----------|--------| | S1 | 端口扫描 | L3/L4 | 初级 | | S2 | API 暴力破解 | L7 | 初级 | | S3 | SQL 注入 | L7 | 中级 | | S4 | DoS 攻击 | L7 | 初级 | | S5 | 重要文件篡改 | OS | 中级 | | S6 | 权限提升 | OS | 中级 | | S7 | 跨节点事件 | 整体 | 高级 | ## 目录结构 ``` soc-lab/ ├── docker-compose.yml # メイン構成 ├── app/ # NestJSアプリ ├── suricata/ # IDS設定・ルール ├── fail2ban/ # BAN設定 ├── auditd/ # 監査ルール ├── elk/ # ELK Stack設定 ├── attack/ # 攻撃スクリプト ├── scenarios/ # シナリオ手順書 └── docs/ # ドキュメント ``` ## 分阶段功能 ### Phase 1(基础) - IDS(仅检测) - Fail2ban 自动封禁 - SIEM 可视化 ### Phase 2(高级) - IPS(自动拦截) - Slack 通知 - OS 审计 ``` # IPS 模式 docker compose -f docker-compose.yml -f docker-compose.ips.yml up -d --build # Slack通知を含むアラートモード cp .env.example .env # .env の SLACK_WEBHOOK_URL を設定 docker compose -f docker-compose.yml -f docker-compose.alerting.yml up -d --build ``` ### Phase 3(演练) - Red vs Blue 隔离环境 - KPI Dashboard - 自动报告生成 ## 使用技术 - **攻击**: Kali Linux, nmap, hydra, sqlmap - **检测**: Suricata, Fail2ban, Auditd - **SIEM**: Elasticsearch, Kibana, Filebeat - **通知**: ElastAlert, Slack - **应用**: NestJS, PostgreSQL ## 文档 - [安装指南](docs/setup.md) - [SOC Playbook](docs/soc-playbook.md) - [事件响应报告模板](docs/templates/incident-report.md) - [评估检查清单](docs/templates/evaluation-checklist.md) ## 许可证 MIT License ## 注意事项 ⚠️ **本项目仅供学习使用** - 切勿用于生产环境 - 仅限在隔离网络中使用 - 包含故意的漏洞 - 切勿将攻击脚本针对第三方环境运行 - 切勿提交 `.env`、实际的 webhook URL、私钥或真实数据 ## 贡献 欢迎提交 Issue 和 Pull Request。 ## 作者 SOC-Lab Project
标签:Docker-Compose, Elasticsearch, Metaprompt, 安全实训, 测试用例, 版权保护, 网络安全, 请求拦截, 越狱测试, 隐私保护