Zimbra OSE kaitse brute force ja DoS-rĂŒnnakute eest.

Zimbra Collaboration Suite Open-Source Edition omab oma arsenal mitmeid vĂ”imsaid tööriistu teabe turvamiseks. Nende hulka kuuluvad Postscreen — lahendus, mis kaitseb meiliserverit botnetide rĂŒnnakute eest, ClamAV — viirusetĂ”rje, mis suudab kontrollida sissetulevaid faile ja kirju pahavara olemasolu suhtes, samuti SpamAssassin — ĂŒks parimaid rĂ€mpspostifiltreid tĂ€na. Kuid need tööriistad ei suuda kaitsta Zimbra OSE-d sellise rĂŒnnaku eest nagu bruteforce. Mitte kĂ”ige elegantsem, kuid endiselt piisavalt efektiivne paroolide proovimine erilise sĂ”nastiku kaudu toob kaasa mitte ainult tĂ”enĂ€osuse, et sisse tungimise katse Ă”nnestub koos kĂ”ikide sellest tulenevate tagajĂ€rgedega, vaid ka mĂ€rkimisvÀÀrse koormuse serverile, mis töötleb kĂ”iki ebaĂ”nnestunud katseid Zimbra OSE serveri sisse tungimise katsetamisel.

Zimbra OSE kaitse brute force ja DoS-rĂŒnnakute eest.

PĂ”himĂ”tteliselt saab end bruteforce'i eest kaitsta Zimbra OSE standardsete vahendite abil. Paroolipoliitika seadistused vĂ”imaldavad mÀÀrata ebaĂ”nnestunud paroolisisestuste arvu, pĂ€rast mida potentsiaalselt rĂŒnnatav konto lukustatakse. Peamine probleem sellise lĂ€henemisviisiga on see, et tekkida vĂ”ivad olukorrad, kus ĂŒhe vĂ”i mitme töötaja kontod vĂ”ivad osutuda lukustatud bruteforce'i rĂŒnnaku tĂ”ttu, millega nad ei ole mingil viisil seotud, ja töötajate töökatkestus vĂ”ib ettevĂ”ttele suuri kahjusid tuua. Just seetĂ”ttu on selline kaitsemeetod bruteforce'i eest parem mitte kasutada.

Zimbra OSE kaitse brute force ja DoS-rĂŒnnakute eest.

RĂŒndinger ĂŒksuse kaitsmiseks brute force rĂŒnnakute eest sobib palju paremini spetsiaalne tööriist nimega DoSFilter, mis on integreeritud Zimbra OSE-sse ja suudab automaatselt katkestada ĂŒhenduse Zimbra OSE-ga HTTP kaudu. TeisisĂ”nu, DoSFilteri tööpĂ”himĂ”te on sarnane PostScreeni tööpĂ”himĂ”ttega, kuid seda kasutatakse teise protokolli jaoks. Algusest peale on see mĂ”eldud piirama ĂŒhe kasutaja toimetamiste arvu, kuid DoSFilter suudab samuti pakkuda kaitset brute force rĂŒnnakute eest. Selle peamine erinevus Zimbraw kasutatava sisseehitatud tööriista jĂ€rgi on see, et pĂ€rast teatud arvu ebaĂ”nnestunud katseid blokeerib ta mitte kasutaja, vaid IP-aadressi, millelt palutakse mitu katset mingisse kontosse siseneda. Selle tĂ”ttu suudab sĂŒsteemiadministraator mitte ainult end kaitsta brute force rĂŒnnakute eest, vaid ka vĂ€ltida ettevĂ”tte töötajate blokeerimist, lisades oma ettevĂ”tte sisemise vĂ”rgu usaldusvÀÀrsete IP-aadresside ja alamvĂ”rkude loetellu.

DoSFilteri suur eelis on see, et lisaks mitmete katsete blokeerimisele erinevatesse kontodesse saab selle tööriista abil automaatselt blokeerida ka need kurjategijad, kes on saanud töötaja autentimisdashad ja seejÀrel edukalt tema kontosse sisse pÀÀsenud ning alustanud serverisse sadade pÀringute saatmist.

DoSFilteri seadistamiseks saab kasutada jÀrgmisi kÀsureakÀsku:

  • zimbraHttpDosFilterMaxRequestsPerSec — Selle kĂ€su abil saab mÀÀrata maksimaalse ĂŒhenduste arvu, mis on lubatud ĂŒhe kasutaja jaoks. Vaikimisi on see vÀÀrtus 30 ĂŒhendust.
  • zimbraHttpDosFilterDelayMillis — Selle kĂ€su abil saab mÀÀrata viivituse millisekundites ĂŒhendustele, mis ĂŒletavad eelmise kĂ€suga mÀÀratud piiri. Lisaks tĂ€isarvulistele vÀÀrtustele vĂ”ib administraator mÀÀrata 0, et viivitust ĂŒldse ei oleks, ja -1, et kĂ”ik ĂŒhendused, mis ĂŒletavad mÀÀratud piiri, katkestatakse lihtsalt. Vaikimisi on see vÀÀrtus -1.
  • zimbraHttpThrottleSafeIPs — Selle kĂ€su abil saab administraator mÀÀrata usaldusvÀÀrsed IP-aadressid ja alamvĂ”rgud, millele ei kohaldata ĂŒlaltoodud piiranguid. Tuleb mĂ€rkida, et selle kĂ€su sĂŒntaks vĂ”ib varieeruda sĂ”ltuvalt soovitud tulemusest. NĂ€iteks, sisestades kĂ€su zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, te saate tĂ€ieliku loendi ĂŒle ja jĂ€tate sinna ainult ĂŒhe IP aadressi. Kui sisestate kĂ€skluse zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, lisatakse teie sisestatud IP aadress valgesse nimekirja. Samamoodi saab miinusmĂ€rki kasutades eemaldada mĂ”ne IP aadressi lubatud loendist.

Oluline on mĂ€rkida, et DoSFilter vĂ”ib pĂ”hjustada mitmeid probleeme Zextras Suite Pro laienduste kasutamisel. Soovitame selle tĂ”ttu tĂ”sta samaaegsete ĂŒhenduste arvu 30-lt 100-le kasutades kĂ€sku zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Samuti soovitame lisada ettevĂ”tte sisevĂ”rk lubatud nimekirja. Seda saab teha jĂ€rgmise kĂ€suga zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. PĂ€rast mis tahes muudatuste tegemist DoSFilteris kĂ€ivitage kindlasti meiliserver uuesti kĂ€suga zmmailboxdctl restart.

DoSFilteri suurim puudus on see, et see töötab rakenduse tasemel ja seetĂ”ttu suudab vaid piirata sissetungijate vĂ”imalusi erinevate toimingute tegemiseks serveris, samas kui paroolide autentimise vĂ”i kirjade saatmise jaoks saadetud pĂ€ringud, kuigi need on ette teada, et ebaĂ”nnestuvad, jÀÀvad siiski vanadeks DoS rĂŒnnakuteks, mida ei saa sellisel kĂ”rgel tasemel peatada.

Et tĂ€ielikult turvata oma ettevĂ”tte server Zimbra OSE-ga, saab kasutada sellist lahendust nagu Fail2ban, mis on raamistik, mis suudab pidevalt jĂ€lgida infot SĂŒsteemide logisid korduvate toimingute osas ja blokeerida rikkujaid tulemĂŒĂŒriseadete muutmise kaudu. Sellise madala taseme blokeerimine vĂ”imaldab sissetungijaid peatada otse IP-ĂŒhenduse faasis serveriga. SeetĂ”ttu saab Fail2Ban suurepĂ€raselt tĂ€iendada kaitset, mis on ĂŒles ehitatud DoSFilteriga. Uurime, kuidas saame Fail2Bani Zimbra OSE-ga sĂ”brustada ja seelĂ€bi suurendada teie ettevĂ”tte IT-infrastruktuuri kaitset.

Nagu kĂ”ik muud ettevĂ”tteklassid rakendused, hoiab Zimbra Collaboration Suite Open-Source Edition ĂŒksikasjalikke töölogisid. Enamik neist salvestatakse kaustas /opt/zimbra/log/ failidena. Siin on mĂ”ned neist:

  • mailbox.log — Jetty postiteenuse logid
  • audit.log — autentimise logid
  • clamd.log — viirusetĂ”rje logid
  • freshclam.log — viirusetĂ”rje vĂ€rskenduste logid
  • convertd.log — manuse konverteri logid
  • zimbrastats.csv — serveri jĂ”udluse logid

Zimbra logisid vÔib samuti leida failist /var/log/zimbra.log, kus Postfixi ja Zimbra logid on registreeritud.

Kaitsmiseks brute-force rĂŒnnakute eest jĂ€lgime mailbox.log, audit.log ja zimbra.log.

Selleks, et kĂ”ik toimiks, peab teie Zimbra OSE serverisse olema installitud Fail2Ban ja iptables. Kui kasutate Ubuntu, saate seda teha kĂ€skudega dpkg -s fail2ban, kui aga kasutate CentOS-i, siis saate seda kontrollida kĂ€skudega yum list installed fail2ban. Kui Fail2Ban pole teie sĂŒsteemi installitud, siis selle paigaldamine ei ole probleem, kuna see pakett on praktiliselt kĂ”ikides standaardsetes hoidlates olemas.

PÀrast vajaliku tarkvara installeerimist saate alustada Fail2Bani seadistamist. Selleks tuleb luua konfiguratsioonifail /etc/fail2ban/filter.d/zimbra.conf, kuhu kirjutame Zimbra OSE logidele vastavad regulaaravaldised, mis seonduvad vale sisselogimisproovidega ja aktiveerivad Fail2Bani mehhanismid. Siin on nÀide zimbra.conf-i sisust, mis sisaldab erinevate vigade regulaaravaldisi, mis ilmnevad Zimbra OSE-s ebaÔnnestunud autentimise korral:

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

PÀrast Zimbra OSE regulaaravaldiste koostamist on aeg alustada Fail2Ban konfiguratsiooni redigeerimist. Selle utiliidi seaded asuvad failis /etc/fail2ban/jail.conf. Igaks juhuks teeme sellest varukoopia kÀsuga cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. PÀrast seda viige see fail ligikaudu jÀrgmisse vormi:

# 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, dest=admin@company.ru, sender=fail2ban@company.ru]
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, dest=support@company.ru]
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, dest=support@company.ru ]
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, dest=support@company.ru]
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, dest=support@company.ru]
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, dest=support@company.ru]
logpath = /var/log/zimbra.log
bantime = -1
maxretry = 5

See nĂ€ide on kĂŒllaltki universaalne, kuid tasub selgitada mĂ”ningaid parameetreid, mida vĂ”ite soovida muuta Fail2Bani iseseisva seadistamise korral:

  • Ignoreip — selle parameetri abil saate mĂ€rkida konkreetse IP-aadressi vĂ”i alamvĂ”rgu, mille aadresse Fail2Ban ei tohi kontrollida. TĂŒĂŒpiliselt lisatakse ignoreeritavate hulka ettevĂ”tte sisevĂ”rk ja muud usaldusvÀÀrsed aadressid.
  • Bantime — Aeg, mille jooksul on rikkuja keelatud. Aeg mÔÔdetakse sekundites. VÀÀrtus -1 tĂ€hendab mÀÀramatut keelu.
  • Maxretry — Maksimaalne kordade arv, kui ĂŒks IP-aadress vĂ”ib proovida serverisse pÀÀseda.
  • Sendmail — Seade, mis vĂ”imaldab automaatselt saata e-posti teavitusi Fail2Ban'i aktiveerimise kohta.
  • Findtime — Seade, mis vĂ”imaldab mÀÀrata ajavahemiku, pĂ€rast mille möödumist vĂ”ib IP-aadress uuesti proovida serverisse pÀÀseda pĂ€rast maksimaalsete ebaĂ”nnestunud katsete (parameeter maxretry) ammendumist.

PÀrast Fail2Ban'i seadete faili salvestamist tuleb lihtsalt see utiliit taaskÀivitada kÀsuga service fail2ban restart. PÀrast taaskÀivitamist hakkavad Zimbra peamised logid pidevalt jÀlgima regulaaravaldiste vastavust. TÀnu sellele saab administraator tegelikult vÀlistada mis tahes vÔimaluse sissetungijalt mitte ainult Zimbra Collaboration Suite Open-Source Edition'i poiste postkastidesse sisenemist, vaid ka kaitsta kÔiki Zimbra OSE raames töötavaid teenuseid ning olla kursis mistahes volitamata juurdepÀÀsu katsetest.

KĂŒsimuste korral, mis on seotud Zextras Suite'iga, vĂ”ite pöörduda ettevĂ”tte «Zextras» esindaja Ekaterina Triandafiliidi poole e-posti aadressil katerina@zextras.com

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster