ProHoster > Blog > Adminisztráció > Elasztikus zár és kulcs alatt: lehetővé teszi az Elasticsearch fürt biztonsági opcióit belülről és kívülről való hozzáféréshez
Elasztikus zár és kulcs alatt: lehetővé teszi az Elasticsearch fürt biztonsági opcióit belülről és kívülről való hozzáféréshez
Az Elastic Stack egy jól ismert eszköz a SIEM rendszerpiacon (valójában nem csak ők). Sok különböző méretű adatot tud gyűjteni, érzékeny és nem túl érzékeny adatokat egyaránt. Nem teljesen helyes, ha magukhoz az Elastic Stack elemekhez való hozzáférés nincs védve. Alapértelmezés szerint az összes kész Elastic elem (Elasticsearch, Logstash, Kibana és Beats gyűjtők) nyílt protokollokon fut. Magában a Kibanában pedig le van tiltva a hitelesítés. Mindezek az interakciók biztosíthatók, és ebben a cikkben elmondjuk, hogyan kell ezt megtenni. A kényelem kedvéért a narratívát 3 szemantikai blokkra osztottuk:
Szerep alapú adathozzáférési modell
Adatbiztonság egy Elasticsearch klaszteren belül
Adatok védelme egy Elasticsearch-fürtön kívül
Részletek a vágás alatt.
Szerep alapú adathozzáférési modell
Ha telepíti az Elasticsearch-ot, és semmilyen módon nem hangolja, akkor mindenki számára elérhető lesz az összes index. Nos, vagy azok, akik tudják használni a curl-ot. Ennek elkerülése érdekében az Elasticsearch egy példaképet kínál, amely Basic előfizetéssel (ingyenes) kezdve elérhető. Sematikusan valahogy így néz ki:
Ami a képen van
Felhasználó mindenki, aki a hitelesítő adataival bejelentkezhet.
Az erőforrások indexek, dokumentumok, mezők, felhasználók és egyéb tárolási entitások (egyes erőforrások példaképe csak fizetős előfizetésekkel érhető el).
Alapértelmezés szerint az Elasticsearch rendelkezik doboz felhasználók, amelyhez kapcsolódnak doboz szerepek. Miután engedélyezte a biztonsági beállításokat, azonnal elkezdheti használni őket.
Az Elasticsearch beállításaiban a biztonság engedélyezéséhez hozzá kell adni a konfigurációs fájlhoz (alapértelmezés szerint ez elasticsearch/config/elasticsearch.yml) új sor:
xpack.security.enabled: true
A konfigurációs fájl módosítása után indítsa el vagy indítsa újra az Elasticsearch programot, hogy a módosítások érvénybe lépjenek. A következő lépés a jelszavak hozzárendelése a fiók felhasználóihoz. Tegyük ezt meg interaktívan az alábbi paranccsal:
[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]
Ellenőrizzük:
[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
Megveregetheti magát - az Elasticsearch oldalon a beállítások elkészültek. Itt az ideje a Kibana konfigurálásának. Ha most futtatja, hibák jelennek meg, ezért fontos kulcstároló létrehozása. Ez két paranccsal történik (user kibana és az Elasticsearch jelszó létrehozási lépésénél megadott jelszó):
Ha minden helyes, a Kibana elkezd bejelentkezési nevet és jelszót kérni. Az Alapszintű előfizetés belső felhasználókon alapuló példaképet tartalmaz. A Goldtól kezdve csatlakoztathat külső hitelesítési rendszereket - LDAP, PKI, Active Directory és egyszeri bejelentkezési rendszereket.
Az Elasticsearch-on belüli objektumok hozzáférési jogai szintén korlátozhatók. Ahhoz azonban, hogy ugyanezt megtegye a dokumentumok vagy mezők esetében, fizetős előfizetésre lesz szüksége (ez a luxus a platina szinttel kezdődik). Ezek a beállítások a Kibana felületén vagy ezen keresztül érhetők el Biztonsági API. A már ismerős Fejlesztői eszközök menüben ellenőrizheti:
Amikor az Elasticsearch egy fürtben fut (ami gyakori), a fürtön belüli biztonsági beállítások fontossá válnak. A csomópontok közötti biztonságos kommunikáció érdekében az Elasticsearch a TLS protokollt használja. A köztük lévő biztonságos interakció beállításához tanúsítványra van szüksége. Tanúsítványt és privát kulcsot generálunk PEM formátumban:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
A fenti parancs végrehajtása után a könyvtárban /../elaszticsearch archívum jelenik meg rugalmas-stack-ca.zip. Benne található egy tanúsítvány és egy privát kulcs kiterjesztésekkel katódsugárcső и kulcs illetőleg. Célszerű ezeket egy megosztott erőforrásra helyezni, amely a fürt összes csomópontjáról elérhető legyen.
Minden csomópontnak szüksége van saját tanúsítványokra és privát kulcsokra a megosztott könyvtárban lévők alapján. A parancs végrehajtásakor a rendszer kéri, hogy állítson be egy jelszót. A kölcsönhatásban lévő csomópontok teljes ellenőrzéséhez további -ip és -dns opciókat adhat hozzá.
A parancs végrehajtása eredményeként PKCS#12 formátumú, jelszóval védett tanúsítványt és privát kulcsot kapunk. Már csak a generált fájl áthelyezése van hátra p12 a konfigurációs könyvtárba:
Van egy másik biztonsági lehetőség - IP-cím szűrés (arany szinttől elérhető előfizetéseknél). Lehetővé teszi fehér listák létrehozását azokról az IP-címekről, amelyekről hozzáférhet a csomópontokhoz.
Adatok védelme egy Elasticsearch-fürtön kívül
A fürtön kívül külső eszközök csatlakoztatását jelenti: Kibana, Logstash, Beats vagy más külső kliensek.
A https támogatásának konfigurálásához (a http helyett) adjon hozzá új sorokat az elasticsearch.yml fájlhoz:
A kulcsok hozzáadása után az Elasticsearch csomópontok készen állnak a https-en keresztüli csatlakozásra. Most már elindíthatók.
A következő lépés egy kulcs létrehozása a Kibana csatlakoztatásához és hozzáadása a konfigurációhoz. A megosztott könyvtárban már található tanúsítvány alapján PEM formátumú tanúsítványt generálunk (a PKCS#12 Kibana, Logstash és Beats még nem támogatja):
A kulcsok megvannak, így már csak a Kibana konfigurációját kell megváltoztatni, hogy az elkezdje használni őket. A kibana.yml konfigurációs fájlban módosítsa a http-t https-re, és adjon hozzá sorokat az SSL-kapcsolat beállításaival. Az utolsó három sor a biztonságos kommunikációt konfigurálja a felhasználó böngészője és a Kibana között.
Így a beállítások befejeződnek, és az Elasticsearch fürtben lévő adatokhoz való hozzáférés titkosítva lesz.
Ha kérdése van az Elastic Stack ingyenes vagy fizetős előfizetésekkel, megfigyelési feladatokkal vagy SIEM rendszer létrehozásával kapcsolatos képességeivel kapcsolatban, forduljon hozzánk. visszajelző űrlap weboldalunkon.