Beskermje Zimbra OSE tsjin brute krêft en DoS-oanfallen

Zimbra Collaboration Suite Open-Source Edition hat ferskate krêftige ark om ynformaasjefeiligens te garandearjen. Under harren Postscreen - in oplossing foar it beskermjen fan in e-posttsjinner tsjin oanfallen fan botnets, ClamAV - in antyvirus dat ynkommende bestannen en brieven kin scannen foar ynfeksje mei kweade programma's, lykas ek SpamAssassin - ien fan 'e bêste spamfilters hjoed. Dizze ark binne lykwols net yn steat om Zimbra OSE te beskermjen tsjin oanfallen fan brute krêft. Net de meast elegante, mar noch hiel effektyf, brute-forcing wachtwurden mei help fan in spesjaal wurdboek is beladen net allinnich mei de kâns op suksesfol hacking mei alle dêropfolgjende gefolgen, mar ek mei it meitsjen fan in wichtige lading op 'e tsjinner, dy't ferwurket alle mislearre besykjen om in tsjinner te hacken mei Zimbra OSE.

Beskermje Zimbra OSE tsjin brute krêft en DoS-oanfallen

Yn prinsipe kinne jo josels beskermje tsjin brute krêft mei standert Zimbra OSE-ark. De ynstellings foar wachtwurdbefeiligingsbelied kinne jo it oantal mislearre besykjen fan wachtwurdynfier ynstelle, wêrnei't it mooglik oanfallen akkount blokkearre wurdt. It wichtichste probleem mei dizze oanpak is dat der situaasjes ûntstean wêryn't de akkounts fan ien of mear meiwurkers blokkearre wurde kinne troch in brute krêftoanfal dêr't se neat oan hawwe, en de resultearjende downtime yn it wurk fan meiwurkers kin grutte ferliezen bringe it bedriuw. Dêrom is it it bêste om dizze opsje fan beskerming tsjin brute krêft net te brûken.

Beskermje Zimbra OSE tsjin brute krêft en DoS-oanfallen

Om te beskermjen tsjin brute krêft, is in spesjaal ark neamd DoSFilter folle better geskikt, dat is ynboud yn Zimbra OSE en kin automatysk de ferbining mei Zimbra OSE fia HTTP beëinigje. Mei oare wurden, it bestjoeringsprinsipe fan DoSFilter is fergelykber mei it bestjoeringsprinsipe fan PostScreen, allinich wurdt it brûkt foar in oar protokol. Oarspronklik ûntworpen om it oantal aksjes te beheinen dat in inkele brûker kin útfiere, DoSFilter kin ek beskerming tsjin brute krêft leverje. It wichtichste ferskil fan it yn Zimbra ynboude ark is dat it nei in bepaald oantal mislearre besykjen net de brûker sels blokkeart, mar it IP-adres wêrfan meardere besykjen wurde makke om oan te melden by in bepaald akkount. Mei tank oan dit kin in systeembehearder net allinich beskermje tsjin brute krêft, mar ek foarkomme dat bedriuwsmeiwurkers blokkearje troch gewoan it ynterne netwurk fan syn bedriuw ta te foegjen oan 'e list fan fertroude IP-adressen en subnets.

It grutte foardiel fan DoSFilter is dat, neist tal fan besykjen om oan te melden by in bepaald akkount, mei dit ark automatysk de oanfallers kinne blokkearje dy't de autentikaasjegegevens fan in meiwurker yn besit namen, en dêrnei mei súkses oanmelde op syn akkount en begon te ferstjoeren fan hûnderten oanfragen. oan de tsjinner.

Jo kinne DoSFilter konfigurearje mei de folgjende konsole-kommando's:

  • zimbraHttpDosFilterMaxRequestsPerSec - Mei dit kommando kinne jo it maksimum oantal tastiene ferbiningen foar ien brûker ynstelle. Standert is dizze wearde 30 ferbiningen.
  • zimbraHttpDosFilterDelayMillis - Mei dit kommando kinne jo in fertraging yn millisekonden ynstelle foar ferbiningen dy't de limyt sille oerskriuwe dy't opjûn is troch it foarige kommando. Neist heule getalwearden kin de behearder 0 oantsjutte, sadat der hielendal gjin fertraging is, en -1, sadat alle ferbiningen dy't de opjûne limyt oergeane gewoan ûnderbrutsen wurde. De standertwearde is -1.
  • zimbraHttpThrottleSafeIPs - Mei dit kommando kin de behearder fertroude IP-adressen en subnetten opjaan dy't net ûnderwurpen binne oan de hjirboppe neamde beheiningen. Tink derom dat de syntaksis fan dit kommando kin ferskille ôfhinklik fan it winske resultaat. Sa, bygelyks, troch it kommando yn te fieren zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, jo sille de hiele list folslein oerskriuwe en mar ien IP-adres deryn litte. As jo ​​ynfiere it kommando zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, sil it IP-adres dat jo ynfierd hawwe tafoege wurde oan de wite list. Lykas, mei it subtraksjeteken kinne jo elke IP fuortsmite fan 'e tastiene list.

Tink derom dat DoSFilter in oantal problemen kin meitsje by it brûken fan Zextras Suite Pro-útwreidingen. Om se te foarkommen, advisearje wy it oantal simultane ferbiningen te ferheegjen fan 30 nei 100 mei it kommando zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Derneist riede wy oan om it ynterne netwurk fan it bedriuw ta te foegjen oan 'e list mei tastiene. Dit kin dien wurde mei it kommando zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Nei it meitsjen fan feroarings oan DoSFilter, wês wis dat jo jo e-posttsjinner opnij starte mei it kommando zmmailboxdctl opnij starte.

It wichtichste neidiel fan DoSFilter is dat it wurket op it tapassingsnivo en kin dêrom allinich it fermogen fan oanfallers beheine om ferskate aksjes op 'e tsjinner út te fieren, sûnder de mooglikheid om te ferbinen mei it noarden te beheinen. Hjirtroch sille fersiken dy't nei de tsjinner stjoerd wurde foar autentikaasje of it ferstjoeren fan brieven, hoewol se fansels mislearje, noch altyd in goede âlde DoS-oanfal fertsjintwurdigje, dy't net op sa'n heech nivo stoppe wurde kin.

Om jo bedriuwstsjinner folslein te befeiligjen mei Zimbra OSE, kinne jo in oplossing brûke lykas Fail2ban, dat is in ramt dat konstant ynformaasjesysteemlogs kin kontrolearje foar werhelle aksjes en de ynbrekker blokkearje troch de firewall-ynstellingen te feroarjen. Blokkearje op sa'n leech nivo kinne jo oanfallers útskeakelje direkt op it poadium fan IP-ferbining mei de tsjinner. Sa kin Fail2Ban de beskerming perfekt oanfolje dy't boud is mei DoSFilter. Litte wy útfine hoe't jo Fail2Ban kinne ferbine mei Zimbra OSE en dêrmei de feiligens fan 'e IT-ynfrastruktuer fan jo bedriuw ferheegje.

Lykas elke oare applikaasje fan bedriuwsklasse hâldt Zimbra Collaboration Suite Open-Source Edition detaillearre logs fan har wurk. De measte fan harren wurde opslein yn 'e map /opt/zimbra/log/ yn 'e foarm fan triemmen. Hjir binne mar in pear fan harren:

  • mailbox.log - Jetty mail tsjinst logs
  • audit.log - autentikaasje logs
  • clamd.log - antyvirus operaasje logs
  • freshclam.log - antyvirus update logs
  • convertd.log - logboeken foar taheakselkonverter
  • zimbrastats.csv - tsjinner prestaasjes logs

Zimbra-logs kinne ek fûn wurde yn it bestân /var/log/zimbra.log, dêr't logs fan Postfix en Zimbra sels wurde bewarre.

Om ús systeem te beskermjen tsjin brute krêft, sille wy kontrolearje mailbox.log, audit.log и zimbra.log.

Om alles te wurkjen, is it nedich dat Fail2Ban en iptables binne ynstalleare op jo server mei Zimbra OSE. As jo ​​​​Ubuntu brûke, kinne jo dit dwaan mei de kommando's dpkg -s fail2ban, as jo CentOS brûke, kinne jo dit kontrolearje mei de kommando's yum list ynstallearre fail2ban. As jo ​​Fail2Ban net ynstalleare hawwe, dan sil it ynstallearjen gjin probleem wêze, om't dit pakket beskikber is yn hast alle standert repositories.

Sadree't alle nedige software is ynstalleare, kinne jo begjinne mei it ynstellen fan Fail2Ban. Om dit te dwaan moatte jo in konfiguraasjetriem oanmeitsje /etc/fail2ban/filter.d/zimbra.conf. Hjir is in foarbyld fan de ynhâld fan zimbra.conf mei in set fan reguliere útdrukkingen dy't oerienkomme mei de ferskate flaters dy't Zimbra OSE smyt as in autentikaasjepoging mislearret:

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

Sadree't de reguliere útdrukkingen foar Zimbra OSE binne kompilearre, is it tiid om te begjinnen mei it bewurkjen fan de konfiguraasje fan Fail2ban sels. De ynstellingen fan dit hulpprogramma steane yn it bestân /etc/fail2ban/jail.conf. Lit ús foar it gefal in reservekopy meitsje mei it kommando cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Dêrnei sille wy dit bestân ferminderje nei sawat de folgjende foarm:

# 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

Hoewol dit foarbyld frij algemien is, is it noch altyd de muoite wurdich om guon fan 'e parameters te ferklearjen dy't jo miskien wolle feroarje by it ynstellen fan Fail2Ban sels:

  • Negearje - mei dizze parameter kinne jo in spesifyk ip of subnet opjaan wêrfan Fail2Ban gjin adressen moat kontrolearje. As regel wurde it ynterne netwurk fan 'e ûndernimming en oare fertroude adressen tafoege oan' e list fan negearre.
  • Bantime - De tiid wêrfoar't de oertreder ferbean wurdt. Metten yn sekonden. In wearde fan -1 betsjut in permaninte ferbod.
  • Maxretry - It maksimum oantal kearen dat ien IP-adres besykje tagong te krijen ta de tsjinner.
  • ferstjoere - In ynstelling wêrmei jo automatysk e-postnotifikaasjes kinne stjoere as Fail2Ban wurdt trigger.
  • Findtime - In ynstelling wêrmei jo it tiidynterval kinne ynstelle wêrnei't it IP-adres opnij besykje tagong te krijen ta de tsjinner nei't it maksimum oantal mislearre besykjen is útput (parameter maxretry)

Nei it bewarjen fan it bestân mei de Fail2Ban-ynstellingen, bliuwt alles oer dit hulpprogramma opnij te starten mei it kommando tsjinst fail2ban opnij starte. Nei it opstarten sille de wichtichste Zimbra-logs konstant wurde kontrolearre foar neilibjen fan reguliere útdrukkingen. Hjirmei kin de behearder elke mooglikheid fan in oanfaller praktysk eliminearje dy't net allinich brievebussen fan Zimbra Collaboration Suite Open-Source Edition penetreart, mar ek alle tsjinsten dy't rinne binnen Zimbra OSE beskermje, en ek bewust wêze fan alle besykjen om sûnder foech tagong te krijen .

Foar alle fragen yn ferbân mei Zextras Suite kinne jo kontakt opnimme mei de fertsjintwurdiger fan Zextras Ekaterina Triandafilidi fia e-post [e-post beskerme]

Boarne: www.habr.com

Add a comment