Mbroni Zimbra OSE nga forca brutale dhe sulmet DoS

Zimbra Collaboration Suite Edition me burim të hapur ka disa mjete të fuqishme për të garantuar sigurinë e informacionit. Midis tyre Postekrani - një zgjidhje për mbrojtjen e një serveri të postës nga sulmet nga botnets, ClamAV - një antivirus që mund të skanojë skedarët dhe letrat hyrëse për infeksion me programe me qëllim të keq, si dhe SpamAssassin - një nga filtrat më të mirë të spamit sot. Megjithatë, këto mjete nuk janë në gjendje të mbrojnë Zimbra OSE nga sulmet e forcës brutale. Fjalëkalimet jo më elegante, por gjithsesi mjaft efektive, të detyruara brutale duke përdorur një fjalor të posaçëm janë të mbushura jo vetëm me mundësinë e hakimit të suksesshëm me të gjitha pasojat që pasojnë, por edhe me krijimin e një ngarkese të konsiderueshme në server, i cili përpunon të gjitha përpjekje të pasuksesshme për të hakuar një server me Zimbra OSE.

Mbroni Zimbra OSE nga forca brutale dhe sulmet DoS

Në parim, ju mund të mbroheni nga forca brutale duke përdorur mjete standarde Zimbra OSE. Cilësimet e politikës së sigurisë së fjalëkalimit ju lejojnë të vendosni numrin e përpjekjeve të pasuksesshme për futjen e fjalëkalimit, pas së cilës llogaria e sulmuar potencialisht bllokohet. Problemi kryesor me këtë qasje është se lindin situata në të cilat llogaritë e një ose më shumë punonjësve mund të bllokohen për shkak të një sulmi me forcë brutale me të cilën ata nuk kanë çfarë të bëjnë, dhe ndërprerja që rezulton në punën e punonjësve mund të sjellë humbje të mëdha për kompania. Kjo është arsyeja pse është mirë të mos përdoret ky opsion i mbrojtjes kundër forcës brutale.

Mbroni Zimbra OSE nga forca brutale dhe sulmet DoS

Për t'u mbrojtur nga forca brutale, një mjet special i quajtur DoSFilter është shumë më i përshtatshëm, i cili është i integruar në Zimbra OSE dhe mund të ndërpresë automatikisht lidhjen me Zimbra OSE nëpërmjet HTTP. Me fjalë të tjera, parimi i funksionimit të DoSFilter është i ngjashëm me parimin e funksionimit të PostScreen, vetëm ai përdoret për një protokoll tjetër. Projektuar fillimisht për të kufizuar numrin e veprimeve që një përdorues i vetëm mund të kryejë, DoSFilter mund të sigurojë gjithashtu mbrojtje nga forca brutale. Dallimi kryesor i tij nga mjeti i integruar në Zimbra është se pas një numri të caktuar përpjekjesh të pasuksesshme, ai nuk bllokon vetë përdoruesin, por adresën IP nga e cila bëhen përpjekje të shumta për të hyrë në një llogari të caktuar. Falë kësaj, një administrator i sistemit jo vetëm që mund të mbrojë kundër forcës brutale, por edhe të shmangë bllokimin e punonjësve të kompanisë duke shtuar thjesht rrjetin e brendshëm të kompanisë së tij në listën e adresave IP dhe nënrrjeteve të besueshme.

Avantazhi i madh i DoSFilter është se përveç përpjekjeve të shumta për të hyrë në një llogari të caktuar, duke përdorur këtë mjet ju mund të bllokoni automatikisht ata sulmues që zotëruan të dhënat e vërtetimit të një punonjësi, dhe më pas u futën me sukses në llogarinë e tij dhe filluan të dërgojnë qindra kërkesa te serveri.

Ju mund të konfiguroni DoSFilter duke përdorur komandat e mëposhtme të konsolës:

  • zimbraHttpDosFilterMaxRequestsPerSec — Duke përdorur këtë komandë, mund të vendosni numrin maksimal të lidhjeve të lejuara për një përdorues. Si parazgjedhje kjo vlerë është 30 lidhje.
  • zimbraHttpDosFilterDelayMillis - Duke përdorur këtë komandë, mund të vendosni një vonesë në milisekonda për lidhjet që do të kalojnë kufirin e specifikuar nga komanda e mëparshme. Përveç vlerave të plota, administratori mund të specifikojë 0, në mënyrë që të mos ketë fare vonesë, dhe -1, në mënyrë që të gjitha lidhjet që tejkalojnë kufirin e specifikuar thjesht të ndërpriten. Vlera e paracaktuar është -1.
  • zimbraHttpThrottleSafeIPs — Duke përdorur këtë komandë, administratori mund të specifikojë adresat IP dhe nënrrjetet e besuara që nuk do t'i nënshtrohen kufizimeve të listuara më sipër. Vini re se sintaksa e kësaj komande mund të ndryshojë në varësi të rezultatit të dëshiruar. Kështu, për shembull, duke futur komandën zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, ju do të mbishkruani plotësisht të gjithë listën dhe do të lini vetëm një adresë IP në të. Nëse futni komandën zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, adresa IP që keni futur do të shtohet në listën e bardhë. Në mënyrë të ngjashme, duke përdorur shenjën e zbritjes, mund të hiqni çdo IP nga lista e lejuar.

Ju lutemi vini re se DoSFilter mund të krijojë një sërë problemesh kur përdorni shtesat Zextras Suite Pro. Për t'i shmangur ato, ne rekomandojmë rritjen e numrit të lidhjeve të njëkohshme nga 30 në 100 duke përdorur komandën zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Përveç kësaj, ne rekomandojmë shtimin e rrjetit të brendshëm të ndërmarrjes në listën e atyre të lejuara. Kjo mund të bëhet duke përdorur komandën zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Pasi të keni bërë ndonjë ndryshim në DoSFilter, sigurohuni që të rinisni serverin tuaj të postës duke përdorur komandën rinisni zmmailboxdctl.

Disavantazhi kryesor i DoSFilter është se funksionon në nivelin e aplikacionit dhe për këtë arsye mund të kufizojë vetëm aftësinë e sulmuesve për të kryer veprime të ndryshme në server, pa kufizuar aftësinë për t'u lidhur me veriun. Për shkak të kësaj, kërkesat e dërguara në server për vërtetim ose për dërgimin e letrave, edhe pse padyshim që do të dështojnë, do të përfaqësojnë një sulm të vjetër të mirë DoS, i cili nuk mund të ndalet në një nivel kaq të lartë.

Për të siguruar plotësisht serverin tuaj të korporatës me Zimbra OSE, mund të përdorni një zgjidhje të tillë si Fail2ban, e cila është një kornizë që mund të monitorojë vazhdimisht regjistrat e sistemit të informacionit për veprime të përsëritura dhe të bllokojë ndërhyrës duke ndryshuar cilësimet e murit të zjarrit. Bllokimi në një nivel kaq të ulët ju lejon të çaktivizoni sulmuesit pikërisht në fazën e lidhjes IP me serverin. Kështu, Fail2Ban mund të plotësojë në mënyrë të përsosur mbrojtjen e ndërtuar duke përdorur DoSFilter. Le të zbulojmë se si mund të lidhni Fail2Ban me Zimbra OSE dhe në këtë mënyrë të rrisni sigurinë e infrastrukturës së IT të ndërmarrjes suaj.

Si çdo aplikacion tjetër i klasës së ndërmarrjes, Zimbra Collaboration Suite Edition me burim të hapur mban regjistra të detajuar të punës së tij. Shumica e tyre ruhen në dosje /opt/zimbra/log/ në formën e dosjeve. Këtu janë vetëm disa prej tyre:

  • mailbox.log — Regjistrat e shërbimit të postës portuale
  • audit.log - regjistrat e vërtetimit
  • clamd.log — regjistrat e funksionimit të antivirusit
  • freshclam.log - regjistrat e përditësimit të antivirusit
  • konvertuar.log — regjistrat e konvertuesit të bashkëngjitjes
  • zimbrastats.csv - regjistrat e performancës së serverit

Regjistrat e Zimbra mund të gjenden gjithashtu në skedar /var/log/zimbra.log, ku mbahen regjistrat e Postfix dhe vetë Zimbra.

Për të mbrojtur sistemin tonë nga forca brutale, ne do të monitorojmë kuti postare.log, auditimi.log и zimbra.log.

Në mënyrë që gjithçka të funksionojë, është e nevojshme që Fail2Ban dhe iptables të instalohen në serverin tuaj me Zimbra OSE. Nëse jeni duke përdorur Ubuntu, mund ta bëni këtë duke përdorur komandat dpkg -s fail2ban, nëse përdorni CentOS, mund ta kontrolloni këtë duke përdorur komandat Lista yum e instaluar fail2ban. Nëse nuk keni të instaluar Fail2Ban, atëherë instalimi i tij nuk do të jetë problem, pasi kjo paketë është e disponueshme pothuajse në të gjitha depot standarde.

Pasi të jetë instaluar i gjithë softueri i nevojshëm, mund të filloni të konfiguroni Fail2Ban. Për ta bërë këtë, duhet të krijoni një skedar konfigurimi /etc/fail2ban/filter.d/zimbra.conf, në të cilën do të shkruajmë shprehje të rregullta për regjistrat e Zimbra OSE që do të përputhen me përpjekjet e gabuara të hyrjes dhe do të aktivizojnë mekanizmat Fail2Ban. Këtu është një shembull i përmbajtjes së zimbra.conf me një grup shprehjesh të rregullta që korrespondojnë me gabimet e ndryshme që hedh Zimbra OSE kur një përpjekje vërtetimi dështon:

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

Pasi të jenë përpiluar shprehjet e rregullta për Zimbra OSE, është koha për të filluar redaktimi i konfigurimit të vetë Fail2ban. Cilësimet e këtij mjeti gjenden në skedar /etc/fail2ban/jail.conf. Për çdo rast, le të bëjmë një kopje rezervë të tij duke përdorur komandën cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Pas kësaj, ne do ta reduktojmë këtë skedar përafërsisht në formën e mëposhtme:

# 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

Megjithëse ky shembull është mjaft i përgjithshëm, ia vlen të shpjegohen disa nga parametrat që mund të dëshironi të ndryshoni kur vendosni vetë Fail2Ban:

  • Ignoreip — duke përdorur këtë parametër mund të specifikoni një ip ose nënrrjet të veçantë nga i cili Fail2Ban nuk duhet të kontrollojë adresat. Si rregull, rrjeti i brendshëm i ndërmarrjes dhe adresat e tjera të besuara i shtohen listës së atyre të injoruara.
  • Bantime — Koha për të cilën shkelësi do të ndalohet. Matur në sekonda. Një vlerë prej -1 do të thotë një ndalim i përhershëm.
  • Maxretry — Numri maksimal i herëve që një adresë IP mund të përpiqet të hyjë në server.
  • Dërgo postë — Një cilësim që ju lejon të dërgoni automatikisht njoftime me email kur aktivizohet Fail2Ban.
  • Gjeni kohë — Një cilësim që ju lejon të vendosni intervalin kohor pas të cilit adresa IP mund të përpiqet të hyjë përsëri në server pasi të jetë shteruar numri maksimal i përpjekjeve të pasuksesshme (parametri maxretry)

Pas ruajtjes së skedarit me cilësimet e Fail2Ban, gjithçka që mbetet është të rinisni këtë mjet duke përdorur komandën rinisja e shërbimit fail2ban. Pas rifillimit, regjistrat kryesorë të Zimbra do të fillojnë të monitorohen vazhdimisht për pajtueshmërinë me shprehjet e rregullta. Falë kësaj, administratori do të jetë në gjendje të eliminojë praktikisht çdo mundësi që një sulmues të depërtojë jo vetëm në kutitë postare Zimbra Collaboration Suite Edition Open-Source, por gjithashtu të mbrojë të gjitha shërbimet që funksionojnë brenda Zimbra OSE, dhe gjithashtu të jetë i vetëdijshëm për çdo përpjekje për të fituar akses të paautorizuar .

Për të gjitha pyetjet në lidhje me Zextras Suite, mund të kontaktoni përfaqësuesen e Zextras Ekaterina Triandafilidi me email katerina@zextras.com

Burimi: www.habr.com

Shto një koment