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.