Sicherer Logstash und Elasticsearch

7

Ich erwäge logstash auf meinem prod Server ausgeführt wird (einfach installieren. Http://logstash.net/docs/1.1.13/tutorials/getting-started-simple ) und Satz Kibana auf Zugriffsprotokolle.

Mein Anliegen ist: Wie kann ich meine Produktprotokolle sichern (insbesondere Elasticsearch, das von Logstash ausgeführt wird) und den Zugriff mit der sicheren Zone oder auf einige IPs beschränken?

Vielen Dank für Ihre Hilfe

CoBaLt2760
quelle
1
Sie können einige Regeln zu Ihrem hinzufügen iptables.
Dawud
Was meinst du ? Nur 9200 Port (elasticsearch) autorisieren, für die Server-IP selbst geöffnet zu sein (für kibana apache vhost)?
CoBaLt2760
Können Sie Ihrer Frage bitte weitere Einzelheiten zur tatsächlich geplanten Architektur hinzufügen? (Wie viele Server sind beteiligt, wo werden die typischen Elemente des Logstash / Kibana-Stacks bereitgestellt?) Haben Sie bereits SELinux, iptables und andere Sicherheitsmaßnahmen eingerichtet?
Dawud

Antworten:

4

Wenn Sie spätere Versionen von Logstash mit Kibana verwenden :

Ich stelle Kibana auf einem virtuellen Host in einem Apache unter /kibana/bereit und leite die Elasticsearch-API über einen Reverse-Proxy weiter, der verfügbar ist unter /elasticsearch/:

<Location /elasticsearch/>
    ProxyPass http://elasticsearchhost:9200/
    ProxyPassReverse /
</Location>

Sie müssen Kibanas config.js an anpassen

elasticsearch: "/elasticsearch/",

Anschließend kann der virtuelle Host über die HTTP-Basisauthentifizierung gesichert werden, die automatisch sowohl für Kibana als auch für die Elasticsearch-API gilt.

Was mich immer noch beunruhigt, ist, dass die Benutzer von Kibana die Elasticsearch-API auch verwenden könnten, um böse Dinge wie das Löschen von Indizes, das Herunterfahren von Elasticsearch-Servern usw. zu tun - zum Beispiel mit dem Elasticsearch- Kopf . Aber ich habe bisher keine gute Lösung für dieses Problem. Wahrscheinlich könnte man GETs generell erlauben / elasticsearch / da in REST GETs nichts ändern können, aber andere HTTP-Methoden nur auf bestimmte URLs, die für Kibana wichtig sind.

Hans-Peter Störr
quelle
0

In meiner Umgebung binde ich elasticsearch an eine openvpn-Schnittstelle.

In /etc/elasticsearch/elasticsearch.yml:

network.host: 172.16.xxx.xxx

Wobei 172.16.xxx.xxx die IP-Adresse ist, die dem Server von openvpn zugewiesen wurde.

Dan Garthwaite
quelle