Zimbra OSE-г харгис хүч болон DoS халдлагаас хамгаалаарай

Zimbra Collaboration Suite Open-Source Edition нь мэдээллийн аюулгүй байдлыг хангах хэд хэдэн хүчирхэг хэрэгсэлтэй. Тэдний дунд Шууд дэлгэц - мэйл серверийг ботнетийн халдлагаас хамгаалах шийдэл, ClamAV - ирж буй файлууд болон захидалд хортой программуудын халдварыг сканнердах боломжтой антивирус. SpamAssassin - Өнөөдрийн хамгийн шилдэг спам шүүлтүүрүүдийн нэг. Гэсэн хэдий ч эдгээр хэрэгслүүд Zimbra OSE-г харгис хүчний дайралтаас хамгаалах боломжгүй юм. Тусгай толь бичгийг ашиглан хамгийн гоёмсог биш, гэхдээ нэлээд үр дүнтэй, бүдүүлэг хүчээр ашиглах нууц үг нь бүх үр дагаврыг нь амжилттай хакердах магадлал төдийгүй бүх мэдээллийг боловсруулдаг сервер дээр ихээхэн ачааллыг бий болгоход хүргэдэг. Zimbra OSE ашиглан серверийг хакердах оролдлого амжилтгүй болсон.

Zimbra OSE-г харгис хүч болон DoS халдлагаас хамгаалаарай

Зарчмын хувьд та Zimbra OSE стандарт хэрэгслийг ашиглан өөрийгөө харгис хэрцгий хүчнээс хамгаалж чадна. Нууц үгийн аюулгүй байдлын бодлогын тохиргоо нь нууц үг оруулах амжилтгүй оролдлогын тоог тохируулах боломжийг олгодог бөгөөд үүний дараа халдлагад өртөж болзошгүй бүртгэлийг блоклодог. Энэ аргын гол бэрхшээл нь нэг буюу хэд хэдэн ажилтны дансыг ямар ч хийх зүйлгүй харгис хэрцгий довтолгооноос болж хаах нөхцөл байдал үүсч, улмаар ажилчдын ажлын сул зогсолт нь ихээхэн хэмжээний алдагдалд хүргэж болзошгүй юм. компани. Ийм учраас харгис хүчнээс хамгаалах энэ сонголтыг ашиглахгүй байх нь дээр.

Zimbra OSE-г харгис хүч болон DoS халдлагаас хамгаалаарай

Харгис хэрцгий хүчнээс хамгаалахын тулд Zimbra OSE-д суурилуулсан DoSFilter хэмээх тусгай хэрэгсэл нь илүү тохиромжтой бөгөөд HTTP-ээр дамжуулан Zimbra OSE-тэй холболтыг автоматаар таслах боломжтой. Өөрөөр хэлбэл, 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-г устгаж болно.

Zextras Suite Pro өргөтгөлүүдийг ашиглах үед DoSFilter нь хэд хэдэн асуудал үүсгэж болзошгүйг анхаарна уу. Эдгээрээс зайлсхийхийн тулд командыг ашиглан нэгэн зэрэг холболтын тоог 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-тэй хэрхэн холбож, улмаар байгууллагынхаа мэдээллийн технологийн дэд бүтцийн аюулгүй байдлыг нэмэгдүүлэх талаар олж мэдье.

Бусад аж ахуйн нэгжийн түвшний програмын нэгэн адил Zimbra Collaboration Suite Open-Source 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.

Бүх зүйл ажиллахын тулд Zimbra OSE-тэй Fail2Ban болон iptables сервер дээр суулгасан байх шаардлагатай. Хэрэв та Ubuntu ашиглаж байгаа бол командуудыг ашиглан үүнийг хийж болно dpkg -s fail2ban, хэрэв та CentOS ашигладаг бол командуудыг ашиглан үүнийг шалгаж болно yum жагсаалт суулгасан fail2ban. Хэрэв танд Fail2Ban суулгаагүй бол үүнийг суулгахад асуудал гарахгүй, учир нь энэ багц бараг бүх стандарт хадгалах газарт байдаг.

Шаардлагатай бүх програм хангамжийг суулгасны дараа та Fail2Ban-г тохируулж эхлэх боломжтой. Үүнийг хийхийн тулд та тохиргооны файл үүсгэх хэрэгтэй /etc/fail2ban/filter.d/zimbra.conf, үүнд бид буруу нэвтрэх оролдлоготой таарч, Fail2Ban механизмыг өдөөх Zimbra OSE бүртгэлд зориулсан тогтмол илэрхийлэл бичих болно. Баталгаажуулах оролдлого амжилтгүй болсон үед Zimbra OSE-ийн гаргадаг янз бүрийн алдаатай харгалзах тогтмол илэрхийлэл бүхий zimbra.conf-ийн агуулгын жишээг энд үзүүлэв.

# 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-г өөрөө тохируулахдаа өөрчлөхийг хүсэж болох зарим параметрүүдийг тайлбарлах нь зүйтэй юм.

  • Үл тоомсорлох — энэ параметрийг ашиглан та Fail2Ban хаягийг шалгахгүй байх тодорхой IP эсвэл дэд сүлжээг зааж өгч болно. Дүрмээр бол аж ахуйн нэгжийн дотоод сүлжээ болон бусад итгэмжлэгдсэн хаягуудыг үл тоомсорлож буй хаягуудын жагсаалтад оруулдаг.
  • Bantime - Гэмт этгээдийг хориглох хугацаа. Хэдэн секундээр хэмжигддэг. -1 гэсэн утга нь байнгын хоригийг хэлнэ.
  • Макретри — Нэг IP хаягаар серверт нэвтрэхийг оролдох хамгийн их тоо.
  • Шуудан илгээх — Fail2Ban идэвхжсэн үед автоматаар имэйл мэдэгдэл илгээх боломжийг олгодог тохиргоо.
  • Цаг олох — Хамгийн их амжилтгүй оролдлого дууссаны дараа IP хаяг дахин серверт нэвтрэхийг оролдох хугацааны интервалыг тохируулах боломжийг олгодог тохиргоо (maxretry параметр)

Файлыг Fail2Ban тохиргоогоор хадгалсны дараа командыг ашиглан энэ хэрэгслийг дахин эхлүүлэхэд л үлддэг. үйлчилгээ fail2ban дахин эхлүүлэх. Дахин ачаалсны дараа үндсэн Zimbra бүртгэлүүд нь ердийн илэрхийлэлд нийцэж байгаа эсэхийг байнга хянаж эхэлнэ. Үүний ачаар администратор нь Zimbra Collaboration Suite Open-Source Edition шуудангийн хайрцгууд руу халдагч нэвтрэх боломжийг бараг бүрмөсөн арилгахаас гадна Zimbra OSE-д ажиллаж байгаа бүх үйлчилгээг хамгаалахаас гадна зөвшөөрөлгүй нэвтрэх оролдлогоос урьдчилан сэргийлэх боломжтой болно. .

Zextras Suite-тай холбоотой бүх асуултын талаар та Zextras-ын төлөөлөгч Екатерина Триандафилидитэй имэйлээр холбогдож болно. [имэйлээр хамгаалагдсан]

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх