Skip to content

基于雷池的Web应用防火墙(WAF) API管理系统,提供对多个WAF实例的集中控制。该系统支持策略管理、人机配置和全站加密工程启停功能,并具有现代化的基于Web的管理界面。

Notifications You must be signed in to change notification settings

shellsec/SafeLinewaf-api-config

Repository files navigation

WAF API Management System

English | 中文 | 한국어 | 日本語


English

Overview

A comprehensive Web Application Firewall (WAF) API management system that provides centralized control over multiple WAF instances. This system supports policy management, challenge configuration, and chaos engineering features with a modern web-based administration interface.

Features

  • Multi-WAF Management: Centralized control of multiple WAF instances
  • Policy Management: Enable/disable security policies across WAF instances
  • Challenge Configuration: Configure challenge-based security measures
  • Chaos Engineering: Implement chaos engineering practices for resilience testing
  • Real-time Statistics: Monitor API usage and performance metrics
  • Web Administration: Modern web interface for configuration management
  • RESTful API: Comprehensive REST API for programmatic access
  • Multi-language Support: Support for multiple languages and configurations

Architecture

WAF API Management System
├── API Server (FastAPI)
│   ├── REST API Endpoints
│   ├── Web Administration Interface
│   └── Statistics Management
├── Configuration Management
│   ├── Policy Configurations
│   ├── Challenge Configurations
│   └── Chaos Configurations
├── Custom Policy Manager
│   └── WAF Instance Communication
└── Statistics Manager
    └── Performance Monitoring

Technology Stack

  • Backend: Python 3.8+, FastAPI, Uvicorn
  • Frontend: HTML5, CSS3, JavaScript, Jinja2 Templates
  • Authentication: HTTP Basic Auth, Token-based API access
  • Logging: Structured logging with file rotation
  • Configuration: Python-based configuration files

Quick Start

  1. Install Dependencies

    pip install -r requirements.txt
  2. Start the Server

    python start_server.py
  3. Access the System

API Usage

# Enable policy for WAF instance
curl -X POST "http://localhost:8000/api/policy/enable/waf1_instance" \
     -H "token: your_api_token"

# Disable challenge for WAF instance
curl -X POST "http://localhost:8000/api/challenge/disable/office" \
     -H "token: your_api_token"

# Get WAF status
curl -X GET "http://localhost:8000/api/status/waf1_instance" \
     -H "token: your_api_token"

Configuration

The system uses three main configuration files:

  • policy_config.py: WAF policy configurations
  • challenge_config.py: Challenge-based security configurations
  • chaos_config.py: Chaos engineering configurations

Advantages

  • Scalability: Supports multiple WAF instances and configurations
  • Flexibility: Modular design allows easy extension
  • Security: Token-based authentication and secure API access
  • Monitoring: Comprehensive statistics and logging
  • User-friendly: Modern web interface for easy management
  • Cross-platform: Works on Windows, Linux, and macOS

中文

概述

基于雷池的Web应用防火墙(WAF) API管理系统,提供对多个WAF实例的集中控制。该系统支持策略管理、挑战配置和混沌工程功能,并具有现代化的基于Web的管理界面。

功能特性

  • 多WAF管理: 对多个WAF实例的集中控制
  • 策略管理: 在WAF实例间启用/禁用安全策略
  • 挑战配置: 配置基于挑战的安全措施
  • 混沌工程: 实施混沌工程实践进行弹性测试
  • 实时统计: 监控API使用情况和性能指标
  • Web管理: 现代化的Web界面进行配置管理
  • RESTful API: 全面的REST API用于程序化访问
  • 多语言支持: 支持多种语言和配置

架构设计

WAF API管理系统
├── API服务器 (FastAPI)
│   ├── REST API端点
│   ├── Web管理界面
│   └── 统计管理
├── 配置管理
│   ├── 策略配置
│   ├── 挑战配置
│   └── 混沌配置
├── 自定义策略管理器
│   └── WAF实例通信
└── 统计管理器
    └── 性能监控

技术栈

  • 后端: Python 3.8+, FastAPI, Uvicorn
  • 前端: HTML5, CSS3, JavaScript, Jinja2模板
  • 认证: HTTP基本认证, 基于Token的API访问
  • 日志: 结构化日志记录,支持文件轮转
  • 配置: 基于Python的配置文件

快速开始

  1. 安装依赖

    pip install -r requirements.txt
  2. 启动服务器

    python start_server.py
  3. 访问系统

API使用

# 为WAF实例启用策略
curl -X POST "http://localhost:8000/api/policy/enable/waf1_instance" \
     -H "token: your_api_token"

# 为WAF实例禁用挑战
curl -X POST "http://localhost:8000/api/challenge/disable/office" \
     -H "token: your_api_token"

# 获取WAF状态
curl -X GET "http://localhost:8000/api/status/waf1_instance" \
     -H "token: your_api_token"

配置

系统使用三个主要配置文件:

  • policy_config.py: WAF策略配置
  • challenge_config.py: 基于挑战的安全配置
  • chaos_config.py: 混沌工程配置

优势

  • 可扩展性: 支持多个WAF实例和配置
  • 灵活性: 模块化设计便于扩展
  • 安全性: 基于Token的认证和安全的API访问
  • 监控: 全面的统计和日志记录
  • 用户友好: 现代化的Web界面便于管理
  • 跨平台: 支持Windows、Linux和macOS

한국어

개요

여러 WAF 인스턴스에 대한 중앙 집중식 제어를 제공하는 포괄적인 웹 애플리케이션 방화벽(WAF) API 관리 시스템입니다. 이 시스템은 정책 관리, 챌린지 구성 및 카오스 엔지니어링 기능을 지원하며 현대적인 웹 기반 관리 인터페이스를 제공합니다.

기능

  • 다중 WAF 관리: 여러 WAF 인스턴스의 중앙 집중식 제어
  • 정책 관리: WAF 인스턴스 간 보안 정책 활성화/비활성화
  • 챌린지 구성: 챌린지 기반 보안 조치 구성
  • 카오스 엔지니어링: 복원력 테스트를 위한 카오스 엔지니어링 실천
  • 실시간 통계: API 사용량 및 성능 메트릭 모니터링
  • 웹 관리: 구성을 위한 현대적인 웹 인터페이스
  • RESTful API: 프로그래밍 방식 액세스를 위한 포괄적인 REST API
  • 다국어 지원: 여러 언어 및 구성 지원

아키텍처

WAF API 관리 시스템
├── API 서버 (FastAPI)
│   ├── REST API 엔드포인트
│   ├── 웹 관리 인터페이스
│   └── 통계 관리
├── 구성 관리
│   ├── 정책 구성
│   ├── 챌린지 구성
│   └── 카오스 구성
├── 사용자 정의 정책 관리자
│   └── WAF 인스턴스 통신
└── 통계 관리자
    └── 성능 모니터링

기술 스택

  • 백엔드: Python 3.8+, FastAPI, Uvicorn
  • 프론트엔드: HTML5, CSS3, JavaScript, Jinja2 템플릿
  • 인증: HTTP 기본 인증, 토큰 기반 API 액세스
  • 로깅: 파일 로테이션이 있는 구조화된 로깅
  • 구성: Python 기반 구성 파일

빠른 시작

  1. 의존성 설치

    pip install -r requirements.txt
  2. 서버 시작

    python start_server.py
  3. 시스템 액세스

    • 웹 인터페이스: http://localhost:8000/admin
    • API 문서: REST 엔드포인트를 통해 제공
    • 기본 관리자: admin / waf123456

API 사용

# WAF 인스턴스에 대한 정책 활성화
curl -X POST "http://localhost:8000/api/policy/enable/waf1_instance" \
     -H "token: your_api_token"

# WAF 인스턴스에 대한 챌린지 비활성화
curl -X POST "http://localhost:8000/api/challenge/disable/office" \
     -H "token: your_api_token"

# WAF 상태 가져오기
curl -X GET "http://localhost:8000/api/status/waf1_instance" \
     -H "token: your_api_token"

구성

시스템은 세 가지 주요 구성 파일을 사용합니다:

  • policy_config.py: WAF 정책 구성
  • challenge_config.py: 챌린지 기반 보안 구성
  • chaos_config.py: 카오스 엔지니어링 구성

장점

  • 확장성: 여러 WAF 인스턴스 및 구성 지원
  • 유연성: 모듈식 설계로 쉬운 확장
  • 보안: 토큰 기반 인증 및 안전한 API 액세스
  • 모니터링: 포괄적인 통계 및 로깅
  • 사용자 친화적: 쉬운 관리를 위한 현대적인 웹 인터페이스
  • 크로스 플랫폼: Windows, Linux 및 macOS 지원

日本語

概要

複数のWAFインスタンスに対する集中制御を提供する包括的なWebアプリケーションファイアウォール(WAF) API管理システムです。このシステムは、ポリシー管理、チャレンジ設定、カオスエンジニアリング機能をサポートし、モダンなWebベースの管理インターフェースを提供します。

機能

  • マルチWAF管理: 複数のWAFインスタンスの集中制御
  • ポリシー管理: WAFインスタンス間でのセキュリティポリシーの有効化/無効化
  • チャレンジ設定: チャレンジベースのセキュリティ対策の設定
  • カオスエンジニアリング: レジリエンステストのためのカオスエンジニアリング実践
  • リアルタイム統計: API使用量とパフォーマンスメトリックの監視
  • Web管理: 設定のためのモダンなWebインターフェース
  • RESTful API: プログラム的アクセスのための包括的なREST API
  • 多言語サポート: 複数の言語と設定のサポート

アーキテクチャ

WAF API管理システム
├── APIサーバー (FastAPI)
│   ├── REST APIエンドポイント
│   ├── Web管理インターフェース
│   └── 統計管理
├── 設定管理
│   ├── ポリシー設定
│   ├── チャレンジ設定
│   └── カオス設定
├── カスタムポリシーマネージャー
│   └── WAFインスタンス通信
└── 統計マネージャー
    └── パフォーマンス監視

技術スタック

  • バックエンド: Python 3.8+, FastAPI, Uvicorn
  • フロントエンド: HTML5, CSS3, JavaScript, Jinja2テンプレート
  • 認証: HTTP基本認証、トークンベースのAPIアクセス
  • ログ: ファイルローテーション付きの構造化ログ
  • 設定: Pythonベースの設定ファイル

クイックスタート

  1. 依存関係のインストール

    pip install -r requirements.txt
  2. サーバーの起動

    python start_server.py
  3. システムへのアクセス

    • Webインターフェース: http://localhost:8000/admin
    • APIドキュメント: RESTエンドポイントで提供
    • デフォルト管理者: admin / waf123456

API使用法

# WAFインスタンスのポリシーを有効化
curl -X POST "http://localhost:8000/api/policy/enable/waf1_instance" \
     -H "token: your_api_token"

# WAFインスタンスのチャレンジを無効化
curl -X POST "http://localhost:8000/api/challenge/disable/office" \
     -H "token: your_api_token"

# WAFステータスの取得
curl -X GET "http://localhost:8000/api/status/waf1_instance" \
     -H "token: your_api_token"

設定

システムは3つの主要な設定ファイルを使用します:

  • policy_config.py: WAFポリシー設定
  • challenge_config.py: チャレンジベースのセキュリティ設定
  • chaos_config.py: カオスエンジニアリング設定

利点

  • スケーラビリティ: 複数のWAFインスタンスと設定のサポート
  • 柔軟性: モジュラー設計による簡単な拡張
  • セキュリティ: トークンベースの認証と安全なAPIアクセス
  • 監視: 包括的な統計とログ記録
  • ユーザーフレンドリー: 簡単な管理のためのモダンなWebインターフェース
  • クロスプラットフォーム: Windows、Linux、macOSのサポート

About

基于雷池的Web应用防火墙(WAF) API管理系统,提供对多个WAF实例的集中控制。该系统支持策略管理、人机配置和全站加密工程启停功能,并具有现代化的基于Web的管理界面。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published