Védje a Zimbra OSE-t a nyers erőtől és a DoS támadásoktól

A Zimbra Collaboration Suite Open-Source Edition számos hatékony eszközzel rendelkezik az információbiztonság biztosítására. Közöttük Utóképernyő - megoldás a levelezőszerver botnetek támadásaival szembeni védelmére, ClamAV - vírusirtó, amely képes ellenőrizni a bejövő fájlokat és leveleket rosszindulatú programokkal való fertőzésre, valamint SpamAssassin - az egyik legjobb spamszűrő ma. Ezek az eszközök azonban nem képesek megvédeni a Zimbra OSE-t a brute force támadásoktól. Nem a legelegánsabb, de mégis meglehetősen hatékony, durva erőltető jelszavak egy speciális szótár használatával, nemcsak a sikeres hackelés valószínűségével és az ebből eredő következményekkel jár, hanem jelentős terhelést is jelentenek a szerveren, amely feldolgozza az összes sikertelen kísérletek egy szerver feltörésére a Zimbra OSE segítségével.

Védje a Zimbra OSE-t a nyers erőtől és a DoS támadásoktól

Elvileg a Zimbra OSE szabványos eszközeivel megvédheti magát a nyers erőtől. A jelszóbiztonsági házirend beállításai lehetővé teszik a sikertelen jelszóbeviteli kísérletek számának beállítását, amelyek után a potenciálisan megtámadott fiók letiltásra kerül. Ennek a megközelítésnek a fő problémája, hogy olyan helyzetek adódhatnak, amikor egy vagy több alkalmazott számlája zárolásra kerülhet egy brute force támadás miatt, amihez nincs mit tennie, és az ebből eredő állásleállások a munkavállalók munkájában jelentős veszteségeket okozhatnak. a cég. Éppen ezért a legjobb, ha nem használja ezt a védelmi lehetőséget a nyers erő ellen.

Védje a Zimbra OSE-t a nyers erőtől és a DoS támadásoktól

A nyers erő elleni védelemre sokkal jobban megfelel a DoSFilter nevű speciális eszköz, amely a Zimbra OSE-be van beépítve, és automatikusan meg tudja szakítani a kapcsolatot a Zimbra OSE-vel HTTP-n keresztül. Vagyis a DoSFilter működési elve hasonló a PostScreen működési elveihez, csak más protokollhoz használják. Eredetileg arra tervezték, hogy korlátozza az egy felhasználó által végrehajtható műveletek számát, a DoSFilter brutális erő elleni védelmet is biztosít. Legfontosabb különbsége a Zimbrába épített eszközhöz képest, hogy bizonyos számú sikertelen próbálkozás után nem magát a felhasználót blokkolja, hanem azt az IP-címet, amelyről többször is megpróbálnak bejelentkezni egy adott fiókba. Ennek köszönhetően a rendszergazda nemcsak a nyers erőszak ellen védekezhet, hanem elkerülheti a vállalati alkalmazottak blokkolását is azzal, hogy egyszerűen felveszi cége belső hálózatát a megbízható IP-címek és alhálózatok listájára.

A DoSFilter nagy előnye, hogy amellett, hogy számos kísérletet tesz egy adott fiókba, ezzel az eszközzel automatikusan blokkolhatja azokat a támadókat, akik birtokba vették egy alkalmazott hitelesítési adatait, majd sikeresen bejelentkeztek a fiókjába, és több száz kérést kezdtek el küldeni. a szerverre.

A DoSFilter a következő konzolparancsokkal konfigurálható:

  • zimbraHttpDosFilterMaxRequestsPerSec — Ezzel a paranccsal beállíthatja az egy felhasználó számára engedélyezett kapcsolatok maximális számát. Alapértelmezés szerint ez az érték 30 kapcsolat.
  • zimbraHttpDosFilterDelayMillis - Ezzel a paranccsal beállíthat egy késleltetést ezredmásodpercben azoknál a kapcsolatoknál, amelyek meghaladják az előző parancsban megadott korlátot. Az egész értékek mellett az adminisztrátor megadhat 0-t, hogy egyáltalán ne legyen késés, valamint -1-et, hogy a megadott határt meghaladó összes kapcsolat egyszerűen megszakadjon. Az alapértelmezett érték -1.
  • zimbraHttpThrottleSafeIPs — Ezzel a paranccsal a rendszergazda megbízható IP-címeket és alhálózatokat adhat meg, amelyekre nem vonatkoznak a fent felsorolt ​​korlátozások. Vegye figyelembe, hogy ennek a parancsnak a szintaxisa a kívánt eredménytől függően változhat. Tehát például a parancs beírásával zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, akkor teljesen felülírja a teljes listát, és csak egy IP-címet hagy benne. Ha beírja a parancsot zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, a megadott IP-cím felkerül a fehérlistára. Hasonlóképpen, a kivonási jel használatával bármely IP-címet eltávolíthat az engedélyezett listáról.

Felhívjuk figyelmét, hogy a DoSFilter számos problémát okozhat a Zextras Suite Pro bővítmények használatakor. Ezek elkerülése érdekében javasoljuk az egyidejű kapcsolatok számának növelését 30-ról 100-ra a paranccsal. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Ezenkívül javasoljuk, hogy a vállalati belső hálózatot vegye fel az engedélyezettek listájára. Ezt a paranccsal lehet megtenni zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. A DoSFilter módosítása után feltétlenül indítsa újra a levelezőkiszolgálót a paranccsal zmmailboxdctl újraindítás.

A DoSFilter fő hátránya, hogy alkalmazásszinten működik, ezért csak korlátozhatja a támadók azon képességét, hogy különféle műveleteket hajtsanak végre a szerveren, anélkül, hogy korlátozná az északi csatlakozás lehetőségét. Emiatt a szervernek küldött hitelesítési vagy levélküldési kérések, bár nyilvánvalóan meghiúsulnak, mégis egy jó öreg DoS támadást képviselnek, amit ilyen magas szinten nem lehet megállítani.

Vállalati szerverének Zimbra OSE-vel való teljes biztonsága érdekében olyan megoldást használhat, mint a Fail2ban, amely egy olyan keretrendszer, amely folyamatosan figyeli az információs rendszer naplóit az ismétlődő műveletek után, és a tűzfal beállításainak módosításával blokkolja a behatolót. Az ilyen alacsony szintű blokkolás lehetővé teszi a támadók letiltását közvetlenül a szerverhez való IP-kapcsolat szakaszában. Így a Fail2Ban tökéletesen kiegészítheti a DoSFilter segítségével felépített védelmet. Nézzük meg, hogyan kapcsolhatja össze a Fail2Ban-t a Zimbra OSE-vel, és ezáltal növelheti vállalata informatikai infrastruktúrájának biztonságát.

Mint minden más nagyvállalati szintű alkalmazás, a Zimbra Collaboration Suite Open-Source Edition részletes naplót vezet a munkájáról. Legtöbbjük a mappában van tárolva /opt/zimbra/log/ fájlok formájában. Íme csak néhány közülük:

  • mailbox.log — Jetty mail szolgáltatási naplók
  • audit.log - hitelesítési naplók
  • clamd.log – vírusvédelmi műveleti naplók
  • freshclam.log – víruskereső frissítési naplók
  • convertd.log — csatolmány-átalakító naplók
  • zimbrastats.csv – szerver teljesítménynaplók

A Zimbra naplók is megtalálhatók a fájlban /var/log/zimbra.log, ahol a Postfix és maga a Zimbra naplóit vezetik.

Annak érdekében, hogy megvédjük rendszerünket a nyers erőszaktól, ellenőrizni fogjuk mailbox.log, audit.log и zimbra.log.

Ahhoz, hogy minden működjön, szükséges, hogy a Fail2Ban és az iptables telepítve legyen a szerveren a Zimbra OSE segítségével. Ha Ubuntut használ, ezt a parancsok segítségével teheti meg dpkg -s fail2ban, ha CentOS-t használ, ezt a parancsokkal ellenőrizheti yum list telepítve a fail2ban. Ha nincs telepítve a Fail2Ban, akkor a telepítése nem okoz gondot, mivel ez a csomag szinte minden szabványos tárolóban elérhető.

Az összes szükséges szoftver telepítése után megkezdheti a Fail2Ban beállítását. Ehhez létre kell hoznia egy konfigurációs fájlt /etc/fail2ban/filter.d/zimbra.conf, amelyben reguláris kifejezéseket fogunk írni a Zimbra OSE naplóihoz, amelyek megfelelnek a helytelen bejelentkezési kísérleteknek, és elindítják a Fail2Ban mechanizmusokat. Íme egy példa a zimbra.conf tartalmára reguláris kifejezésekkel, amelyek megfelelnek azoknak a különféle hibáknak, amelyeket a Zimbra OSE dob, amikor egy hitelesítési kísérlet meghiúsul:

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

Miután a Zimbra OSE reguláris kifejezéseit lefordították, ideje elkezdeni magának a Fail2ban konfigurációnak a szerkesztését. A segédprogram beállításai a fájlban találhatók /etc/fail2ban/jail.conf. Minden esetre készítsünk róla biztonsági másolatot a paranccsal cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Ezt követően ezt a fájlt körülbelül a következő formátumra csökkentjük:

# 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

Bár ez a példa meglehetősen általános, érdemes elmagyarázni néhány paramétert, amelyeket érdemes módosítani, amikor saját maga állítja be a Fail2Ban-t:

  • Ignoreip — ezzel a paraméterrel megadhat egy adott IP-címet vagy alhálózatot, ahonnan a Fail2Ban nem ellenőrizheti a címeket. Általános szabály, hogy a vállalat belső hálózata és más megbízható címek felkerülnek a figyelmen kívül hagyottak listájára.
  • Bantime — Az az idő, ameddig az elkövetőt eltiltják. Másodpercekben mérve. A -1 érték végleges kitiltást jelent.
  • Maxretry — Azon alkalmak maximális száma, ahányszor egy IP-cím megpróbálhat hozzáférni a szerverhez.
  • Levél küldés — Egy beállítás, amely lehetővé teszi, hogy automatikusan e-mail értesítéseket küldjön, ha a Fail2Ban aktiválódik.
  • Idő keresése — Egy beállítás, amely lehetővé teszi annak az időintervallumnak a beállítását, amely után az IP-cím ismét megpróbálhat hozzáférni a szerverhez, miután a sikertelen próbálkozások maximális száma kimerült (maxretry paraméter)

Miután elmentette a fájlt a Fail2Ban beállításokkal, csak újra kell indítani ezt a segédprogramot a paranccsal service fail2ban újraindítás. Az újraindítás után a fő Zimbra naplók folyamatosan figyelni kezdik a reguláris kifejezéseknek való megfelelést. Ennek köszönhetően az adminisztrátor gyakorlatilag kiküszöbölheti annak lehetőségét, hogy egy támadó ne csak a Zimbra Collaboration Suite Open-Source Edition postafiókjaiba hatoljon be, hanem megvédje a Zimbra OSE-n belül futó összes szolgáltatást is, és tudatában legyen az illetéktelen hozzáférési kísérleteknek is. .

A Zextras Suite szolgáltatással kapcsolatos minden kérdésével forduljon a Zextras képviselőjéhez, Ekaterina Triandafilidihez e-mailben. [e-mail védett]

Forrás: will.com

Hozzászólás