ProHoster > Bloc > Administració > Elastic Locked Up: activació de les opcions de seguretat del clúster d'Elasticsearch per a l'accés interior i exterior
Elastic Locked Up: activació de les opcions de seguretat del clúster d'Elasticsearch per a l'accés interior i exterior
Elastic Stack és una eina coneguda al mercat de sistemes SIEM (en realitat, no només ells). Pot recollir moltes dades de diferents mides, tant sensibles com poc sensibles. No és del tot correcte si l'accés als elements de la pila elàstica no està protegit. De manera predeterminada, tots els elements d'Elastic fora de la caixa (col·leccionistes d'Elasticsearch, Logstash, Kibana i Beats) s'executen amb protocols oberts. I al mateix Kibana, l'autenticació està desactivada. Totes aquestes interaccions es poden assegurar i en aquest article us explicarem com fer-ho. Per comoditat, hem dividit la narració en 3 blocs semàntics:
Model d'accés a dades basat en rols
Seguretat de les dades dins d'un clúster Elasticsearch
Protecció de dades fora d'un clúster Elasticsearch
Detalls sota el tall.
Model d'accés a dades basat en rols
Si instal·leu Elasticsearch i no l'ajusteu de cap manera, l'accés a tots els índexs estarà obert a tothom. Bé, o els que poden utilitzar curl. Per evitar-ho, Elasticsearch té un model que està disponible a partir d'una subscripció bàsica (que és gratuïta). Esquemàticament sembla una cosa així:
Què hi ha a la imatge
Els usuaris són tots aquells que poden iniciar sessió amb les seves credencials.
Els recursos són índexs, documents, camps, usuaris i altres entitats d'emmagatzematge (el model a seguir per a alguns recursos només està disponible amb subscripcions de pagament).
Per defecte, Elasticsearch té usuaris de la caixa, a la qual s'adjunten rols de caixa. Un cop hàgiu activat la configuració de seguretat, podeu començar a utilitzar-los immediatament.
Per habilitar la seguretat a la configuració d'Elasticsearch, l'heu d'afegir al fitxer de configuració (per defecte això és elasticsearch/config/elasticsearch.yml) nova línia:
xpack.security.enabled: true
Després de canviar el fitxer de configuració, inicieu o reinicieu Elasticsearch perquè els canvis tinguin efecte. El següent pas és assignar contrasenyes als usuaris de box. Fem-ho de manera interactiva amb l'ordre següent:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
Comprovem:
[elastic@node1 ~]$ curl -u elastic 'node1:9200/_cat/nodes?pretty'
Enter host password for user 'elastic':
192.168.0.2 23 46 14 0.28 0.32 0.18 dim * node1
Podeu donar-vos unes copes a l'esquena: la configuració del costat d'Elasticsearch s'ha completat. Ara és el moment de configurar Kibana. Si l'executeu ara, apareixeran errors, per la qual cosa és important crear un magatzem de claus. Això es fa en dues ordres (user kibana i la contrasenya introduïda al pas de creació de la contrasenya a Elasticsearch):
Si tot és correcte, Kibana començarà a demanar un inici de sessió i una contrasenya. La subscripció bàsica inclou un model basat en usuaris interns. Començant amb Gold, podeu connectar sistemes d'autenticació externs: sistemes LDAP, PKI, Active Directory i Single Sign-On.
Els drets d'accés als objectes dins d'Elasticsearch també es poden limitar. Tanmateix, per fer el mateix amb documents o camps, necessitareu una subscripció de pagament (aquest luxe comença amb el nivell Platí). Aquests paràmetres estan disponibles a la interfície de Kibana o mitjançant API de seguretat. Podeu consultar el menú Eines de desenvolupament ja conegut:
Seguretat de les dades dins d'un clúster Elasticsearch
Quan Elasticsearch s'executa en un clúster (cosa comú), la configuració de seguretat dins del clúster adquireix importància. Per a una comunicació segura entre nodes, Elasticsearch utilitza el protocol TLS. Per establir una interacció segura entre ells, necessiteu un certificat. Generem un certificat i clau privada en format PEM:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
Després d'executar l'ordre anterior, al directori /../elasticsearch apareixerà l'arxiu elastic-stack-ca.zip. Al seu interior hi trobareu un certificat i una clau privada amb extensions crt и clau respectivament. És recomanable posar-los en un recurs compartit, que hauria de ser accessible des de tots els nodes del clúster.
Ara cada node necessita els seus propis certificats i claus privades basades en les del directori compartit. Quan executeu l'ordre, se us demanarà que establiu una contrasenya. Podeu afegir opcions addicionals -ip i -dns per a una verificació completa dels nodes que interactuen.
Com a resultat d'executar l'ordre, rebrem un certificat i una clau privada en format PKCS#12, protegits per una contrasenya. Només queda moure el fitxer generat p12 al directori de configuració:
Hi ha una altra opció de seguretat: el filtratge d'adreces IP (disponible en subscripcions a partir del nivell Gold). Us permet crear llistes blanques d'adreces IP des de les quals podeu accedir als nodes.
Protecció de dades fora d'un clúster Elasticsearch
Fora del clúster significa connectar eines externes: Kibana, Logstash, Beats o altres clients externs.
Per configurar el suport per a https (en lloc de http), afegiu línies noves a elasticsearch.yml:
Després d'afegir les claus, els nodes d'Elasticsearch estan preparats per connectar-se mitjançant https. Ara es poden posar en marxa.
El següent pas és crear una clau per connectar Kibana i afegir-la a la configuració. A partir del certificat que ja es troba al directori compartit, generarem un certificat en format PEM (PKCS#12 Kibana, Logstash i Beats encara no són compatibles):
Les claus hi són, així que només queda canviar la configuració de Kibana perquè comenci a utilitzar-les. Al fitxer de configuració kibana.yml, canvieu http a https i afegiu línies amb la configuració de connexió SSL. Les tres últimes línies configuren la comunicació segura entre el navegador de l'usuari i Kibana.
Així, la configuració s'ha completat i l'accés a les dades del clúster Elasticsearch està xifrat.
Si teniu preguntes sobre les capacitats d'Elastic Stack en subscripcions gratuïtes o de pagament, tasques de supervisió o creació d'un sistema SIEM, deixeu una sol·licitud a formulari de comentaris al nostre lloc web.
Més dels nostres articles sobre Elastic Stack a Habré: