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
reactor — Esegue filtri personalizzati su Elasticsearch e invia avvisi in caso di corrispondenze. | Kitploit
Strumenti/GitHubGitHub/nccgroup/reactor
Strumenti DifensiviRilevamento IntrusioniRisposta agli IncidentiRilevamento di AnomalieAnalisi dei Log
GitHubnccgroup/reactor

reactor

Esegue filtri personalizzati su Elasticsearch e invia avvisi in caso di corrispondenze.

Vedi Repository
343 anni 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 →
Condividi

Reactor

Reactor è nato come fork del progetto open source ElastAlert. Il maintainer di questo progetto dovrebbe tenere d'occhio le modifiche a ElastAlert (escludendo i loro alerter aggiuntivi) e assicurarsi che eventuali fix di bug rilevanti vengano integrati e che qualsiasi funzionalità utile venga portata.

Reactor è un motore di alerting che accetta un insieme di regole con filtri personalizzati e genera avvisi sulle corrispondenze. Reactor aggiorna automaticamente gli avvisi silenziati con le informazioni di ripetizione dell'avviso.

Storico delle patch da ElastAlert

Data di accessoCommitNote
2019-10-16325f1dfe7a45f3ca2a2cc00127ab71fcd4f9ceadSiamo andati indietro fino a prima della creazione di Reactor.
2020-01-09ec5d03b95708ea0aa3d29c065f9794fdd95a82a1Non usiamo coverage.

Versioni supportate

Attualmente Reactor supporta ElasticSearch 5.x.x, 6.x.x e 7.x.x. Man mano che diventano disponibili nuove versioni di elasticsearch, Reactor verrà aggiornato per supportarle. Non c'è intenzione di aggiungere supporto per versioni precedenti di ElasticSearch. Attualmente non c'è una data per la rimozione del supporto per le versioni precedenti di ElasticSearch. Se la libreria python di ElasticSearch rimuove il supporto, probabilmente seguiremo la stessa strada.

Compatibilità

Come da linee guida della libreria python di ElasticSearch, si consiglia di installare la versione della libreria con la stessa major version del cluster.

Per Elasticsearch 7.0 e versioni successive, usa la major version 7 (elasticsearch<8.0.0,>=7.0.0).

Per Elasticsearch 6.0 e versioni successive, usa la major version 6 (elasticsearch<7.0.0,>=6.0.0).

Per Elasticsearch 5.0 e versioni successive, usa la major version 5 (elasticsearch<6.0.0,>=5.0.0).

Si noti che c'è un bug noto introdotto nella versione 6.4.0 della libreria ElasticSearch, corretto in 7.0.4 ma non nella major version 6. Il bug inserisce lo scroll_id nel parametro della query, il che può far sì che Elasticsearch restituisca codici di stato 400 per scroll id validi.

Sviluppo

Puoi avviare un'istanza elasticsearch dentro docker per lo sviluppo locale usando il seguente comando:

root@kitploit:~
$ docker run -d -p 9200:9200/tcp --name elasticsearch docker.elastic.co/elasticsearch/elasticsearch:<version>

E la seguente configurazione in config.yaml:

root@kitploit:~
writeback_index: reactor
alert_alias: reactor_alerts

elasticsearch: &elasticsearch
  host: localhost
  port: 9200

# Global settings to be applied to every run
rule:
  elasticsearch: *elasticsearch

Git Hooks

Questo progetto fornisce git hook per evitare errori dell'utente. Esegui i seguenti comandi:

root@kitploit:~
$ cp .git-hooks-pre-push .git/hooks/pre-push

Esecuzione dei test

Reactor è coperto da due tipi di test: unitari e di integrazione. I test unitari garantiscono che le singole funzioni e i flussi logici funzionino correttamente; i test di integrazione garantiscono che l' intero sistema funzioni in modo coordinato.

Test unitari

I test unitari sono scritti usando PyTest. Per eseguire tutti i test esegui il seguente comando:

root@kitploit:~
$ py.test

Test di integrazione

I test unitari vengono eseguiti in docker e richiedono un file .env nella directory root del progetto. I test richiedono i seguenti contenuti all'interno del file .env:

root@kitploit:~
# The ElasticSearch version to be tested, reactor supports >= 5.x.x
ES_VERSION=6.3.2
# Basic configuration information so that reactor can query ElasticSearch
ES_HOST=elasticsearch
ES_USER=elastic
ES_PASSWORD=changeme

Il file Docker Compose di integrazione test.docker-compose.yml ha 3 variabili d'ambiente richieste per >= v7.x.x, che romperanno le versioni precedenti:

root@kitploit:~
node.name=elasticsearch
discovery.seed_hosts=elasticsearch
cluster.initial_master_nodes=elasticsearch

Per eseguire i test di integrazione esegui il seguente comando:

root@kitploit:~
$ docker-compose -f docker-compose-test.yml up --abort-on-container-exit --build  reactor elasticsearch

Creare certificati SSL per la leadership RAFT

La seguente serie di comandi (eseguita in ./certs/) creerà un set di certificati CA e dispositivo per eseguire il cluster mock su localhost:

root@kitploit:~
# Only do once: generate the root CA key:
$ openssl genrsa -out transport-ca.key 4096

# Generate the root CA certificate:
## Country Name (2 letter code) []:GB
## State or Province Name (full name) []:.
## Locality Name (eg, city) []:.
## Organization Name (eg, company) []:.
## Organizational Unit Name (eg, section) []:.
## Common Name (eg, fully qualified host name) []:PyRaftLog
## Email Address []:.
$ openssl req -x509 -new -nodes -key transport-ca.key -sha256 -days 1024 -out transport-ca.pem

# Generate device certificates
# Only do once: generate device key:
$ openssl genrsa -out transport-consensus.key 4096

# Generate device certificate signing request:
## Country Name (2 letter code) []:GB
## State or Province Name (full name) []:.
## Locality Name (eg, city) []:.
## Organization Name (eg, company) []:.
## Organizational Unit Name (eg, section) []:.
## Common Name (eg, fully qualified host name) []:localhost
## Email Address []:.
$ openssl req -new -key transport-consensus.key -out transport-consensus.csr

# Generate a signed device certificate:
$ openssl x509 -req -in transport-consensus.csr -CA transport-ca.pem -CAkey transport-ca.key -CAcreateserial -out transport-consensus.crt -days 500 -sha256

Compilare la documentazione

Per compilare la documentazione:

root@kitploit:~
$ pip install -r requirements-docs.txt
$ cd docs
$ sphinx-build -b html -d build/doctrees -W source build/html

Pubblicare su PyPi

  1. pip install --upgrade setuptools wheel
  2. pip install --upgrade twine
  3. python3 setup.py sdist bdist_wheel
  4. twine check dist/*
  5. twine upload --skip-existing dist/* --verbose
Scarica lo strumento