Sunucumdaki spam göndericileri tespit et


12

Kısa Undelivered Mail Returned to Sendersüre önce 1500 müşterimden birine bülten gönderirken bir tane aldım . Web sitem, kullanıcının bültenimi açıkça almak istediğinden emin olmak için çift katılım prosedürü kullanıyor.

Hata mesajı:

smtp; 554 ...
    Swisscom AG IP: 94.130.34.42, You are not allowed to send us mail. Please
    refer to xyz.com if you feel this is in error.

Örnek bir spam posta aldım (alıcı posta sunucusunun posta sağlayıcısından):

Received: from mail.com ([94.130.34.42])
        by smtp-27.iol.local with SMTP
        id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100
From: "Servizi online - Poste Italiane" <posteitaliane@test123.it>
Subject: Abbiamo ricevuto una segnalazione di accredito
Date: Mon, 12 Feb 2018 11:32:03 -0500

Sağlayıcı ayrıca, sunucumun saldırıya uğramış gibi göründüğünü belirtti. Ayrıca, "alıcı posta sunucusunun, bu durumda bağlanan IP ile kendisine sunulan rDNS'yi kaydettiğini mail.com ([94.130.34.42])" belirtti - ki bu kesinlikle IP adresim için rDNS girişimi (mail.lotsearch.de) yapılandırdığım gibi değil. Eğer rDNS'yi doğru anladıysam, alıcı posta sunucusu gönderen IP'sini bir rDNS girişi için sorgular (94.130.34.42 =>, yerel makinemden test ettiğimde kesinlikle => mail.lotsearch.de olarak çözülmelidir. $ host 94.130.34.42).

RDNS'yi taklit etmek nasıl mümkün olur? Bunun teknik olarak nasıl çalışabileceğini hiçbir şekilde düşünemiyorum (sadece alıcı posta sunucusu ile sunucum arasındaki altyapıda bir yerde ortadaki bir adam saldırısı ile).

Sağlayıcı ayrıca, "IP adresimden bağlanan bir makinenin güvenliği ihlal edildiğini ve bu iletileri alıcı posta sunucusuna doğrudan bağlantılar yoluyla göndermesinin muhtemel olduğunu belirtti (doğrudan MX olarak da bilinir). Ne anlama direct MXgeliyor? Birisi posta hesaplarımdan birine sızan posta bilgilerini çaldı veya buldu ve posta göndermek için kullandı mı?

Sunucum NOT / hack olmayacak emin olmak için şimdiye kadar ne yaptım:

  • posta günlüklerini ( var/log/mail*) aradı : orada özel bir şey yok
  • ssh giriş günlüklerini kontrol etti ( last, lastb): olağandışı bir şey yok
  • postfix geçişi yapılıp yapılmadığını kontrol edin: hayır değil
  • clamav yoluyla kötü amaçlı yazılım kontrolü yaptı: sonuç yok
  • ssh, postfix ve dovecot için kurulu ve yapılandırılmış fail2ban
  • Ubuntu 16.04 için en son yamaları / güncellemeleri yükledim (Bunu her hafta yapıyorum)
  • IP adresimin herhangi bir kara listede olup olmadığını kontrol ettim: değil
  • hosting sağlayıcımın yönetim konsolunda doğrulanmış rDNS girişi: doğru olarak ayarlanmış mail.lotsearch.de.
  • tüm posta hesaplarının şifreleri değiştirildi
  • kabuk erişimi için genel anahtarlar değiştirildi

Daha da önemlisi: posteitaliane@test123.itGünlüklerde hiçbir bilgi yoktu . Sunucum bir spam göndericisi tarafından kötüye kullanılmış olsaydı (posta hesaplarından birinin sızan smtp kimlik bilgileri nedeniyle) günlük dosyalarında bunu görürdüm.

Düşünebileceğim son olasılık, davetsiz misafirlerin sunucuma henüz bulamadığım kötü amaçlı yazılım yerleştirmeleridir.

Giden posta trafiğini (işlem başına ve bağlantı noktası başına) nasıl izleyebilirim?

Yalnızca giden bağlantı noktası 25'in izlenmesi yardımcı olmaz, çünkü bu yalnızca postfix yoluyla gönderilen düzensiz postaları yakalar, ancak potansiyel bir kötü amaçlı yazılım bulaşmasından kaynaklanan posta trafiğini yakalamaz (kötü amaçlı yazılım doğrudan posta göndermek / alıcı posta sunucularıyla iletişim kurmak için 25'ten farklı bir bağlantı noktası kullanıyorsa) . Tüm bağlantı noktalarında giden trafiği izlersem, şüpheli etkinlik için verimli bir şekilde arama yapamayacağım büyük günlük dosyasına bir yol alırım.

EDIT - Açık röle testi eklendi:

$ telnet mail.lotsearch.de 25
$ HELO test@test.de
250 mail.lotsearch.de
$ MAIL FROM: test@test.com
250 2.1.0 Ok
$ RCPT TO:<realEmail@gmail.com>
454 4.7.1 <realEmail@gmail.com>: Relay access denied

EDIT - Webapps çalışıyor


"Tüm bağlantı noktalarında giden trafiği izlersem" ... Neden? Bu posta sunucusu başka hangi trafiği gönderiyor? Açık bir röle yapılandırmadığınızdan emin misiniz? Ve sunucuda posta gönderme erişimi olan hiç kimse kimlik bilgilerini sızdırdı?
Daniel Widrick

@DanielWidrick Posta sunucusu aynı zamanda bir web sunucusu olarak da kullanılır, bu nedenle 443 ve 80'de trafik de mümkündür. Dış posta sunucuları (varsayılan posta sunucusu postfix üzerinden değil) ile doğrudan iletişim sunucuma yerleştirilen bir tür kötü amaçlı yazılım düşündüm. Açık röle hakkında: Açık röle olmadığından emin olmak için yaptığım çekle sorumu düzenledim. Müşterilerimin bilgisayarlarımın (sunucumun posta hesaplarının yapılandırıldığı yer) veya kimlik bilgilerini alan kötü amaçlı yazılım / keylogger ile enfekte olup olmadıklarını bilmediğim için son sorunuza cevap vermek zor
mfuesslin

Disk ucuz. Sizin durumunuzda, bir yıllık günlükleri tutmak için geçerli bir durum vardır. Doğrudan sunucudan göndermek için syslog vb. Kullanmayı düşünün.
Criggie

Yanıtlar:


13

Önerime gelmeden önce, sağlayıcınızın size söylediği bir şeye biraz yorum yapmak istiyorum:

 Received: from mail.com ([94.130.34.42])
        by smtp-27.iol.local with SMTP
        id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100

Bu , 94.130.34.42 için ters DNS'nin mail.com olduğunu (veya olduğunu) göstermez. Daha ziyade, SMTP istemci gönderilen belirtir mail.comonun içinde HELO(veya EHLO) hattı. (İyi yapılandırılmış bir posta sunucusu bu bağlantıyı tamamen reddederdi, ancak bu Swisscom'da, siz değil ...) Bu satır ters DNS girişini göstermiyor. Eğer olsaydı, parantez içinde ortaya çıkardı. Örneğin:

Received: from mail-io0-f197.google.com (mail-io0-f197.google.com [209.85.223.197])

Bu durumda, ilk ana bilgisayar adı, posta sunucusunun kendisini olduğu gibi tanımladığı addır EHLO. İkinci ana bilgisayar adı, bağlantının yapıldığı sırada kaydedilen ters DNS'dir.

RFC 5321 bölüm 4.4 , Resmi bir dilbilgisi ile Alınan: satırının biçimini açıklar.

Sizin durumunuzda, ters DNS kaydedilmedi. IP adresinizde bir PTR kaydı bulunduğundan, bunun nedeni aramadı olmaları veya geçici bir DNS hatası olması olabilir.


Şimdi, bir web barındırma hizmeti çalıştırın ve çok sayıda web uygulamaları var gibi görünüyor. Bunlardan biri tehlikeye girerse, spam göndermeye başlayabilir. Bunlar genellikle yerel posta biriktirmesine veya 587 veya 465 bağlantı noktalarındaki kimliği doğrulanmış bir posta hizmetine posta vermek yerine, MX kayıtlarına bakarak ve 25 numaralı bağlantı noktasına bağlayarak uzak posta sunucularına doğrudan bağlantı kurarlar. meşru web uygulamaları gibi.

Bunu durdurmanın bir yolu, kullanıcı posta sunucusu kullanıcısı değilse, bağlantı noktası 25'te giden bağlantıları önleyen bir güvenlik duvarı kuralı uygulamaktır. Örneğin:

iptables -I OUTPUT -m owner ! --uid-owner postfix -m tcp -p tcp --dport 25 -j REJECT

Web uygulamaları artık doğrudan uzak SMTP sunucularına posta teslim edemez, ancak yerel posta biriktirme veya kimliği doğrulanmış posta hizmetlerini kullanmalıdır.


Cevabınız için teşekkür ederim. iptablesPostfix ve plesk kullanıcısının e-posta göndermesine izin vermek için kuralı nasıl belirtmem gerekir (bence Plesk Panel postaları doğrudan postfix ile değil, gönderdi). Crondaemon'u (cronjobs'um) postfix aracılığıyla smtp yoluyla e-posta gönderecek şekilde yapılandırmak da mümkün müdür? Postfix üzerinden mümkün olduğunda posta trafiğine izin vermek daha güvenli olacağı için iptables (başka bir istisna olarak) cron kullanıcı eklemek istemiyorum. Hata günlükleri göndermek için crontab'ın postfix'i kullanmasına izin vermek mümkün müdür? Bunu serverfault üzerine yeni bir soruya mı koymalıyım?
mfuesslin

Plesk ile bunu nasıl yapacağımı bilmiyorum. Zaten Plesk ile ilgili soruları burada ele almıyoruz .
Michael Hampton

Tamam, ancak bağlantı noktası 25 yoluyla veri göndermesine izin verilen birden fazla kullanıcı belirtmek istersem, sadece iptables kuralını kopyalayıp diğer kullanıcıyla ikinci bir kural ekleyebilir miyim yoksa tek bir kural içinde belirtmek zorunda mıyım?
mfuesslin

Muhtemelen değil; sanırım bir kullanıcı zinciri oluşturmanız gerekir.
Michael Hampton

Sağlanan iptables kuralı hakkında bir şey: Kullanıcı için kuralı ayarlamamız gerekmediğinden emin misiniz root? Çünkü postfix'in ana işlemi rootçoğu durumda tarafından çalıştırılır . Ya da postfix master işlemi, postfixe-posta göndermek / şeyler yapmak için -user kullanarak alt işlemleri oluşturur mu? Iptables kuralınızı denedim, e-postalar teslim edilemedi ... Eğer ps -ef | grep "postfix"postfixroot
-user

7

Bu gün ve yaşta, kendi posta sunucunuzu yapmaya çalışmak, çoğunlukla kaybedilen bir savaştır ve uygun fiyatlı bir hizmet bulmaktan daha iyidir. Bunu söyledikten sonra ..

  • Günlüklerinizi sizi engelleyen sağlayıcıya bakın ve şüpheli bir şey bulabileceğinizi görün. Birinin bülteninize abone olduğunu unutması ve sizi spam olarak işaretlemesi olasıdır ve sık sık olur. Sonra yanlış bir şey yapmadıysanız bile sağlayıcıya bağlı olarak sağlayıcının kara listesine alabilirsiniz.

  • Toplu e-postaları diğer tüm e-postalarınızdan iki sunucuya ayırın.

  • Günlükleri minimum ve daha iyi aylarda haftalarca saklayın. Ne zaman bir şey olursa araştırıyorsunuz.

  • Günlüklerinizi herhangi bir sağlayıcıdan benzer durumlar için günlük olarak kontrol edin ve günlük olarak veya daha hızlı bir şekilde inceleyin. Engellenen ikinci ve göndermeye devam ederseniz daha da kötüleşebilir. Geçici bir bloktan kalıcı bir bloğa geçebilirsiniz .. bir kara listeye bildirilmeye.

  • Nasıl uygulandıklarından emin değilim, ancak birçok sağlayıcı giden posta hizmetleri için yaptığını bildiğim bir şey, ikinci bir sağlayıcı / IP'nin bir e-postayı bloke etmesinden sonra başka e-postaların gönderilmeye çalışılmamasıdır. İdeal olarak böyle bir şey istersiniz. İkincisi engellendiği için daha fazlasını göndermek sorunu daha da kötüleştirecektir.


4
@mfuesslin Mailchimp kullanmak için yanlış platform olurdu. Mailchimp bir E-posta Pazarlama Hizmetidir, ihtiyacınız olan bir İşlemsel E-posta Hizmetidir. Mandrill'e (Mailchimp'e sahip olanların sahip olduğu) bakın. 25.000 e-posta bloğu için ayda 20 dolar. Çok pahalı değil. Bu çok sayıda e-postayı günlük olarak kendi IP adresinizden göndermek yalnızca yüksek bir spam kutusu oranıyla sonuçlanır ... kaybedilen bir savaştır. Hiçbir şey yapmamak için tüm bir ekibi işe alabilir, ancak her gün teslim edilebilirlik oranlarınıza eğilimlidir ve yine de İşlemsel Hizmet kullanmak kadar iyi olmayabilir.
SnakeDoc

1
Serverfault.com'u kullanan kişiler bir posta sunucusu çalıştırabilmelidir; yapmak o kadar zor değil. Bununla birlikte, posta sunucusunun hatalı olduğu görülmüyor, doğrudan spam gönderen bazı güvenliği ihlal edilmiş web sayfalarına benziyor.
wurtel

1
@wurtel, bir şeyin nasıl yapılacağı bilgisine sahip olması, bunu yapmak mantıklı olduğu anlamına gelmez. İhtiyacınız olanı yapmak için X / ay için bir hizmet bulabilirseniz ve bunu kendiniz yapmak için 4X / ay değerinde zaman / çaba harcarsanız, gerçekten kendiniz yapmak mantıklı değildir.
Francisco1844

1
@wurtel Yetenekli mi? Evet. Sürekli gelen kutusuna teslim edilmek, günde 1500+ e-posta göndermek mi istiyorsunuz? Şüpheli ve muhtemelen bir Hayır. - Kimse bunu yapamayacağınızı söylemiyor ... sadece bunu iyi, tutarlı bir şekilde ve uzun bir süre boyunca yapmak, size ayda 20 dolardan fazla mal olacak .
SnakeDoc

2
Böyle bir sunucuyu 15 yıldan fazla bir süredir düzenli olarak 30-50 bin posta listesi mesajı gönderiyorum ve birden fazla alan için günlük mesajların yanı sıra nadiren ayda bir saatten fazla (düzenli yetenek yükseltmelerinin yanı sıra) harcıyorum. Sunucu zaten birden fazla web sitesine hizmet veriyor, bu yüzden orada fazladan yatırım yok. İnsanların kendiniz kolayca yapabileceğiniz şeyleri yapmak için hizmet satın almayı savundukları için üzgünüm. Yol boyunca biraz öğrenme ile yanlış bir şey yok.
wurtel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.