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

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

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

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

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

Категории

Все категории
Loading categories
kerneleye — Безопасность на уровне ядра и реагирование на атаки для Linux-серверов. | Kitploit
Инструменты/GitHubGitHub/abdeljalilait/kerneleye
Оборонительные ИнструментыБезопасность контейнеровАудит конфигурацииФорензикаСетевая безопасностьБезопасность облачных средРазведка угрозОбнаружение ВторженийРеагирование на ИнцидентыОбнаружение АномалийАнализ Журналов
15152 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
abdeljalilait/kerneleye

kerneleye

Безопасность на уровне ядра и реагирование на атаки для Linux-серверов.

Репозиторий
Поделиться

KernelEye Logo

KernelEye

Интеллектуальный мониторинг трафика на уровне ядра и устранение угроз для серверов Linux.

KernelEye — это платформа безопасности с самостоятельным хостингом для мониторинга серверов Linux. Она использует eBPF, TC и XDP в агенте на Go для сбора метаданных сети, оценки подозрительной активности и применения мер реагирования с помощью блокировки на уровне ядра через XDP и правил ipset/iptables. Бэкенд на Go хранит и анализирует события, а панель управления React предоставляет управление серверами, просмотр трафика в реальном времени, представление угроз, заблокированных IP, белые списки, отчёты и аналитику.

Что делает

  • Мониторинг трафика Linux в реальном времени с помощью eBPF.
  • Отслеживание пропускной способности с помощью перехватчиков TC.
  • Оценка угроз на основе общей логики оценки Go в shared/scoring.
  • Анализ на стороне агента и опциональное автоматическое реагирование.
  • Блокировка пакетов на быстром пути XDP и запасной вариант через ipset/iptables.
  • Рабочие процессы анализа на стороне бэкенда, управление блокировками, хранение данных и ежемесячные отчёты.
  • Приём через gRPC и потоковая передача команд блокировки между агентом и бэкендом с шифрованием TLS/mTLS и подписью команд HMAC.
  • Защита от повторного воспроизведения с помощью монотонного nonce и структурированное аудирование всех действий по реагированию.
  • Периодическая проверка целостности карт eBPF и отчёты о состоянии.
  • Панель управления React с обновлениями через WebSocket, подробными видами серверов, управлением заблокированными IP, белыми списками, отчётами и аналитикой.
  • Обогащение GeoIP при настройке баз данных MaxMind.
  • Поддержка OAuth для GitHub и Google (однопользовательский самостоятельный доступ).
  • Приоритет конфиденциальности: только метаданные, без содержимого пакетов.
  • Архитектура

    root@kitploit:~
    Monitored Linux host
      eBPF traffic probe + TC bandwidth hooks
      XDP firewall and ipset/iptables remediation
      Go agent (HMAC command verification, audit log)
          |
          | gRPC (TLS/mTLS) + HMAC-signed block commands
          v
    Go backend API
      Fiber HTTP API
      gRPC ingest/block services (TLS/mTLS, command signing)
      analysis worker, block manager, retention, reports
      integrity report handler
          |
          v
    PostgreSQL
          ^
          |
    React dashboard
      REST API + WebSocket live updates
    

    Ключевые компоненты

    Агент

    Агент находится в agent/ и представляет собой процесс на хосте Linux.

    • agent/main.go запускает регистрацию, загрузку eBPF, отслеживание пропускной способности, реагирование, оценку, агрегацию и потоковую передачу команд блокировки.
    • agent/ebpf/traffic_probe.c собирает метаданные трафика.
    • agent/ebpf/xdp_firewall.c реализует фильтрацию пакетов XDP.
    • agent/tc.go настраивает отслеживание пропускной способности TC.
    • agent/aggregator.go группирует и отправляет события в бэкенд.
    • agent/history_store.go и agent/flush.go обрабатывают локальное хранение и повторные попытки.
    • agent/remediation/ содержит анализатор, автоматическую блокировку, XDP, ipset и гибридные средства реагирования.

    Агенту требуется Linux и повышенные привилегии для операций eBPF/XDP.

    Бэкенд

    Бэкенд находится в backend/.

    • backend/cmd/api/main.go запускает HTTP API на Fiber и службы gRPC.
    • backend/internal/api/ содержит аутентификацию, обработчики панели управления, обработчики gRPC, API блокировок, API белых списков, обработку WebSocket и ограничение скорости.
    • backend/internal/analysis/ содержит рабочие процессы оценки, управление блокировками, хранение данных и логику ежемесячных отчётов.
    • backend/internal/database/ содержит код доступа к базе данных, сгенерированный sqlc.
    • backend/internal/geoip/ обрабатывает обогащение GeoIP.
    • backend/internal/email/ отправляет электронные письма через Mailtrap при настройке.
    • backend/migrations/ содержит миграции PostgreSQL.

    HTTP по умолчанию использует порт 8080; gRPC — порт 9091.

    Панель управления

    Панель управления находится в dashboard/ и представляет собой приложение React на Vite.

    • dashboard/src/pages/ включает страницы обзора, серверов, деталей сервера, угроз, оповещений, отчётов, визуализатора, заблокированных IP, белых списков, входа, профиля и обратного вызова OAuth.
    • dashboard/src/components/ содержит компоненты живого трафика, ленты блокировок, диаграмм, списков серверов, конфигураторов и общие компоненты макета.
    • dashboard/src/api/client.ts определяет клиент REST API.
    • dashboard/src/context/WebSocketContext.tsx управляет обновлениями событий в реальном времени.

    Сервер разработки настроен на http://localhost:3000.

    Лендинговая страница

    Публичный маркетинговый сайт находится в kerneleye-landing-page/. Образ фронтенда для продакшена собирает как лендинговую страницу, так и панель управления, затем обслуживает их через nginx.

    Общий код и протоколы

    • shared/scoring/ содержит общий модуль оценки угроз, используемый и агентом, и бэкендом.
    • shared/cmdsigning/ содержит модуль подписи команд HMAC-SHA256 и защиты от повторного воспроизведения nonce.
    • proto/kerneleye/v1/ содержит определения protobuf для служб приёма и блокировки.
    • proto/gen/go/ содержит сгенерированный код Go protobuf.

    Конфиденциальность

    KernelEye не проверяет содержимое пакетов или приложений.

    Собираемые метаданные включают:

    • IP-адреса источника и назначения.
    • Порты и протоколы.
    • Флаги TCP и счётчики соединений.
    • Количество пакетов и байтов.
    • Направление трафика.
    • Временные метки.
    • Необязательное обогащение GeoIP/ASN.

    Не собираются:

    • Содержимое пакетов.
    • Тела или заголовки HTTP-запросов.
    • Учётные данные пользователей.
    • Данные приложений.

    Оценка угроз

    Оценка угроз реализована в shared/scoring/scorer.go. Текущий оценщик более нюансирован, чем одна линейная формула: он учитывает скорость SYN, количество уникальных портов, неудачные рукопожатия, всплески поведения, злоупотребление службами, направление, достоверность и снижение оценки со временем.

    Пороги классификации по умолчанию:

    root@kitploit:~
    < 20   normal
    20-39  suspicious
    >= 40  malicious
    >= 40  eligible for auto-blocking when remediation is enabled
    

    Рабочий процесс анализа бэкенда также использует накопленные окна трафика и может инициировать управление блокировками для источников с высоким риском.

    Реагирование

    KernelEye поддерживает активное реагирование при его включении на агенте.

    УровеньРеализацияНазначение
    XDPagent/remediation/xdp_remediator.goБыстрая блокировка на уровне ядра до сетевого стека
    IPSetagent/remediation/ipset_remediator.goУправление блокировками ipset/iptables
    Гибридныйagent/remediation/hybrid_remediator.goКоординирует поведение XDP и ipset
    Автоблокировщикagent/remediation/auto_blocker.goБлокирует источники выше заданных порогов оценки
    Менеджер блокировок бэкендаbackend/internal/analysis/block_manager.goКоординирует состояние блокировок и команды, генерируемые бэкендом

    Панель управления также предоставляет управление заблокированными IP и белыми списками.

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

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

    • Go 1.25.x для текущих модулей бэкенда и агента.
    • Node.js/npm для приложений React.
    • PostgreSQL 14+ или 15+.
    • Для агента: Linux с поддержкой BTF, права root, clang/LLVM, bpftool, заголовки libbpf, ipset и iptables.

    Настройка окружения

    root@kitploit:~
    cp .env.example .env
    

    Установите как минимум:

    root@kitploit:~
    DATABASE_URL=postgres://kerneleye:<password>@localhost:5432/kerneleye?sslmode=disable
    JWT_SECRET=<at-least-32-characters>
    API_KEY_SECRET=<strong-secret>
    CORS_ORIGINS=http://localhost:3000
    

    Опциональные интеграции включают ограничение скорости Redis, электронную почту Mailtrap, OAuth GitHub/Google и GeoIP MaxMind.

    Запуск бэкенда

    root@kitploit:~
    cd backend
    go mod download
    go run cmd/api/main.go
    

    Бэкенд запускает:

    • HTTP API на http://localhost:8080
    • gRPC на localhost:9091

    Запуск панели управления

    root@kitploit:~
    cd dashboard
    npm install
    npm run dev
    

    Откройте http://localhost:3000.

    Вход только через OAuth. Установите AUTH_OWNER_EMAIL и настройте хотя бы одного провайдера OAuth (GitHub или Google) для доступа к панели. Только указанный email владельца может входить в систему.

    Сборка и запуск агента

    root@kitploit:~
    cd agent
    bpftool btf dump file /sys/kernel/btf/vmlinux format c > ebpf/vmlinux.h
    go generate ./...
    go build -o kerneleye-agent
    sudo KERNELEYE_API_KEY=<server-api-key> \
      KERNELEYE_SERVER=localhost:8080 \
      KERNELEYE_GRPC_URL=localhost:9091 \
      ./kerneleye-agent
    

    Полезные флаги агента:

    root@kitploit:~
    -enable-remediation     включить активную блокировку и автоблокировку
    -xdp                    включить блокировку на быстром пути XDP
    -interface <name>       выбрать сетевой интерфейс XDP
    --read-only             только мониторинг и отчётность, без блокировки
    --insecure              отключить TLS (только для разработки)
    --tls-ca-file <path>    сертификат ЦС бэкенда для проверки TLS
    --tls-cert-file <path>  клиентский сертификат агента для mTLS
    --tls-key-file <path>   закрытый ключ клиента агента для mTLS
    -list-blocked           вывести текущее состояние ipset и выйти
    -flush-blocklists       очистить списки блокировок ipset и XDP и выйти
    -clear-data             удалить локальные хранилища SQLite агента и выйти
    -version                вывести версию сборки
    

    Если установлен --enable-remediation, необходимо настроить CMD_SIGNING_KEY как на агенте, так и на бэкенде. Сгенерируйте с помощью openssl rand -base64 32.

    Структура проекта

    root@kitploit:~
    kerneleye/
    ├── agent/                     Go eBPF/XDP monitoring agent
    │   ├── ebpf/                  eBPF C programs and compiled objects
    │   ├── remediation/           analyzer, XDP, ipset, hybrid remediation
    │   ├── assets/                embedded XDP object assets
    │   └── scripts/               ipset helper scripts and service files
    ├── backend/                   Go Fiber API and gRPC backend
    │   ├── cmd/api/               backend entrypoint
    │   ├── internal/api/          HTTP, auth, WebSocket, gRPC, block APIs
    │   ├── internal/analysis/     workers, blocking, retention, reports
    │   ├── internal/database/     sqlc generated queries and helpers
    │   ├── internal/email/        Mailtrap email service
    │   ├── internal/geoip/        MaxMind GeoIP service
    │   └── migrations/            PostgreSQL migrations
    ├── dashboard/                 React dashboard app
    ├── kerneleye-landing-page/    React landing page app
    ├── proto/                     protobuf definitions and generated Go code
    ├── shared/
    │   ├── scoring/            shared threat scoring Go module
    │   └── cmdsigning/         HMAC command signing and nonce tracking
    ├── docs/                      additional project documentation
    ├── tests/                     traffic simulation shell scripts
    ├── docker/                    frontend nginx and install script templates
    ├── Dockerfile.backend         backend container build
    ├── Dockerfile.frontend        landing + dashboard + agent download image
    ├── docker-compose.yml         production-oriented compose stack
    └── Makefile                   generation, build, and docker targets
    

    Технологический стек

    УровеньТехнологии
    АгентGo, cilium/ebpf, XDP, TC, gRPC, SQLite local stores, zap
    БэкендGo, Fiber, gRPC, PostgreSQL, sqlc, Redis, Mailtrap
    Панель управленияReact, TypeScript, Vite, Ant Design, React Query, Recharts
    Лендинговая страницаReact, TypeScript, Vite, Tailwind CSS
    ПротоколыProtobuf, gRPC
    РазвёртываниеDocker, Docker Compose, nginx, Traefik labels

    Протестировано на

    Агент KernelEye был протестирован на следующих конфигурациях. Таблица обновляется по мере валидации новых окружений.

    ОСЯдроЦПОЗУАрхитектураПримечания
    Ubuntu 26.04 LTS7.0.0-15-genericAMD EPYC-Genoa (2 vCPU)3.7 GBx86_64—

    Мы используем ebpf-go для интеграции пользовательского пространства eBPF.

    Сборка и генерация

    Общие цели Make:

    root@kitploit:~
    make gen-proto
    make gen-sql
    make gen-ebpf
    make build-backend
    make build-agent
    make build
    make docker-build
    

    Образ Docker для фронтенда собирает лендинговую страницу, панель управления и загружаемый бинарный файл агента Linux.

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

    • Начало работы
    • Руководство разработчика
    • Индекс кодовой базы
    • Архитектура безопасности
    • Модель угроз
    • Модель доверия
    • Анализ системы оценки
    • Архитектура агента
    • Реагирование
    • Миграции базы данных

    Контакты

    • Веб-сайт: https://example.com
    • Эл. почта: [email protected]

    Лицензия

    KernelEye является открытым программным обеспечением под лицензией Apache License, Version 2.0 (Apache-2.0). См. LICENSE.

    Авторское право 2026, Abdeljalil Aitetaleb.

    Название KernelEye, логотипы и визуальная идентификация не лицензируются по лицензии Apache. См. TRADEMARKS.md для условий использования бренда.

    Скачать инструмент