Protecció de Zimbra OSE dels atacs de força bruta i DoS

Zimbra Collaboration Suite Open-Source Edition té diverses eines potents de seguretat de la informació al seu arsenal. Entre ells Postpantalla - una solució per protegir el servidor de correu dels atacs de botnets, ClamAV - un antivirus que pot escanejar fitxers i cartes entrants per detectar infeccions de programari maliciós, així com SpamAssassin un dels millors filtres de correu brossa d'avui. Tanmateix, aquestes eines no poden protegir Zimbra OSE d'aquest tipus d'atac, com la força bruta. No és la força bruta de contrasenyes més elegant, però encara força eficaç que utilitza un diccionari especial, no només la probabilitat d'un pirateig reeixit amb totes les conseqüències consegüents, sinó també la creació d'una càrrega important al servidor que processa tots els intents fallits. per piratejar el servidor amb Zimbra OSE.

Protecció de Zimbra OSE dels atacs de força bruta i DoS

En principi, podeu protegir-vos de la força bruta utilitzant les eines estàndard Zimbra OSE. La configuració de la política de seguretat de la contrasenya us permet establir el nombre d'intents d'entrada de contrasenya sense èxit, després dels quals es bloqueja el compte potencialment atacat. El principal problema d'aquest enfocament és que hi ha situacions en què els comptes d'un o més empleats es poden bloquejar a causa d'un atac de força bruta al qual no tenen res a veure, i el temps d'inactivitat resultant en el treball dels empleats pot suposar un gran impacte. pèrdues per a l'empresa. És per això que el millor és no utilitzar aquesta opció de protecció contra la força bruta.

Protecció de Zimbra OSE dels atacs de força bruta i DoS

Per protegir-se de la força bruta, és molt més adequada una eina especial anomenada DoSFilter, que està integrada a Zimbra OSE i que pot finalitzar automàticament la connexió a Zimbra OSE mitjançant HTTP. En altres paraules, el principi de DoSFilter és similar al principi de PostScreen, només que s'utilitza per a un protocol diferent. Dissenyat originalment per limitar el nombre d'accions que pot dur a terme un sol usuari, DoSFilter també pot proporcionar protecció contra la força bruta. La seva diferència clau amb l'eina integrada a Zimbra és que després d'un cert nombre d'intents infructuosos, no bloqueja l'usuari, sinó l'adreça IP des de la qual es fan múltiples intents per iniciar sessió en un o altre compte. Gràcies a això, l'administrador del sistema no només pot protegir-se de la força bruta, sinó que també pot evitar bloquejar els empleats de l'empresa simplement afegint la xarxa interna de la seva empresa a la llista d'adreces IP i subxarxes de confiança.

El gran avantatge de DoSFilter és que, a més dels nombrosos intents d'iniciar sessió en un o altre compte, amb aquesta eina, podeu bloquejar automàticament aquells intrusos que van prendre possessió de les dades d'autenticació de l'empleat i després van iniciar sessió amb èxit al seu compte i van començar a enviar centenars. de peticions al servidor.

Podeu configurar DoSFilter mitjançant les ordres de consola següents:

  • zimbraHttpDosFilterMaxRequestsPerSec - Amb aquesta ordre, podeu establir el nombre màxim de connexions permeses per usuari. Per defecte, aquest valor és de 30 connexions.
  • zimbraHttpDosFilterDelayMillis - Amb aquesta comanda, podeu establir un retard en mil·lisegons per a connexions que superin el límit especificat per l'ordre anterior. A més dels valors enters, l'administrador pot especificar 0 per no tenir cap retard, així com -1 per acabar simplement totes les connexions que superin el límit especificat. Per defecte, aquest valor és -1.
  • zimbraHttpThrottleSafeIPs - Amb aquesta ordre, l'administrador pot especificar adreces IP i subxarxes de confiança que no es veuran afectades per les restriccions esmentades anteriorment. Tingueu en compte que la sintaxi d'aquesta ordre pot variar segons el resultat desitjat. Així, per exemple, introduint l'ordre zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, sobreescriureu completament tota la llista i hi deixareu només una adreça IP. Si introduïu l'ordre zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, l'adreça IP que heu introduït s'afegirà a la llista blanca. De la mateixa manera, amb el signe de resta, podeu eliminar qualsevol IP de la llista permesa.

Tingueu en compte que DoSFilter pot crear una sèrie de problemes quan utilitzeu les extensions de Zextras Suite Pro. Per evitar-los, recomanem augmentar el nombre de connexions simultànies de 30 a 100 mitjançant l'ordre zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. A més, us recomanem que afegiu la xarxa interna de l'empresa a la llista permesa. Podeu fer-ho amb l'ordre zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Després de fer qualsevol canvi a DoSFilter, assegureu-vos de reiniciar el servidor de correu amb l'ordre reinicieu zmmailboxdctl.

El principal desavantatge de DoSFilter és que funciona a nivell d'aplicació i, per tant, només pot limitar la capacitat dels atacants de realitzar diverses accions al servidor, sense limitar la capacitat de connectar-se al servidor. Per això, les sol·licituds enviades al servidor per a l'autenticació o l'enviament de cartes, encara que òbviament fallaran, seguiran sent un bon atac de DoS antic, que no es pot aturar a un nivell tan alt.

Per tal de protegir completament el vostre servidor corporatiu amb Zimbra OSE, podeu utilitzar una solució com Fail2ban, que és un marc que pot controlar constantment els registres del sistema d'informació per a accions repetitives i bloquejar l'intrus canviant la configuració del tallafoc. El bloqueig a un nivell tan baix us permet desactivar els intrusos just en l'etapa de la connexió IP al servidor. Així, Fail2Ban pot complementar perfectament la protecció construïda amb DoSFilter. Descobrim com podeu fer amistat amb Fail2Ban Zimbra OSE i augmentar així la seguretat de la infraestructura de TI de la vostra empresa.

Com qualsevol altra aplicació de classe empresarial, Zimbra Collaboration Suite Open-Source Edition manté registres detallats del seu treball. La majoria s'emmagatzemen a la carpeta /opt/zimbra/log/ en forma de fitxers. Aquests són només alguns d'ells:

  • mailbox.log: registres del servei de correu de l'embarcador
  • audit.log - registres d'autenticació
  • clamd.log: registres d'operacions antivirus
  • freshclam.log - registres d'actualització d'antivirus
  • convertd.log - registres del convertidor de fitxers adjunts
  • zimbrastats.csv - registres de rendiment del servidor

També es poden trobar els registres de Zimbra al fitxer /var/log/zimbra.log, on es guarden els registres de Postfix i el mateix Zimbra.

Per tal de protegir el nostre sistema de la força bruta, monitoritzarem bústia.log, auditoria.log и zimbra.log.

Perquè tot funcioni, heu de tenir instal·lats Fail2Ban i iptables al vostre servidor Zimbra OSE. En el cas que utilitzeu Ubuntu, podeu fer-ho mitjançant les ordres dpkg -s fail2ban, si feu servir CentOS, podeu comprovar-ho mitjançant les ordres yum list instal·lat fail2ban. En el cas que no tingueu instal·lat Fail2Ban, instal·lar-lo no serà cap problema, ja que aquest paquet es troba a gairebé tots els repositoris estàndard.

Un cop instal·lat tot el programari necessari, podeu començar a configurar Fail2Ban. Per fer-ho, heu de crear un fitxer de configuració /etc/fail2ban/filter.d/zimbra.conf, en què escrivim expressions regulars per als registres de Zimbra OSE, que coincidiran amb els intents d'inici de sessió no vàlids i activaran els mecanismes Fail2Ban. Aquí teniu un exemple del contingut de zimbra.conf amb un conjunt d'expressions regulars corresponents a diversos errors emesos a Zimbra OSE quan falla un intent d'autenticació:

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

Després de compilar les expressions regulars de Zimbra OSE, és hora de començar a editar la configuració de Fail2ban. La configuració d'aquesta utilitat es troba al fitxer /etc/fail2ban/jail.conf. Per si de cas, en farem una còpia de seguretat mitjançant l'ordre cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Després d'això, portarem aquest fitxer al següent formulari:

# 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

Tot i que aquest exemple és força genèric, val la pena explicar alguns dels paràmetres que potser voldreu canviar quan configureu Fail2Ban vosaltres mateixos:

  • Ignorar - mitjançant aquest paràmetre, podeu especificar una IP o subxarxa específica, adreces des de les quals Fail2Ban no hauria de comprovar. Per regla general, la xarxa interna de l'empresa i altres adreces de confiança s'afegeixen a la llista de les ignorades.
  • Bantime - El temps durant el qual l'infractor serà prohibit. Mesurat en segons. Un valor de -1 significa una prohibició indefinida.
  • maxretria - El nombre màxim de vegades que una adreça IP pot intentar accedir al servidor.
  • sendmail - Una configuració que us permet enviar automàticament notificacions per correu electrònic sobre el funcionament de Fail2Ban.
  • Troba l'hora - Una configuració que us permet establir l'interval de temps després del qual l'adreça IP pot tornar a intentar accedir al servidor després d'esgotar el nombre màxim d'intents fallits (paràmetre maxretry)

Després de desar el fitxer amb la configuració de Fail2Ban, només queda reiniciar aquesta utilitat mitjançant l'ordre reinici del servei fail2ban. Després de reiniciar, els registres principals de Zimbra es controlaran constantment per detectar expressions regulars. Gràcies a això, l'administrador podrà eliminar pràcticament qualsevol possibilitat que un atacant penetri no només a les bústies de correu de Zimbra Collaboration Suite Open-Source Edition, sinó també protegir tots els serveis que s'executen dins de Zimbra OSE i ser conscient de qualsevol intent d'obtenir accés no autoritzat.

Per a totes les preguntes relacionades amb Zextras Suite, podeu contactar amb la representant de Zextras Ekaterina Triandafilidi per correu electrònic [protegit per correu electrònic]

Font: www.habr.com

Afegeix comentari