Logstash - Sicherheit und Überwachung

In diesem Kapitel werden die Sicherheits- und Überwachungsaspekte von Logstash erläutert.

Überwachung

Logstash ist ein sehr gutes Tool zur Überwachung der Server und Dienste in Produktionsumgebungen. Anwendungen in der Produktionsumgebung erzeugen verschiedene Arten von Protokolldaten wie Zugriffsprotokolle, Fehlerprotokolle usw. Logstash kann die Anzahl von Fehlern, Zugriffen oder anderen Ereignissen mithilfe von Filter-Plugins zählen oder analysieren. Diese Analyse und Zählung kann zur Überwachung verschiedener Server und ihrer Dienste verwendet werden.

Logstash bietet Plugins wie HTTP Pollerum die Überwachung des Website-Status zu überwachen. Hier überwachen wir eine Website mit dem Namenmysite auf einem lokalen Apache Tomcat Server gehostet.

logstash.conf

In dieser Konfigurationsdatei wird das http_poller-Plugin verwendet, um die im Plugin angegebene Site nach einem in der Intervalleinstellung angegebenen Zeitintervall zu erreichen. Schließlich wird der Status der Site in eine Standardausgabe geschrieben.

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"}
      }
   }
}

Führen Sie logstash aus

Wir können Logstash mit dem folgenden Befehl ausführen.

>logstash –f logstash.conf

stdout

Wenn die Site aktiv ist, lautet die Ausgabe -

Ok

Wenn wir die Seite mit dem stoppen Manager App von Tomcat ändert sich die Ausgabe in -

down

Sicherheit

Logstash bietet zahlreiche Funktionen für die sichere Kommunikation mit externen Systemen und unterstützt den Authentifizierungsmechanismus. Alle Logstash-Plugins unterstützen die Authentifizierung und Verschlüsselung über HTTP-Verbindungen.

Sicherheit mit HTTP-Protokoll

Es gibt Einstellungen wie Benutzer und Passwort für Authentifizierungszwecke in verschiedenen Plugins, die von Logstash angeboten werden, wie im Elasticsearch-Plugin.

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

Die andere Authentifizierung ist PKI (public key infrastructure)für Elasticsearch. Der Entwickler muss zwei Einstellungen im Elasticsearch-Ausgabe-Plugin definieren, um die PKI-Authentifizierung zu aktivieren.

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

Im HTTPS-Protokoll kann ein Entwickler das Zertifikat der Behörde für SSL / TLS verwenden.

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

Sicherheit mit Transportprotokoll

Um das Transportprotokoll mit Elasticsearch verwenden zu können, müssen Benutzer die Protokolleinstellungen für den Transport festlegen. Dies vermeidet das Aufheben des Marshalling von JSON-Objekten und führt zu mehr Effizienz.

Die Basisauthentifizierung entspricht der im http-Protokoll im Elasticsearch-Ausgabeprotokoll durchgeführten.

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

Für die PKI-Authentifizierung müssen die SSL-Sätze auch mit anderen Einstellungen im Elasticsearch-Ausgabeprotokoll übereinstimmen.

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

Schließlich erfordert die SSL-Sicherheit ein wenig mehr Einstellungen als andere Sicherheitsmethoden in der Kommunikation.

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

Weitere Sicherheitsvorteile von Logstash

Logstash kann dazu beitragen, Systemquellen einzugeben, um Angriffe wie Denial-of-Service-Angriffe zu verhindern. Die Überwachung von Protokollen und die Analyse der verschiedenen Ereignisse in diesen Protokollen können Systemadministratoren dabei helfen, die Abweichungen bei den eingehenden Verbindungen und Fehlern zu überprüfen. Mithilfe dieser Analysen können Sie feststellen, ob der Angriff auf den Servern stattfindet oder stattfinden wird.

Andere Produkte der Elasticsearch Company wie z x-pack und filebeat bietet einige Funktionen für die sichere Kommunikation mit Logstash.