Logstash - Sicurezza e monitoraggio

In questo capitolo, discuteremo gli aspetti di sicurezza e monitoraggio di Logstash.

Monitoraggio

Logstash è un ottimo strumento per monitorare i server e i servizi negli ambienti di produzione. Le applicazioni nell'ambiente di produzione producono diversi tipi di dati di registro come registri di accesso, registri di errori, ecc. Logstash può contare o analizzare il numero di errori, accessi o altri eventi utilizzando plugin di filtro. Questa analisi e il conteggio possono essere utilizzati per monitorare diversi server e i loro servizi.

Logstash offre plugin come HTTP Pollermonitorare lo stato del sito web. Qui stiamo monitorando un sito web denominatomysite ospitato su un server Apache Tomcat locale.

logstash.conf

In questo file di configurazione, il plug-in http_poller viene utilizzato per raggiungere il sito specificato nel plug-in dopo un intervallo di tempo specificato nell'impostazione dell'intervallo. Infine, scrive lo stato del sito su uno standard output.

input {
   http_poller {
      urls => {
         site => "http://localhost:8080/mysite"
      }
      request_timeout => 20
      interval => 30
      metadata_target => "http_poller_metadata"
   }
}
output {
   if [http_poller_metadata][code] == 200 {
      stdout {
         codec => line{format => "%{http_poller_metadata[response_message]}"}
      }
   }
   if [http_poller_metadata][code] != 200 {
      stdout {
         codec => line{format => "down"}
      }
   }
}

Esegui logstash

Possiamo eseguire Logstash con il seguente comando.

>logstash –f logstash.conf

stdout

Se il sito è attivo, l'output sarà:

Ok

Se interrompiamo il sito utilizzando il Manager App di Tomcat, l'output cambierà in -

down

Sicurezza

Logstash offre numerose funzionalità per una comunicazione sicura con sistemi esterni e supporta il meccanismo di autenticazione. Tutti i plug-in di Logstash supportano l'autenticazione e la crittografia su connessioni HTTP.

Sicurezza con protocollo HTTP

Ci sono impostazioni come utente e password per scopi di autenticazione in vari plugin offerti da Logstash come nel plugin Elasticsearch.

elasticsearch {
   user => <username>
   password => <password>
}

L'altra autenticazione è PKI (public key infrastructure)per Elasticsearch. Lo sviluppatore deve definire due impostazioni nel plug-in di output di Elasticsearch per abilitare l'autenticazione PKI.

elasticsearch {
   keystore => <string_value>
   keystore_password => <password>
}

Nel protocollo HTTPS, uno sviluppatore può utilizzare il certificato dell'autorità per SSL / TLS.

elasticsearch {
   ssl => true
   cacert => <path to .pem file>
}

Sicurezza con protocollo di trasporto

Per utilizzare il protocollo di trasporto con Elasticsearch, gli utenti devono impostare l'impostazione del protocollo per il trasporto. Ciò evita l'annullamento del marshalling di oggetti JSON e porta a una maggiore efficienza.

L'autenticazione di base è la stessa eseguita nel protocollo http nel protocollo di output Elasticsearch.

elasticsearch {
   protocol => “transport”
   user => <username>
   password => <password>
}

L'autenticazione PKI richiede anche che i set SSL siano veri con altre impostazioni nel protocollo di output di Elasticsearch -

elasticsearch {
   protocol => “transport”
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
}

Infine, la sicurezza SSL richiede un po 'di più impostazioni rispetto ad altri metodi di sicurezza nella comunicazione.

elasticsearch {
   ssl => true
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
   truststore => 
      
        truststore_password => <password> } 
      

Altri vantaggi per la sicurezza di Logstash

Logstash può aiutare a inserire fonti di sistema per prevenire attacchi come attacchi denial of service. Il monitoraggio dei registri e l'analisi dei diversi eventi in tali registri possono aiutare gli amministratori di sistema a verificare la variazione delle connessioni in entrata e degli errori. Queste analisi possono aiutare a vedere se l'attacco sta avvenendo o sta per avvenire sui server.

Altri prodotti di Elasticsearch Company come x-pack e filebeat fornisce alcune funzionalità per comunicare in modo sicuro con Logstash.