Заштитете го Zimbra OSE од брутална сила и DoS напади

Zimbra Collaboration Suite Open-source Edition има неколку моќни алатки за да се обезбеди безбедност на информациите. Меѓу нив Постскрин - решение за заштита на серверот за пошта од напади од ботнети, ClamAV - антивирус кој може да скенира дојдовни датотеки и букви за инфекција со малициозни програми, како и SpamAssassin - еден од најдобрите филтри за спам денес. Сепак, овие алатки не можат да го заштитат Zimbra OSE од напади со брутална сила. Не најелегантните, но сепак доста ефективни, брутално принудувачки лозинки со помош на специјален речник е полн не само со веројатноста за успешно хакирање со сите последователни последици, туку и со создавање на значително оптоварување на серверот, кој ги обработува сите неуспешни обиди за хакирање на сервер со Zimbra OSE.

Заштитете го Zimbra OSE од брутална сила и DoS напади

Во принцип, можете да се заштитите од брутална сила користејќи стандардни алатки Zimbra OSE. Поставките за безбедносната политика за лозинка ви дозволуваат да го поставите бројот на неуспешни обиди за внесување лозинка, по што потенцијално нападнатата сметка е блокирана. Главниот проблем со овој пристап е што се појавуваат ситуации во кои сметките на еден или повеќе вработени може да бидат блокирани поради напад со брутална сила на кој тие немаат ништо да прават, а како резултат на застојот во работата на вработените може да донесе големи загуби на компанијата. Затоа е најдобро да не се користи оваа опција за заштита од брутална сила.

Заштитете го Zimbra OSE од брутална сила и DoS напади

За заштита од брутална сила, специјалната алатка наречена DoSFilter е многу подобро прилагодена, која е вградена во Zimbra OSE и може автоматски да ја прекине врската со Zimbra OSE преку HTTP. Со други зборови, принципот на работа на DoSFilter е сличен на принципот на работа на PostScreen, само што се користи за различен протокол. Првично дизајниран да го ограничи бројот на дејства што може да ги изврши еден корисник, DoSFilter може да обезбеди и заштита од брутална сила. Неговата клучна разлика од алатката вградена во Zimbra е тоа што по одреден број неуспешни обиди, не го блокира самиот корисник, туку IP адресата од која се прават повеќекратни обиди да се најавите на одредена сметка. Благодарение на ова, системскиот администратор не само што може да заштити од брутална сила, туку и да избегне блокирање на вработените во компанијата со едноставно додавање на внатрешната мрежа на неговата компанија на списокот со доверливи IP адреси и подмрежи.

Големата предност на DoSFilter е тоа што покрај бројните обиди да се најавите на одредена сметка, користејќи ја оваа алатка можете автоматски да ги блокирате оние напаѓачи кои ги поседувале податоците за автентикација на вработениот, а потоа успешно се најавиле на неговата сметка и почнале да испраќаат стотици барања. до серверот.

Можете да го конфигурирате DoSFilter користејќи ги следните команди на конзолата:

  • zimbraHttpDosFilterMaxRequestsPerSec — Користејќи ја оваа команда, можете да го поставите максималниот број дозволени врски за еден корисник. Стандардно, оваа вредност е 30 врски.
  • zimbraHttpDosFilterDelayMillis - Користејќи ја оваа команда, можете да поставите доцнење во милисекунди за врски што ќе ја надминат границата наведена со претходната команда. Покрај целобројните вредности, администраторот може да наведе 0, за да нема доцнење, и -1, така што сите врски што ја надминуваат одредената граница едноставно се прекинуваат. Стандардната вредност е -1.
  • zimbraHttpThrottleSafeIPs — Користејќи ја оваа команда, администраторот може да одреди доверливи IP адреси и подмрежи кои нема да подлежат на ограничувањата наведени погоре. Забележете дека синтаксата на оваа команда може да варира во зависност од саканиот резултат. Така, на пример, со внесување на командата zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, целосно ќе ја презапишете целата листа и ќе оставите само една IP адреса во неа. Ако ја внесете командата zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, IP адресата што ја внесовте ќе биде додадена на белата листа. Слично на тоа, користејќи го знакот за одземање, можете да отстраните која било IP адреса од дозволената листа.

Имајте предвид дека DoSFilter може да создаде голем број проблеми при користење на екстензии на Zextras Suite Pro. За да ги избегнете, препорачуваме да го зголемите бројот на истовремени врски од 30 на 100 користејќи ја командата zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Дополнително, препорачуваме да ја додадете внатрешната мрежа на претпријатието на листата на дозволени. Ова може да се направи со помош на командата zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Откако ќе направите какви било промени на DoSFilter, не заборавајте да го рестартирате вашиот сервер за пошта користејќи ја командата zmmailboxdctl рестартирајте.

Главниот недостаток на DoSFilter е што работи на ниво на апликација и затоа може само да ја ограничи способноста на напаѓачите да вршат различни дејства на серверот, без ограничување на можноста за поврзување на север. Поради ова, барањата испратени до серверот за автентикација или испраќање писма, иако очигледно ќе пропаднат, сепак ќе претставуваат добар стар DoS напад, кој не може да се запре на толку високо ниво.

Со цел целосно да го обезбедите вашиот корпоративен сервер со Zimbra OSE, можете да користите решение како што е Fail2ban, што е рамка што може постојано да ги следи дневниците на информацискиот систем за повторени дејства и да го блокира натрапникот со менување на поставките на заштитниот ѕид. Блокирањето на толку ниско ниво ви овозможува да ги оневозможите напаѓачите веднаш во фазата на IP-врска со серверот. Така, Fail2Ban може совршено да ја надополни заштитата изградена со помош на DoSFilter. Ајде да дознаеме како можете да го поврзете Fail2Ban со Zimbra OSE и со тоа да ја зголемите безбедноста на ИТ инфраструктурата на вашето претпријатие.

Како и секоја друга апликација од класата на претпријатија, Zimbra Collaboration Suite Open-Source Edition води детални дневници за својата работа. Повеќето од нив се зачувани во папката /opt/zimbra/log/ во форма на датотеки. Еве само неколку од нив:

  • mailbox.log — Дневници на услугата за пошта на брегот
  • audit.log - логови за автентикација
  • clamd.log — дневници за антивирусни операции
  • freshclam.log - дневници за ажурирање на антивирус
  • convertd.log — логови на конвертор на прилози
  • zimbrastats.csv - дневници за перформансите на серверот

Во датотеката може да се најдат и дневници на Zimbra /var/log/zimbra.log, каде што се чуваат дневниците на Постфикс и самата Зимбра.

За да го заштитиме нашиот систем од брутална сила, ќе следиме поштенско сандаче.лог, ревизија.лог и зимбра.лог.

За да може сè да работи, неопходно е Fail2Ban и iptables да се инсталираат на вашиот сервер со Zimbra OSE. Ако користите Ubuntu, можете да го направите ова користејќи ги командите dpkg -s fail2ban, ако користите CentOS, можете да го проверите ова користејќи ги командите yum листа е инсталирана fail2ban. Ако немате инсталирано Fail2Ban, тогаш неговото инсталирање нема да биде проблем, бидејќи овој пакет е достапен во скоро сите стандардни складишта.

Откако ќе се инсталира целиот неопходен софтвер, можете да започнете со поставување на Fail2Ban. За да го направите ова, треба да креирате конфигурациска датотека /etc/fail2ban/filter.d/zimbra.conf, во кои ќе пишуваме редовни изрази за дневниците на Zimbra OSE кои ќе одговараат на неточни обиди за најавување и ќе активираат механизми Fail2Ban. Еве пример за содржината на zimbra.conf со збир на правилни изрази што одговараат на различните грешки што ги фрла Zimbra OSE кога обидот за автентикација не успее:

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

Откако ќе се состават редовните изрази за Zimbra OSE, време е да започнете со уредување на конфигурацијата на самиот Fail2ban. Поставките на оваа алатка се наоѓаат во датотеката /etc/fail2ban/jail.conf. За секој случај, ајде да направиме резервна копија од неа користејќи ја командата cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. После тоа, ќе ја намалиме оваа датотека приближно на следната форма:

# 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

Иако овој пример е прилично генерички, сепак вреди да се објаснат некои од параметрите што можеби ќе сакате да ги промените кога сами го поставувате Fail2Ban:

  • Игнориип — користејќи го овој параметар, можете да наведете одредена IP или подмрежа од која Fail2Ban не треба да ги проверува адресите. Како по правило, внатрешната мрежа на претпријатието и другите доверливи адреси се додаваат на листата на игнорирани.
  • Бантајм - Времето за кое на сторителот ќе му биде изречена забрана. Се мери во секунди. Вредноста -1 значи трајна забрана.
  • Maxretry — Максималниот број пати кога една IP адреса може да се обиде да пристапи до серверот.
  • Испрати пошта — Поставка што ви овозможува автоматски да испраќате известувања по е-пошта кога ќе се активира Fail2Ban.
  • Најдете време — Поставка што ви овозможува да го поставите временскиот интервал по кој IP адресата може повторно да се обиде да пристапи до серверот откако ќе се исцрпи максималниот број на неуспешни обиди (параметар maxretry)

Откако ќе ја зачувате датотеката со поставките Fail2Ban, останува само да ја рестартирате оваа алатка користејќи ја командата рестартирање на услугата fail2ban. По рестартирањето, главните дневници на Зимбра ќе почнат постојано да се следат за усогласеност со редовните изрази. Благодарение на ова, администраторот ќе може практично да ја елиминира секоја можност напаѓачот да навлезе не само во поштенските сандачиња на Zimbra Collaboration Suite со отворен код, туку и да ги заштити сите услуги што работат во Zimbra OSE, а исто така да биде свесен за какви било обиди да се добие неовластен пристап .

За сите прашања поврзани со Zextras Suite, можете да контактирате со Претставникот на Zextras Екатерина Триандафилиди преку е-пошта [заштитена по е-пошта]

Извор: www.habr.com

Додадете коментар