ProHoster > Blog > Ma'muriyat > Qulf va kalit ostida elastik: ichkaridan va tashqaridan kirish uchun Elasticsearch klasterining xavfsizlik imkoniyatlarini yoqish
Qulf va kalit ostida elastik: ichkaridan va tashqaridan kirish uchun Elasticsearch klasterining xavfsizlik imkoniyatlarini yoqish
Elastic Stack - bu SIEM tizimlari bozorida taniqli vosita (aslida nafaqat ular). U juda ko'p turli o'lchamdagi ma'lumotlarni to'plashi mumkin, ham nozik, ham juda sezgir bo'lmagan. Elastik stack elementlariga kirishning o'zi himoyalanmagan bo'lsa, bu mutlaqo to'g'ri emas. Odatiy bo'lib, barcha Elastik elementlar (Elasticsearch, Logstash, Kibana va Beats kollektorlari) ochiq protokollarda ishlaydi. Va Kibananing o'zida autentifikatsiya o'chirilgan. Ushbu o'zaro ta'sirlarning barchasi xavfsiz bo'lishi mumkin va ushbu maqolada buni qanday qilishni sizga aytamiz. Qulaylik uchun biz hikoyani 3 ta semantik blokga ajratdik:
Rolga asoslangan ma'lumotlarga kirish modeli
Elasticsearch klasterida ma'lumotlar xavfsizligi
Elasticsearch klasteridan tashqarida ma'lumotlarni himoya qilish
Kesish ostidagi tafsilotlar.
Rolga asoslangan ma'lumotlarga kirish modeli
Agar siz Elasticsearch-ni o'rnatsangiz va uni hech qanday tarzda sozlamasangiz, barcha indekslarga kirish hamma uchun ochiq bo'ladi. Xo'sh, yoki curldan foydalanishi mumkin bo'lganlar. Bunga yo'l qo'ymaslik uchun Elasticsearch asosiy obunadan (bu bepul) boshlab mavjud bo'lgan namunaga ega. Sxematik tarzda u shunday ko'rinadi:
Rasmda nima bor
Foydalanuvchilar hisob ma'lumotlari yordamida tizimga kirishi mumkin bo'lgan har bir kishidir.
Resurslar indekslar, hujjatlar, maydonlar, foydalanuvchilar va boshqa saqlash ob'ektlari (ba'zi manbalar uchun namuna faqat pullik obunalarda mavjud).
Odatiy bo'lib Elasticsearch mavjud quti foydalanuvchilari, ular biriktirilgan quti rollari. Xavfsizlik sozlamalarini yoqsangiz, ulardan darhol foydalanishni boshlashingiz mumkin.
Elasticsearch sozlamalarida xavfsizlikni yoqish uchun uni konfiguratsiya fayliga qo'shishingiz kerak (sukut bo'yicha bu elasticsearch/config/elasticsearch.yml) yangi qator:
xpack.security.enabled: true
Konfiguratsiya faylini o'zgartirgandan so'ng, o'zgarishlar kuchga kirishi uchun Elasticsearch-ni ishga tushiring yoki qayta ishga tushiring. Keyingi qadam - foydalanuvchilarga parollar belgilash. Buni quyidagi buyruq yordamida interaktiv tarzda bajaramiz:
[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]
Biz tekshiramiz:
[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
O'zingizni orqa tomondan silashingiz mumkin - Elasticsearch tomonidagi sozlamalar tugallandi. Endi Kibana-ni sozlash vaqti keldi. Agar siz uni hozir ishga tushirsangiz, xatolar paydo bo'ladi, shuning uchun kalit do'konini yaratish muhimdir. Bu ikkita buyruqda amalga oshiriladi (user kibana va Elasticsearch-da parol yaratish bosqichida kiritilgan parol):
Agar hamma narsa to'g'ri bo'lsa, Kibana login va parolni so'ray boshlaydi. Asosiy obuna ichki foydalanuvchilarga asoslangan namunani o'z ichiga oladi. Gold bilan boshlab, siz tashqi autentifikatsiya tizimlarini - LDAP, PKI, Active Directory va yagona tizimga kirish tizimlarini ulashingiz mumkin.
Elasticsearch ichidagi ob'ektlarga kirish huquqlari ham cheklanishi mumkin. Biroq, hujjatlar yoki maydonlar uchun xuddi shunday qilish uchun sizga pullik obuna kerak bo'ladi (bu hashamat Platinum darajasidan boshlanadi). Ushbu sozlamalar Kibana interfeysida yoki orqali mavjud Xavfsizlik API. Siz allaqachon tanish bo'lgan Dev Tools menyusi orqali tekshirishingiz mumkin:
Elasticsearch klasterda ishlaganda (bu keng tarqalgan), klaster ichidagi xavfsizlik sozlamalari muhim bo'ladi. Tugunlar orasidagi xavfsiz aloqa uchun Elasticsearch TLS protokolidan foydalanadi. Ular o'rtasida xavfsiz o'zaro aloqani o'rnatish uchun sizga sertifikat kerak. PEM formatida sertifikat va shaxsiy kalit yaratamiz:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
Yuqoridagi buyruqni bajargandan so'ng, katalogda /../elasticsearch arxiv paydo bo'ladi elastic-stack-ca.zip. Uning ichida siz sertifikat va kengaytmali shaxsiy kalitni topasiz crt ΠΈ kalit mos ravishda. Ularni klasterdagi barcha tugunlardan foydalanish mumkin bo'lgan umumiy resursga qo'yish tavsiya etiladi.
Endi har bir tugunga umumiy katalogdagilarga asoslangan shaxsiy sertifikatlar va shaxsiy kalitlar kerak. Buyruqni bajarayotganda sizdan parol o'rnatish so'raladi. O'zaro ta'sir qiluvchi tugunlarni to'liq tekshirish uchun qo'shimcha -ip va -dns opsiyalarini qo'shishingiz mumkin.
Buyruqni bajarish natijasida biz parol bilan himoyalangan PKCS#12 formatidagi sertifikat va shaxsiy kalitni olamiz. Faqat yaratilgan faylni ko'chirish qoladi p12 konfiguratsiya katalogiga:
Biz barcha Elasticsearch tugunlarini ishga tushiramiz va bajaramiz kΔ±vrΔ±m. Agar hamma narsa to'g'ri bajarilgan bo'lsa, bir nechta tugunli javob qaytariladi:
Yana bir xavfsizlik varianti mavjud - IP-manzilni filtrlash (Oltin darajadagi obunalarda mavjud). Tugunlarga kirishga ruxsat berilgan IP manzillarining oq ro'yxatlarini yaratishga imkon beradi.
Elasticsearch klasteridan tashqarida ma'lumotlarni himoya qilish
Klasterdan tashqari tashqi vositalarni ulash demakdir: Kibana, Logstash, Beats yoki boshqa tashqi mijozlar.
https qo'llab-quvvatlashni sozlash uchun (http o'rniga) elasticsearch.yml saytiga yangi qatorlarni qo'shing:
Kalitlarni qo'shgandan so'ng, Elasticsearch tugunlari https orqali ulanishga tayyor. Endi ular ishga tushirilishi mumkin.
Keyingi qadam Kibana-ni ulash uchun kalit yaratish va uni konfiguratsiyaga qo'shishdir. Umumiy katalogda allaqachon joylashgan sertifikat asosida biz PEM formatida sertifikat yaratamiz (PKCS#12 Kibana, Logstash va Beats hali qo'llab-quvvatlamaydi):
Kalitlar mavjud, shuning uchun faqat Kibana konfiguratsiyasini o'zgartirish qoladi, shunda u ulardan foydalanishni boshlaydi. Kibana.yml konfiguratsiya faylida http-ni https-ga o'zgartiring va SSL ulanish sozlamalari bilan qatorlarni qo'shing. Oxirgi uchta satr foydalanuvchi brauzeri va Kibana o'rtasidagi xavfsiz aloqani sozlaydi.
Shunday qilib, sozlamalar tugallandi va Elasticsearch klasteridagi ma'lumotlarga kirish shifrlangan.
Bepul yoki pullik obunalarda Elastic Stack imkoniyatlari, monitoring vazifalari yoki SIEM tizimini yaratish haqida savollaringiz bo'lsa, quyidagi manzilga so'rov qoldiring. fikr-mulohaza shakli bizning veb-saytimizda.