Amddiffyn Zimbra OSE rhag grym ysgrublaidd ac ymosodiadau DoS

Mae gan Zimbra Collaboration Suite Open-Source Edition sawl teclyn pwerus i sicrhau diogelwch gwybodaeth. Yn eu plith Sgrîn bost - datrysiad ar gyfer amddiffyn gweinydd post rhag ymosodiadau gan botnets, ClamAV - gwrthfeirws a all sganio ffeiliau a llythyrau sy'n dod i mewn am haint gyda rhaglenni maleisus, yn ogystal â SpamAssassin - un o'r hidlwyr sbam gorau heddiw. Fodd bynnag, ni all yr offer hyn amddiffyn Zimbra OSE rhag ymosodiadau grym 'n ysgrublaidd. Nid y cyfrineiriau mwyaf cain, ond sy'n dal yn eithaf effeithiol, sy'n gorfodi geiriadur arbennig, sy'n llawn nid yn unig y tebygolrwydd o hacio llwyddiannus gyda'r holl ganlyniadau dilynol, ond hefyd gyda chreu llwyth sylweddol ar y gweinydd, sy'n prosesu'r cyfan. ymdrechion aflwyddiannus i hacio gweinydd gyda Zimbra OSE.

Amddiffyn Zimbra OSE rhag grym ysgrublaidd ac ymosodiadau DoS

Mewn egwyddor, gallwch amddiffyn eich hun rhag grym 'n Ysgrublaidd gan ddefnyddio offer safonol Zimbra OSE. Mae gosodiadau'r polisi diogelwch cyfrinair yn caniatáu ichi osod nifer yr ymgeisiau aflwyddiannus i fynd i mewn i gyfrinair, ac ar ôl hynny mae'r cyfrif yr ymosodwyd arno o bosibl yn cael ei rwystro. Y brif broblem gyda'r dull hwn yw bod sefyllfaoedd yn codi lle gall cyfrifon un neu fwy o weithwyr gael eu rhwystro oherwydd ymosodiad gan y 'n Ysgrublaidd nad oes ganddynt ddim i'w wneud, a gall yr amser segur yng ngwaith gweithwyr ddod â cholledion mawr i hyn. y cwmni. Dyna pam ei bod yn well peidio â defnyddio'r opsiwn hwn o amddiffyniad rhag grym ysgarol.

Amddiffyn Zimbra OSE rhag grym ysgrublaidd ac ymosodiadau DoS

Er mwyn amddiffyn rhag grym 'n Ysgrublaidd, mae offeryn arbennig o'r enw DoSFilter yn llawer mwy addas, sydd wedi'i ymgorffori yn Zimbra OSE a gall derfynu'r cysylltiad â Zimbra OSE yn awtomatig trwy HTTP. Mewn geiriau eraill, mae egwyddor weithredol DoSFilter yn debyg i egwyddor gweithredu PostScreen, dim ond ar gyfer protocol gwahanol y caiff ei ddefnyddio. Wedi'i gynllunio'n wreiddiol i gyfyngu ar nifer y gweithredoedd y gall defnyddiwr unigol eu cyflawni, gall DoSFilter hefyd ddarparu amddiffyniad grym ysgarol. Ei wahaniaeth allweddol o'r offeryn sydd wedi'i ymgorffori yn Zimbra yw, ar ôl nifer penodol o ymdrechion aflwyddiannus, nad yw'n rhwystro'r defnyddiwr ei hun, ond y cyfeiriad IP y gwneir ymdrechion lluosog ohono i fewngofnodi i gyfrif penodol. Diolch i hyn, gall gweinyddwr system nid yn unig amddiffyn rhag grym 'n Ysgrublaidd, ond hefyd osgoi rhwystro gweithwyr cwmni trwy ychwanegu rhwydwaith mewnol ei gwmni at y rhestr o gyfeiriadau IP ac is-rwydweithiau dibynadwy.

Mantais fawr DoSFilter yw y gallwch chi, yn ogystal â nifer o ymdrechion i fewngofnodi i gyfrif penodol, ddefnyddio'r offeryn hwn rwystro'r ymosodwyr hynny a gymerodd feddiant o ddata dilysu gweithiwr yn awtomatig, ac yna mewngofnodi'n llwyddiannus i'w gyfrif a dechrau anfon cannoedd o geisiadau. i'r gweinydd.

Gallwch chi ffurfweddu DoSFilter gan ddefnyddio'r gorchmynion consol canlynol:

  • zimbraHttpDosFilterMaxRequestsPerSec — Gan ddefnyddio'r gorchymyn hwn, gallwch osod y nifer uchaf o gysylltiadau a ganiateir ar gyfer un defnyddiwr. Yn ddiofyn, y gwerth hwn yw 30 cysylltiad.
  • zimbraHttpDosFilterDelayMillis - Gan ddefnyddio'r gorchymyn hwn, gallwch chi osod oedi mewn milieiliadau ar gyfer cysylltiadau a fydd yn fwy na'r terfyn a nodir gan y gorchymyn blaenorol. Yn ogystal â gwerthoedd cyfanrif, gall y gweinyddwr nodi 0, fel nad oes unrhyw oedi o gwbl, a -1, fel bod yr holl gysylltiadau sy'n fwy na'r terfyn penodedig yn cael eu torri. Y gwerth rhagosodedig yw -1.
  • zimbraHttpThrottleSafeIPs — Gan ddefnyddio'r gorchymyn hwn, gall y gweinyddwr nodi cyfeiriadau IP dibynadwy ac is-rwydweithiau na fyddant yn ddarostyngedig i'r cyfyngiadau a restrir uchod. Sylwch y gall cystrawen y gorchymyn hwn amrywio yn dibynnu ar y canlyniad a ddymunir. Felly, er enghraifft, trwy fynd i mewn i'r gorchymyn zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, byddwch yn trosysgrifo'r rhestr gyfan yn llwyr ac yn gadael dim ond un cyfeiriad IP ynddi. Os rhowch y gorchymyn zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, bydd y cyfeiriad IP a roesoch yn cael ei ychwanegu at y rhestr wen. Yn yr un modd, gan ddefnyddio'r arwydd tynnu, gallwch dynnu unrhyw IP o'r rhestr a ganiateir.

Sylwch y gallai DoSFilter greu nifer o broblemau wrth ddefnyddio estyniadau Zextras Suite Pro. Er mwyn eu hosgoi, rydym yn argymell cynyddu nifer y cysylltiadau cydamserol o 30 i 100 gan ddefnyddio'r gorchymyn zmprov mcf zimbraHttpDosFilterMaxRequestPerSec 100. Yn ogystal, rydym yn argymell ychwanegu rhwydwaith mewnol y fenter at y rhestr o rai a ganiateir. Gellir gwneud hyn gan ddefnyddio'r gorchymyn zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Ar ôl gwneud unrhyw newidiadau i DoSFilter, gwnewch yn siŵr eich bod yn ailgychwyn eich gweinydd post gan ddefnyddio'r gorchymyn ailgychwyn zmmailboxdctl.

Prif anfantais DoSFilter yw ei fod yn gweithio ar lefel y cais ac felly dim ond cyfyngu ar allu ymosodwyr i gyflawni gwahanol gamau gweithredu ar y gweinydd, heb gyfyngu ar y gallu i gysylltu â'r gogledd. Oherwydd hyn, bydd ceisiadau a anfonir at y gweinydd am ddilysu neu anfon llythyrau, er y byddant yn amlwg yn methu, yn dal i gynrychioli hen ymosodiad DoS da, na ellir ei atal ar lefel mor uchel.

Er mwyn diogelu'ch gweinydd corfforaethol yn llwyr gyda Zimbra OSE, gallwch ddefnyddio datrysiad fel Fail2ban, sy'n fframwaith a all fonitro logiau system wybodaeth yn gyson ar gyfer gweithredoedd ailadroddus a rhwystro'r tresmaswr trwy newid y gosodiadau wal dân. Mae blocio ar lefel mor isel yn caniatáu ichi analluogi ymosodwyr yn union ar gam cysylltiad IP â'r gweinydd. Felly, gall Fail2Ban ategu'n berffaith yr amddiffyniad a adeiladwyd gan ddefnyddio DoSFilter. Dewch i ni ddarganfod sut y gallwch chi gysylltu Fail2Ban â Zimbra OSE a thrwy hynny gynyddu diogelwch seilwaith TG eich menter.

Fel unrhyw raglen dosbarth menter arall, mae Zimbra Collaboration Suite Open-Source Edition yn cadw cofnodion manwl o'i waith. Mae'r rhan fwyaf ohonynt yn cael eu storio yn y ffolder /opt/zimbra/log/ ar ffurf ffeiliau. Dyma ychydig ohonynt yn unig:

  • mailbox.log — Logiau gwasanaeth post Jetty
  • audit.log - logiau dilysu
  • clamd.log — logiau gweithrediad gwrthfeirws
  • freshclam.log - logiau diweddaru antivirus
  • convertd.log - logiau trawsnewidydd atodiad
  • zimbrastats.csv - logiau perfformiad gweinydd

Gellir dod o hyd i logiau Zimbra yn y ffeil hefyd /var/log/zimbra.log, lle cedwir logiau o Postfix a Zimbra ei hun.

Er mwyn amddiffyn ein system rhag grym 'n ysgrublaidd, byddwn yn monitro blwch post.log, archwiliad.log и zimbra.log.

Er mwyn i bopeth weithio, mae angen gosod Fail2Ban ac iptables ar eich gweinydd gyda Zimbra OSE. Os ydych chi'n defnyddio Ubuntu, gallwch chi wneud hyn gan ddefnyddio'r gorchmynion dpkg -s methu2ban, os ydych chi'n defnyddio CentOS, gallwch wirio hyn gan ddefnyddio'r gorchmynion rhestr yum gosod fail2ban. Os nad oes gennych Fail2Ban wedi'i osod, yna ni fydd ei osod yn broblem, gan fod y pecyn hwn ar gael ym mron pob storfa safonol.

Unwaith y bydd yr holl feddalwedd angenrheidiol wedi'i gosod, gallwch ddechrau sefydlu Fail2Ban. I wneud hyn mae angen i chi greu ffeil ffurfweddu /etc/fail2ban/filter.d/zimbra.conf, lle byddwn yn ysgrifennu ymadroddion rheolaidd ar gyfer logiau Zimbra OSE a fydd yn cyfateb i ymdrechion mewngofnodi anghywir ac yn sbarduno mecanweithiau Fail2Ban. Dyma enghraifft o gynnwys zimbra.conf gyda set o ymadroddion rheolaidd sy'n cyfateb i'r gwallau amrywiol y mae Zimbra OSE yn eu taflu pan fydd ymgais ddilysu yn methu:

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

Unwaith y bydd yr ymadroddion rheolaidd ar gyfer Zimbra OSE wedi'u llunio, mae'n bryd dechrau golygu cyfluniad Fail2ban ei hun. Mae gosodiadau'r cyfleustodau hwn wedi'u lleoli yn y ffeil /etc/fail2ban/jail.conf. Rhag ofn, gadewch i ni wneud copi wrth gefn ohono gan ddefnyddio'r gorchymyn cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Ar ôl hynny, byddwn yn lleihau'r ffeil hon i tua'r ffurf ganlynol:

# 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

Er bod yr enghraifft hon yn eithaf generig, mae'n dal yn werth esbonio rhai o'r paramedrau y gallech fod am eu newid wrth sefydlu Fail2Ban eich hun:

  • Anwybyddu — gan ddefnyddio'r paramedr hwn gallwch nodi ip neu is-rwydwaith penodol na ddylai Fail2Ban wirio cyfeiriadau ohono. Fel rheol, mae rhwydwaith mewnol y fenter a chyfeiriadau dibynadwy eraill yn cael eu hychwanegu at y rhestr o rai a anwybyddir.
  • bantime — Yr amser y bydd y troseddwr yn cael ei wahardd. Wedi'i fesur mewn eiliadau. Mae gwerth o -1 yn golygu gwaharddiad parhaol.
  • Maxretry — Y nifer fwyaf o weithiau y gall un cyfeiriad IP geisio cyrchu'r gweinydd.
  • Anfonmail - Gosodiad sy'n eich galluogi i anfon hysbysiadau e-bost yn awtomatig pan fydd Fail2Ban yn cael ei sbarduno.
  • Dod o Hyd i Amser — Gosodiad sy'n eich galluogi i osod yr egwyl amser ac ar ôl hynny gall y cyfeiriad IP geisio cyrchu'r gweinydd eto ar ôl i'r uchafswm o ymdrechion aflwyddiannus ddod i ben (paramedr maxretry)

Ar ôl arbed y ffeil gyda'r gosodiadau Fail2Ban, y cyfan sydd ar ôl yw ailgychwyn y cyfleustodau hwn gan ddefnyddio'r gorchymyn gwasanaeth methu2ban ailgychwyn. Ar ôl yr ailgychwyn, bydd y prif logiau Zimbra yn dechrau cael eu monitro'n gyson ar gyfer cydymffurfiad ag ymadroddion rheolaidd. Diolch i hyn, bydd y gweinyddwr yn gallu dileu bron unrhyw bosibilrwydd y bydd ymosodwr yn treiddio nid yn unig mewn blychau post Argraffiad Ffynhonnell Agored Zimbra Collaboration Suite, ond hefyd yn amddiffyn yr holl wasanaethau sy'n rhedeg o fewn Zimbra OSE, a hefyd yn ymwybodol o unrhyw ymdrechion i gael mynediad heb awdurdod .

Ar gyfer pob cwestiwn sy'n ymwneud â Zextras Suite, gallwch gysylltu â Chynrychiolydd Zextras Ekaterina Triandafilidi trwy e-bost [e-bost wedi'i warchod]

Ffynhonnell: hab.com

Ychwanegu sylw