Zimbra OSE'yi kaba kuvvet ve DoS saldırılarından koruyun

Zimbra Collaboration Suite Açık Kaynak Sürümü, bilgi güvenliğini sağlamak için çeşitli güçlü araçlara sahiptir. Aralarında son ekran - posta sunucusunu botnet saldırılarından korumaya yönelik bir çözüm, ClamAV - gelen dosyaları ve mektupları kötü amaçlı programların bulaşmasına karşı tarayabilen bir antivirüs ve ayrıca SpamAssassin - günümüzün en iyi spam filtrelerinden biri. Ancak bu araçlar Zimbra OSE'yi kaba kuvvet saldırılarından koruyamaz. Özel bir sözlük kullanan en zarif değil, ama yine de oldukça etkili, kaba kuvvet şifreleri, yalnızca ortaya çıkan tüm sonuçlarla başarılı bir şekilde hacklenme olasılığıyla değil, aynı zamanda tüm bunları işleyen sunucuda önemli bir yük yaratılmasıyla da doludur. Zimbra OSE ile bir sunucuyu hacklemeye yönelik başarısız girişimler.

Zimbra OSE'yi kaba kuvvet ve DoS saldırılarından koruyun

Prensip olarak standart Zimbra OSE araçlarını kullanarak kendinizi kaba kuvvete karşı koruyabilirsiniz. Parola güvenliği ilkesi ayarları, başarısız parola girme denemelerinin sayısını ayarlamanıza olanak tanır ve bunun ardından potansiyel olarak saldırıya uğrayan hesap engellenir. Bu yaklaşımın temel sorunu, bir veya daha fazla çalışanın hesaplarının, hiçbir ilgisi olmayan bir kaba kuvvet saldırısı nedeniyle bloke edilebileceği durumların ortaya çıkması ve bunun sonucunda çalışanların işlerinde aksama yaşanmasının, çalışanlara büyük kayıplar getirebilmesidir. şirket. Bu nedenle kaba kuvvete karşı bu koruma seçeneğini kullanmamak en iyisidir.

Zimbra OSE'yi kaba kuvvet ve DoS saldırılarından koruyun

Kaba kuvvete karşı koruma sağlamak için, Zimbra OSE'de yerleşik olan ve Zimbra OSE bağlantısını HTTP üzerinden otomatik olarak sonlandırabilen DoSFilter adı verilen özel bir araç çok daha uygundur. Yani DoSFilter'ın çalışma prensibi PostScreen'in çalışma prensibine benzer, sadece farklı bir protokol için kullanılır. Başlangıçta tek bir kullanıcının gerçekleştirebileceği eylem sayısını sınırlamak için tasarlanan DoSFilter aynı zamanda kaba kuvvet koruması da sağlayabilir. Zimbra'da yerleşik araçtan temel farkı, belirli sayıda başarısız denemeden sonra kullanıcının kendisini değil, belirli bir hesaba oturum açmak için birden fazla girişimde bulunulan IP adresini engellemesidir. Bu sayede bir sistem yöneticisi yalnızca kaba kuvvete karşı koruma sağlamakla kalmaz, aynı zamanda şirketinin iç ağını güvenilir IP adresleri ve alt ağlar listesine ekleyerek şirket çalışanlarının engellenmesini de önleyebilir.

DoSFilter'ın en büyük avantajı, belirli bir hesaba giriş yapmak için yapılan sayısız denemeye ek olarak, bu aracı kullanarak bir çalışanın kimlik doğrulama verilerini ele geçiren ve ardından hesabına başarıyla giriş yapıp yüzlerce istek göndermeye başlayan saldırganları otomatik olarak engelleyebilmenizdir. sunucuya.

DoSFilter'ı aşağıdaki konsol komutlarını kullanarak yapılandırabilirsiniz:

  • zimbraHttpDosFilterMaxRequestsPerSec — Bu komutu kullanarak bir kullanıcı için izin verilen maksimum bağlantı sayısını ayarlayabilirsiniz. Varsayılan olarak bu değer 30 bağlantıdır.
  • zimbraHttpDosFilterDelayMillis - Bu komutu kullanarak bir önceki komutta belirtilen limiti aşacak bağlantılar için milisaniye cinsinden bir gecikme ayarlayabilirsiniz. Tamsayı değerlerine ek olarak, yönetici hiçbir gecikme olmaması için 0'ı, ayrıca belirtilen sınırı aşan tüm bağlantıların kesilmesi için -1'i belirtebilir. Varsayılan değer -1'dir.
  • zimbraHttpThrottleSafeIP'ler — Yönetici, bu komutu kullanarak yukarıda listelenen kısıtlamalara tabi olmayacak güvenilir IP adreslerini ve alt ağları belirleyebilir. Bu komutun sözdiziminin istenen sonuca bağlı olarak değişebileceğini unutmayın. Örneğin, komutu girerek zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1tamamen listenin üzerine yazacak ve listede yalnızca bir IP adresi bırakacaksınız. komutunu girerseniz zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1girdiğiniz IP adresi beyaz listeye eklenecektir. Benzer şekilde, çıkarma işaretini kullanarak herhangi bir IP'yi izin verilenler listesinden kaldırabilirsiniz.

Zextras Suite Pro uzantılarını kullanırken DoSFilter'ın bir dizi sorun yaratabileceğini lütfen unutmayın. Bunlardan kaçınmak için, komutu kullanarak eşzamanlı bağlantı sayısını 30'dan 100'e çıkarmanızı öneririz. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Ayrıca, kurumsal iç ağı izin verilenler listesine eklemenizi öneririz. Bu komut kullanılarak yapılabilir zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. DoSFilter'da herhangi bir değişiklik yaptıktan sonra, aşağıdaki komutu kullanarak posta sunucunuzu yeniden başlattığınızdan emin olun. zmmailboxdctl yeniden başlat.

DoSFilter'ın ana dezavantajı, uygulama düzeyinde çalışması ve bu nedenle kuzeye bağlanma yeteneğini sınırlamadan yalnızca saldırganların sunucu üzerinde çeşitli eylemler gerçekleştirme yeteneğini sınırlayabilmesidir. Bu nedenle, kimlik doğrulama veya mektup gönderme için sunucuya gönderilen istekler, açıkça başarısız olacak olsalar da, yine de bu kadar yüksek bir düzeyde durdurulamayan eski güzel bir DoS saldırısını temsil edecektir.

Kurumsal sunucunuzu Zimbra OSE ile tamamen güvence altına almak için tekrarlanan eylemler için bilgi sistemi loglarını sürekli olarak izleyebilen ve güvenlik duvarı ayarlarını değiştirerek davetsiz misafirleri engelleyebilen bir çerçeve olan Fail2ban gibi bir çözüm kullanabilirsiniz. Bu kadar düşük bir düzeyde engelleme, saldırganları doğrudan sunucuya IP bağlantısı aşamasında devre dışı bırakmanıza olanak tanır. Böylece Fail2Ban, DoSFilter kullanılarak oluşturulan korumayı mükemmel şekilde tamamlayabilir. Fail2Ban'ı Zimbra OSE'ye nasıl bağlayabileceğinizi ve böylece kuruluşunuzun BT altyapısının güvenliğini nasıl artırabileceğinizi öğrenelim.

Diğer kurumsal sınıf uygulamalar gibi, Zimbra Collaboration Suite Açık Kaynak Sürümü de çalışmalarının ayrıntılı günlüklerini tutar. Çoğu klasörde saklanır /opt/zimbra/log/ dosyalar şeklinde. İşte bunlardan sadece birkaçı:

  • mailbox.log — İskele posta hizmeti günlükleri
  • Audit.log - kimlik doğrulama günlükleri
  • clamd.log — antivirüs işlem günlükleri
  • Freshclam.log - antivirüs güncelleme günlükleri
  • Convertd.log — ek dönüştürücü günlükleri
  • zimbrastats.csv - sunucu performansı günlükleri

Zimbra günlükleri de dosyada bulunabilir /var/log/zimbra.logPostfix ve Zimbra'nın günlüklerinin tutulduğu yer.

Sistemimizi kaba kuvvetten korumak için izleyeceğiz posta kutusu.log, denetim.log и zimbra.log.

Her şeyin çalışması için Zimbra OSE ile sunucunuza Fail2Ban ve iptables'ın kurulu olması gerekmektedir. Ubuntu kullanıyorsanız bunu komutları kullanarak yapabilirsiniz. dpkg -s başarısız2ban, CentOS kullanıyorsanız bunu komutları kullanarak kontrol edebilirsiniz. yum listesi yüklendi fail2ban. Fail2Ban kurulu değilse, bu paket neredeyse tüm standart depolarda mevcut olduğundan kurulumu sorun olmayacaktır.

Gerekli tüm yazılımlar yüklendikten sonra Fail2Ban kurulumuna başlayabilirsiniz. Bunu yapmak için bir yapılandırma dosyası oluşturmanız gerekir /etc/fail2ban/filter.d/zimbra.confZimbra OSE günlükleri için hatalı oturum açma girişimlerini eşleştirecek ve Fail2Ban mekanizmalarını tetikleyecek düzenli ifadeler yazacağımız. Kimlik doğrulama girişimi başarısız olduğunda Zimbra OSE'nin attığı çeşitli hatalara karşılık gelen bir dizi düzenli ifadeyi içeren zimbra.conf içeriğinin bir örneği:

# 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'nin düzenli ifadeleri derlendikten sonra Fail2ban'ın konfigürasyonunu düzenlemeye başlamanın zamanı geldi. Bu yardımcı programın ayarları dosyada bulunur /etc/fail2ban/jail.conf. Her ihtimale karşı, komutu kullanarak bunun bir yedek kopyasını oluşturalım. cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Bundan sonra bu dosyayı yaklaşık olarak aşağıdaki forma indireceğiz:

# 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

Bu örnek oldukça genel olmasına rağmen, Fail2Ban'ı kendiniz kurarken değiştirmek isteyebileceğiniz bazı parametreleri açıklamakta fayda var:

  • Yoksay — bu parametreyi kullanarak Fail2Ban'ın adresleri kontrol etmemesi gereken belirli bir ip veya alt ağ belirleyebilirsiniz. Kural olarak, işletmenin iç ağı ve diğer güvenilir adresler göz ardı edilenler listesine eklenir.
  • Bantime — Suçlunun yasaklanacağı süre. Saniyeler içinde ölçüldü. -1 değeri kalıcı yasaklama anlamına gelir.
  • Maksimum deneme — Bir IP adresinin sunucuya erişmeyi deneyebileceği maksimum sayı.
  • Sendmail — Fail2Ban tetiklendiğinde otomatik olarak e-posta bildirimleri göndermenizi sağlayan bir ayar.
  • Zaman bul — Maksimum başarısız deneme sayısı tükendikten sonra IP adresinin sunucuya tekrar erişmeyi deneyebileceği zaman aralığını ayarlamanıza olanak tanıyan bir ayar (maxretry parametresi)

Dosyayı Fail2Ban ayarlarıyla kaydettikten sonra geriye kalan tek şey bu yardımcı programı şu komutu kullanarak yeniden başlatmaktır: hizmet fail2ban yeniden başlat. Yeniden başlatmanın ardından, ana Zimbra günlükleri düzenli ifadelere uygunluk açısından sürekli olarak izlenmeye başlayacaktır. Bu sayede yönetici, bir saldırganın yalnızca Zimbra Collaboration Suite Açık Kaynak Sürümü posta kutularına sızma olasılığını neredeyse ortadan kaldırabilecek, aynı zamanda Zimbra OSE içinde çalışan tüm hizmetleri de koruyabilecek ve ayrıca yetkisiz erişim elde etmeye yönelik tüm girişimlerden haberdar olabilecektir. .

Zextras Suite ile ilgili tüm sorularınız için Zextras Ekaterina Triandafilidi Temsilcisi ile e-posta yoluyla iletişime geçebilirsiniz. [e-posta korumalı]

Kaynak: habr.com

Yorum ekle