Chráňte Zimbra OSE pred hrubou silou a útokmi DoS

Zimbra Collaboration Suite Open-Source Edition má niekoľko výkonných nástrojov na zaistenie bezpečnosti informácií. Medzi nimi Postscreen - riešenie na ochranu poštového servera pred útokmi z botnetov, ClamAV - antivírus, ktorý dokáže skenovať prichádzajúce súbory a listy na napadnutie škodlivými programami, ako aj SpamAssassin - jeden z najlepších spamových filtrov súčasnosti. Tieto nástroje však nedokážu ochrániť Zimbra OSE pred útokmi hrubou silou. Nie najelegantnejšie, ale stále dosť efektívne heslá na hrubé vynútenie pomocou špeciálneho slovníka sú spojené nielen s pravdepodobnosťou úspešného hacknutia so všetkými z toho vyplývajúcimi dôsledkami, ale aj s vytvorením značnej záťaže na serveri, ktorý spracováva všetky neúspešné pokusy o hacknutie servera pomocou Zimbra OSE.

Chráňte Zimbra OSE pred hrubou silou a útokmi DoS

V zásade sa môžete chrániť pred hrubou silou pomocou štandardných nástrojov Zimbra OSE. Nastavenia politiky zabezpečenia hesla vám umožňujú nastaviť počet neúspešných pokusov o zadanie hesla, po ktorých sa potenciálne napadnutý účet zablokuje. Hlavným problémom tohto prístupu je, že vznikajú situácie, v ktorých môžu byť účty jedného alebo viacerých zamestnancov zablokované v dôsledku útoku hrubou silou, s ktorým nemajú čo robiť, a z toho vyplývajúce prestoje v práci zamestnancov môžu priniesť veľké straty. spoločnosť. Preto je najlepšie túto možnosť ochrany pred hrubou silou nevyužívať.

Chráňte Zimbra OSE pred hrubou silou a útokmi DoS

Na ochranu pred hrubou silou sa oveľa lepšie hodí špeciálny nástroj s názvom DoSFilter, ktorý je zabudovaný v Zimbra OSE a dokáže automaticky ukončiť spojenie so Zimbra OSE cez HTTP. Inými slovami, princíp fungovania DoSFilter je podobný princípu fungovania PostScreen, len sa používa pre iný protokol. Pôvodne navrhnutý tak, aby obmedzil počet akcií, ktoré môže vykonať jeden používateľ, môže DoSFilter poskytnúť aj ochranu pred hrubou silou. Jeho kľúčovým rozdielom oproti nástroju zabudovanému v Zimbre je to, že po určitom počte neúspešných pokusov nezablokuje samotného používateľa, ale IP adresu, z ktorej sa robia viaceré pokusy o prihlásenie do konkrétneho účtu. Vďaka tomu môže správca systému nielen chrániť pred hrubou silou, ale aj vyhnúť sa blokovaniu zamestnancov spoločnosti jednoduchým pridaním internej siete svojej spoločnosti do zoznamu dôveryhodných IP adries a podsietí.

Veľkou výhodou DoSFilter je, že okrem mnohých pokusov o prihlásenie do konkrétneho účtu môžete pomocou tohto nástroja automaticky zablokovať tých útočníkov, ktorí sa zmocnili autentifikačných údajov zamestnanca a následne sa úspešne prihlásili do jeho účtu a začali posielať stovky žiadostí. na server.

DoSFilter môžete nakonfigurovať pomocou nasledujúcich príkazov konzoly:

  • zimbraHttpDosFilterMaxRequestsPerSec — Pomocou tohto príkazu môžete nastaviť maximálny počet pripojení povolený pre jedného používateľa. Štandardne je táto hodnota 30 pripojení.
  • zimbraHttpDosFilterDelayMillis - Pomocou tohto príkazu môžete nastaviť oneskorenie v milisekundách pre spojenia, ktoré prekročia limit určený predchádzajúcim príkazom. Okrem celočíselných hodnôt môže administrátor zadať aj 0, aby vôbec nedochádzalo k oneskoreniu, ako aj -1, aby sa jednoducho prerušili všetky spojenia, ktoré prekročia zadaný limit. Predvolená hodnota je -1.
  • zimbraHttpThrottleSafeIPs — Pomocou tohto príkazu môže správca zadať dôveryhodné adresy IP a podsiete, na ktoré sa nebudú vzťahovať vyššie uvedené obmedzenia. Upozorňujeme, že syntax tohto príkazu sa môže líšiť v závislosti od požadovaného výsledku. Teda napríklad zadaním príkazu zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, úplne prepíšete celý zoznam a necháte v ňom iba jednu IP adresu. Ak zadáte príkaz zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, IP adresa, ktorú ste zadali, bude pridaná do bieleho zoznamu. Podobne pomocou znamienka odčítania môžete odstrániť akúkoľvek IP adresu zo zoznamu povolených.

Upozorňujeme, že DoSFilter môže spôsobiť množstvo problémov pri používaní rozšírení Zextras Suite Pro. Aby ste sa im vyhli, odporúčame zvýšiť počet súčasných spojení z 30 na 100 pomocou príkazu zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Okrem toho odporúčame pridať podnikovú internú sieť do zoznamu povolených. To je možné vykonať pomocou príkazu zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Po vykonaní akýchkoľvek zmien v DoSFilter nezabudnite reštartovať poštový server pomocou príkazu reštart zmmailboxdctl.

Hlavnou nevýhodou DoSFilter je, že funguje na aplikačnej úrovni, a preto môže iba obmedziť schopnosť útočníkov vykonávať rôzne akcie na serveri, bez obmedzenia možnosti pripojenia na sever. Z tohto dôvodu budú požiadavky odoslané na server na autentifikáciu alebo zaslanie listov, aj keď očividne zlyhajú, stále predstavujú starý dobrý DoS útok, ktorý sa nedá zastaviť na tak vysokej úrovni.

Na úplné zabezpečenie vášho firemného servera pomocou Zimbra OSE môžete použiť riešenie ako Fail2ban, čo je rámec, ktorý dokáže neustále monitorovať denníky informačného systému kvôli opakovaným akciám a blokovať narušiteľa zmenou nastavení firewallu. Blokovanie na takejto nízkej úrovni vám umožňuje zakázať útočníkov priamo vo fáze pripojenia IP k serveru. Fail2Ban tak môže dokonale doplniť ochranu vybudovanú pomocou DoSFilter. Poďme zistiť, ako môžete prepojiť Fail2Ban so Zimbra OSE a tým zvýšiť bezpečnosť vašej podnikovej IT infraštruktúry.

Ako každá iná aplikácia podnikovej triedy, aj Zimbra Collaboration Suite Open-Source Edition uchováva podrobné záznamy o svojej práci. Väčšina z nich je uložená v priečinku /opt/zimbra/log/ vo forme súborov. Tu je len niekoľko z nich:

  • mailbox.log — Denníky poštovej služby móla
  • audit.log - protokoly autentifikácie
  • clamd.log — protokoly antivírusovej prevádzky
  • freshclam.log - protokoly aktualizácie antivírusu
  • convertd.log — protokoly prevodníka príloh
  • zimbrastats.csv - protokoly výkonu servera

V súbore nájdete aj denníky Zimbra /var/log/zimbra.log, kde sa uchovávajú protokoly Postfixu a samotnej Zimbry.

S cieľom chrániť náš systém pred hrubou silou budeme monitorovať mailbox.log, audit.log и zimbra.log.

Aby všetko fungovalo, je potrebné, aby bol na vašom serveri so Zimbra OSE nainštalovaný Fail2Ban a iptables. Ak používate Ubuntu, môžete to urobiť pomocou príkazov dpkg -s fail2ban, ak používate CentOS, môžete to skontrolovať pomocou príkazov yum zoznam nainštalovaný fail2ban. Ak nemáte nainštalovaný Fail2Ban, jeho inštalácia nebude problém, keďže tento balík je dostupný takmer vo všetkých štandardných úložiskách.

Po nainštalovaní všetkého potrebného softvéru môžete začať nastavovať Fail2Ban. Ak to chcete urobiť, musíte vytvoriť konfiguračný súbor /etc/fail2ban/filter.d/zimbra.conf, v ktorom budeme písať regulárne výrazy pre denníky Zimbra OSE, ktoré budú zodpovedať nesprávnym pokusom o prihlásenie a spustia mechanizmy Fail2Ban. Tu je príklad obsahu zimbra.conf so sadou regulárnych výrazov zodpovedajúcich rôznym chybám, ktoré Zimbra OSE vyvolá, keď zlyhá pokus o overenie:

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

Po skompilovaní regulárnych výrazov pre Zimbra OSE je čas začať upravovať konfiguráciu samotného Fail2ban. Nastavenia tejto pomôcky sa nachádzajú v súbore /etc/fail2ban/jail.conf. Pre každý prípad si urobme záložnú kópiu pomocou príkazu cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Potom tento súbor zredukujeme približne do nasledujúcej podoby:

# 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

Aj keď je tento príklad dosť všeobecný, stále stojí za to vysvetliť niektoré parametre, ktoré možno budete chcieť zmeniť pri vlastnom nastavovaní Fail2Ban:

  • Ignoreip — pomocou tohto parametra môžete určiť konkrétnu IP alebo podsieť, z ktorej by Fail2Ban nemal kontrolovať adresy. Spravidla sa do zoznamu ignorovaných adries pridáva interná sieť podniku a ďalšie dôveryhodné adresy.
  • Bantime — Čas, na ktorý bude páchateľovi uložený zákaz činnosti. Merané v sekundách. Hodnota -1 znamená trvalý ban.
  • Maxretry — Maximálny počet pokusov jednej adresy IP o prístup na server.
  • sendmail — Nastavenie, ktoré vám umožňuje automaticky odosielať e-mailové upozornenia, keď sa spustí Fail2Ban.
  • Nájdite si čas — Nastavenie, ktoré vám umožňuje nastaviť časový interval, po ktorom sa môže IP adresa pokúsiť znova o prístup k serveru po vyčerpaní maximálneho počtu neúspešných pokusov (parameter maxretry)

Po uložení súboru s nastaveniami Fail2Ban ostáva už len reštartovať túto utilitu pomocou príkazu reštart služby fail2ban. Po reštarte sa hlavné protokoly Zimbry začnú neustále monitorovať, či sú v súlade s regulárnymi výrazmi. Vďaka tomu bude môcť administrátor prakticky eliminovať akúkoľvek možnosť preniknutia útočníka nielen do poštových schránok Zimbra Collaboration Suite Open-Source Edition, ale aj ochrániť všetky služby bežiace v rámci Zimbra OSE a tiež si byť vedomý akýchkoľvek pokusov o získanie neoprávneného prístupu. .

So všetkými otázkami týkajúcimi sa apartmánu Zextras sa môžete e-mailom obrátiť na zástupkyňu Zextras Ekaterinu Triandafilidi [chránené e-mailom]

Zdroj: hab.com

Pridať komentár