Prutezzione di Zimbra OSE da a forza bruta è attacchi DoS

Zimbra Collaboration Suite Open-Source Edition hà parechji strumenti putenti per assicurà a sicurità di l'infurmazioni. À mezu à elli Postscreen - una suluzione per prutege un servitore di mail da attacchi da botnets, ClamAV - un antivirus chì pò scansà i fugliali è e lettere entrate per infezzione cù prugrammi maliziusi, è ancu SpamaAssassin - unu di i migliori filtri spam oghje. Tuttavia, sti arnesi ùn sò micca capaci di prutezzione di Zimbra OSE da attacchi di forza bruta. Ùn hè micca u più eleganti, ma ancu abbastanza efficace, password di forza bruta chì utilizanu un dizziunariu speciale ùn hè micca solu cù a probabilità di pirate di successu cù tutte e cunsequenze chì ne seguitanu, ma ancu cù a creazione di una carica significativa in u servitore, chì processa tutte e cose. tentativi senza successu di pirate un servitore cù Zimbra OSE.

Prutezzione di Zimbra OSE da a forza bruta è attacchi DoS

In principiu, pudete prutezzione di a forza bruta cù l'arnesi standard Zimbra OSE. I paràmetri di pulitica di sicurità di password permettenu di stabilisce u numeru di tentativi di ingressu di password senza successu, dopu chì u contu potenzialmente attaccatu hè bluccatu. U prublema principali cù questu approcciu hè chì si sviluppanu situazioni in quale i cunti di unu o più impiegati ponu esse bluccati per via di un attaccu di forza bruta à quale ùn anu nunda à fà, è i tempi di inattività resultanti in u travagliu di l'impiegati ponu purtà grandi perdite à a cumpagnia. Hè per quessa chì hè megliu micca aduprà sta opzione di prutezzione contra a forza bruta.

Prutezzione di Zimbra OSE da a forza bruta è attacchi DoS

Per pruteggiri contra a forza bruta, un strumentu speciale chjamatu DoSFilter hè assai megliu adattatu, chì hè integratu in Zimbra OSE è pò automaticamente finisce a cunnessione à Zimbra OSE via HTTP. In altre parolle, u principiu di u funziunamentu di DoSFilter hè simile à u principiu di u funziunamentu di PostScreen, solu hè utilizatu per un protocolu diffirenti. Originariamente cuncepitu per limità u numeru di azzioni chì un unicu utilizatore pò fà, DoSFilter pò ancu furnisce una prutezzione di forza bruta. A so diferenza chjave da u strumentu integratu in Zimbra hè chì dopu à un certu nùmeru di tentativi falluti, ùn impedisce micca l'utilizatore stessu, ma l'indirizzu IP da quale parechji tentativi sò fatti per accede à un contu particulari. Grazie à questu, un amministratore di u sistema ùn pò micca solu prutegge contra a forza bruta, ma ancu evità di bluccà l'impiegati di l'imprese solu aghjunghjendu a reta interna di a so cumpagnia à a lista di l'indirizzi IP di fiducia è subnets.

U grande vantaghju di DoSFilter hè chì in più di numerosi tentativi di accede à un contu particulari, utilizendu stu strumentu pudete bluccà automaticamente quelli attaccanti chì anu pigliatu u pussessu di i dati di autentificazione di l'impiigatu, è dopu avè successu in u so contu è cuminciaru à mandà centinaie di richieste. à u servitore.

Pudete cunfigurà DoSFilter usendu i seguenti cumandamenti di a consola:

  • zimbraHttpDosFilterMaxRequestsPerSec - Utilizendu stu cumandamentu, pudete stabilisce u numeru massimu di cunnessione permessa per un utilizatore. Per automaticamente, stu valore hè 30 cunnessione.
  • zimbraHttpDosFilterDelayMillis - Utilizendu stu cumandamentu, pudete stabilisce un ritardu in millisecondi per e cunnessione chì supere u limitu specificatu da u cumandamentu precedente. In più di i valori interi, l'amministratore pò specificà 0, in modu chì ùn ci hè micca ritardu in tuttu, è -1, perchè tutte e cunnessione chì superanu u limitu specificatu sò simpliciamente interrotta. U valore predeterminatu hè -1.
  • zimbraHttpThrottleSafeIPs - Utilizendu stu cumandimu, l'amministratore pò specificà l'indirizzi IP di fiducia è i subnets chì ùn saranu micca sottumessi à e restrizioni elencate sopra. Nota chì a sintassi di questu cumanda pò varià secondu u risultatu desideratu. Cusì, per esempiu, inserendu u cumandamentu zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, Overwrite cumplettamente a lista sana è lasciate solu un indirizzu IP in questu. Sè vo entre u cumandamentu zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, l'indirizzu IP chì avete inseritu serà aghjuntu à a lista bianca. In listessu modu, utilizendu u signu di sottrazione, pudete sguassà qualsiasi IP da a lista permessa.

Per piacè nutate chì DoSFilter pò creà una quantità di prublemi quandu utilizate l'estensione Zextras Suite Pro. Per evitarli, ricumandemu di aumentà u numeru di cunnessione simultanea da 30 à 100 cù u cumandimu. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Inoltre, ricumandemu di aghjunghje a rete interna di l'impresa à a lista di quelli permessi. Questu pò esse fattu cù u cumandamentu zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Dopu avè fattu qualsiasi cambiamenti à DoSFilter, assicuratevi di riavvia u vostru servitore di mail cù u cumandimu zmmailboxdctl riavvia.

U principale svantaghju di DoSFilter hè chì travaglia à u livellu di l'applicazione è per quessa pò limità solu l'abilità di l'attaccanti per realizà diverse azzioni nantu à u servitore, senza limità a capacità di cunnette à u nordu. Per via di questu, e dumande mandate à u servitore per l'autentificazione o l'inviu di lettere, ancu s'ellu ovviamente fallenu, rapprisentanu sempre un bonu vechju attaccu DoS, chì ùn pò micca esse firmatu à un livellu cusì altu.

Per assicurà cumplettamente u vostru servitore corporativu cù Zimbra OSE, pudete aduprà una suluzione cum'è Fail2ban, chì hè un quadru chì pò monitorà constantemente i logs di u sistema d'informazione per l'azzioni ripetuti è bluccà l'intrudu cambiendu i paràmetri di u firewall. U bloccu à un livellu cusì bassu permette di disattivà l'attaccanti ghjustu in u stadiu di cunnessione IP à u servitore. Cusì, Fail2Ban pò cumplementari perfettamente a prutezzione custruita cù DoSFilter. Scupritemu cumu pudete cunnette Fail2Ban cù Zimbra OSE è cusì aumentà a sicurità di l'infrastruttura IT di a vostra impresa.

Cum'è qualsiasi altra applicazione di classe impresa, Zimbra Collaboration Suite Open-Source Edition mantene logs detallati di u so travagliu. A maiò parte di elli sò guardati in u cartulare /opt/zimbra/log/ in forma di schedari. Eccu uni pochi di elli:

  • mailbox.log - Logs di serviziu di mail di jetty
  • audit.log - logs di autentificazione
  • clamd.log - logs di operazione antivirus
  • freshclam.log - logs d'aghjurnamentu antivirus
  • convertd.log - logs di convertitore di attache
  • zimbrastats.csv - logs di prestazione di u servitore

I logs Zimbra ponu ancu esse truvati in u schedariu /var/log/zimbra.log, induve i logs di Postfix è Zimbra stessu sò guardati.

Per prutege u nostru sistema da a forza bruta, monitoremu mailbox.log, audit.log и zimbra.log.

Per chì tuttu u travagliu, hè necessariu chì Fail2Ban è iptables sò stallati in u vostru servitore cù Zimbra OSE. Sè vo aduprate Ubuntu, pudete fà questu cù i cumandamenti dpkg -s fail2ban, Se utilizate CentOS, pudete cuntrollà questu utilizendu i cumandamenti yum list installatu fail2ban. Se ùn avete micca installatu Fail2Ban, a stallazione ùn serà micca un prublema, postu chì stu pacchettu hè dispunibule in quasi tutti i repositori standard.

Una volta chì tuttu u software necessariu hè stallatu, pudete inizià a stallazione di Fail2Ban. Per fà questu, avete bisognu di creà un schedariu di cunfigurazione /etc/fail2ban/filter.d/zimbra.conf, in quale scriveremu espressioni regulari per i logs Zimbra OSE chì currispondenu à i tentativi di login incorrecte è attivanu miccanismi Fail2Ban. Eccu un esempiu di u cuntenutu di zimbra.conf cù un inseme di espressioni regulari chì currispondenu à i diversi errori chì Zimbra OSE tira quandu un tentativu di autentificazione falla:

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

Una volta chì l'espressioni regulari per Zimbra OSE sò stati compilati, hè ora di cumincià à edità a cunfigurazione di Fail2ban stessu. I paràmetri di sta utilità sò situati in u schedariu /etc/fail2ban/jail.conf. In casu, facemu una copia di salvezza cù u cumandimu cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Dopu quì, riduceremu stu schedariu à circa a forma seguente:

# 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

Ancu se questu esempiu hè abbastanza genericu, vale a pena spiegà alcuni di i paràmetri chì pudete vulete cambià quandu cunfigurà Fail2Ban stessu:

  • Ignora - utilizendu stu paràmetru pudete specificà una IP o una subnet specifica da quale Fail2Ban ùn deve micca verificà l'indirizzi. Comu regula, a reta interna di l'impresa è altri indirizzi di fiducia sò aghjuntu à a lista di i ignorati.
  • Bantime - U tempu per u quale u delincutore serà pruibitu. Misuratu in seconde. Un valore di -1 significa una prohibizione permanente.
  • Maxretry - U numeru massimu di volte chì un indirizzu IP pò pruvà à accede à u servitore.
  • mandate mail - Un paràmetru chì vi permette di mandà automaticamente notificazioni per email quandu Fail2Ban hè attivatu.
  • Truvà tempu - Un paràmetru chì permette di stabilisce l'intervallu di tempu dopu chì l'indirizzu IP pò pruvà à accede à u servitore di novu dopu chì u numeru massimu di tentativi falluti hè statu esauritu (parametru maxretry)

Dopu avè salvatu u schedariu cù i paràmetri di Fail2Ban, tuttu ciò chì resta hè di riavvia sta utilità cù u cumandimu. serviziu fail2ban riavvia. Dopu à u restart, i principali logs Zimbra cumincianu à esse monitoratu constantemente per u rispettu di l'espressioni regulare. Grazie à questu, l'amministratore puderà eliminà virtualmente ogni pussibilità di un attaccu chì penetre micca solu e caselle di posta Zimbra Collaboration Suite Open-Source Edition, ma ancu prutegge tutti i servizii chì funzionanu in Zimbra OSE, è ancu esse cuscenti di ogni tentativu di ottene un accessu micca autorizatu. .

Per tutte e dumande riguardanti Zextras Suite, pudete cuntattà u Rappresentante di Zextras Ekaterina Triandafilidi per e-mail [email prutettu]

Source: www.habr.com

Add a comment