Protexa Zimbra OSE da forza bruta e dos ataques DoS

Zimbra Collaboration Suite Open-Source Edition ten varias ferramentas poderosas para garantir a seguridade da información. Entre eles Postscreen - unha solución para protexer un servidor de correo de ataques de botnets, ClamAV - un antivirus que pode escanear ficheiros e cartas entrantes para detectar infeccións con programas maliciosos, así como SpamAssassin - un dos mellores filtros de spam de hoxe. Non obstante, estas ferramentas non poden protexer a Zimbra OSE de ataques de forza bruta. Non os contrasinais de forza bruta máis elegantes, pero aínda bastante eficaces, que usan un dicionario especial están cheos non só da probabilidade de piratear con éxito con todas as consecuencias consecuentes, senón tamén da creación dunha carga significativa no servidor, que procesa todos os datos. intentos infructuosos de hackear un servidor con Zimbra OSE.

Protexa Zimbra OSE da forza bruta e dos ataques DoS

En principio, pode protexerse da forza bruta usando ferramentas estándar Zimbra OSE. A configuración da política de seguranza do contrasinal permítelle establecer o número de intentos de entrada de contrasinal infrutuosos, despois do cal a conta potencialmente atacada queda bloqueada. O principal problema deste enfoque é que xorden situacións nas que as contas dun ou máis empregados poden verse bloqueadas debido a un ataque de forza bruta co que non teñen nada que ver, e o tempo de inactividade resultante no traballo dos empregados pode provocar grandes perdas para a empresa. Por iso é mellor non utilizar esta opción de protección contra a forza bruta.

Protexa Zimbra OSE da forza bruta e dos ataques DoS

Para protexerse contra a forza bruta, é moito máis axeitada unha ferramenta especial chamada DoSFilter, que está integrada en Zimbra OSE e pode finalizar automaticamente a conexión con Zimbra OSE a través de HTTP. Noutras palabras, o principio de funcionamento de DoSFilter é semellante ao principio de funcionamento de PostScreen, só que se usa para un protocolo diferente. Deseñado orixinalmente para limitar o número de accións que pode realizar un só usuario, DoSFilter tamén pode proporcionar protección de forza bruta. A súa diferenza fundamental coa ferramenta integrada en Zimbra é que, despois dun certo número de intentos infrutuosos, non bloquea o propio usuario, senón o enderezo IP desde o que se realizan varios intentos para iniciar sesión nunha determinada conta. Grazas a isto, un administrador do sistema non só pode protexerse contra a forza bruta, senón tamén evitar o bloqueo dos empregados da empresa simplemente engadindo a rede interna da súa empresa á lista de enderezos IP e subredes de confianza.

A gran vantaxe de DoSFilter é que, ademais dos numerosos intentos de iniciar sesión nunha conta en particular, mediante esta ferramenta pode bloquear automaticamente aqueles atacantes que se apoderaron dos datos de autenticación dun empregado e logo iniciaron sesión con éxito na súa conta e comezaron a enviar centos de solicitudes. ao servidor.

Podes configurar DoSFilter usando os seguintes comandos da consola:

  • zimbraHttpDosFilterMaxRequestsPerSec — Usando este comando, pode establecer o número máximo de conexións permitidas para un usuario. Por defecto, este valor é de 30 conexións.
  • zimbraHttpDosFilterDelayMillis - Usando este comando, pode establecer un atraso en milisegundos para conexións que supere o límite especificado polo comando anterior. Ademais dos valores enteiros, o administrador pode especificar 0, para que non haxa ningún atraso, e -1, para que todas as conexións que superen o límite especificado se interrompan simplemente. O valor predeterminado é -1.
  • zimbraHttpThrottleSafeIPs — Usando este comando, o administrador pode especificar enderezos IP e subredes de confianza que non estarán suxeitos ás restricións indicadas anteriormente. Teña en conta que a sintaxe deste comando pode variar dependendo do resultado desexado. Así, por exemplo, introducindo o comando zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, sobrescribirá por completo toda a lista e deixará só un enderezo IP nela. Se introduce o comando zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, o enderezo IP que introduciu engadirase á lista branca. Do mesmo xeito, usando o signo de resta, pode eliminar calquera IP da lista permitida.

Teña en conta que DoSFilter pode crear unha serie de problemas ao usar as extensións de Zextras Suite Pro. Para evitalos, recomendamos aumentar o número de conexións simultáneas de 30 a 100 mediante o comando zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Ademais, recomendamos engadir a rede interna da empresa á lista de permitidas. Isto pódese facer usando o comando zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Despois de facer calquera cambio en DoSFilter, asegúrate de reiniciar o teu servidor de correo usando o comando reiniciar zmmailboxdctl.

A principal desvantaxe de DoSFilter é que funciona a nivel de aplicación e, polo tanto, só pode limitar a capacidade dos atacantes para realizar diversas accións no servidor, sen limitar a capacidade de conectarse ao norte. Por iso, as solicitudes enviadas ao servidor para a autenticación ou o envío de cartas, aínda que obviamente fallarán, seguirán representando un bo antigo ataque DoS, que non se pode deter a un nivel tan alto.

Para protexer completamente o seu servidor corporativo con Zimbra OSE, pode usar unha solución como Fail2ban, que é un marco que pode supervisar constantemente os rexistros do sistema de información para accións repetidas e bloquear o intruso cambiando a configuración do firewall. O bloqueo a un nivel tan baixo permítelle desactivar aos atacantes xusto na fase de conexión IP ao servidor. Así, Fail2Ban pode complementar perfectamente a protección construída usando DoSFilter. Descubramos como pode conectar Fail2Ban con Zimbra OSE e aumentar así a seguridade da infraestrutura de TI da súa empresa.

Como calquera outra aplicación de clase empresarial, Zimbra Collaboration Suite Open-Source Edition mantén rexistros detallados do seu traballo. A maioría deles gárdanse no cartafol /opt/zimbra/log/ en forma de arquivos. Aquí tes só algúns deles:

  • mailbox.log — Rexistros do servizo de correo do embarcadoiro
  • audit.log - rexistros de autenticación
  • clamd.log — rexistros de operacións antivirus
  • freshclam.log - rexistros de actualización de antivirus
  • convertd.log — rexistros do convertidor de anexos
  • zimbrastats.csv - rexistros de rendemento do servidor

Os rexistros de Zimbra tamén se poden atopar no ficheiro /var/log/zimbra.log, onde se gardan rexistros de Postfix e do propio Zimbra.

Co fin de protexer o noso sistema da forza bruta, monitorizaremos caixa de correo.log, auditoría.log и zimbra.log.

Para que todo funcione, é necesario que Fail2Ban e iptables estean instalados no teu servidor con Zimbra OSE. Se estás a usar Ubuntu, podes facelo usando os comandos dpkg -s fail2ban, se usas CentOS, podes comprobalo usando os comandos yum list instalado fail2ban. Se non tes Fail2Ban instalado, instalalo non será un problema, xa que este paquete está dispoñible en case todos os repositorios estándar.

Unha vez instalado todo o software necesario, pode comezar a configurar Fail2Ban. Para iso cómpre crear un ficheiro de configuración /etc/fail2ban/filter.d/zimbra.conf, no que escribiremos expresións regulares para os rexistros de Zimbra OSE que coincidirán con intentos de inicio de sesión incorrectos e activarán mecanismos Fail2Ban. Aquí tes un exemplo do contido de zimbra.conf cun conxunto de expresións regulares correspondentes aos diversos erros que Zimbra OSE lanza cando falla un intento de autenticación:

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

Unha vez compiladas as expresións regulares para Zimbra OSE, é hora de comezar a editar a configuración do propio Fail2ban. A configuración desta utilidade atópase no ficheiro /etc/fail2ban/jail.conf. Por se acaso, imos facer unha copia de seguridade dela usando o comando cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Despois diso, reduciremos este ficheiro a aproximadamente a seguinte forma:

# 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

Aínda que este exemplo é bastante xenérico, aínda paga a pena explicar algúns dos parámetros que pode querer cambiar ao configurar Fail2Ban vostede mesmo:

  • Ignorar — usando este parámetro pode especificar unha IP ou subrede específica desde a que Fail2Ban non debería comprobar os enderezos. Como regra xeral, a rede interna da empresa e outros enderezos de confianza engádense á lista de ignorados.
  • Bantime — O tempo durante o que o infractor será sancionado. Medido en segundos. Un valor de -1 significa unha prohibición permanente.
  • Maxretry — O número máximo de veces que un enderezo IP pode tentar acceder ao servidor.
  • sendmail — Unha configuración que che permite enviar automaticamente notificacións por correo electrónico cando se activa Fail2Ban.
  • Tempo de atopar — Unha configuración que lle permite establecer o intervalo de tempo despois do cal o enderezo IP pode tentar acceder de novo ao servidor despois de que se esgota o número máximo de intentos infrutuosos (parámetro maxretry)

Despois de gardar o ficheiro coa configuración de Fail2Ban, só queda reiniciar esta utilidade usando o comando reinicio do servizo fail2ban. Despois do reinicio, os rexistros principais de Zimbra comezarán a ser supervisados ​​constantemente para comprobar o cumprimento das expresións regulares. Grazas a isto, o administrador poderá eliminar practicamente calquera posibilidade de que un atacante penetre non só nas caixas de correo de Zimbra Collaboration Suite Open-Source Edition, senón tamén protexer todos os servizos que se executan dentro de Zimbra OSE e tamén estar atento a calquera intento de obter acceso non autorizado. .

Para todas as preguntas relacionadas con Zextras Suite, pode poñerse en contacto coa representante de Zextras Ekaterina Triandafilidi por correo electrónico [protexido por correo electrónico]

Fonte: www.habr.com

Engadir un comentario