Aizsargājiet Zimbra OSE no brutāla spēka un DoS uzbrukumiem

Zimbra Collaboration Suite Open-Source Edition ir vairāki spēcÄ«gi rÄ«ki, lai nodroÅ”inātu informācijas droŔību. Starp viņiem Postscreen - risinājums pasta servera aizsardzÄ«bai pret robottÄ«klu uzbrukumiem, ClamAV - antivÄ«russ, kas var skenēt ienākoÅ”os failus un vēstules, lai konstatētu inficÄ“Å”anos ar ļaunprātÄ«gām programmām, kā arÄ« SpamAssassin - viens no Å”odienas labākajiem surogātpasta filtriem. Tomēr Å”ie rÄ«ki nespēj aizsargāt Zimbra OSE no brutāla spēka uzbrukumiem. Ne tās elegantākās, bet tomēr diezgan efektÄ«vās brutālās paroles, izmantojot Ä«paÅ”u vārdnÄ«cu, ir saistÄ«tas ne tikai ar veiksmÄ«gas uzlauÅ”anas iespējamÄ«bu ar visām no tā izrietoÅ”ajām sekām, bet arÄ« ar ievērojamas slodzes radÄ«Å”anu serverÄ«, kas apstrādā visu. neveiksmÄ«gi mēģinājumi uzlauzt serveri ar Zimbra OSE.

Aizsargājiet Zimbra OSE no brutāla spēka un DoS uzbrukumiem

Principā jÅ«s varat pasargāt sevi no brutāla spēka, izmantojot standarta Zimbra OSE rÄ«kus. Paroles droŔības politikas iestatÄ«jumi ļauj iestatÄ«t neveiksmÄ«go paroles ievadÄ«Å”anas mēģinājumu skaitu, pēc kuriem potenciāli uzbrukuÅ”ais konts tiek bloķēts. Å Ä«s pieejas galvenā problēma ir tāda, ka rodas situācijas, kurās var tikt bloķēti viena vai vairāku darbinieku konti rupja spēka uzbrukuma dēļ, kuram viņiem nav ko darÄ«t, un no tā izrietoŔā dÄ«kstāve darbinieku darbā var radÄ«t lielus zaudējumus. kompānija. Tāpēc labāk neizmantot Å”o aizsardzÄ«bas pret brutālu spēku iespēju.

Aizsargājiet Zimbra OSE no brutāla spēka un DoS uzbrukumiem

Lai aizsargātu pret brutālu spēku, daudz labāk ir piemērots Ä«paÅ”s rÄ«ks ar nosaukumu DoSFilter, kas ir iebÅ«vēts Zimbra OSE un var automātiski pārtraukt savienojumu ar Zimbra OSE, izmantojot HTTP. Citiem vārdiem sakot, DoSFilter darbÄ«bas princips ir lÄ«dzÄ«gs PostScreen darbÄ«bas principam, tikai tas tiek izmantots citam protokolam. Sākotnēji izstrādāts, lai ierobežotu darbÄ«bu skaitu, ko var veikt viens lietotājs, DoSFilter var nodroÅ”ināt arÄ« aizsardzÄ«bu pret brutālu spēku. Tā galvenā atŔķirÄ«ba no Zimbra iebÅ«vētā rÄ«ka ir tāda, ka pēc noteikta skaita neveiksmÄ«giem mēģinājumiem tas bloķē nevis paÅ”u lietotāju, bet gan IP adresi, no kuras tiek veikti vairāki mēģinājumi pieteikties konkrētajā kontā. Pateicoties tam, sistēmas administrators var ne tikai aizsargāties pret brutālu spēku, bet arÄ« izvairÄ«ties no uzņēmuma darbinieku bloÄ·Ä“Å”anas, vienkārÅ”i pievienojot sava uzņēmuma iekŔējo tÄ«klu uzticamo IP adreÅ”u un apakÅ”tÄ«klu sarakstam.

DoSFilter lielā priekÅ”rocÄ«ba ir tā, ka papildus daudziem mēģinājumiem pieteikties noteiktā kontā, izmantojot Å”o rÄ«ku, jÅ«s varat automātiski bloķēt tos uzbrucējus, kuri pārņēma darbinieka autentifikācijas datus un pēc tam veiksmÄ«gi pieteicās viņa kontā un sāka sÅ«tÄ«t simtiem pieprasÄ«jumu. uz serveri.

DoSFilter var konfigurēt, izmantojot Ŕādas konsoles komandas:

  • zimbraHttpDosFilterMaxRequestsPerSec ā€” Izmantojot Å”o komandu, varat iestatÄ«t maksimālo vienam lietotājam atļauto savienojumu skaitu. Pēc noklusējuma Ŕī vērtÄ«ba ir 30 savienojumi.
  • zimbraHttpDosFilterDelayMillis - Izmantojot Å”o komandu, varat iestatÄ«t aizkavi milisekundēs savienojumiem, kas pārsniegs iepriekŔējā komandā norādÄ«to ierobežojumu. Papildus veselu skaitļu vērtÄ«bām administrators var norādÄ«t 0, lai vispār nebÅ«tu aizkaves, un -1, lai visi savienojumi, kas pārsniedz noteikto ierobežojumu, tiktu vienkārÅ”i pārtraukti. Noklusējuma vērtÄ«ba ir -1.
  • zimbraHttpThrottleSafeIP ā€” Izmantojot Å”o komandu, administrators var norādÄ«t uzticamas IP adreses un apakÅ”tÄ«klus, uz kuriem netiks attiecināti iepriekÅ” minētie ierobežojumi. Ņemiet vērā, ka Ŕīs komandas sintakse var atŔķirties atkarÄ«bā no vēlamā rezultāta. Tā, piemēram, ievadot komandu zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, jÅ«s pilnÄ«bā pārrakstÄ«sit visu sarakstu un atstāsiet tajā tikai vienu IP adresi. Ja ievadāt komandu zmprov mcf +zimbraHttpThrottleSafeIP 127.0.0.1, ievadÄ«tā IP adrese tiks pievienota baltajam sarakstam. Tāpat, izmantojot atņemÅ”anas zÄ«mi, jÅ«s varat noņemt jebkuru IP no atļautā saraksta.

LÅ«dzu, ņemiet vērā, ka DoSFilter var radÄ«t vairākas problēmas, izmantojot Zextras Suite Pro paplaÅ”inājumus. Lai no tiem izvairÄ«tos, mēs iesakām palielināt vienlaicÄ«go savienojumu skaitu no 30 lÄ«dz 100, izmantojot komandu zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Turklāt mēs iesakām atļauto tÄ«klu sarakstam pievienot uzņēmuma iekŔējo tÄ«klu. To var izdarÄ«t, izmantojot komandu zmprov mcf +zimbraHttpThrottleSafeIP 192.168.0.0/24. Pēc DoSFilter izmaiņu veikÅ”anas noteikti restartējiet pasta serveri, izmantojot komandu zmmailboxdctl restartējiet.

Galvenais DoSFilter trÅ«kums ir tas, ka tas darbojas lietojumprogrammu lÄ«menÄ« un tāpēc var tikai ierobežot uzbrucēju iespējas veikt dažādas darbÄ«bas serverÄ«, neierobežojot iespēju izveidot savienojumu ar ziemeļiem. Å Ä« iemesla dēļ serverim nosÅ«tÄ«tie autentifikācijas vai vēstuļu sÅ«tÄ«Å”anas pieprasÄ«jumi, lai arÄ« tie acÄ«mredzami neizdosies, joprojām bÅ«s vecais, labais DoS uzbrukums, kuru nevar apturēt tik augstā lÄ«menÄ«.

Lai pilnÄ«bā aizsargātu savu korporatÄ«vo serveri ar Zimbra OSE, varat izmantot tādu risinājumu kā Fail2ban, kas ir ietvars, kas var pastāvÄ«gi uzraudzÄ«t informācijas sistēmas žurnālus atkārtotām darbÄ«bām un bloķēt iebrucēju, mainot ugunsmÅ«ra iestatÄ«jumus. BloÄ·Ä“Å”ana tik zemā lÄ«menÄ« ļauj atspējot uzbrucējus tieÅ”i IP savienojuma posmā ar serveri. Tādējādi Fail2Ban var lieliski papildināt aizsardzÄ«bu, kas izveidota, izmantojot DoSFilter. Noskaidrosim, kā jÅ«s varat savienot Fail2Ban ar Zimbra OSE un tādējādi palielināt sava uzņēmuma IT infrastruktÅ«ras droŔību.

Tāpat kā jebkura cita uzņēmuma klases lietojumprogramma, Zimbra Collaboration Suite Open-Source Edition glabā detalizētus žurnālus par savu darbu. Lielākā daļa no tiem tiek saglabāti mapē /opt/zimbra/log/ failu veidā. Šeit ir tikai daži no tiem:

  • mailbox.log ā€” Jetty pasta pakalpojumu žurnāli
  • audit.log - autentifikācijas žurnāli
  • clamd.log ā€” pretvÄ«rusu darbÄ«bu žurnāli
  • freshclam.log ā€” pretvÄ«rusu atjaunināŔanas žurnāli
  • convertd.log ā€” pielikumu pārveidotāja žurnāli
  • zimbrastats.csv ā€” servera veiktspējas žurnāli

Zimbra žurnālus var atrast arī failā /var/log/zimbra.log, kur tiek glabāti Postfix un paŔas Zimbra žurnāli.

Lai aizsargātu mÅ«su sistēmu no brutāla spēka, mēs uzraudzÄ«sim pastkaste.log, audit.log Šø zimbra.log.

Lai viss darbotos, jÅ«su serverÄ« ar Zimbra OSE ir nepiecieÅ”ams instalēt Fail2Ban un iptables. Ja izmantojat Ubuntu, varat to izdarÄ«t, izmantojot komandas dpkg -s fail2ban, ja izmantojat CentOS, varat to pārbaudÄ«t, izmantojot komandas yum saraksts instalēts fail2ban. Ja jums nav instalēts Fail2Ban, tā instalÄ“Å”ana nebÅ«s problēma, jo Ŕī pakotne ir pieejama gandrÄ«z visās standarta krātuvēs.

Kad visa nepiecieÅ”amā programmatÅ«ra ir instalēta, varat sākt Fail2Ban iestatÄ«Å”anu. Lai to izdarÄ«tu, jums ir jāizveido konfigurācijas fails /etc/fail2ban/filter.d/zimbra.conf, kurā mēs rakstÄ«sim regulāras izteiksmes Zimbra OSE žurnāliem, kas atbildÄ«s nepareiziem pieteikÅ”anās mēģinājumiem un aktivizēs Fail2Ban mehānismus. Å eit ir faila zimbra.conf satura piemērs ar regulāro izteiksmju kopu, kas atbilst dažādām kļūdām, kuras Zimbra OSE rada, ja autentifikācijas mēģinājums neizdodas:

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

Kad Zimbra OSE regulārās izteiksmes ir apkopotas, ir pienācis laiks sākt rediģēt paÅ”as Fail2ban konfigurāciju. Å Ä«s utilÄ«tas iestatÄ«jumi atrodas failā /etc/fail2ban/jail.conf. Katram gadÄ«jumam, izmantojot komandu, izveidosim tā rezerves kopiju cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Pēc tam mēs reducēsim Å”o failu lÄ«dz aptuveni Ŕādai formai:

# 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

Lai gan Å”is piemērs ir diezgan vispārÄ«gs, tomēr ir vērts izskaidrot dažus parametrus, kurus, iespējams, vēlēsities mainÄ«t, pats iestatot Fail2Ban:

  • Ignorēt ā€” izmantojot Å”o parametru, varat norādÄ«t konkrētu IP vai apakÅ”tÄ«klu, no kura Fail2Ban nevajadzētu pārbaudÄ«t adreses. Parasti ignorēto sarakstam tiek pievienots uzņēmuma iekŔējais tÄ«kls un citas uzticamas adreses.
  • Bantime ā€” Laiks, uz kuru likumpārkāpējam tiks piemērots aizliegums. MērÄ«ts sekundēs. VērtÄ«ba -1 nozÄ«mē pastāvÄ«gu aizliegumu.
  • Maksretrija ā€” Maksimālais reižu skaits, kad viena IP adrese var mēģināt piekļūt serverim.
  • NosÅ«tÄ«t pastu ā€” IestatÄ«jums, kas ļauj automātiski nosÅ«tÄ«t e-pasta paziņojumus, kad tiek aktivizēts Fail2Ban.
  • Atrast laiku ā€” IestatÄ«jums, kas ļauj iestatÄ«t laika intervālu, pēc kura IP adrese var mēģināt vēlreiz piekļūt serverim pēc tam, kad ir izsmelts maksimālais neveiksmÄ«go mēģinājumu skaits (maksimālā mēģinājuma parametrs)

Pēc faila saglabāŔanas ar Fail2Ban iestatÄ«jumiem atliek tikai restartēt Å”o utilÄ«tu, izmantojot komandu pakalpojuma fail2ban restartÄ“Å”ana. Pēc restartÄ“Å”anas sāks pastāvÄ«gi uzraudzÄ«t galveno Zimbra žurnālu atbilstÄ«bu regulārajām izteiksmēm. Pateicoties tam, administrators varēs praktiski novērst jebkādu iespēju, ka uzbrucējs varētu iekļūt ne tikai Zimbra Collaboration Suite Open-Source Edition pastkastēs, bet arÄ« aizsargāt visus pakalpojumus, kas darbojas Zimbra OSE, kā arÄ« apzināties jebkādus mēģinājumus iegÅ«t nesankcionētu piekļuvi. .

Par visiem jautājumiem, kas saistīti ar Zextras Suite, varat sazināties ar Zextras pārstāvi Jekaterinu Triandafilidi pa e-pastu [e-pasts aizsargāts]

Avots: www.habr.com

Pievieno komentāru