Apsaugokite Zimbra OSE nuo brutalios jėgos ir DoS atakų

„Zimbra Collaboration Suite Open-Source Edition“ turi keletą galingų įrankių informacijos saugumui užtikrinti. Tarp jų Postscreen - sprendimas apsaugoti pašto serverį nuo botnetų atakų, ClamAV - antivirusinė programa, galinti nuskaityti gaunamus failus ir laiškus, ar nėra užkrėsti kenkėjiškomis programomis, taip pat SpamAssassin - vienas geriausių šlamšto filtrų šiandien. Tačiau šie įrankiai negali apsaugoti Zimbra OSE nuo žiaurios jėgos atakų. Ne patys elegantiškiausi, bet vis tiek gana veiksmingi brutalūs slaptažodžiai, naudojant specialų žodyną, yra kupini ne tik sėkmingo įsilaužimo su visomis iš to išplaukiančiomis pasekmėmis tikimybe, bet ir didelės apkrovos serveriui, kuris apdoroja visus nesėkmingi bandymai nulaužti serverį su Zimbra OSE.

Apsaugokite Zimbra OSE nuo brutalios jėgos ir DoS atakų

Iš esmės galite apsisaugoti nuo brutalios jėgos naudodami standartinius Zimbra OSE įrankius. Slaptažodžio saugos politikos nustatymai leidžia nustatyti nesėkmingų bandymų įvesti slaptažodį skaičių, po kurių galimai užpulta paskyra blokuojama. Pagrindinė tokio požiūrio problema yra ta, kad susidaro situacijos, kai vieno ar kelių darbuotojų sąskaitos gali būti užblokuotos dėl žiaurios jėgos atakos, su kuria jie neturi ką veikti, o dėl to prastovos darbuotojų darbe gali atnešti didelių nuostolių. kompanija. Štai kodėl geriausia nenaudoti šios apsaugos nuo brutalios jėgos parinkties.

Apsaugokite Zimbra OSE nuo brutalios jėgos ir DoS atakų

Norint apsisaugoti nuo brutalios jėgos, daug geriau tinka specialus įrankis, vadinamas DoSFilter, kuris yra integruotas į Zimbra OSE ir gali automatiškai nutraukti ryšį su Zimbra OSE per HTTP. Kitaip tariant, DoSFilter veikimo principas yra panašus į PostScreen veikimo principą, tik jis naudojamas kitam protokolui. Iš pradžių sukurta siekiant apriboti veiksmų, kuriuos gali atlikti vienas vartotojas, skaičių, „DoSFilter“ taip pat gali užtikrinti apsaugą nuo brutalios jėgos. Pagrindinis jo skirtumas nuo „Zimbra“ įtaisyto įrankio yra tas, kad po tam tikro skaičiaus nesėkmingų bandymų jis blokuoja ne patį vartotoją, o IP adresą, iš kurio kelis kartus bandoma prisijungti prie konkrečios paskyros. Dėl to sistemos administratorius gali ne tik apsisaugoti nuo brutalios jėgos, bet ir išvengti įmonės darbuotojų blokavimo, tiesiog įtraukdamas savo įmonės vidinį tinklą į patikimų IP adresų ir potinklių sąrašą.

Didelis DoSFilter pranašumas yra tas, kad be daugybės bandymų prisijungti prie konkrečios paskyros, naudodamiesi šiuo įrankiu galite automatiškai blokuoti tuos užpuolikus, kurie užvaldė darbuotojo autentifikavimo duomenis, o tada sėkmingai prisijungė prie jo paskyros ir pradėjo siųsti šimtus užklausų. į serverį.

Galite konfigūruoti DoSFilter naudodami šias konsolės komandas:

  • zimbraHttpDosFilterMaxRequestsPerSec — Naudodami šią komandą galite nustatyti didžiausią leistiną jungčių skaičių vienam vartotojui. Pagal numatytuosius nustatymus ši reikšmė yra 30 jungčių.
  • zimbraHttpDosFilterDelayMillis - Naudodami šią komandą galite nustatyti delsą milisekundėmis ryšiams, kurie viršys ankstesnėje komandoje nurodytą ribą. Be sveikųjų skaičių reikšmių administratorius gali nurodyti 0, kad iš viso nebūtų vėlavimo, ir -1, kad visi ryšiai, viršijantys nurodytą ribą, būtų tiesiog nutraukti. Numatytoji reikšmė yra -1.
  • zimbraHttpThrottleSafeIP — Naudodamas šią komandą administratorius gali nurodyti patikimus IP adresus ir potinklius, kuriems nebus taikomi aukščiau išvardyti apribojimai. Atminkite, kad šios komandos sintaksė gali skirtis priklausomai nuo norimo rezultato. Taigi, pavyzdžiui, įvesdami komandą zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, jūs visiškai perrašysite visą sąrašą ir paliksite jame tik vieną IP adresą. Jei įvesite komandą zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, įvestas IP adresas bus įtrauktas į baltąjį sąrašą. Panašiai, naudodami atimties ženklą, galite pašalinti bet kurį IP iš leidžiamo sąrašo.

Atminkite, kad naudojant „Zextras Suite Pro“ plėtinius „DoSFilter“ gali sukelti daug problemų. Norėdami jų išvengti, rekomenduojame padidinti vienalaikių jungčių skaičių nuo 30 iki 100 naudojant komandą zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Be to, rekomenduojame įtraukti įmonės vidinį tinklą į leidžiamų tinklų sąrašą. Tai galima padaryti naudojant komandą zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Atlikę bet kokius DoSFilter pakeitimus, būtinai iš naujo paleiskite pašto serverį naudodami komandą zmmailboxdctl paleiskite iš naujo.

Pagrindinis DoSFilter trūkumas yra tas, kad jis veikia programos lygiu, todėl gali tik apriboti užpuolikų galimybes atlikti įvairius veiksmus serveryje, neribodamas galimybės prisijungti prie šiaurės. Dėl šios priežasties serveriui siunčiamos autentifikavimo arba laiškų siuntimo užklausos, nors jos akivaizdžiai nepavyks, vis tiek bus sena gera DoS ataka, kurios negalima sustabdyti tokiame aukštame lygyje.

Norėdami visiškai apsaugoti savo įmonės serverį su Zimbra OSE, galite naudoti tokį sprendimą kaip Fail2ban, kuris yra sistema, galinti nuolat stebėti informacinės sistemos žurnalus dėl pasikartojančių veiksmų ir blokuoti įsibrovėlį keičiant ugniasienės nustatymus. Blokavimas tokiu žemu lygiu leidžia išjungti užpuolikus IP prisijungimo prie serverio etape. Taigi Fail2Ban gali puikiai papildyti apsaugą, sukurtą naudojant DoSFilter. Išsiaiškinkime, kaip galite sujungti Fail2Ban su Zimbra OSE ir taip padidinti savo įmonės IT infrastruktūros saugumą.

Kaip ir bet kuri kita verslo klasės programa, „Zimbra Collaboration Suite Open-Source Edition“ saugo išsamius savo darbo žurnalus. Dauguma jų yra saugomi aplanke /opt/zimbra/log/ failų pavidalu. Štai tik keletas iš jų:

  • mailbox.log – „Jetty“ pašto paslaugų žurnalai
  • audit.log – autentifikavimo žurnalai
  • clamd.log – antivirusinių operacijų žurnalai
  • freshclam.log – antivirusinių naujinimų žurnalai
  • convertd.log – priedų keitiklio žurnalai
  • zimbrastats.csv – serverio našumo žurnalai

„Zimbra“ žurnalus taip pat galima rasti faile /var/log/zimbra.log, kur saugomi Postfix ir pačios Zimbros žurnalai.

Siekdami apsaugoti savo sistemą nuo žiaurios jėgos, stebėsime pašto dėžutė.logas, auditas.log и zimbra.log.

Kad viskas veiktų, būtina, kad jūsų serveryje su Zimbra OSE būtų įdiegta Fail2Ban ir iptables. Jei naudojate Ubuntu, tai galite padaryti naudodami komandas dpkg -s fail2ban, jei naudojate CentOS, galite tai patikrinti naudodami komandas yum list įdiegtas fail2ban. Jei nesate įdiegę „Fail2Ban“, jį įdiegti nebus problemų, nes šis paketas yra beveik visose standartinėse saugyklose.

Įdiegę visą reikiamą programinę įrangą galite pradėti „Fail2Ban“ sąranką. Norėdami tai padaryti, turite sukurti konfigūracijos failą /etc/fail2ban/filter.d/zimbra.conf, kuriame rašysime reguliariąsias išraiškas Zimbra OSE žurnalams, kurios atitiks neteisingus prisijungimo bandymus ir suaktyvins Fail2Ban mechanizmus. Štai zimbra.conf turinio pavyzdys su reguliariųjų išraiškų rinkiniu, atitinkančiu įvairias klaidas, kurias Zimbra OSE išmeta, kai nepavyksta autentifikuoti:

# 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 =

Kai bus sukompiliuotos įprastos Zimbra OSE išraiškos, laikas pradėti redaguoti pačios Fail2ban konfigūraciją. Šios programos nustatymai yra faile /etc/fail2ban/jail.conf. Tik tuo atveju sukurkime atsarginę jo kopiją naudodami komandą cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Po to šį failą sumažinsime iki maždaug tokios formos:

# 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

Nors šis pavyzdys yra gana bendras, vis tiek verta paaiškinti kai kuriuos parametrus, kuriuos galbūt norėsite pakeisti patys nustatydami Fail2Ban:

  • Ignoruoti — naudodami šį parametrą galite nurodyti konkretų IP arba potinklį, iš kurio Fail2Ban neturėtų tikrinti adresų. Paprastai į ignoruojamų sąrašą įtraukiamas vidinis įmonės tinklas ir kiti patikimi adresai.
  • Bantime — Laikas, kuriam nusikaltėliui bus uždrausta. Matuojama sekundėmis. Vertė -1 reiškia nuolatinį draudimą.
  • Maksretrija — Didžiausias skaičius kartų, kai vienas IP adresas gali bandyti pasiekti serverį.
  • Išsiųsti laišką – Nustatymas, leidžiantis automatiškai siųsti pranešimus el. paštu, kai suveikia Fail2Ban.
  • Rasti laiko — Nustatymas, leidžiantis nustatyti laiko intervalą, po kurio IP adresas gali vėl bandyti prisijungti prie serverio, kai išnaudojamas maksimalus nesėkmingų bandymų skaičius (parametras „maxretry“)

Išsaugojus failą su Fail2Ban nustatymais, belieka iš naujo paleisti šią priemonę naudojant komandą paslauga fail2ban paleisti iš naujo. Paleidus iš naujo, pagrindiniai „Zimbra“ žurnalai bus nuolat stebimi, ar jie atitinka reguliariąsias išraiškas. Dėl to administratorius galės praktiškai pašalinti bet kokią galimybę, kad užpuolikas įsiskverbs ne tik į Zimbra Collaboration Suite Open-Source Edition pašto dėžutes, bet ir apsaugo visas Zimbra OSE veikiančias paslaugas, taip pat žinos apie bet kokius bandymus gauti neteisėtą prieigą. .

Visais su Zextras Suite susijusiais klausimais galite kreiptis į Zextras atstovę Ekaterina Triandafilidi el. [apsaugotas el. paštu]

Šaltinis: www.habr.com

Добавить комментарий