Skip to content

kwrum1/OPSNGF

Repository files navigation

简易下一代防火墙(Simple Next-Generation Firewall)

IPv6冲浪爽 回家又方便 又担心被干?

买啥吊信服啊 不就搞个防火墙吗

本项目希望 人人有墙建 人人有功练

🚧 本项目正在积极开发中,AI 模块即将上线。


🌐 快速体验 / Quick Start

懒得做了 下次来体验把

🧩 核心架构 / Core Architecture

graph TD Client[Client] -->|HTTP Request| HAProxy

HAProxy -->|TCP Connection| SPOE[Coraza SPOE Agent]

SPOE -->|Message Type Recognition| TypeCheck

TypeCheck -->|coraza-req| ReqHandler[Request Handler]

TypeCheck -->|coraza-res| ResHandler[Response Handler]

ReqHandler -->|Get App Name| ReqApp[Find Application]

ResHandler -->|Get App Name| ResApp[Find Application]

ReqApp -->|Process Request| ReqProcess[Request Processor]

ResApp -->|Process Response| ResProcess[Response Processor]

ReqProcess --> Return[Return Results to HAProxy]

ResProcess --> Return

HAProxy -->|Apply Action| Action[Allow/Deny/Log]

Action -->|Response| Client

✨ 功能特性 / Features 🔐 安全防护 / Security Protection 支持 OWASP Core Rule Set (CRS) 支持Suricata 特性 / Suricata Features

兼容 ModSecurity SecLang 规则

自定义规则管理

HTTP 请求与响应检查

实时攻击检测与阻断​

⚙️ 系统管理 / System Management HAProxy 生命周期管理(启动、停止、重启)

动态配置生成

实时状态监控

WAF 引擎管理​ IPS/IDS 规则控制管理

📊 监控与日志 / Monitoring & Logging 攻击日志与分析

流量统计

性能指标​

🔗 API 与认证 / API & Authentication 基于 Gin 的 RESTful API

Swagger / ReDoc 文档

JWT 身份验证

本地开发 / Local Development 前置条件 / Prerequisites Go 1.24.1 或更高版本

Node.js 23.10.0 与 pnpm 10.6.5(用于前端开发)

HAProxy 3.0(用于本地开发)

MongoDB 6.0

Docker 与 Docker Compose(用于容器化部署)​

开发步骤 / Development Steps 克隆仓库:​

bash

git clone https://github.com/kwrum1/OPSNGF cd simple-wa 设置前端开发环境:​

cd server/web pnpm install pnpm dev # 开发模式,支持热重载

pnpm build # 生产构建 cd ../.. 配置后端环境:​

cp server/.env.template server/.env

编辑 .env 文件,根据需要修改配置

运行 Go 后端服务:​

go work use ./coraza-spoa ./pkg ./server cd server go run main.go 开发服务器将启动,访问地址:​

API 服务器:http://localhost:2333/api/v1

Swagger UI:http://localhost:2333/swagger/index.html

ReDoc UI:http://localhost:2333/redoc

前端页面:http://localhost:2333/​

Docker 部署 / Docker Deployment 克隆仓库:​

git clone https://github.com/kwrum1/OPSNGF cd simple-waf 构建 Docker 镜像:​

docker build -t simple-waf:latest . 以独立容器运行:​

docker run -p 2333:2333 -p 8080:8080 -p 443:443 -p 80:80 -p 9443:9443 -p 8404:8404 simple-waf:latest 或使用 Docker Compose 进行完整部署(包含 MongoDB):​

如有需要,编辑 docker-compose.yaml 配置环境变量

docker-compose up -d 这将启动 MongoDB 和简易下一代防火墙服务,包含所有必要配置。​

📄 许可证 / License 本项目基于 MIT 许可证开源。详情请参阅 LICENSE 文件。​

🙏 致谢 / Acknowledgements OWASP Coraza WAF

Coraza SPOA

HAProxy

Go Gin Framework

Suricata

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages