Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Admin UI

PRX-WAF включает дашборд администрирования Vue 3 + Tailwind CSS, встроенный в бинарный файл. Он предоставляет графический интерфейс для управления хостами, правилами, сертификатами, событиями безопасности и статусом кластера.

Доступ к Admin UI

Admin UI обслуживается API-сервером по настроенному адресу:

http://localhost:9527

Учётные данные по умолчанию: admin / admin

WARNING

Немедленно смените пароль по умолчанию после первого входа. Включите двухфакторную аутентификацию TOTP для продакшен-окружений.

Аутентификация

Admin UI поддерживает два механизма аутентификации:

МетодОписание
JWT TokenПолучается через /api/auth/login, хранится в localStorage браузера
TOTP (необязательно)Одноразовый пароль на основе времени для двухфакторной аутентификации

API входа

bash
curl -X POST http://localhost:9527/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin"}'

Ответ:

json
{
  "token": "eyJ...",
  "refresh_token": "..."
}

Для аккаунтов с включённым TOTP добавьте поле totp_code:

json
{"username": "admin", "password": "admin", "totp_code": "123456"}

Разделы дашборда

Hosts

Управление защищёнными доменами и их апстрим-бэкендами:

  • Добавление, редактирование и удаление хостов
  • Переключение защиты WAF для каждого хоста
  • Просмотр статистики трафика для каждого хоста

Rules

Управление правилами обнаружения из всех источников:

  • Просмотр правил OWASP CRS, ModSecurity, CVE и пользовательских правил
  • Включение/отключение отдельных правил
  • Поиск и фильтрация по категории, серьёзности и источнику
  • Импорт и экспорт правил

IP Rules

Управление списками разрешённых и блокируемых IP:

  • Добавление IP-адресов или CIDR-диапазонов
  • Установка действий allow/block
  • Просмотр активных IP-правил

URL Rules

Управление правилами обнаружения на основе URL:

  • Добавление URL-паттернов с поддержкой regex
  • Установка действий block/log/allow

Security Events

Просмотр и анализ обнаруженных атак:

  • Поток событий в реальном времени
  • Фильтрация по хосту, типу атаки, исходному IP и диапазону времени
  • Экспорт событий в формате JSON или CSV

Statistics

Просмотр метрик трафика и безопасности:

  • Запросов в секунду
  • Распределение атак по типу
  • Наиболее атакуемые хосты
  • Наиболее активные исходные IP
  • Распределение кодов ответа

SSL Certificates

Управление TLS-сертификатами:

  • Просмотр активных сертификатов и дат истечения
  • Загрузка сертификатов вручную
  • Мониторинг статуса автоматического обновления Let's Encrypt

WASM Plugins

Управление плагинами WebAssembly:

  • Загрузка новых плагинов
  • Просмотр загруженных плагинов и их статуса
  • Включение/отключение плагинов

Tunnels

Управление обратными туннелями:

  • Создание и удаление туннелей на базе WebSocket
  • Мониторинг статуса туннелей и трафика

CrowdSec

Просмотр статуса интеграции CrowdSec:

  • Активные решения от LAPI
  • Результаты инспекции AppSec
  • Статус соединения

Notifications

Настройка каналов оповещения:

  • Email (SMTP)
  • Webhook
  • Telegram

Мониторинг в реальном времени

Admin UI подключается к WebSocket-эндпоинту (/ws/events) для трансляции событий безопасности в реальном времени. События появляются по мере обнаружения и блокировки атак.

Вы также можете подключиться к WebSocket программно:

javascript
const ws = new WebSocket("ws://localhost:9527/ws/events");
ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log("Security event:", data);
};

Усиление безопасности

Ограничение доступа администратора по IP

Ограничьте доступ к Admin UI и API из доверенных сетей:

toml
[security]
admin_ip_allowlist = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]

Включение ограничения скорости

Защита Admin API от атак перебором:

toml
[security]
api_rate_limit_rps = 100

Настройка CORS

Ограничьте источники, которые могут обращаться к Admin API:

toml
[security]
cors_origins = ["https://admin.example.com"]

Технический стек

КомпонентТехнология
FrontendVue 3 + Tailwind CSS
BuildVite
StatePinia
HTTP ClientAxios
ChartsChart.js
EmbeddingСтатические файлы, обслуживаемые Axum

Исходный код Admin UI находится в web/admin-ui/ в репозитории.

Следующие шаги

Released under the Apache-2.0 License.