Zimbra OSE ji hêzên hov û êrîşên DoS biparêzin

Zimbra Collaboration Suite Edition Open-Source xwedan gelek amûrên hêzdar e ku ewlehiya agahdariyê misoger bike. Di nav wan de Postscreen - çareseriyek ji bo parastina serverek e-nameyê ji êrişên botnets, ClamAV - antîvîrusek ku dikare pel û tîpên gihîştî ji bo enfeksiyonê bi bernameyên xerab, û her weha SpamAssassin - yek ji baştirîn fîlterên spam îro. Lêbelê, van amûran nekarin Zimbra OSE ji êrîşên hêza hov biparêzin. Ne şîfreyên herî elegant, lê dîsa jî pir bi bandor, hovane yên ku bi karanîna ferhengek taybetî ve têne bikar anîn, ne tenê bi îhtîmala hakkirina serketî digel hemî encamên paşerojê, lê di heman demê de bi afirandina barek girîng li ser serverê jî, ku hemî pêvajoyê dike. hewildanên neserkeftî yên hackkirina serverek bi Zimbra OSE.

Zimbra OSE ji hêzên hov û êrîşên DoS biparêzin

Di prensîbê de, hûn dikarin bi karanîna amûrên standard Zimbra OSE xwe ji hêza hov biparêzin. Mîhengên polîtîkaya ewlehiya şîfreyê dihêle hûn hejmara hewildanên têketina şîfreya neserkeftî destnîşan bikin, piştî ku hesabê potansiyel êrîşkirî tê asteng kirin. Pirsgirêka sereke ya vê nêzîkatiyê ev e ku rewşên ku tê de dibe ku hesabên yek an çend karmendan ji ber êrîşek bi hêzek hov a ku tiştek jê re tune ye were asteng kirin, û di encama domdariya xebata karmendan de dikare zirarên mezin bîne. şîrketa. Ji ber vê yekê çêtirîn e ku meriv vê vebijarka parastinê li hember hêza hov bikar neyne.

Zimbra OSE ji hêzên hov û êrîşên DoS biparêzin

Ji bo parastina li hember hêza hovane, amûrek taybetî ya bi navê DoSFilter pir çêtir e, ku di Zimbra OSE de hatî çêkirin û dikare bixweber pêwendiya Zimbra OSE bi HTTP-ê biqedîne. Bi gotinek din, prensîba xebitandinê ya DoSFilter mîna prensîba xebitandinê ya PostScreen-ê ye, tenê ew ji bo protokolek cûda tê bikar anîn. Di eslê xwe de ji bo sînorkirina hejmara kiryarên ku bikarhênerek yekane dikare pêk bîne hatî çêkirin, DoSFilter jî dikare parastina hêza hov peyda bike. Cûdahiya wê ya sereke ji amûra ku di nav Zimbra de hatî çêkirin ev e ku piştî çend hejmarek hewildanên neserkeftî, ew bikarhêner bixwe asteng nake, lê navnîşana IP-ya ku jê re gelek hewil têne kirin da ku têkevin hesabek taybetî. Bi saya vê yekê, rêveberek pergalê ne tenê dikare li hember hêza hov biparêze, lê di heman demê de ji astengkirina karmendên pargîdaniyê jî bi tenê zêdekirina tora hundurîn a pargîdaniya xwe li navnîşa navnîşanên IP-ya pêbawer û jêrtoran dûr dike.

Feydeya mezin a DoSFilter ev e ku ji bilî gelek hewildanên ji bo têketina hesabek taybetî, bi karanîna vê amûrê hûn dikarin bixweber wan êrişkerên ku xwedan daneyên piştrastkirina karmendek girtine asteng bikin, û dûv re bi serfirazî têkeve hesabê wî û dest bi şandina bi sedan daxwazan kirin. ji bo server.

Hûn dikarin DoSFilter bi karanîna fermanên konsolê yên jêrîn mîheng bikin:

  • zimbraHttpDosFilterMaxRequestsPerSec - Bi karanîna vê fermanê, hûn dikarin ji bo yek bikarhênerek herî zêde jimareya girêdanan destnîşan bikin. Bi xwerû ev nirx 30 girêdan e.
  • zimbraHttpDosFilterDelayMillis - Bi karanîna vê fermanê, hûn dikarin ji bo girêdanên ku dê ji sînorê ku ji hêla fermana berê ve hatî diyar kirin derbas bibin derengek mîlîçirkeyan saz bikin. Ji bilî nirxên yekjimar, rêveber dikare 0-ê destnîşan bike, da ku bi tevahî dereng nebe, û -1, da ku hemî girêdanên ku ji sînorê diyarkirî derbas dibin bi hêsanî têne qut kirin. Nirxa xwerû -1 e.
  • zimbraHttpThrottleSafeIPs - Bi karanîna vê fermanê, rêvebir dikare navnîşanên IP-ya pêbawer û jêrtorêk diyar bike ku dê nebin mijara qedexeyên ku li jor hatine destnîşan kirin. Bala xwe bidinê ku hevoksaziya vê fermanê li gorî encama xwestî dikare cûda bibe. Ji ber vê yekê, mînakî, bi ketina fermanê zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, hûn ê tevahiya navnîşê bi tevahî binivîsin û tenê navnîşek IP-ê tê de bihêlin. Ger hûn fermanê têkevin zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, navnîşana IP-ya ku we têxe navnîşa spî dê were zêdekirin. Bi heman rengî, bi karanîna nîşana dakêşanê, hûn dikarin her IP-yê ji navnîşa destûr jêbirin.

Ji kerema xwe bala xwe bidin ku DoSFilter dema ku pêvekên Zextras Suite Pro bikar tîne gelek pirsgirêkan biafirîne. Ji bo ku em ji wan dûr nekevin, em pêşniyar dikin ku bi karanîna fermanê hejmara girêdanên hevdem ji 30 ber 100 zêde bikin. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Wekî din, em pêşniyar dikin ku tora navxweyî ya pargîdaniyê li navnîşa destûrnameyê zêde bikin. Ev dikare bi karanîna fermanê were kirin zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Piştî ku hûn guheztinek li DoSFilter bikin, pê ewle bin ku hûn bi karanîna fermanê servera nameya xwe ji nû ve bidin destpêkirin zmmailboxdctl ji nû ve dest pê bike.

Kêmasiya sereke ya DoSFilter ev e ku ew di asta serîlêdanê de dixebite û ji ber vê yekê tenê dikare şiyana êrîşkaran ji bo pêkanîna çalakiyên cihêreng li ser serverê sînordar bike, bêyî sînorkirina şiyana girêdana bi bakur. Ji ber vê yekê, daxwazên ku ji serverê re ji bo pejirandin an şandina nameyan têne şandin, her çend ew eşkere têk biçin, dê dîsa jî êrîşek DoS-ya kevnare ya baş temsîl bike, ku nikare di astek wusa bilind de were sekinandin.

Ji bo ku hûn servera pargîdaniya xwe bi Zimbra OSE re bi tevahî ewleh bikin, hûn dikarin çareseriyek wekî Fail2ban bikar bînin, ku çarçoveyek e ku dikare bi domdarî têketinên pergala agahdariyê ji bo kiryarên dubare bişopîne û bi guheztina mîhengên dîwarê agirkujiyê asteng bike. Astengkirina di astek wusa nizm de dihêle hûn rast di qonaxa girêdana IP-ya serverê de êrîşkaran neçalak bikin. Bi vî rengî, Fail2Ban dikare parastina ku bi karanîna DoSFilter hatî çêkirin bi tevahî temam bike. Ka em fêr bibin ka hûn çawa dikarin Fail2Ban bi Zimbra OSE ve girêdin û bi vî rengî ewlehiya binesaziya IT ya pargîdaniya xwe zêde bikin.

Mîna her serîlêdana pola pargîdanî ya din, Zimbra Collaboration Suite Open-Source Edition têketinên berfireh ên xebata xwe digire. Piraniya wan di peldankê de têne hilanîn /opt/zimbra/log/ di forma pelan de. Li vir tenê çend ji wan hene:

  • mailbox.log - Têketinên karûbarê nameya Jetty
  • audit.log - têketinên erêkirinê
  • clamd.log - têketinên operasyona antivirus
  • freshclam.log - têketinên nûvekirina antivirus
  • convertd.log - têketinên veguherkera pêvekê
  • zimbrastats.csv - têketinên performansa serverê

Têketinên Zimbra jî di pelê de têne dîtin /var/log/zimbra.log, ku têketinên Postfix û Zimbra bixwe têne girtin.

Ji bo ku pergala xwe ji hêza hov biparêzin, em ê çavdêriyê bikin mailbox.log, audit.log и zimbra.log.

Ji bo ku her tişt bixebite, pêdivî ye ku Fail2Ban û iptables bi Zimbra OSE re li ser servera we werin saz kirin. Heke hûn Ubuntu bikar tînin, hûn dikarin vê yekê bi karanîna fermanan bikin dpkg -s fail2ban, heke hûn CentOS bikar bînin, hûn dikarin bi karanîna fermanan vê yekê kontrol bikin lîsteya yum sazkirî fail2ban. Ger we Fail2Ban saz nekiribe, wê hingê sazkirina wê ne pirsgirêkek be, ji ber ku ev pakêt hema hema di hemî depoyên standard de heye.

Piştî ku hemî nermalava pêwîst saz kirin, hûn dikarin dest bi sazkirina Fail2Ban bikin. Ji bo vê yekê hûn hewce ne ku pelek mîhengê çêbikin /etc/fail2ban/filter.d/zimbra.conf, ku tê de em ê ji bo têketinên Zimbra OSE yên birêkûpêk binivîsin ku dê hewildanên têketinê yên çewt li hev bikin û mekanîzmayên Fail2Ban derxînin. Li vir mînakek naveroka zimbra.conf heye bi komek bêjeyên birêkûpêk ên ku li gorî xeletiyên cihêreng ên ku Zimbra OSE gava ku hewildanek erêkirinê têk diçe, dide:

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

Piştî ku bêjeyên birêkûpêk ji bo Zimbra OSE hatin berhev kirin, dem e ku meriv dest bi guherandina veavakirina Fail2ban bixwe ye. Mîhengên vê amûreyê di pelê de cih digirin /etc/fail2ban/jail.conf. Tenê di rewşê de, bila em bi karanîna fermanê kopiyek hilanînê ya wê çêbikin cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Piştî wê, em ê vê pelê bi qasî forma jêrîn kêm bikin:

# 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

Her çend ev mînak pir gelemperî ye, dîsa jî hêja ye ku hûn hin pîvanên ku hûn bixwazin biguhezînin dema ku hûn bi xwe Fail2Ban saz bikin rave bikin:

  • Ignoreip - Bi karanîna vê parameterê hûn dikarin ip an subnetek taybetî diyar bikin ku Fail2Ban divê navnîşanan ji wan kontrol neke. Wekî qaîdeyek, tora navxweyî ya pargîdaniyê û navnîşanên pêbawer ên din li navnîşa yên ku nayên paşguh kirin têne zêdekirin.
  • Bantime - Wextê ku sûcdar dê were qedexe kirin. Di çirkeyan de tê pîvandin. Nirxa -1 tê wateya qedexekirina mayînde.
  • Maxretry - Hejmara herî zêde ya ku yek navnîşana IP dikare hewl bide ku bigihîje serverê.
  • sendmail - Mîhengek ku dihêle hûn gava ku Fail2Ban tê dest pê kirin bixweber agahdariya e-nameyê bişînin.
  • Findtime - Mîhengek ku destûrê dide te ku hûn navberê dema ku piştî wê navnîşana IP-yê dikare dîsa biceribîne ku bigihîje serverê piştî ku hejmara herî zêde ya hewildanên neserkeftî qediya (parametreya maxretry) destnîşan bike

Piştî tomarkirina pelê bi mîhengên Fail2Ban, ya ku dimîne ev e ku hûn vê amûreyê bi karanîna fermanê ji nû ve bidin destpêkirin. karûbarê fail2ban ji nû ve dest pê bike. Piştî ji nû ve destpêkirinê, têketinên sereke yên Zimbra dê dest bi şopandina domdar bikin ji bo lihevhatina bi bêjeyên birêkûpêk. Bi saya vê yekê, rêveber dê bi rastî her îhtîmala êrîşkarek ku ne tenê qutiyên posteyê yên Zimbra Collaboration Suite Weşana Çavkaniya Vekirî ji holê rabike, lê di heman demê de hemî karûbarên ku di hundurê Zimbra OSE de têne xebitandin jî biparêze, û her weha hay ji her hewildanên gihîştina bêdestûr hebe. .

Ji bo hemî pirsên têkildarî Zextras Suite, hûn dikarin bi e-nameyê bi Nûnera Zextras Ekaterina Triandafilidi re têkilî daynin. [email parastî]

Source: www.habr.com

Add a comment