Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
coalmine — Облачная платформа управления оркестрацией объектов Canary | Kitploit
Инструменты/GitHubGitHub/johnearle/coalmine
Оборонительные ИнструментыБезопасность облачных средУправление идентификацией и доступом (IAM)Обнаружение ВторженийРеагирование на Инциденты
GitHubjohnearle/coalmine

coalmine

Облачная платформа управления оркестрацией объектов Canary

Репозиторий
826 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Coalmine — Управление canary-токенами

Облачное управление canary-токенами — Развертывайте, отслеживайте и ротируйте обманные учетные данные в AWS и GCP для обнаружения несанкционированного доступа.

License

[!WARNING] Альфа-версия — Coalmine находится на ранней стадии разработки. Базовый функционал является текущим приоритетом, и приложение не следует считать полностью проверенным на безопасность для использования в production.

Статус

ФункциональноВ разработке (нестабильно)В планах
Canary-пользователи IAM AWSCanary-сервисные аккаунты GCPПоддержка Azure
Canary-корзины S3 AWSCanary-корзины GCPИнтеграция с SIEM
Мониторинг CloudTrailМониторинг журналов аудита GCP
Бэкенд состояния PostgreSQLАвтоматическая ротация
REST API (аутентификация по ключу API + сессии)
Веб-интерфейс (панель управления)
Оповещения по email и webhook
Управление учетными данными и аккаунтами
RBAC (Casbin)

Обзор

Coalmine автоматически развертывает и отслеживает «canary-токены» — обманные учетные данные и ресурсы, которые вызывают оповещение при доступе злоумышленников.

Поддерживаемые провайдеры:

  • AWS: пользователи IAM, корзины S3
  • GCP: сервисные аккаунты, корзины Cloud Storage

Возможности

  • Поддержка нескольких облаков — AWS и GCP из единого интерфейса
  • Модель учетных данных и аккаунтов — Управление облачными учетными данными и аккаунтами через CLI, API или синхронизацию YAML
  • Автоматическая ротация — Учетные данные ротируются с настраиваемыми интервалами
  • Централизованный мониторинг — Интеграция с CloudTrail и журналами аудита GCP
  • Гибкое оповещение — Оповещения по email, webhook и syslog
  • Инфраструктура как код — Ресурсы, управляемые OpenTofu
  • REST API — Программный доступ с аутентификацией по ключу API или сессии
  • Веб-интерфейс — Панель управления в браузере по адресу /ui
  • RBAC — Управление доступом на основе ролей через Casbin
  • CLI — Группированная структура подкоманд (coalmine <resource> <action>)

Быстрый старт

Предварительные требования

  • Docker & Docker Compose
  • Учетные данные AWS (для canary AWS)
  • Учетные данные GCP (для canary GCP)

1. Клонирование и настройка

root@kitploit:~
git clone https://github.com/yourorg/coalmine.git
cd coalmine
cp .env.example .env
# Отредактируйте .env, указав свои данные для подключения к БД и облачные учетные данные

2. Запуск сервисов

root@kitploit:~
docker compose up -d

Это запустит API, Celery worker, Redis и PostgreSQL. Веб-интерфейс будет доступен по адресу http://localhost:8000/ui.

3. Регистрация учетных данных и аккаунтов

root@kitploit:~
# Добавление учетных данных AWS
docker compose exec app coalmine credentials add my-aws-cred AWS \
  --secrets '{"access_key_id": "...", "secret_access_key": "...", "region": "us-east-1"}'

# Добавление аккаунта под этими учетными данными
docker compose exec app coalmine accounts add prod-east --credential my-aws-cred \
  --account-id 111111111111

# Или синхронизация учетных данных и аккаунтов из YAML-конфига
docker compose exec app coalmine credentials sync --dry-run

4. Создание ресурса для логирования

root@kitploit:~
# Создание назначения логирования CloudTrail
docker compose exec app coalmine logs create my-trail AWS_CLOUDTRAIL \
  --account <ACCOUNT_ID>

# Список ресурсов логирования
docker compose exec app coalmine logs list

5. Развертывание canary

root@kitploit:~
# Создание canary-пользователя IAM AWS
docker compose exec app coalmine canary create my-canary AWS_IAM_USER \
  --account <ACCOUNT_ID> --logging-id <LOGGING_ID>

# Список canary
docker compose exec app coalmine canary list

6. Проверка обнаружения

root@kitploit:~
# Запуск тестового оповещения
docker compose exec app coalmine canary trigger my-canary

# Дождитесь цикла мониторинга (~1 мин), затем проверьте оповещения
docker compose exec app coalmine alerts list

Архитектура

root@kitploit:~
┌─────────────┐   ┌─────────────┐   ┌─────────────┐
│     CLI     │   │  REST API   │   │   WebUI     │
│  (coalmine) │   │  (FastAPI)  │   │  (React)    │
└──────┬──────┘   └──────┬──────┘   └──────┬──────┘
       │                 │                 │
       └────────┬────────┴────────┬────────┘
                │                 │
                │          ┌──────▼──────┐
                │          │Auth / RBAC  │
                │          │  (Casbin)   │
                │          └──────┬──────┘
                │                 │
         ┌──────▼─────────────────▼──────┐
         │         Celery Workers        │
         │  (Canary · Monitoring · Logs) │
         └──────────────┬────────────────┘
                        │
      ┌─────────────────┼─────────────────┐
      │                 │                 │
┌─────▼─────┐   ┌──────▼──────┐   ┌──────▼──────┐
│ OpenTofu  │   │  Monitors   │   │Notifications│
│ Templates │   │(CloudTrail/ │   │(Email/Hook/ │
│           │   │ Audit Logs) │   │   Syslog)   │
└─────┬─────┘   └──────┬──────┘   └─────────────┘
      │                │
┌─────▼─────┐   ┌──────▼──────┐
│ AWS / GCP │   │   Alerts    │
│(Resources)│   │    (DB)     │
└───────────┘   └─────────────┘

          ┌─────────────────┐
          │   PostgreSQL    │
          │   (Inventory)   │
          └────────┬────────┘
                   │
          ┌────────▼────────┐
          │   Celery Beat   │
          │   (Scheduler)   │
          └─────────────────┘

Справочник CLI

Команды следуют шаблону: coalmine <resource> <action> [options]

Команды для canary

Команды для учетных данных

Команды для аккаунтов

Команды для логирования

КомандаОписание
logs create <name> <type>Создать ресурс логирования
logs listСписок ресурсов логирования
logs scan --account <id>Сканировать существующие CloudTrail

Команды для оповещений

КомандаОписание
alerts list [--canary <name>]Просмотр оповещений безопасности

Команды для аутентификации

КомандаОписание
auth key listСписок ключей API
auth key add <name>Добавить ключ API
auth session listСписок активных сессий

Команды для пользователей

КомандаОписание
user listСписок всех пользователей
user rolesСписок доступных ролей

Команды для задач

КомандаОписание
task listПросмотр последних асинхронных задач
task status <task_id>Проверить результат задачи

Справка

root@kitploit:~
docker compose exec app coalmine --help
docker compose exec app coalmine canary --help

REST API

API работает по адресу http://localhost:8000 и требует аутентификации через заголовок с ключом API или сессионный cookie.

Конфигурация (config/api_keys.yaml)

root@kitploit:~
api_keys:
  - key: "your-api-key-here"
    name: "admin"
    permissions: ["read", "write"]
    scopes: ["all"]

Примеры запросов

root@kitploit:~
# Список canary
curl -H "X-API-Key: your-api-key" http://localhost:8000/api/v1/canaries

# Создание canary
curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "api-canary", "resource_type": "AWS_IAM_USER", "account_id": "...", "logging_id": "..."}' \
  http://localhost:8000/api/v1/canaries

Документация API

Интерактивная документация API доступна по адресу http://localhost:8000/docs (Swagger UI).

Конфигурация

Вся конфигурация находится в каталоге config/. Подробнее см. в config/README.md.

Учетные данные (config/credentials.yaml)

root@kitploit:~
credentials:
  my-aws-cred:
    provider: AWS
    auth_type: STATIC
    secrets:
      access_key_id: ${AWS_ACCESS_KEY_ID}
      secret_access_key: ${AWS_SECRET_ACCESS_KEY}
      region: ${AWS_DEFAULT_REGION:-us-east-1}
    accounts:
      - name: prod-east
        account_id: "111111111111"

Синхронизация: docker compose exec app coalmine credentials sync

Каналы оповещений (config/alert_outputs.yaml)

root@kitploit:~
outputs:
  email_admin:
    type: "email"
    enabled: true
    smtp_host: "smtp.example.com"
    smtp_port: 587
    to_addrs: ["[email protected]"]
  
  webhook_siem:
    type: "webhook"
    enabled: true
    url: "https://siem.example.com/webhook"

Типы ресурсов

Разработка

root@kitploit:~
# Запуск всех тестов
docker compose run --rm app pytest -v

# Запуск только модульных тестов
docker compose run --rm app pytest tests/unit/ -v

# Запуск интеграционных тестов
docker compose run --rm app pytest tests/integration/ -v

# Просмотр логов worker
docker compose logs -f worker

# Пересборка после изменений кода
docker compose build && docker compose up -d

Вопросы безопасности

  • Никогда не коммитьте учетные данные — Используйте файлы .env или менеджеры секретов
  • Ротируйте учетные данные администратора — Облачные учетные данные, используемые для управления canary
  • Сетевая изоляция — Запускайте Coalmine в защищенном сегменте сети
  • Принцип минимальных привилегий — Учетные данные canary должны иметь минимальные права
  • Безопасность ключей API — Храните ключи API безопасно, регулярно ротируйте

Лицензия

Apache License 2.0 — Подробности в файле LICENSE.

Участие в разработке

См. CONTRIBUTING.md для руководства по участию.

Скачать инструмент
КомандаОписание
canary create <name> <type>Создать новый canary
canary listСписок всех canary
canary delete <name_or_id>Удалить canary
canary creds <name>Получить учетные данные canary
canary trigger <name_or_id>Проверить обнаружение canary
КомандаОписание
credentials listСписок всех учетных данных
credentials add <name> <provider>Добавить учетные данные
credentials update <name_or_id>Обновить учетные данные
credentials remove <name_or_id>Удалить учетные данные
credentials validate <name_or_id>Проверить работоспособность учетных данных
credentials sync [--dry-run]Синхронизировать из YAML-конфига
КомандаОписание
accounts list [--credential <name>]Список всех аккаунтов
accounts add <name>Добавить аккаунт
accounts update <name_or_id>Обновить аккаунт
accounts enable <name_or_id>Включить аккаунт
accounts disable <name_or_id>Отключить аккаунт
accounts remove <name_or_id>Удалить аккаунт
accounts validate <name_or_id>Проверить работоспособность аккаунта
ТипПровайдерОписание
AWS_IAM_USERAWSПользователь IAM с ключами доступа
AWS_BUCKETAWSКорзина S3 с логированием
GCP_SERVICE_ACCOUNTGCPСервисный аккаунт с ключами
GCP_BUCKETGCPКорзина Cloud Storage