Protektu Zimbra OSE kontraŭ krudforto kaj DoS-atakoj

Zimbra Collaboration Suite Open-Source Edition havas plurajn potencajn ilojn por certigi informan sekurecon. Inter ili Postekrano - solvo por protekti poŝtservilon kontraŭ atakoj de botretoj, ClamAV - antiviruso, kiu povas skani envenantajn dosierojn kaj leterojn por infekto per malicaj programoj, kaj ankaŭ SpamAssassin - unu el la plej bonaj spam-filtriloj hodiaŭ. Tamen, ĉi tiuj iloj ne kapablas protekti Zimbra OSE kontraŭ krudfortaj atakoj. Ne la plej elegantaj, sed ankoraŭ sufiĉe efikaj, krudfortaj pasvortoj uzantaj specialan vortaron estas plenaj ne nur de la probableco de sukcesa hakado kun ĉiuj sekvaj konsekvencoj, sed ankaŭ de la kreado de grava ŝarĝo sur la servilo, kiu prilaboras ĉiujn. malsukcesaj provoj haki servilon kun Zimbra OSE.

Protektu Zimbra OSE kontraŭ krudforto kaj DoS-atakoj

Principe, vi povas protekti vin kontraŭ krudforto uzante normajn Zimbra OSE-iloj. La agordoj pri pasvortaj sekurecaj politikoj ebligas al vi agordi la nombron da malsukcesaj pasvortprovoj, post kiuj la eble atakita konto estas blokita. La ĉefa problemo kun ĉi tiu aliro estas, ke okazas situacioj en kiuj la kontoj de unu aŭ pluraj dungitoj povas esti blokitaj pro krudforta atako al kiu ili havas nenion por fari, kaj la rezulta malfunkcio en la laboro de dungitoj povas alporti grandajn perdojn al la firmao. Tial estas plej bone ne uzi ĉi tiun opcion de protekto kontraŭ kruda forto.

Protektu Zimbra OSE kontraŭ krudforto kaj DoS-atakoj

Por protekti kontraŭ krudforto, speciala ilo nomita DoSFilter estas multe pli taŭga, kiu estas enkonstruita en Zimbra OSE kaj povas aŭtomate ĉesigi la konekton al Zimbra OSE per HTTP. Alivorte, la funkcia principo de DoSFilter estas simila al la funkcia principo de PostScreen, nur ĝi estas uzata por malsama protokolo. Origine dizajnita por limigi la nombron da agoj kiujn ununura uzanto povas fari, DoSFilter ankaŭ povas disponigi krudfortan protekton. Ĝia ŝlosila diferenco de la ilo enkonstruita en Zimbra estas, ke post certa nombro da malsukcesaj provoj, ĝi ne blokas la uzanton mem, sed la IP-adreson de kiu multoblaj provoj estas faritaj por ensaluti en apartan konton. Danke al ĉi tio, administranto de la sistemo povas ne nur protekti kontraŭ kruda forto, sed ankaŭ eviti bloki dungitojn de kompanio simple aldonante la internan reton de sia kompanio al la listo de fidindaj IP-adresoj kaj subretoj.

La granda avantaĝo de DoSFilter estas, ke krom multaj provoj ensaluti en apartan konton, uzante ĉi tiun ilon, vi povas aŭtomate bloki tiujn atakantojn, kiuj ekposedis la aŭtentigajn datumojn de dungito, kaj poste sukcese ensalutis en lian konton kaj komencis sendi centojn da petoj. al la servilo.

Vi povas agordi DoSFilter uzante la jenajn konzolajn komandojn:

  • zimbraHttpDosFilterMaxRequestsPerSec — Uzante ĉi tiun komandon, vi povas agordi la maksimuman nombron da konektoj permesitaj por unu uzanto. Defaŭlte ĉi tiu valoro estas 30 konektoj.
  • zimbraHttpDosFilterDelayMillis - Uzante ĉi tiun komandon, vi povas agordi prokraston en milisekundoj por konektoj kiuj superos la limon specifitan de la antaŭa komando. Krom entjervaloroj, la administranto povas specifi 0, por ke tute ne estu prokrasto, kaj -1, por ke ĉiuj ligoj, kiuj superas la specifitan limon, estas simple interrompitaj. La defaŭlta valoro estas -1.
  • zimbraHttpThrottleSafeIPs — Uzante ĉi tiun komandon, la administranto povas specifi fidindajn IP-adresojn kaj subretojn, kiuj ne estos submetitaj al la limigoj supre listigitaj. Notu, ke la sintakso de ĉi tiu komando povas varii depende de la dezirata rezulto. Do, ekzemple, enirante la komandon zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, vi tute anstataŭigos la tutan liston kaj lasos en ĝi nur unu IP-adreson. Se vi enigas la komandon zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, la IP-adreso, kiun vi enigis, estos aldonita al la blanka listo. Simile, uzante la subtrahosignon, vi povas forigi ajnan IP el la permesita listo.

Bonvolu noti, ke DoSFilter povas krei kelkajn problemojn dum uzado de etendaĵoj de Zextras Suite Pro. Por eviti ilin, ni rekomendas pliigi la nombron da samtempaj konektoj de 30 al 100 per la komando zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Krome, ni rekomendas aldoni la entreprenan internan reton al la listo de permesitaj. Ĉi tio povas esti farita per la komando zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Post fari ajnajn ŝanĝojn al DoSFilter, nepre rekomencu vian poŝtservilon per la komando zmmailboxdctl rekomenci.

La ĉefa malavantaĝo de DoSFilter estas, ke ĝi funkcias ĉe la aplika nivelo kaj tial nur povas limigi la kapablon de atakantoj fari diversajn agojn sur la servilo, sen limigi la kapablon konekti norde. Pro tio, petoj senditaj al la servilo por aŭtentigo aŭ sendo de leteroj, kvankam ili evidente malsukcesos, ankoraŭ reprezentos bonan malnovan DoS-atakon, kiu ne povas esti haltigita je tiom alta nivelo.

Por tute sekurigi vian kompanian servilon kun Zimbra OSE, vi povas uzi solvon kiel Fail2ban, kiu estas kadro kiu povas konstante monitori informsistemajn protokolojn por ripetaj agoj kaj bloki la entrudulon ŝanĝante la fajroŝirmilojn. Blokado je tiom malalta nivelo permesas malŝalti atakantojn ĝuste ĉe la stadio de IP-konekto al la servilo. Tiel, Fail2Ban povas perfekte kompletigi la protekton konstruitan per DoSFilter. Ni eksciu kiel vi povas konekti Fail2Ban kun Zimbra OSE kaj tiel pliigi la sekurecon de la IT-infrastrukturo de via entrepreno.

Kiel ĉiu alia aplikaĵo de entreprena klaso, Zimbra Collaboration Suite Open-Source Edition konservas detalajn protokolojn de sia laboro. Plej multaj el ili estas konservitaj en la dosierujo /opt/zimbra/log/ en formo de dosieroj. Jen nur kelkaj el ili:

  • mailbox.log — Protokoloj de ĝetaj poŝtoservoj
  • audit.log - aŭtentigaj protokoloj
  • clamd.log — antivirusaj operaciaj protokoloj
  • freshclam.log - antivirusaj ĝisdatigaj protokoloj
  • convertd.log — protokoloj de aldonaj konvertiloj
  • zimbrastats.csv - protokoloj de serviloj

Zimbra protokoloj ankaŭ troviĝas en la dosiero /var/log/zimbra.log, kie estas konservataj protokoloj de Postfix kaj Zimbra mem.

Por protekti nian sistemon kontraŭ krudforto, ni kontrolos leterkesto.log, audit.log и zimbra.log.

Por ke ĉio funkciu, necesas, ke Fail2Ban kaj iptables estas instalitaj sur via servilo kun Zimbra OSE. Se vi uzas Ubuntu, vi povas fari tion per la komandoj dpkg -s fail2ban, se vi uzas CentOS, vi povas kontroli ĉi tion per la komandoj yum listo instalita fail2ban. Se vi ne havas Fail2Ban instalita, tiam instali ĝin ne estos problemo, ĉar ĉi tiu pako disponeblas en preskaŭ ĉiuj normaj deponejoj.

Post kiam la tuta necesa programaro estas instalita, vi povas komenci agordi Fail2Ban. Por fari tion, vi devas krei agordan dosieron /etc/fail2ban/filter.d/zimbra.conf, en kiu ni skribos regulajn esprimojn por Zimbra OSE-protokoloj, kiuj kongruos kun malĝustaj ensalutprovoj kaj ekigos Fail2Ban-mekanismojn. Jen ekzemplo de la enhavo de zimbra.conf kun aro de regulaj esprimoj respondaj al la diversaj eraroj kiujn Zimbra OSE ĵetas kiam aŭtentikigprovo malsukcesas:

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

Post kiam la regulaj esprimoj por Zimbra OSE estas kompilitaj, estas tempo komenci redakti la agordon de Fail2ban mem. La agordoj de ĉi tiu utileco troviĝas en la dosiero /etc/fail2ban/jail.conf. Ĉiaokaze, ni faru rezervan kopion de ĝi uzante la komandon cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Post tio, ni reduktos ĉi tiun dosieron al proksimume la sekva formo:

# 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

Kvankam ĉi tiu ekzemplo estas sufiĉe ĝenerala, tamen indas klarigi kelkajn el la parametroj, kiujn vi eble volas ŝanĝi dum vi mem agordas Fail2Ban:

  • Ignori — uzante ĉi tiun parametron vi povas specifi specifan ip aŭ subreton el kiu Fail2Ban ne devus kontroli adresojn. Kiel regulo, la interna reto de la entrepreno kaj aliaj fidindaj adresoj estas aldonitaj al la listo de ignoritaj.
  • Bantime — La tempo por kiu la krimulo estos malpermesita. Mezurita en sekundoj. Valoro de -1 signifas konstantan malpermeson.
  • Maksretry — La maksimuma nombro da fojoj unu IP-adreso povas provi aliri la servilon.
  • sendmail — Agordo kiu permesas vin aŭtomate sendi retpoŝtajn sciigojn kiam Fail2Ban estas ekigita.
  • Trovu tempon — Agordo, kiu ebligas al vi agordi la tempintervalon post kiu la IP-adreso povas provi aliri la servilon denove post kiam la maksimuma nombro da malsukcesaj provoj estas elĉerpita (maxretry-parametro)

Post konservi la dosieron kun la agordoj de Fail2Ban, restas nur rekomenci ĉi tiun ilon per la komando. servo fail2ban rekomenco. Post la rekomenco, la ĉefaj Zimbra protokoloj komencos esti konstante monitoritaj por plenumado de regulaj esprimoj. Danke al ĉi tio, la administranto povos preskaŭ forigi ajnan eblecon, ke atakanto penetru ne nur leterkestojn de Zimbra Collaboration Suite Open-Source Edition, sed ankaŭ protekti ĉiujn servojn funkciantajn ene de Zimbra OSE, kaj ankaŭ konscii pri ajnaj provoj akiri neaŭtorizitan aliron. .

Por ĉiuj demandoj rilataj al Zextras Suite, vi povas kontakti la Reprezentanton de Zextras Ekaterina Triandafilidi retpoŝte [retpoŝte protektita]

fonto: www.habr.com

Aldoni komenton