muqaddima
Bizning "do'stligimiz" ikki yil oldin boshlangan. Men yangi ish joyiga keldim, u erda oldingi administrator tasodifan menga ushbu dasturni meros qilib qoldirdi. Internetda rasmiy hujjatlardan boshqa hech narsa topa olmadim. Hozir ham, agar siz google-da "rud" ni qidirsangiz, 99% hollarda u paydo bo'ladi: kema rullari va kvadrokopterlar. Men unga yondashuvni topishga muvaffaq bo'ldim. Ushbu dasturiy ta'minotning hamjamiyati ahamiyatsiz bo'lgani uchun men o'z tajribam va rakeimni baham ko'rishga qaror qildim. O'ylaymanki, bu kimgadir foydali bo'ladi.
Shunday qilib, Rudder
Rudder - bu tizim konfiguratsiyasini avtomatlashtirishga yordam beradigan ochiq manbali audit va konfiguratsiyani boshqarish yordam dasturi. U har bir oxirgi foydalanuvchi uchun agentni o'rnatish printsipi asosida ishlaydi. Qulay interfeys orqali biz infratuzilmamiz belgilangan barcha siyosatlarga qanchalik mos kelishini kuzatishimiz mumkin.
foydalanish
Quyida men Rudderdan nima uchun foydalanayotganimni sanab o'taman.
-
Fayllar va konfiguratsiyalarni boshqarish: ./ssh/authorized_keys ; /etc/hosts ; iptables; (va keyin sizning tasavvuringiz qayerga olib boradi)
-
O'rnatilgan paketlarni boshqarish: zabbix.agent yoki boshqa har qanday dastur
Serverni o'rnatish
Yaqinda men 5-versiyadan 6.1-ga yangiladim, hamma narsa yaxshi o'tdi. Quyida Deban/Ubuntu uchun buyruqlar mavjud, ammo qo'llab-quvvatlash ham mavjud:
Sizni chalg'itmaslik uchun o'rnatishni spoylerlarda yashiraman.
Spoiler
Bog'liqlar
Rudder-server Java RE-ning kamida 8-versiyasini talab qiladi, uni standart ombordan o'rnatish mumkin:
O'rnatilgan yoki yo'qligini tekshirish
java -version
xulosa bo'lsa
-bash: java: command not found
keyin o'rnating
apt install default-jre
Server
Kalit import qilinmoqda
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Mana, chop etishning o'zi
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Bizda pulli obuna yo'qligi sababli, biz quyidagi omborni qo'shamiz
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Omborlar ro'yxatini yangilang va serverni o'rnating
apt update
apt install rudder-server-root
Foydalanuvchi administratorini yarating
rudder server create-user -u admin -p "Ваш Пароль"
Kelajakda foydalanuvchilarni konfiguratsiya orqali boshqarishimiz mumkin
Hammasi, server tayyor.
Serverni sozlash
Endi siz rul agentiga agentlarning IP manzillarini yoki butun ichki tarmoqni qo'shishingiz kerak, biz xavfsizlik siyosatiga e'tibor qaratamiz.
Sozlamalar -> Umumiy
"Tarmoq qo'shish" maydoniga x.x.x.x/xx formatida manzil va niqobni kiriting. Ichki tarmoqning barcha manzillaridan kirishga ruxsat berish uchun (Agar bu sinov tarmog'i bo'lmasa va siz NAT dan orqada bo'lmasangiz): 0.0.0.0/0 kiriting.
Muhim - IP-manzilni qo'shgandan so'ng, "O'zgarishlarni saqlash" tugmasini bosishni unutmang, aks holda hech narsa saqlanmaydi.
Portlar
Serverda quyidagi portlarni oching
-
443 - tsp
-
5309 - tsp
-
514 - udp
Biz serverning dastlabki sozlamalarini saralab oldik.
Agent o'rnatish
Spoiler
Kalit qo'shish
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Kalit barmoq izi
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Repozitoriy qo'shish
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Agentni o'rnatish
apt update
apt install rudder-agent
Agentni sozlash
Biz agentga siyosat serverining IP manzilini ko'rsatamiz
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Quyidagi buyruqni ishga tushirish orqali biz serverga yangi agent qo'shish so'rovini yuboramiz, bir necha daqiqadan so'ng u yangi agentlar ro'yxatida paydo bo'ladi, men keyingi bo'limda qanday qo'shishni tushuntiraman.
rudder agent inventory
Shuningdek, biz agentni ishga tushirishga majburlashimiz mumkin va u so'rovni darhol yuboradi
rudder agent run
Bizning agentimiz o'rnatildi, davom etaylik.
Agentlarni qo'shish
Tizimga kirish
https://127.0.0.1/rudder/index.html
Sizning agentingiz "Yangi tugunlarni qabul qilish" bo'limida paydo bo'ladi, katakchani belgilang va "Qabul qilish" tugmasini bosing
Tizim serverni muvofiqligini tekshirguncha biroz vaqt ketishi kerak
Server guruhlarini yaratish
Keling, guruh yarataylik (bu hali ham o'yin-kulgi), ishlab chiquvchilar nima uchun bunday jirkanch guruhni tashkil qilishganini bilmayman, lekin men tushunganimdek, boshqa yo'l yo'q. Tugunni boshqarish -> Guruhlar bo'limiga o'ting va Yaratish-ni bosing, statik guruh va nomni tanlang.
Biz kerakli serverni maxsus xususiyatlar bo'yicha, masalan, IP manzili bo'yicha filtrlaymiz va saqlaymiz
Guruh tuzilgan.
Qoidalarni o'rnatish
Konfiguratsiya siyosati → Qoidalarga o'ting va yangi qoida yarating
Oldindan tayyorlangan guruhni qo'shing (buni keyinroq qilish mumkin)
Va biz yangi direktivani shakllantiramiz
Keling, .ssh/authorized_keys ga ochiq kalitlarni qo'shish uchun direktiv yarataylik. Men buni yangi xodim ketganda yoki qayta sug'urta qilish uchun ishlataman, masalan, kimdir tasodifan kalitimni kesib tashlasa.
Konfiguratsiya siyosati → Ko'rsatmalarga o'ting chap tomonda biz "Direktiv kutubxona" ni ko'ramiz. "Masofaviy kirish → SSH vakolatli kalitlari" ni toping, o'ng tomonda "Direktivani yaratish" tugmasini bosing.
Biz foydalanuvchi haqidagi ma'lumotlarni kiritamiz va uning kalitini qo'shamiz. Keyin dastur siyosatini tanlang
-
Global - standart siyosat
-
Enforce - tanlangan serverlarda bajarish
-
Audit - audit o'tkazadi va qaysi mijozlarda kalit borligini aytadi
Bizning qoidamizni ko'rsatishga ishonch hosil qiling
Keyin saqlang va siz tugatasiz.
Tekshirish
Kalit muvaffaqiyatli qo‘shildi
bulochka
Agent server haqida to'liq ma'lumot beradi. Quyidagi skrinshotda ko'rishingiz mumkin bo'lgan o'rnatilgan paketlar, interfeyslar, ochiq portlar va boshqalar ro'yxati
Siz dasturiy ta'minotni nafaqat Linuxda, balki Windows-da ham o'rnatishingiz va boshqarishingiz mumkin, men ikkinchisini tekshirmadim, kerak emas edi..
Muallifdan
Siz so'rashingiz mumkin, agar ansible va qo'g'irchoq allaqachon ixtiro qilingan bo'lsa, nega g'ildirakni qayta ixtiro qilish kerak?
Men javob beraman: Ansible-ning kamchiliklari bor, masalan, biz ushbu konfiguratsiya hozir qanday holatda ekanligini yoki rolni yoki o'yin kitobini ishga tushirganingizda tanish vaziyatni ko'rmayapmiz va xatoliklar paydo bo'ladi va siz serverga chiqishni boshlaysiz va ko'rasiz. qaysi paket qayerda yangilangan. Va men shunchaki qo'g'irchoq bilan ishlamadim..
Rudderning kamchiliklari bormi? Ko'p.. Agentlar tushib qolishi va siz ularni qayta o'rnatishingiz yoki rulni qayta o'rnatish buyrug'ini ishlatishingiz kerakligidan boshlab. (Ammo, aytmoqchi, men buni hali 6-versiyada ko'rmadim), natijada juda murakkab sozlash va mantiqsiz interfeys paydo bo'ldi.
Afzalliklar bormi? Bundan tashqari, ko'plab afzalliklar mavjud: taniqli Ansible-dan farqli o'laroq, bizda veb-interfeys mavjud bo'lib, unda siz biz qo'llagan muvofiqlikni ko'rishingiz mumkin. Masalan, portlar dunyoga chiqib turadimi, xavfsizlik devori holati qanday, xavfsizlik agentlari yoki boshqa gadjetlar o'rnatilgan.
Ushbu dasturiy ta'minot axborot xavfsizligi bo'limi uchun juda mos keladi, chunki infratuzilmaning holati har doim sizning ko'zingiz oldida bo'ladi va agar biron bir qoidalar qizil rangda yonsa, bu serverga tashrif buyurish uchun sababdir. Aytganimdek, men Rudderdan 2 yildan beri foydalanaman, agar siz ozgina cheksangiz, hayot yaxshilanadi. Katta infratuzilmadagi eng qiyin narsa shundaki, siz server qanday holatda ekanligini, iyun xavfsizlik agentlarini o'rnatishni o'tkazib yuborganmi yoki u iptables-ni to'g'ri sozlaganmi yoki yo'qligini eslay olmaysiz, ammo rul barcha voqealardan xabardor bo'lishga yordam beradi. Ogoh, qurolli degani! )
P.S. Bu men rejalashtirganimdan ancha ko'p bo'ldi, men paketlarni qanday o'rnatishni tasvirlamayman, agar to'satdan so'rovlar bo'lsa, men ikkinchi qismni yozaman.
P.S.S Maqola maʼlumot uchun moʻljallangan, internetda maʼlumotlar juda kam boʻlgani uchun uni baham koʻrishga qaror qildim. Ehtimol, bu kimgadir qiziqarli bo'ladi. Xayrli kun, aziz do'stlar)
Reklama huquqlari to'g'risida
Epik serverlar Ismi?
Manba: www.habr.com