Zimbra OSE kaitsmine toore jõu ja DoS rünnakute eest

Zimbra Collaboration Suite Open-Source Editionil on infoturbe tagamiseks mitu võimsat tööriista. Nende hulgas Järelekraan — lahendus meiliserveri kaitsmiseks botnettide rünnakute eest, ClamAV — viirusetõrje, mis suudab skannida sissetulevaid faile ja e-kirju pahavaraga nakatumise suhtes, ja SpamAssassin üks parimaid rämpspostifiltreid tänapäeval. Kuid need tööriistad ei suuda kaitsta Zimbra OSE-d seda tüüpi rünnakute, näiteks toore jõu eest. Mitte just kõige elegantsem, kuid siiski üsna tõhus parooli toore jõud, kasutades spetsiaalset sõnastikku, ei ole täis mitte ainult eduka häkkimise tõenäosust koos kõigi sellest tulenevate tagajärgedega, vaid ka märkimisväärse koormuse tekitamist serverile, mis töötleb kõiki ebaõnnestunud katseid. serveri häkkimiseks Zimbra OSE-ga.

Zimbra OSE kaitsmine toore jõu ja DoS rünnakute eest

Põhimõtteliselt saate end jõhkra jõu eest kaitsta tavaliste Zimbra OSE tööriistade abil. Parooli turvapoliitika seaded võimaldavad määrata ebaõnnestunud parooli sisestamise katsete arvu, mille järel potentsiaalselt rünnatav konto blokeeritakse. Selle lähenemisviisi peamine probleem on see, et on olukordi, kus ühe või mitme töötaja kontod võivad olla blokeeritud jõhkra jõu rünnaku tõttu, millega neil pole midagi teha, ja sellest tulenevad seisakud töötajate töös võivad tuua suuri kahju ettevõttele. Sellepärast on parem seda toore jõu eest kaitsmise võimalust mitte kasutada.

Zimbra OSE kaitsmine toore jõu ja DoS rünnakute eest

Toore jõu eest kaitsmiseks sobib palju paremini spetsiaalne tööriist nimega DoSFilter, mis on sisse ehitatud Zimbra OSE-sse ja suudab automaatselt katkestada ühenduse Zimbra OSE-ga HTTP kaudu. Teisisõnu on DoSFilteri põhimõte sarnane PostScreeni põhimõttele, ainult et seda kasutatakse erineva protokolli jaoks. Algselt mõeldud ühe kasutaja tegevuste arvu piiramiseks, võib DoSFilter pakkuda kaitset ka toore jõu eest. Selle peamine erinevus Zimbrasse sisseehitatud tööriistast seisneb selles, et pärast teatud arvu ebaõnnestunud katseid ei blokeeri see mitte kasutajat ennast, vaid IP-aadressi, millelt üritatakse mitu korda ühele või teisele kontole sisse logida. Tänu sellele saab süsteemiadministraator mitte ainult kaitsta end toore jõu eest, vaid ka vältida ettevõtte töötajate blokeerimist, lisades lihtsalt oma ettevõtte sisevõrgu usaldusväärsete IP-aadresside ja alamvõrkude loendisse.

DoSFilteri suur eelis on see, et lisaks arvukatele ühele või teisele kontole sisselogimiskatsetele saate selle tööriista abil automaatselt blokeerida need sissetungijad, kes said töötaja autentimisandmed enda valdusse, logisid seejärel edukalt sisse tema kontole ja hakkasid saatma sadu. päringute kohta serverile.

DoSFilteri saate konfigureerida järgmiste konsoolikäskude abil:

  • zimbraHttpDosFilterMaxRequestsPerSec - Selle käsuga saate määrata maksimaalse lubatud ühenduste arvu kasutaja kohta. Vaikimisi on see väärtus 30 ühendust.
  • zimbraHttpDosFilterDelayMillis - Selle käsuga saate määrata viivituse millisekundites ühendustele, mis ületavad eelmise käsuga määratud piiri. Lisaks täisarvu väärtustele saab administraator määrata 0, et viivitust ei tekiks, samuti -1, et lihtsalt lõpetada kõik määratud limiidi ületavad ühendused. Vaikimisi on see väärtus –1.
  • zimbraHttpThrottleSafeIP-id - Selle käsu abil saab administraator määrata usaldusväärsed IP-aadressid ja alamvõrgud, mida ülaltoodud piirangud ei mõjuta. Pange tähele, et selle käsu süntaks võib olenevalt soovitud tulemusest erineda. Nii näiteks käsu sisestamisega zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, kirjutate kogu loendi täielikult üle ja jätate sinna ainult ühe IP-aadressi. Kui sisestate käsu zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, lisatakse teie sisestatud IP-aadress valgesse nimekirja. Samamoodi saate lahutamismärgi abil eemaldada lubatud loendist mis tahes IP-aadressi.

Pange tähele, et DoSFilter võib Zextras Suite Pro laienduste kasutamisel tekitada mitmeid probleeme. Nende vältimiseks soovitame käsu abil suurendada samaaegsete ühenduste arvu 30-lt 100-le zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Lisaks soovitame lisada lubatud loendisse ka ettevõtte sisevõrgu. Seda saate teha käsuga zmprov mcf +zimbraHttpThrottleSafeIP-id 192.168.0.0/24. Pärast DoSFilteris muudatuste tegemist taaskäivitage meiliserver käsuga zmmailboxdctl taaskäivitage.

DoSFilteri peamiseks puuduseks on see, et see töötab rakenduste tasemel ja seetõttu saab see piirata ainult ründajate võimet teha serveris erinevaid toiminguid, piiramata serveriga ühenduse loomise võimalust. Seetõttu jäävad serverisse autentimiseks või kirjade saatmiseks saadetud päringud, kuigi ilmselgelt ebaõnnestuvad, siiski vana hea DoS-rünnak, mida nii kõrgel tasemel peatada ei saa.

Ettevõtte serveri täielikuks turvamiseks Zimbra OSE-ga saab kasutada sellist lahendust nagu Fail2ban, mis on raamistik, mis suudab pidevalt jälgida infosüsteemi logisid korduvate toimingute suhtes ja tulemüüri seadeid muutes sissetungijat blokeerida. Nii madalal tasemel blokeerimine võimaldab teil sissetungijad keelata kohe serveriga IP-ühenduse loomise etapis. Seega saab Fail2Ban suurepäraselt täiendada DoSFilteriga ehitatud kaitset. Uurime, kuidas saate Fail2Ban Zimbra OSE-ga sõbraks saada ja seeläbi oma ettevõtte IT-infrastruktuuri turvalisust suurendada.

Nagu iga teinegi ettevõtteklassi rakendus, peab Zimbra Collaboration Suite avatud lähtekoodiga väljaanne oma töö kohta üksikasjalikke logisid. Enamik neist on salvestatud kausta /opt/zimbra/log/ failide kujul. Siin on vaid mõned neist:

  • mailbox.log – Jetty meiliteenuste logid
  • audit.log – autentimislogid
  • clamd.log – viirusetõrje toimingute logid
  • freshclam.log – viirusetõrje värskenduste logid
  • convertd.log – manusemuunduri logid
  • zimbrastats.csv – serveri toimivuse logid

Failist leiate ka Zimbra logid /var/log/zimbra.log, kus peetakse Postfixi ja Zimbra enda logisid.

Selleks et kaitsta oma süsteemi toore jõu eest, jälgime postkast.log, audit.log и zimbra.log.

Et kõik toimiks, peavad teie Zimbra OSE serverisse olema installitud Fail2Ban ja iptables. Kui kasutate Ubuntut, saate seda teha käskude abil dpkg -s fail2ban, kui kasutate CentOS-i, saate seda kontrollida käskude abil yum list installitud fail2ban. Kui teil pole Fail2Bani installitud, pole selle installimine probleem, kuna see pakett on peaaegu kõigis standardsetes hoidlates.

Kui kogu vajalik tarkvara on installitud, võite alustada Fail2Bani seadistamist. Selleks peate looma konfiguratsioonifaili /etc/fail2ban/filter.d/zimbra.conf, kuhu kirjutame Zimbra OSE logide jaoks regulaaravaldised, mis vastavad kehtetutele sisselogimiskatsetele ja käivitavad Fail2Ban mehhanismid. Siin on näide faili zimbra.conf sisust koos regulaaravaldiste komplektiga, mis vastavad Zimbra OSE-s erinevatele vigadele, kui autentimiskatse ebaõnnestub:

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

Kui Zimbra OSE regulaaravaldised on kompileeritud, on aeg hakata redigeerima Fail2bani enda konfiguratsiooni. Selle utiliidi sätted asuvad failis /etc/fail2ban/jail.conf. Igaks juhuks teeme sellest käsu abil varukoopia cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Pärast seda viime selle faili järgmisele vormile:

# 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

Kuigi see näide on üsna üldine, tasub selgitada mõningaid seadeid, mida võiksite Fail2Bani ise konfigureerimisel muuta:

  • Ignoreeri — seda parameetrit kasutades saad määrata kindla IP või alamvõrgu, kust Fail2Ban ei peaks aadresse kontrollima. Üldjuhul lisatakse ignoreeritavate aadresside hulka ettevõtte sisevõrk ja muud usaldusväärsed aadressid.
  • Bantime - aeg, mille jooksul kurjategijale keeld määratakse. Mõõdetud sekundites. Väärtus -1 tähendab tähtajatut keeldu.
  • maxretry - Maksimaalne arv kordi, mille jooksul üks IP-aadress võib proovida serverile juurdepääsu.
  • Sendmail - Seade, mis võimaldab teil automaatselt saata meiliteateid Fail2Bani toimimise kohta.
  • Leia aeg - Seade, mis võimaldab määrata ajaintervalli, mille möödudes saab IP-aadress uuesti serverile juurde pääseda, kui maksimaalne ebaõnnestunud katsete arv on ammendatud (maxretry parameeter)

Pärast faili salvestamist Fail2Ban sätetega jääb üle vaid see utiliit käsuga taaskäivitada teenuse fail2ban taaskäivitamine. Pärast taaskäivitamist jälgitakse Zimbra peamisi logisid pidevalt regulaaravaldiste osas. Tänu sellele saab administraator praktiliselt välistada igasuguse võimaluse, et ründaja tungib mitte ainult Zimbra Collaboration Suite'i avatud lähtekoodiga väljaande postkastidesse, vaid ka kaitsta kõiki Zimbra OSE-s töötavaid teenuseid ning olla teadlik kõigist volitamata juurdepääsu katsetest. .

Kõigi Zextras Suite'i puudutavate küsimuste korral võite pöörduda Zextras esindaja Ekaterina Triandafilidi poole e-posti teel [meiliga kaitstud]

Allikas: www.habr.com

Lisa kommentaar