Zimbra OSE ni shafqatsiz kuch va DoS hujumlaridan himoya qiling

Zimbra Collaboration Suite Open-Source Edition axborot xavfsizligini ta'minlash uchun bir nechta kuchli vositalarga ega. Ular orasida Postscreen - pochta serverini botnetlar hujumlaridan himoya qilish uchun yechim, ClamAV - kiruvchi fayllar va xatlarni zararli dasturlar bilan yuqtirish uchun skanerlashi mumkin bo'lgan antivirus, shuningdek SpamAssassin - bugungi kunda eng yaxshi spam filtrlaridan biri. Biroq, bu vositalar Zimbra OSE ni qo'pol kuch hujumlaridan himoya qila olmaydi. Maxsus lug'at yordamida eng oqlangan, ammo baribir juda samarali, qo'pol parollar nafaqat barcha oqibatlarga olib keladigan muvaffaqiyatli xakerlik ehtimoli bilan, balki hamma narsani qayta ishlaydigan serverda sezilarli yukni yaratish bilan ham to'la. Zimbra OSE bilan serverni buzish uchun muvaffaqiyatsiz urinishlar.

Zimbra OSE ni shafqatsiz kuch va DoS hujumlaridan himoya qiling

Asosan, standart Zimbra OSE vositalaridan foydalanib, o'zingizni qo'pol kuchdan himoya qilishingiz mumkin. Parol xavfsizligi siyosati sozlamalari parolni kiritish muvaffaqiyatsiz urinishlar sonini belgilash imkonini beradi, shundan so'ng potentsial hujumga uchragan hisob bloklanadi. Ushbu yondashuvning asosiy muammosi shundaki, bir yoki bir nechta xodimlarning hisoblari hech qanday aloqasi bo'lmagan qo'pol kuch hujumi tufayli bloklanishi mumkin bo'lgan vaziyatlar yuzaga keladi va buning natijasida xodimlarning ishidagi to'xtab qolishlar katta yo'qotishlarga olib kelishi mumkin. shirkat. Shuning uchun qo'pol kuchdan himoya qilishning ushbu variantidan foydalanmaslik yaxshiroqdir.

Zimbra OSE ni shafqatsiz kuch va DoS hujumlaridan himoya qiling

Shafqatsiz kuchdan himoya qilish uchun DoSFilter deb nomlangan maxsus vosita Zimbra OSE ichiga o'rnatilgan va HTTP orqali Zimbra OSE bilan ulanishni avtomatik ravishda to'xtata oladigan juda mos keladi. Boshqacha qilib aytganda, DoSFilterning ishlash printsipi PostScreen-ning ishlash printsipiga o'xshaydi, faqat u boshqa protokol uchun ishlatiladi. Dastlab bitta foydalanuvchi bajarishi mumkin bo'lgan harakatlar sonini cheklash uchun mo'ljallangan, DoSFilter qo'pol kuch himoyasini ham ta'minlay oladi. Uning Zimbra-ga o'rnatilgan vositadan asosiy farqi shundaki, u ma'lum miqdordagi muvaffaqiyatsiz urinishlardan so'ng foydalanuvchining o'zini emas, balki ma'lum bir hisobga kirishga bir necha marta urinishlar qilingan IP-manzilni bloklaydi. Buning yordamida tizim ma'muri nafaqat shafqatsiz kuchdan himoya qila oladi, balki o'z kompaniyasining ichki tarmog'ini ishonchli IP-manzillar va pastki tarmoqlar ro'yxatiga qo'shish orqali kompaniya xodimlarini blokirovka qilishdan qocha oladi.

DoSFilter-ning katta afzalligi shundaki, ma'lum bir hisob qaydnomasiga kirishga bo'lgan ko'plab urinishlardan tashqari, ushbu vositadan foydalanib, siz xodimning autentifikatsiya ma'lumotlarini egallab olgan, keyin uning akkauntiga muvaffaqiyatli kirgan va yuzlab so'rovlarni yuborishni boshlagan buzg'unchilarni avtomatik ravishda bloklashingiz mumkin. serverga.

Quyidagi konsol buyruqlari yordamida DoSFilterni sozlashingiz mumkin:

  • zimbraHttpDosFilterMaxRequestsPerSec β€” Ushbu buyruq yordamida siz bir foydalanuvchi uchun ruxsat etilgan ulanishlarning maksimal sonini belgilashingiz mumkin. Odatiy bo'lib, bu qiymat 30 ta ulanishdir.
  • zimbraHttpDosFilterDelayMillis - Ushbu buyruq yordamida siz oldingi buyruqda belgilangan chegaradan oshib ketadigan ulanishlar uchun kechikishni millisekundlarda belgilashingiz mumkin. Butun son qiymatlaridan tashqari, administrator 0 ni belgilashi mumkin, shunda hech qanday kechikish bo'lmaydi va -1, belgilangan chegaradan oshib ketgan barcha ulanishlar oddiygina uziladi. Standart qiymat -1.
  • zimbraHttpThrottleSafeIPs β€” Ushbu buyruq yordamida administrator yuqorida sanab o'tilgan cheklovlarga duchor bo'lmaydigan ishonchli IP manzillar va quyi tarmoqlarni belgilashi mumkin. E'tibor bering, ushbu buyruqning sintaksisi kerakli natijaga qarab farq qilishi mumkin. Shunday qilib, masalan, buyruqni kiritish orqali zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, siz butun ro'yxatni butunlay qayta yozasiz va unda faqat bitta IP manzilini qoldirasiz. Agar siz buyruqni kiritsangiz zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, siz kiritgan IP manzil oq ro'yxatga qo'shiladi. Xuddi shunday, ayirish belgisidan foydalanib, ruxsat etilgan ro'yxatdan har qanday IPni olib tashlashingiz mumkin.

DoSFilter Zextras Suite Pro kengaytmalaridan foydalanishda bir qator muammolarni keltirib chiqarishi mumkinligini unutmang. Ularning oldini olish uchun buyruq yordamida bir vaqtning o'zida ulanishlar sonini 30 dan 100 gacha oshirishni tavsiya qilamiz. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Bundan tashqari, ruxsat etilganlar ro'yxatiga korxonaning ichki tarmog'ini qo'shishni tavsiya etamiz. Bu buyruq yordamida amalga oshirilishi mumkin zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. DoSFilter-ga har qanday o'zgartirish kiritganingizdan so'ng, buyruq yordamida pochta serveringizni qayta ishga tushirishni unutmang zmmailboxdctl qayta ishga tushiring.

DoSFilter ning asosiy kamchiligi shundaki, u dastur darajasida ishlaydi va shuning uchun shimolga ulanish imkoniyatini cheklamasdan, faqat tajovuzkorlarning serverda turli harakatlarni amalga oshirish imkoniyatini cheklashi mumkin. Shu sababli, autentifikatsiya qilish yoki xatlarni yuborish uchun serverga yuborilgan so'rovlar, garchi ular muvaffaqiyatsiz bo'lsa ham, hali ham yaxshi eski DoS hujumini ifodalaydi, uni bunday yuqori darajada to'xtatib bo'lmaydi.

Zimbra OSE bilan korporativ serveringizni to'liq himoya qilish uchun siz Fail2ban kabi yechimdan foydalanishingiz mumkin, bu tizim axborot tizimi jurnallarini takroriy harakatlar uchun doimiy ravishda kuzatib borishi va xavfsizlik devori sozlamalarini o'zgartirish orqali tajovuzkorni bloklashi mumkin. Bunday past darajada blokirovka qilish serverga IP ulanish bosqichida tajovuzkorlarni o'chirishga imkon beradi. Shunday qilib, Fail2Ban DoSFilter yordamida yaratilgan himoyani mukammal tarzda to'ldirishi mumkin. Keling, qanday qilib Fail2Ban-ni Zimbra OSE bilan ulash va shu bilan korxonangizning IT infratuzilmasi xavfsizligini oshirish mumkinligini bilib olaylik.

Boshqa korporativ toifadagi ilovalar singari, Zimbra Collaboration Suite Open-Source Edition ham o'z ishining batafsil jurnallarini saqlaydi. Ularning aksariyati papkada saqlanadi /opt/zimbra/log/ fayllar shaklida. Mana ulardan bir nechtasi:

  • mailbox.log β€” Jetty pochta xizmati jurnallari
  • audit.log - autentifikatsiya jurnallari
  • clamd.log - antivirus operatsiyalari jurnallari
  • freshclam.log - antivirusni yangilash jurnallari
  • convertd.log β€” biriktirmani oΚ»zgartiruvchi jurnallar
  • zimbrastats.csv - server ishlashi jurnallari

Zimbra jurnallarini faylda ham topish mumkin /var/log/zimbra.log, bu erda Postfix va Zimbra jurnallarining o'zi saqlanadi.

Tizimimizni shafqatsiz kuchlardan himoya qilish uchun biz kuzatib boramiz mailbox.log, audit.log ΠΈ zimbra.log.

Hamma narsa ishlashi uchun Zimbra OSE bilan serveringizda Fail2Ban va iptables o'rnatilgan bo'lishi kerak. Agar siz Ubuntu dan foydalansangiz, buni buyruqlar yordamida qilishingiz mumkin dpkg -s fail2ban, agar siz CentOS dan foydalansangiz, buni buyruqlar yordamida tekshirishingiz mumkin yum ro'yxati o'rnatilgan fail2ban. Agar sizda Fail2Ban o'rnatilmagan bo'lsa, uni o'rnatish muammo bo'lmaydi, chunki bu paket deyarli barcha standart omborlarda mavjud.

Barcha kerakli dasturlar o'rnatilgandan so'ng, siz Fail2Ban-ni sozlashni boshlashingiz mumkin. Buning uchun siz konfiguratsiya faylini yaratishingiz kerak /etc/fail2ban/filter.d/zimbra.conf, unda biz noto'g'ri kirish urinishlariga mos keladigan va Fail2Ban mexanizmlarini ishga tushiradigan Zimbra OSE jurnallari uchun muntazam ifodalarni yozamiz. Bu yerda autentifikatsiyaga urinish muvaffaqiyatsizlikka uchraganida Zimbra OSE chiqaradigan turli xatolarga mos keladigan muntazam iboralar toΚ»plamiga ega zimbra.conf tarkibiga misol keltirilgan:

# Fail2Ban configuration file
 
[Definition]
failregex = [ip=<HOST>;] account - authentication failed for .* (no such account)$
                        [ip=<HOST>;] security - cmd=Auth; .* error=authentication failed for .*, invalid password;$
                        ;oip=<HOST>;.* security - cmd=Auth; .* protocol=soap; error=authentication failed for .* invalid password;$
                        ;oip=<HOST>;.* security - cmd=Auth; .* protocol=imap; error=authentication failed for .* invalid password;$
                        [oip=<HOST>;.* SoapEngine - handler exception: authentication failed for .*, account not found$
                        WARN .*;ip=<HOST>;ua=ZimbraWebClient .* security - cmd=AdminAuth; .* error=authentication failed for .*;$

ignoreregex =

Zimbra OSE uchun odatiy iboralar tuzilgandan so'ng, Fail2ban konfiguratsiyasini tahrirlashni boshlash vaqti keldi. Ushbu yordamchi dastur sozlamalari faylda joylashgan /etc/fail2ban/jail.conf. Har holda, buyruq yordamida uning zaxira nusxasini yarataylik cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Shundan so'ng, biz ushbu faylni taxminan quyidagi shaklga qisqartiramiz:

# Fail2Ban configuration file
 
[DEFAULT]
ignoreip = 192.168.0.1/24
bantime = 600
findtime = 600
maxretry = 5
backend = auto
 
[ssh-iptables]
enabled = false
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, [email protected], [email protected]]
logpath = /var/log/messages
maxretry = 5
 
[sasl-iptables]
enabled = false
filter = sasl
backend = polling
action = iptables[name=sasl, port=smtp, protocol=tcp]
sendmail-whois[name=sasl, [email protected]]
logpath = /var/log/zimbra.log
 
[ssh-tcpwrapper]
enabled = false
filter = sshd
action = hostsdeny
sendmail-whois[name=SSH, dest=support@ company.ru]
ignoreregex = for myuser from
logpath = /var/log/messages
 
[zimbra-account]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-account]
sendmail[name=zimbra-account, [email protected] ]
logpath = /opt/zimbra/log/mailbox.log
bantime = 600
maxretry = 5
 
[zimbra-audit]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-audit]
sendmail[name=Zimbra-audit, [email protected]]
logpath = /opt/zimbra/log/audit.log
bantime = 600
maxretry = 5
 
[zimbra-recipient]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-recipient]
sendmail[name=Zimbra-recipient, [email protected]]
logpath = /var/log/zimbra.log
bantime = 172800
maxretry = 5
 
[postfix]
enabled = true
filter = postfix
action = iptables-multiport[name=postfix, port=smtp, protocol=tcp]
sendmail-buffered[name=Postfix, [email protected]]
logpath = /var/log/zimbra.log
bantime = -1
maxretry = 5

Ushbu misol juda umumiy bo'lsa-da, Fail2Ban-ni o'zingiz sozlashda o'zgartirishingiz mumkin bo'lgan ba'zi parametrlarni tushuntirishga arziydi:

  • E'tibor bermang β€” ushbu parametr yordamida siz Fail2Ban manzillarni tekshirmasligi kerak bo'lgan ma'lum bir IP yoki pastki tarmoqni belgilashingiz mumkin. Qoida tariqasida, korxonaning ichki tarmog'i va boshqa ishonchli manzillar e'tiborga olinmaganlar ro'yxatiga qo'shiladi.
  • Bantime - Huquqbuzarga taqiq qo'yiladigan vaqt. Bir necha soniyalarda o'lchanadi. -1 qiymati doimiy taqiqni bildiradi.
  • Maxretry β€” Bitta IP-manzil serverga kirishga urina oladigan maksimal soni.
  • Pochta yuborish β€” Fail2Ban ishga tushirilganda avtomatik ravishda elektron pochta xabarnomalarini yuborish imkonini beruvchi sozlama.
  • Vaqtni topish β€” Muvaffaqiyatsiz urinishlarning maksimal soni tugagach, IP-manzil serverga yana kirishga urinishi mumkin boΚ»lgan vaqt oraligΚ»ini belgilash imkonini beruvchi sozlama (maxretry parametri)

Faylni Fail2Ban sozlamalari bilan saqlaganingizdan so'ng, buyruq yordamida ushbu yordam dasturini qayta ishga tushirish qoladi. fail2ban xizmatini qayta ishga tushirish. Qayta ishga tushirilgandan so'ng, asosiy Zimbra jurnallari muntazam iboralarga muvofiqligi uchun doimiy ravishda kuzatila boshlaydi. Buning yordamida administrator tajovuzkorning nafaqat Zimbra Collaboration Suite Open-Source Edition pochta qutilariga kirib borishi ehtimolini deyarli yo'q qila oladi, balki Zimbra OSE ichida ishlaydigan barcha xizmatlarni himoya qiladi, shuningdek, ruxsatsiz kirishga urinishlardan xabardor bo'ladi. .

Zextras Suite bilan bog'liq barcha savollar uchun siz Zekstras vakili Yekaterina Triandafilidi bilan elektron pochta orqali bog'lanishingiz mumkin. [elektron pochta bilan himoyalangan]

Manba: www.habr.com

a Izoh qo'shish