Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
kerneleye — Sicurezza a livello di kernel e risposta agli attacchi per server Linux. | Kitploit
Strumenti/GitHubGitHub/abdeljalilait/kerneleye
Strumenti DifensiviSicurezza dei ContenitoriAudit di ConfigurazioneInformatica ForenseSicurezza di ReteSicurezza CloudThreat IntelligenceRilevamento IntrusioniRisposta agli IncidentiRilevamento di AnomalieAnalisi dei Log
15152 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
abdeljalilait/kerneleye

kerneleye

Sicurezza a livello di kernel e risposta agli attacchi per server Linux.

Vedi Repository
Condividi

KernelEye Logo

KernelEye

Intelligence sul traffico a livello kernel e remediation delle minacce per server Linux.

KernelEye è una piattaforma self-hosted di monitoraggio della sicurezza per server Linux. Utilizza eBPF, TC e XDP in un agente Go per osservare i metadati di rete, valutare le attività sospette e applicare la remediation tramite blocco XDP a livello kernel e regole ipset/iptables. Un backend Go memorizza e analizza gli eventi, mentre una dashboard React offre gestione dei server, traffico in tempo reale, visualizzazione delle minacce, IP bloccati, whitelist, report e analisi.

Cosa Fa

  • Monitoraggio in tempo reale del traffico Linux con eBPF.
  • Tracciamento della larghezza di banda con hook TC.
  • Valutazione delle minacce tramite la logica di scoring Go condivisa in shared/scoring.
  • Analisi lato agente e remediation automatica opzionale.
  • Blocco dei pacchetti sul fast-path XDP e fallback ipset/iptables.
  • Worker di analisi lato backend, gestione dei blocchi, conservazione dei dati e report mensili.
  • Ingestione gRPC e streaming dei comandi di blocco tra agente e backend con crittografia TLS/mTLS e firma HMAC dei comandi.
  • Protezione anti-replay con nonce monotone e logging di audit strutturato per tutte le azioni di remediation.
  • Verifica periodica dell'integrità delle mappe eBPF e report di attestazione dello stato.
  • Dashboard React con aggiornamenti WebSocket, viste di dettaglio dei server, gestione degli IP bloccati, whitelist, report e analisi.
  • Arricchimento GeoIP quando i database MaxMind sono configurati.
  • Supporto OAuth per GitHub e Google (accesso self-hosted a proprietario singolo).
  • Raccolta privacy-first: solo metadati, nessun payload dei pacchetti.
  • Architettura

    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
    

    Componenti Principali

    Agente

    L'agente risiede in agent/ ed è il processo dell'host Linux.

    • agent/main.go avvia la registrazione, il caricamento eBPF, il tracciamento della larghezza di banda, la remediation, lo scoring, l'aggregazione e lo streaming dei comandi di blocco.
    • agent/ebpf/traffic_probe.c cattura i metadati del traffico.
    • agent/ebpf/xdp_firewall.c implementa il filtraggio dei pacchetti XDP.
    • agent/tc.go configura il tracciamento della larghezza di banda TC.
    • agent/aggregator.go raggruppa e invia gli eventi al backend.
    • agent/history_store.go e agent/flush.go gestiscono la persistenza locale e il comportamento di retry.
    • agent/remediation/ contiene l'analizzatore, l'auto-blocco e i remediator XDP, ipset e ibridi.

    L'agente richiede Linux e privilegi elevati per le operazioni eBPF/XDP.

    Backend

    Il backend risiede in backend/.

    • backend/cmd/api/main.go avvia l'API HTTP Fiber e i servizi gRPC.
    • backend/internal/api/ contiene autenticazione, handler della dashboard, handler gRPC, API di blocco, API whitelist, gestione WebSocket e rate limiting.
    • backend/internal/analysis/ contiene i worker di scoring, la gestione dei blocchi, la conservazione dei dati e la logica dei report mensili.
    • backend/internal/database/ contiene il codice di accesso al database generato da sqlc.
    • backend/internal/geoip/ gestisce l'arricchimento GeoIP.
    • backend/internal/email/ invia email tramite Mailtrap quando configurato.
    • backend/migrations/ contiene le migrazioni PostgreSQL.

    L'HTTP utilizza di default la porta 8080; gRPC utilizza di default la porta 9091.

    Dashboard

    La dashboard risiede in dashboard/ ed è un'applicazione Vite React.

    • dashboard/src/pages/ include le pagine di panoramica, server, dettaglio server, minacce, avvisi, report, visualizzatore, IP bloccati, whitelist, login, profilo e callback OAuth.
    • dashboard/src/components/ contiene traffico in tempo reale, feed dei blocchi, grafici, elenchi di server, configuratori e componenti di layout condivisi.
    • dashboard/src/api/client.ts definisce il client dell'API REST.
    • dashboard/src/context/WebSocketContext.tsx gestisce gli aggiornamenti degli eventi in tempo reale.

    Il server di sviluppo è configurato per http://localhost:3000.

    Landing Page

    Il sito di marketing pubblico risiede in kerneleye-landing-page/. L'immagine frontend di produzione compila sia la landing page sia la dashboard, servendole tramite nginx.

    Codice Condiviso e Protocolli

    • shared/scoring/ contiene il modulo di valutazione delle minacce condiviso, utilizzato sia dall'agente sia dal backend.
    • shared/cmdsigning/ contiene il modulo di firma dei comandi HMAC-SHA256 e di protezione anti-replay con nonce.
    • proto/kerneleye/v1/ contiene le definizioni protobuf per i servizi di ingestione e blocco.
    • proto/gen/go/ contiene il codice Go protobuf generato.

    Privacy

    KernelEye non ispeziona i payload dei pacchetti né il contenuto delle applicazioni.

    I metadati raccolti includono:

    • Indirizzi IP di origine e destinazione.
    • Porte e protocolli.
    • Flag TCP e contatori di connessione.
    • Conteggi di pacchetti e byte.
    • Direzione del traffico.
    • Timestamp.
    • Arricchimento GeoIP/ASN opzionale.

    Non raccolti:

    • Payload dei pacchetti.
    • Corpo o header delle richieste HTTP.
    • Credenziali utente.
    • Dati applicativi.

    Valutazione delle Minacce

    La valutazione delle minacce è implementata in shared/scoring/scorer.go. Lo scorer attuale è più sfumato di una semplice formula lineare: considera il tasso di SYN, l'accesso a porte uniche, gli handshake falliti, il comportamento a raffica, l'abuso dei servizi, la direzione, la confidenza e il decadimento del punteggio nel tempo.

    Soglie di classificazione predefinite:

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

    Il worker di analisi del backend utilizza inoltre finestre di traffico accumulate e può attivare la gestione dei blocchi per le sorgenti ad alto rischio.

    Remediation

    KernelEye supporta la remediation attiva quando è abilitata sull'agente.

    LivelloImplementazioneScopo
    XDPagent/remediation/xdp_remediator.goDrop rapidi a livello kernel prima dello stack di rete
    IPSetagent/remediation/ipset_remediator.goGestione dei blocchi ipset/iptables
    Ibridoagent/remediation/hybrid_remediator.goCoordina il comportamento di XDP e ipset
    Auto-bloccoagent/remediation/auto_blocker.goBlocca le sorgenti al di sopra delle soglie di punteggio configurate
    Gestore dei blocchi del backendbackend/internal/analysis/block_manager.goCoordina lo stato dei blocchi e i comandi generati dal backend

    La dashboard espone inoltre la gestione degli IP bloccati e della whitelist.

    Avvio Rapido

    Prerequisiti

    • Go 1.25.x per i moduli attuali di backend e agente.
    • Node.js/npm per le app React.
    • PostgreSQL 14+ o 15+.
    • Per l'agente: Linux con supporto BTF, privilegi di root, clang/LLVM, bpftool, header libbpf, ipset e iptables.

    Configurare l'Ambiente

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

    Imposta almeno:

    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
    

    Le integrazioni opzionali includono rate limiting Redis, email Mailtrap, OAuth GitHub/Google e GeoIP MaxMind.

    Avviare il Backend

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

    Il backend avvia:

    • API HTTP su http://localhost:8080
    • gRPC su localhost:9091

    Avviare la Dashboard

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

    Apri http://localhost:3000.

    L'accesso è disponibile solo tramite OAuth. Imposta AUTH_OWNER_EMAIL e configura almeno un provider OAuth (GitHub o Google) per accedere alla dashboard. Solo l'email del proprietario configurata è autorizzata ad accedere.

    Compilare ed Eseguire l'Agente

    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
    

    Flag utili dell'agente:

    root@kitploit:~
    -enable-remediation     enable active blocking and auto-blocking
    -xdp                    enable XDP fast-path blocking
    -interface <name>       select XDP network interface
    --read-only             monitor and report only, never block
    --insecure              disable TLS (dev only)
    --tls-ca-file <path>    backend CA certificate for TLS verification
    --tls-cert-file <path>  agent client certificate for mTLS
    --tls-key-file <path>   agent client private key for mTLS
    -list-blocked           print current ipset state and exit
    -flush-blocklists       flush ipset and XDP blocklists and exit
    -clear-data             remove local agent SQLite stores and exit
    -version                print build version
    

    Quando --enable-remediation è impostato, è necessario configurare CMD_SIGNING_KEY sia sull'agente sia sul backend. Generala con openssl rand -base64 32.

    Struttura del Progetto

    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
    

    Stack Tecnologico

    LivelloTecnologie
    AgenteGo, cilium/ebpf, XDP, TC, gRPC, SQLite local stores, zap
    BackendGo, Fiber, gRPC, PostgreSQL, sqlc, Redis, Mailtrap
    DashboardReact, TypeScript, Vite, Ant Design, React Query, Recharts
    Landing pageReact, TypeScript, Vite, Tailwind CSS
    ProtocolliProtobuf, gRPC
    DeploymentDocker, Docker Compose, nginx, Traefik labels

    Testato Su

    L'agente KernelEye è stato testato sulle seguenti configurazioni. Questa tabella viene aggiornata man mano che nuovi ambienti vengono validati.

    OSKernelCPURAMArchNote
    Ubuntu 26.04 LTS7.0.0-15-genericAMD EPYC-Genoa (2 vCPU)3.7 GBx86_64—

    Utilizziamo ebpf-go per l'integrazione userspace di eBPF.

    Build e Generazione

    Target Make comuni:

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

    L'immagine Docker del frontend compila la landing page, la dashboard e un binario Linux dell'agente scaricabile.

    Documentazione

    • Per Iniziare
    • Guida allo Sviluppo
    • Indice del Codebase
    • Architettura di Sicurezza
    • Modello delle Minacce
    • Modello di Fiducia
    • Analisi del Sistema di Scoring
    • Architettura dell'Agente
    • Remediation
    • Migrazioni del Database

    Contatti

    • Sito web: https://example.com
    • Email: [email protected]

    Licenza

    KernelEye è open source sotto la Apache License, Version 2.0 (Apache-2.0). Vedi LICENSE.

    Copyright 2026 Abdeljalil Aitetaleb.

    Il nome KernelEye, i loghi e l'identità visiva non sono concessi in licenza sotto la Apache License. Consulta TRADEMARKS.md per i termini di utilizzo del marchio.

    Scarica lo strumento