Платформа OSINT Mirage
Mirage — это платформа разведки на основе открытых источников (OSINT), построенная на микросервисной архитектуре. Она предоставляет масштабируемую и расширяемую среду для сбора, анализа и визуализации разведывательных данных из различных источников.
Архитектура
Mirage построена на микросервисной архитектуре со следующими компонентами:
- API-шлюз: центральная точка входа для всех клиентских запросов
- Сервис аутентификации: обрабатывает аутентификацию и авторизацию пользователей
- Сервис управления пользователями: управляет учётными записями и разрешениями пользователей
- Сервис оркестрации сканирования: координирует задачи сбора данных
- Сервис реестра модулей: управляет модулями OSINT
- Сервис сбора данных: выполняет модули сбора OSINT
- Сервис хранения данных: хранит собранные разведывательные данные
- Сервис корреляционного движка: анализирует связи между собранными данными
- Сервис визуализации: создаёт визуальные представления данных
- Сервис отчётности: формирует отчёты на основе собранных данных
- Сервис уведомлений: обрабатывает оповещения и уведомления
- Сервис интеграции: подключается к внешним системам
- Сервис конфигурации: управляет конфигурацией системы
- Сервис обнаружения: обнаружение и регистрация сервисов
Технологический стек
- Бэкенд: преимущественно Rust (Actix-web, Rocket), а также некоторые сервисы на Go и Python
- Фронтенд: React с TypeScript
- Базы данных: PostgreSQL, MongoDB, Neo4j
- Кэш: Redis
- Поиск: Elasticsearch
- Обмен сообщениями: RabbitMQ
- Контейнеризация: Docker
- Оркестрация: Kubernetes
Начало работы
Предварительные требования
- Docker и Docker Compose
- Rust 1.70 или новее
- Node.js 18 или новее
- Python 3.11 или новее
- Go 1.21 или новее
Настройка среды разработки
-
Клонируйте репозиторий:
git clone https://github.com/poppopjmp/Mirage.git
cd Mirage
-
Создайте файл .env с необходимой конфигурацией:
cp .env.example .env
# Edit .env with your configuration
-
Запустите среду разработки:
docker-compose -f docker-compose.dev.yml up
-
Откройте веб-интерфейс по адресу http://localhost:3000
Развёртывание в производственной среде
Для развёртывания в производственной среде мы рекомендуем использовать Kubernetes:
# Setup Kubernetes namespace and secrets
kubectl apply -f kubernetes/mirage-namespace.yaml
# Deploy infrastructure components
kubectl apply -f kubernetes/infrastructure/
# Deploy services
kubectl apply -f kubernetes/deployments/
Документация
Участие в проекте
Мы приветствуем вклад в проект! Подробности см. в CONTRIBUTING.md.
Лицензия
Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.