• 27-08-2026, 15:12:12
    #1
    Selamlar hocalarım,

    Son zamanlarda kurumsal e-posta sunucularına yönelik oldukça can sıkıcı bir oltalama (phishing) taktiği yaygınlaştı. Çoğunuzun başına gelmiştir; saldırganlar artık zararlı linkleri doğrudan mailin içine koymak yerine, virüslü dosyaları drive.google.com adresine (Google Drive) yüklüyorlar.

    Ele geçirilmiş temiz bir sunucudan veya meşru bir alan adından gönderim yapıldığında; DKIM ve SPF geçerli, gönderen IP temiz, üstüne bir de içindeki link Google'ın beyaz listeli alan adı olunca maalesef Rspamd ve SpamAssassin gibi motorlar bu maillere eksi (-) puan verip doğrudan Gelen Kutusu'na alıyor.

    Özellikle KeyHelp gibi paneller kullanan arkadaşlar bilir, dışarıdan regexp.conf veya multimap.conf içine kural yazsanız bile panelin kendi mimarisi bu dosyaları bazen include etmeyebiliyor. Regex kaçış karakterleri de işin içine girince yazdığınız kural tamamen es geçiliyor.

    Bu "Zero-Day" bypass taktiğini engellemek için, panel engellerini aşıp doğrudan Rspamd'nin Lua motoruna (çekirdeğine) müdahale ederek kesin bir çözüm geliştirdik. İhtiyacı olan arkadaşlar aşağıdaki adımları uygulayarak bu tarz Google Drive oltalama maillerini Spam klasörüne bile sokmadan sunucu kapısından (Reject) çevirebilirler.

    🛠️ Çözüm Adımları (Rspamd Lua Entegrasyonu)

    E-posta gövdesindeki (body) tüm linkleri ayrıştırıp, sadece Google Drive'ın doğrudan indirme şablonunu (uc?export=download) yakalayan ve maile acımadan +20 ceza puanı kesen kuralımızı ekliyoruz.

    1. Çekirdek Lua dosyasını açıyoruz veya oluşturuyoruz:
    Terminalinize (SSH) aşağıdaki komutu tek seferde yapıştırarak kuralı dosyaya yazdırın:

    cat << 'EOF' > /etc/rspamd/rspamd.local.lua
    rspamd_config:register_symbol({
      name = 'GDRIVE_KESIN_RED',
      score = 20.0,
      description = 'Google Drive Oltalama Baglantisi (Acimadan Reddet)',
      callback = function(task)
        local urls = task:get_urls()
        if urls then
          for _, url in ipairs(urls) do
            local url_text = string.lower(tostring(url))
            if string.find(url_text, "drive.google.com/uc?export=download", 1, true) then
              return true
            end
          end
        end
        return false
      end
    })
    EOF
    2. Rspamd motorunu yeniden başlatıyoruz:
    systemctl restart rspamd
    3. Sistemin çalıştığını test ediyoruz:
    E-posta göndermeye gerek kalmadan terminalden şu test komutuyla kuralı canlı olarak deneyebilirsiniz (E-posta adreslerini kendi domaininize göre değiştirebilirsiniz):

    echo -e "From: test@sizindomain.comnTo: test@sizindomain.comnSubject: Fatura TestinnBu bir test mailidir. Link: https://drive.google.com/uc?export=download" | rspamc
    Sonuç:
    Çıktının en üstünde Action: reject yazdığını ve semboller arasında GDRIVE_KESIN_RED (20.00) bayrağının dalgalandığını göreceksiniz. Artık dünyanın en güvenilir sunucusundan bile gelse, içinde bu linki barındıran oltalama mailleri ağ geçidinden içeri giremeyecek.

    Umarım altyapısında bu sorunu yaşayan arkadaşların işine yarar. Herkese sorunsuz loglar ve iyi çalışmalar dilerim! 🚀
  • 31-08-2026, 15:06:45
    #2
    Elinize sağlık, çok net anlatılmış. "Beyaz listeli domain + zararlı içerik" kombinasyonu gerçekten de content-based filtrelerin (Rspamd dahil) klasik kör noktası — DKIM/SPF temiz, IP temiz olunca motorlar genelde link hedefine değil gönderici itibarına güveniyor.

    Rspamd kullanmayan, SpamAssassin tabanlı kurulumlarda da aynı mantığı uygulamak mümkün: body_pattern / uri_pattern tipi custom kurallarla belirli URL kalıplarına (örneğin drive.google.com/uc?export=download) elle skor eklenebiliyor. Biz ispmanager'da mail güvenliğini SpamAssassin + greylisting + ClamAV + DNSBL kombinasyonuyla veriyoruz ve bu tarz özel imzalar SpamAssassin tarafında custom rule olarak tanımlanabiliyor. Yani motor Rspamd olmasa da mantık (link hedefini içerikten bağımsız olarak cezalandırmak) taşınabilir.

    Bu tarz "zero-day bypass" yazılarının daha sık paylaşılması güzel olur, teşekkürler tekrar.