ื-Zimbra Collaboration Suite Edition ืงืื ืคืชืื ืืฉ ืืื ืืืื ืจืื ืขืืฆืื ืืื ืืืืืื ืืืืืช ืืืืข. ืืื ืืื
ืืืืคื ืขืงืจืื ื, ืืชื ืืืื ืืืื ืขื ืขืฆืื ืืคื ื ืืื ืืก ืืืืฆืขืืช ืืื Zimbra OSE ืกืื ืืจืืืื. ืืืืจืืช ืืืื ืืืช ืืืืืช ืืกืืกืื ืืืคืฉืจืืช ืื ืืืืืืจ ืืช ืืกืคืจ ื ืืกืืื ืืช ืืื ืช ืืกืืกืื ืืื ืืืฆืืืื, ืฉืืืืจืืื ืืืฉืืื ืฉืขืืื ืืืืืช ืืืชืงืฃ ื ืืกื. ืืืขืื ืืขืืงืจืืช ืืืืฉื ืื ืืื ืฉื ืืฆืจืื ืืฆืืื ืฉืืื ืืฉืืื ืืช ืฉื ืขืืื ืืื ืื ืืืชืจ ืขืืืืื ืืืืืกื ืขืงื ืืชืงืคืช ืืื ืืืืจื ืฉืืื ืืื ืื ืืขืฉืืช ืืืื, ืืืืฉืืชื ืื ืืืขืช ืืืขืืืื ืฉื ืืขืืืืื ืขืืืื ืืืืื ืืืคืกืืื ืืืืืื. ืืืืจื. ืืื ืขืืืฃ ืื ืืืฉืชืืฉ ืืืคืฉืจืืช ืื ืฉื ืืื ื ืืคื ื ืืื ืืก.
ืืื ืืืื ืืคื ื ืืื ืืก, ืืชืืื ืืจืื ืืืชืจ ืืื ืืืืื ืืฉื 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 ืืืื ืืืืืืจ ืืช ืืืืืื ืฉื ืชืฉืชืืช ื-IT ืฉื ืืืจืืื ืฉืืื.
ืืื ืื ืืืฉืื ืืืจ ืืจืื ืืจืืื ืืช, Zimbra Collaboration Suite Edition ืงืื ืคืชืื ืฉืืืจืช ืืืื ืื ืืคืืจืืื ืฉื ืขืืืืชื. ืจืืื ืืืืืกื ืื ืืชืืงืืื /opt/zimbra/log/ ืืฆืืจื ืฉื ืงืืฆืื. ืื ื ืจืง ืืื ืืื:
- mailbox.log โ ืืืื ื ืฉืืจืืช ืืืืืจ ืืืื
- audit.log - ืืืื ื ืืืืืช
- clamd.log - ืืืื ื ืคืขืืืืช ืฉื ืื ืื ืืืจืืก
- freshclam.log - ืืืื ื ืขืืืื ื ืื ืื ืืืจืืก
- convertd.log - ืืืื ื ืืืืจ ืงืืฆืื ืืฆืืจืคืื
- zimbrastats.csv - ืืืื ื ืืืฆืืขื ืฉืจืช
ื ืืชื ืืืฆืื ืื ืืืื ื ืืืืืจื ืืงืืืฅ /var/log/zimbra.log, ืฉืื ื ืฉืืจืื ืืืื ืื ืฉื Postfix ืืฉื Zimbra ืขืฆืื.
ืขื ืื ืช ืืืื ืขื ืืืขืจืืช ืฉืื ื ืืืื ืืก, ืื ื ื ื ืืจ mailbox.log, ืืืื ืืืงืืจืช ะธ zimbra.log.
ืืื ืฉืืื ืืขืืื, ืืฉ ืฆืืจื ืฉ-Fail2Ban ื-iptables ืืืชืงื ื ืขื ืืฉืจืช ืฉืื ืขื Zimbra OSE. ืื ืืชื ืืฉืชืืฉ ืืืืืื ืื, ืืชื ืืืื ืืขืฉืืช ืืืช ืืืืฆืขืืช ืืคืงืืืืช dpkg -s fail2ban, ืื ืืชื ืืฉืชืืฉ ื- CentOS, ืืชื ืืืื ืืืืืง ืืืช ืืืืฆืขืืช ืืคืงืืืืช yum list ืืืชืงื ืช 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 ืื ืืืืจ ืืืืืง ืืชืืืืช. ืืืื, ืืจืฉืช ืืคื ืืืืช ืฉื ืืืจืืื ืืืชืืืืช ืืืืื ืืช ืืืจืืช ืืชืืืกืคืืช ืืจืฉืืืช ืืืชืืืืช ืฉืืชืขืืืืช ืืื.
- Bantime - ืืืื ืฉืขืืืจื ืืืืกืจ ืืขืืจืืื. ื ืืื ืืฉื ืืืช. ืขืจื ืฉื -1 ืคืืจืืฉื ืืืกืืจ ืงืืืข.
- ืืงืกืืจื - ืืืกืคืจ ืืืจืื ืฉื ืืคืขืืื ืฉืืชืืืช IP ืืืช ืืืืื ืื ืกืืช ืืืฉืช ืืฉืจืช.
- Sendmail โ ืืืืจื ืืืืคืฉืจืช ืืฉืืื ืืืืขืืช ืืื"ื ืืืืืืืืช ืืืฉืจ Fail2Ban ืืืคืขื.
- ืืืฆืื ืืื โ ืืืืจื ืืืืคืฉืจืช ืื ืืืืืืจ ืืช ืืจืืื ืืืื ืฉืืืจืื ืืชืืืช ื-IP ืืืืื ืื ืกืืช ืืืฉืช ืฉืื ืืฉืจืช ืืืืจ ืืืฆืื ืืืกืคืจ ืืืจืื ืฉื ื ืืกืืื ืืช ืื ืืืฆืืืื (ืคืจืืืจ maxretry)
ืืืืจ ืฉืืืจืช ืืงืืืฅ ืขื ืืืืจืืช Fail2Ban, ืื ืื ืฉื ืืชืจ ืืื ืืืคืขืื ืืืืฉ ืืช ืืืื ืืื ืืืืฆืขืืช ืืคืงืืื ืืคืขืื ืืืืฉ ืฉื ืืฉืืจืืช fail2ban. ืืืืจ ืืืคืขืื ืืืืฉ, ืืืื ื ืืืืืจื ืืจืืฉืืื ืืชืืืื ืืืืืช ืืืขืงื ืืชืืื ืืฆืืจื ืชืืืืืช ืืืืืืืื ืจืืืืจืืื. ืืืืืช ืืื, ืื ืื ืืืขืจืืช ืืืื ืืืขืฉื ืืืกื ืื ืืคืฉืจืืช ืฉื ืชืืงืฃ ืืืืืจ ืื ืจืง ืืชืืืืช ืืืืืจ ืฉื Zimbra Collaboration Suite-Open-Source Edition, ืืื ืื ืืืื ืขื ืื ืืฉืืจืืชืื ืืคืืขืืื ืืชืื Zimbra OSE, ืืื ืืืืืช ืืืืข ืืื ื ืืกืืื ืืช ืืืฉืื ืืืฉื ืื ืืืจืฉืืช .
ืืื ืืฉืืืืช ืืงืฉืืจืืช ื-Zextras Suite, ื ืืชื ืืืฆืืจ ืงืฉืจ ืขื ื ืฆืืืช Zextras Ekaterina Triandafilidi ืืืืืจ ืืืงืืจืื ื [ืืืื ืืืื"ื]
ืืงืืจ: www.habr.com