Vibsterr99/NetGuard-Automation

GitHub: Vibsterr99/NetGuard-Automation

一键式 Ubuntu 安全加固自动化工具,通过三种配置文件快速部署防火墙、防暴力破解、杀毒、入侵检测和日志管理五大安全组件。

Stars: 0 | Forks: 0

# NetGuard 自动化 一个针对 Ubuntu 的配置驱动安全加固工具包,可通过单条命令安装并配置五个安全工具。根据环境需求在三种加固配置之间进行选择——从基础的防火墙规则到包含网络 IDS 和集中式日志管理的完整监控栈。 ## 功能介绍 NetGuard 自动化部署和配置: | 工具 | 用途 | General (通用) | Secure (安全) | Enterprise (企业) | |------|---------|---------|--------|------------| | **UFW** | 主机防火墙 — 控制入站/出站流量 | 允许 SSH + HTTP/S,拒绝其余连接 | 仅限 SSH,启用速率限制 | 严格白名单,启用日志记录 | | **Fail2Ban** | 暴力破解防护 — 在多次失败后封禁 IP | SSH 监狱,5 次重试 | SSH + HTTP 监狱,3 次重试,更长封禁时间 | 激活所有监狱,激进封禁策略 | | **ClamAV** | 防病毒 — 扫描磁盘上的恶意软件 | 仅安装 | 安装 + 每周计划扫描 | 安装 + 每日扫描 + 实时监控 | | **Suricata** | 网络 IDS — 监控流量中的威胁 | 不安装 | 已安装,ET Open 规则 | 已安装,ET Open 规则,EVE JSON 日志记录 | | **ELK Stack** | 日志管理 — Elasticsearch, Logstash, Kibana | 不安装 | 不安装 | 包含日志摄取管道的完整技术栈 | ## 快速安装 企业版配置(推荐用于实验室环境): ``` curl -fsSL https://raw.githubusercontent.com/Vibsterr99/NetGuard-Automation/main/install.sh | sudo -E bash ``` 通用版配置(基础加固): ``` NETGUARD_PROFILE=general curl -fsSL https://raw.githubusercontent.com/Vibsterr99/NetGuard-Automation/main/install.sh | sudo -E bash ``` 安全版配置(更严格的控制,无 ELK): ``` NETGUARD_PROFILE=secure curl -fsSL https://raw.githubusercontent.com/Vibsterr99/NetGuard-Automation/main/install.sh | sudo -E bash ``` 安装后,可随时使用以下命令重新打开菜单: ``` sudo netguard ``` ## 工作原理 `install.sh` 脚本会下载该仓库,将所有脚本复制到 `/usr/local/netguard/`,并使用选定的配置按顺序运行每个组件脚本。每个脚本会检查配置标志并相应地调整其配置——例如,根据配置是通用版(允许 HTTP/HTTPS)还是安全版(仅限 SSH),`ufu.sh` 会开放不同的端口。 这些脚本被设计为幂等的——在同一台机器上再次运行它们会更新配置,而不会破坏现有设置。 ## 脚本说明 | 脚本 | 工具 | 配置内容 | |--------|------|-------------------| | `ufu.sh` | UFW | 防火墙规则,默认拒绝策略,按配置划分的端口白名单 | | `f2b.sh` | Fail2Ban | 监狱配置,重试限制,封禁持续时间,受监控服务 | | `cav.sh` | ClamAV | 病毒数据库更新,扫描计划,排除路径 | | `suricata.sh` | Suricata | 接口选择,规则更新 (ET Open),EVE JSON 输出配置 | | `elk.sh` | ELK Stack | Elasticsearch, Logstash, Kibana 安装和管道设置 | | `logrptate.sh` | Logrotate | 所有已安装安全工具的日志轮换策略 | | `main.sh` | 菜单 | 用于在安装后管理所有组件的交互式菜单 | ## 系统要求 - Ubuntu 22.04 或 24.04(两者均已测试) - Root/sudo 权限 - 用于下载软件包的网络连接 - General/Secure 配置至少需要 4 GB RAM - Enterprise 配置至少需要 8 GB RAM(ELK 技术栈非常消耗内存) ## 项目结构 ``` NetGuard-Automation/ ├── install.sh # One-line installer — downloads and runs everything ├── Scripts/ │ ├── main.sh # Interactive management menu │ ├── ufu.sh # UFW firewall configuration │ ├── f2b.sh # Fail2Ban brute-force protection │ ├── cav.sh # ClamAV antivirus │ ├── suricata.sh # Suricata network IDS │ ├── elk.sh # ELK stack deployment │ └── logrptate.sh # Log rotation setup └── README.md ``` ## 相关项目 该工具包是安全工程作品集的一部分。另外两个仓库构建在相同的基础设施之上: - [detection-content-pack](https://github.com/Vibsterr99/detection-content-pack) — 10 个映射到 ATT&CK 的 Sigma 检测规则,并在带有 Sysmon 和 Suricata 遥测数据的 Wazuh SIEM 实验室中进行了验证 - [threat-hunt-notebooks](https://github.com/Vibsterr99/threat-hunt-notebooks) — 6 个基于假设的威胁狩猎,涵盖端点、身份、网络、云和横向移动遥测数据
标签:ClamAV, DevSecOps, Elasticsearch, ELK, Fail2Ban, Linux运维, Logstash, Metaprompt, OISF, Profile-driven, Shell脚本, Suricata, Ubuntu安全, UFW, Web 安全测试, 上游代理, 主机防火墙, 内容过滤, 反病毒, 子域名变形, 安全基线, 安全配置, 应用安全, 教学环境, 日志管理, 现代安全运营, 等保加固, 系统加固, 网络安全, 脚本工具, 自动化运维, 越狱测试, 防御策略, 防暴力破解, 隐私保护