CrowdSec Web UI: панель управления для мониторинга CrowdSec
CrowdSec Web UI — это самодостаточная панель для управления и мониторинга вашего CrowdSec. Она позволяет расследовать предупреждения, управлять решениями, отслеживать метрики и отправлять уведомления через интуитивно понятный интерфейс.
Этот проект обращает внимание на отсутствие комплексных инструментов мониторинга для CrowdSec, предлагая удобное решение для пользователей. Панель разработана на React с использованием Vite и Tailwind CSS, что обеспечивает высокую производительность и адаптивный дизайн. Подойдёт как для системных администраторов, так и для разработчиков, которые хотят улучшить защиту своих приложений. Запускается на Node.js, но подробностей о запуске в README нет — возможно, стоит проверить код.
На данный момент проект в ранней стадии, так что могут быть ошибки. Обратите внимание, что для полноценной работы потребуется настроенный CrowdSec и, возможно, нужно будет разбираться с конфигурацией.
Проект CrowdSec Web UI — это самобытная панель управления для системы CrowdSec. С её помощью можно расследовать предупреждения, управлять решениями, отслеживать метрики работы и отправлять уведомления из одного адаптивного интерфейса.
Особенности
CrowdSec Web UI предлагает множество полезных функций:
- Дашборд с общими данными о предупреждениях и активных решениях, картой атак и топовыми списками.
- История предупреждений с возможностью поиска, фильтрации и детализацией информации о событиях.
- Управление решениями, включая активные и истекшие, возможность вручную блокировать IP и устанавливать причины.
- Поддержка нескольких экземпляров CrowdSec с отдельными представлениями для каждого экземпляра.
- Опциональные метрики для Prometheus и возможность уведомлений через Email, Gotify, MQTT и Webhooks.
- Аутентификация через OIDC, возможность групповых ролей и режима "только для чтения".
Установка и запуск
Для начала работы необходимо, чтобы lAPI CrowdSec уже была запущена. Подключение к веб-интерфейсу осуществляется через аутентификацию с использованием пароля или mTLS.
1. Регистрация веб-интерфейса
Сначала необходимо создать пароль для доступа:
openssl rand -hex 32
docker exec crowdsec cscli machines add crowdsec-web-ui --password 'replace-with-generated-password' -f /dev/null
Затем, чтобы запустить веб-интерфейс с помощью Docker Compose, создайте файл docker-compose.yml с соответствующей конфигурацией и выполните команду:
docker compose up -d
После чего интерфейс будет доступен по адресу http://localhost:3000, где нужно создать администратора.
Архитектура
Проект построен на следующих компонентах:
- Клиент: React, Vite и Tailwind CSS.
- Сервер: Node.js и Hono.
- Хранилище: SQLite.
- Аутентификация: через пароль или mTLS.
Ограничения
К важным аспектам, на которые стоит обратить внимание:
- Для публичного развертывания требуется HTTPS с использованием прокси-сервера.
- Обязательно указывать доверенные IP для операций по удалению предупреждений.
- Работа с самоподписанными сертификатами может требовать дополнительной настройки.
Дополнительную информацию о настройках, обновлениях и управлении можно найти в официальной документации проекта.
Открыть на GitHub: TheDuffman85/crowdsec-web-ui →
RepoRadar