Kibana mit Nginx schützen: Unterschied zwischen den Versionen
Deko (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=== '''Symptom''' === Kibana ist ein Bestandteil des ELK Stacks und erlaubt die einfache Visualisierung Ihrer Indices in Elas-ticsearch.<br /> Leider ist der Z…“) |
Deko (Diskussion | Beiträge) |
||
Zeile 14: | Zeile 14: | ||
Nun schreiben wir unsere Konfiguration in /etc/nginx/sites-enabled/kibana.conf. Zertifikate sollten Sie über<br /> eine eigene PKI erstellen. Wir verwenden dazu eine dedizierte OPNsense, erstellen Root Zertifikat sowie Zertifikat für unseren Server.<br /> | Nun schreiben wir unsere Konfiguration in /etc/nginx/sites-enabled/kibana.conf. Zertifikate sollten Sie über<br /> eine eigene PKI erstellen. Wir verwenden dazu eine dedizierte OPNsense, erstellen Root Zertifikat sowie Zertifikat für unseren Server.<br /> | ||
In die conf schreiben wir Platzhalter immer in <>, diese '''ersetzen''' Sie dann mit '''Ihren Werten''':<br /> | In die conf schreiben wir Platzhalter immer in <>, diese '''ersetzen''' Sie dann mit '''Ihren Werten''':<br /> | ||
− | + | ||
− | server {<br /> | + | server {<br /> |
− | + | listen <IP>:443 ssl;<br /> | |
− | + | server_name <host.domain.com>;<br /> | |
− | + | ssl on;<br /> | |
− | + | ssl_certificate /etc/nginx/certs/syslog.crt;<br /> | |
− | + | ssl_certificate_key /etc/nginx/certs/syslog.key;<br /> | |
− | + | ssl_trusted_certificate /etc/nginx/certs/ca.crt;<br /> | |
− | + | ssl_protocols TLSv1.2;<br /> | |
− | + | ssl_prefer_server_ciphers on;<br /> | |
− | + | auth_basic_user_file "/etc/nginx/kibana.passwd";<br /> | |
− | + | access_log /var/log/nginx/kibana.access.log combined;<br /> | |
− | + | error_log /var/log/nginx/kibana.error.log;<br /> | |
− | + | <br /> | |
− | + | location / {<br /> | |
− | + | proxy_pass http://localhost:5601;<br /> | |
− | + | proxy_set_header Host $host;<br /> | |
− | + | proxy_set_header X-Real-IP $remote_addr;<br /> | |
− | + | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br /> | |
− | + | proxy_set_header Proxy "";<br /> | |
+ | }<br /> | ||
}<br /> | }<br /> | ||
− | + | ||
− | |||
Abschließend erstellen wir noch die '''htpasswd Datei''' und legen einen User an:<br /> | Abschließend erstellen wir noch die '''htpasswd Datei''' und legen einen User an:<br /> | ||
# htpasswd -c /etc/nginx/kibana.passwd kibana<br /> | # htpasswd -c /etc/nginx/kibana.passwd kibana<br /> | ||
Zeile 50: | Zeile 50: | ||
=== '''Weiterführende Informationen''' === | === '''Weiterführende Informationen''' === | ||
− | Mehr Informationen finden Sie unter [https://www.max-it.de/ www.max-it.de]<br /><br /> | + | Mehr Informationen finden Sie unter [https://www.max-it.de/ www.max-it.de].<br /><br /> |
=== '''Kontakt''' === | === '''Kontakt''' === |
Version vom 30. April 2020, 09:11 Uhr
Inhaltsverzeichnis
Symptom
Kibana ist ein Bestandteil des ELK Stacks und erlaubt die einfache Visualisierung Ihrer Indices in Elas-ticsearch.
Leider ist der Zugriff in der Applikation abzusichern und somit benötigen wir einen Reverse Proxy wie Nginx
um den Zugriff einzuschränken.
Ursache und Lösung
Im Folgenden beschreiben wir kurz wie man einen bestehenden ELK Server unter Debian 10 mit Nginx erweitert.
Nginx installieren:
- apt update
- apt install nginx apache2-utils
- mkdir /etc/nginx/ssl
Nun schreiben wir unsere Konfiguration in /etc/nginx/sites-enabled/kibana.conf. Zertifikate sollten Sie über
eine eigene PKI erstellen. Wir verwenden dazu eine dedizierte OPNsense, erstellen Root Zertifikat sowie Zertifikat für unseren Server.
In die conf schreiben wir Platzhalter immer in <>, diese ersetzen Sie dann mit Ihren Werten:
server {
listen <IP>:443 ssl;
server_name <host.domain.com>;
ssl on;
ssl_certificate /etc/nginx/certs/syslog.crt;
ssl_certificate_key /etc/nginx/certs/syslog.key;
ssl_trusted_certificate /etc/nginx/certs/ca.crt;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
auth_basic_user_file "/etc/nginx/kibana.passwd";
access_log /var/log/nginx/kibana.access.log combined;
error_log /var/log/nginx/kibana.error.log;
location / {
proxy_pass http://localhost:5601;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
}
Abschließend erstellen wir noch die htpasswd Datei und legen einen User an:
- htpasswd -c /etc/nginx/kibana.passwd kibana
Zum Schluss nur noch den Dienst neustarten, und schon kann es losgehen:
- service nginx restart
Sie erreichen Ihr Kibana (inkl. Passwortauthentifizierung) jetzt unter:
https://host.domain.com
Tags
Kibana Passwort Nginx ELK Elastic Stack Elasticsearch Authentifzierung
Weiterführende Informationen
Mehr Informationen finden Sie unter www.max-it.de.
Kontakt
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben,
melden Sie sich bitte bei uns unter Vertrieb@max-it.de.