E-posta & SMTP Sunucu

    Catch-all mı Tekil Hesap mı: Güvenlik Karşılaştırması

    Catch-all adresin gerçek maliyeti ve tekil hesap kullanımının güvenlik avantajları.

    10 dk okuma Güncellendi: 25 Ağustos 2026

    Yeni bir alan adı için posta kurarken karşına çıkan en cazip ayarlardan biri catch-all adresidir: "tanımlı olmayan tüm adreslere gelen postayı şu kutuya at". Kulağa mükemmel gelir — hiçbir mesaj kaybolmaz, yazım hatası yapan müşteri yine de sana ulaşır, yeni adres tanımlamak zorunda kalmazsın. Ama catch-all mı tekil hesap mı sorusunun cevabı, birkaç ay kullandıktan sonra çoğu kişi için netleşir: catch-all, kısa vadede kolaylık, orta vadede ise spam yığını, disk sorunu ve gerçek bir güvenlik zaafı üretir.

    Bu yazıda catch-all'ın ne yaptığını ve neden bu kadar sorun çıkardığını somut olarak anlatacağım. Sözlü uyarılarla yetinmeyip mekanizmayı göstereceğim: spam gönderenlerin catch-all'lı alan adlarını nasıl tespit ettiğini, kutuya kaç kat daha fazla trafik geldiğini, backscatter'ın nasıl oluştuğunu ve kara listeye düşme riskinin nereden geldiğini. Sonra alternatifleri karşılaştıracağız — tekil hesaplar, takma adlar (alias), plus adresleme ve sınırlı bir catch-all kurgusu. Sonunda hâlâ catch-all kullanmak isteyenler için riski en aza indiren yapılandırmayı bırakacağım.

    Catch-all Tam Olarak Ne Yapar#

    Normal bir mail sunucusu, gelen bir mesajın alıcı adresini kendi kullanıcı listesinde arar. Adres yoksa bağlantı sırasında 550 5.1.1 User unknown cevabı verip mesajı reddeder. Bu ret, SMTP oturumu daha kapanmadan gerçekleşir — yani mesaj hiç kabul edilmez, gönderen taraf hatayı anında görür ve sorumluluk onda kalır.

    Catch-all bu davranışı kapatır. Sunucu artık hangi adrese gelirse gelsin mesajı kabul eder ve belirlenen kutuya teslim eder:

    # cPanel/Exim tarafında varsayılan adres ayarı
    # "Varsayılan Adres" (Default Address) -> [email protected]
    
    # Postfix'te sanal alan adı için catch-all satırı
    # /etc/postfix/virtual
    @firmaniz.com    [email protected]
    

    Görünürde tek satırlık bir kolaylık. Ama bu satır, sunucunun "hangi adresler var" bilgisini dışarıya karşı anlamsız hale getirir ve bunun zinciri uzundur. Catch-all'ın nasıl kurulduğuna dair adım adım anlatımı catch-all e-posta adresi yazısında bulabilirsin; bu yazı ise kurmadan önce bilmen gerekenlere odaklanıyor.

    Spam Yükü: Sayı Vermeyen Ama Somut Bir Fark#

    Spam gönderenlerin en sevdiği tekniklerden biri sözlük saldırısıdır: bir alan adına info@, admin@, satis@, ahmet@, test@ gibi yüzlerce yaygın kullanıcı adıyla mesaj gönderip hangisinin kabul edildiğine bakarlar. Normal bir sunucuda bu denemelerin ezici çoğunluğu 550 User unknown alır ve gönderen o adresleri listesinden çıkarır. Yani sunucu, saldırganın listesini kendisi temizler.

    Catch-all açıkken bu mekanizma tersine döner. Her adres kabul edilir, yani saldırgan denediği yüzlerce adresin tamamının "geçerli" olduğu sonucuna varır. Alan adın, spam listelerinde "her adresi kabul eden alan adı" olarak işaretlenir ve bu bilgi listeler arasında dolaşır. Sonuç, catch-all kutusuna gelen trafiğin gerçek yazışma trafiğinin kat kat üzerine çıkmasıdır.

    İkincil etki daha da can sıkıcı: bu trafiğin tamamı diske yazılır. Sunucunun spam filtresi mesajı spam olarak işaretlese bile mesaj yine de bir yere teslim edilir. Kutu şişer, disk dolar ve disk dolduğunda mail sunucusu gerçek postaları da kabul etmemeye başlar. Kuyruk şişmesinin sebeplerinden biri tam olarak budur; teşhis adımları için mail kuyruğu birikti yazısına bakabilirsin.

    EtkiCatch-all kapalıCatch-all açık
    Olmayan adrese gelen mesajOturumda reddedilirKabul edilir, diske yazılır
    Sözlük saldırısının sonucuAdresler listeden düşerAlan adı "her şeyi kabul eder" olarak işaretlenir
    Disk tüketimiYalnızca gerçek postaGerçek posta + tüm çöp
    Spam filtresi yüküDüşükYüksek, her mesaj taranır
    Kullanıcı deneyimiTemiz kutuGerçek postalar çöpte kaybolur

    Son satır sıklıkla küçümsenir ama en somut zararı verendir: catch-all kutusunda gerçek bir müşteri mesajı, yüzlerce çöp arasında gözden kaçar. "Hiçbir mesaj kaybolmasın" diye kurulan sistem, mesajların pratikte okunmamasına yol açar.

    Backscatter: Kendi IP'ni Kara Listeye Düşürmek#

    Catch-all'ın en teknik ve en tehlikeli yan etkisi burada. Senaryoyu adım adım kuralım:

    1. Bir spam gönderen, sahte bir gönderici adresiyle ([email protected]) sunucuna mesaj gönderir. Bu adres gerçek bir kişiye aittir ama gönderimle ilgisi yoktur.
    2. Alıcı adresi [email protected]. Catch-all açık olduğu için sunucun mesajı kabul eder.
    3. Kabul ettikten sonra mesajı teslim etmeye çalışır. Hedef kutu doluysa, filtre reddediyorsa ya da yönlendirme başarısızsa sunucun bir hata mesajı üretmek zorundadır.
    4. Bu hata mesajı, zarftaki gönderici adresine, yani [email protected] adresine gider.
    5. Senin sunucun, hiç tanımadığı masum bir kişiye istenmeyen posta göndermiş olur.

    Buna backscatter denir ve kara liste operatörleri bunu spam olarak sınıflandırır. Yeterince backscatter üretirsen IP'n listelenir ve o andan itibaren gerçek postaların da reddedilmeye başlar. Yani catch-all yüzünden gelen tarafta yaşadığın rahatsızlık, giden tarafta teslimat çöküşüne dönüşür.

    Kritik nokta şudur: bu sorun catch-all olmadan yapısal olarak imkânsızdır. Sunucu olmayan bir adresi oturum sırasında reddettiğinde hiçbir hata mesajı üretmez; hatayı gönderen tarafın sunucusu üretir ve sorumluluk ondadır. Catch-all, bu sorumluluğu senin sunucuna aktarır.

    # Sunucun backscatter üretiyor mu - göndericisi boş olan giden mesajları say
    grep 'from=<>' /var/log/mail.log | grep -c 'status=sent'
    
    # Hangi adreslere bounce gönderilmiş
    grep 'from=<>' /var/log/mail.log \
      | grep -oE 'to=<[^>]+>' | sort | uniq -c | sort -rn | head
    

    from=<> zarf göndericisi boş olan mesajları, yani bounce'ları gösterir. Bu sayı yüksek ve alıcılar tanımadığın adreslerse, sunucun backscatter üretiyor demektir.

    Tekil Hesap, Alias ve Plus Adresleme#

    Catch-all'ın çözdüğünü iddia ettiği problemlerin hepsinin daha temiz karşılıkları var. Üç aracı tanıyalım.

    Tekil hesaplar en temel yaklaşımdır: ihtiyaç duyulan her adres için ayrı bir posta kutusu tanımlanır. Her kutunun kendi parolası, kendi kotası ve kendi erişimi olur. Bir hesap ele geçirilirse etki o hesapla sınırlı kalır — catch-all'da ise tek bir kutunun ele geçirilmesi, alan adına gelen tüm yazışmaya erişim demektir.

    Takma adlar (alias), ayrı bir kutu açmadan bir adresi mevcut bir kutuya yönlendirir. Disk tüketmez, parola gerektirmez ve istediğin kadar tanımlayabilirsin:

    # Postfix sanal takma ad tablosu - /etc/postfix/virtual
    [email protected]      [email protected]
    [email protected]     [email protected]
    [email protected]    [email protected]
    [email protected]  [email protected]
    
    # Tabloyu derle ve uygula
    sudo postmap /etc/postfix/virtual
    sudo systemctl reload postfix
    

    Bu, catch-all'ın sunduğu kolaylığın büyük bölümünü hiçbir riski almadan verir. Bilinen tüm departman adreslerini alias olarak tanımladığında, "yeni bir adres tanımlamayı unutmak" endişesi büyük ölçüde ortadan kalkar. cPanel kullanıyorsan bunu yönlendirme (forwarder) ekranından yaparsın; adımlar için cPanel e-posta iletme yazısına bakabilirsin.

    Plus adresleme, tek bir kutuya sınırsız etiketli adres üretmeni sağlar. [email protected] adresine gelen posta [email protected] kutusuna düşer; artı işaretinden sonraki kısım sadece bir etikettir. Kayıt olduğun her servise farklı bir etiket verirsen, spam geldiğinde adresini kimin sızdırdığını anında görürsün. Çoğu modern posta sunucusu bunu destekler; Postfix'te ayırıcıyı şöyle tanımlarsın:

    # /etc/postfix/main.cf
    # Artı işaretinden sonrasını adres uzantısı olarak kabul et
    recipient_delimiter = +
    
    YöntemDisk maliyetiSpam riskiKullanım kolaylığıGüvenlik
    Tekil hesapKutu başınaDüşükOrtaEn yüksek
    AliasYokDüşükYüksekYüksek
    Plus adreslemeYokDüşükYüksekYüksek
    Catch-allÇok yüksekYüksekYüksekDüşük

    Catch-all Ne Zaman Makul Olabilir#

    Dürüst olmak gerekirse catch-all'ın tamamen yersiz olduğunu söylemem. İki senaryoda savunulabilir. Birincisi, geçici bir keşif dönemi: yeni devraldığın bir alan adında hangi adreslerin gerçekten kullanıldığını bilmiyorsan, catch-all'ı birkaç hafta açıp gelen adresleri toplarsın, sonra bunları alias olarak tanımlayıp catch-all'ı kapatırsın. Bu, kalıcı değil geçici bir teşhis aracıdır.

    İkincisi, sistemsel adres üretimi: her müşteriye ya da her işleme özel adres üreten bir uygulaman varsa ([email protected] gibi) ve bunları tek tek tanımlaman mümkün değilse, catch-all yerine desen tabanlı bir eşleme kur. Postfix'te düzenli ifadeyle:

    # /etc/postfix/main.cf
    virtual_alias_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual_regexp
    
    # /etc/postfix/virtual_regexp - SADECE bu desene uyanlar kabul edilir
    /^siparis-[0-9]{4,8}@firmaniz\.com$/    [email protected]
    /^fatura-[0-9]{4,8}@firmaniz\.com$/     [email protected]
    

    Bu, catch-all'ın esnekliğini verir ama kapıyı herkese açmaz: desene uymayan adresler yine 550 ile reddedilir, yani sözlük saldırısı hâlâ boşa çıkar. Uygulama üreten adresler için doğru çözüm budur.

    Catch-all Kullanacaksan Riski Azaltmak#

    Yukarıdakilere rağmen catch-all açık tutman gerekiyorsa, en azından şu dört önlemi al.

    Ayrı bir kutu kullan. Catch-all hedefini asla gerçek bir çalışanın kutusu yapma; ayrı bir kutu aç, kotasını sınırla ve düzenli olarak boşalt. Kota sınırı, disk dolmasını engelleyen en basit koruma. cPanel'de kota ayarı için cPanel e-posta kotası yazısına bakabilirsin.

    Filtreyi sertleştir. Catch-all kutusuna gelen postaya normal kutulardan daha agresif spam eşiği uygula; bu kutuda yanlış pozitif maliyeti çok düşüktür.

    Backscatter üretmeyi kapat. Sunucunun teslim edemediği mesajlar için bounce üretmesini engelle. Postfix'te catch-all hedefinin kotası dolduğunda mesajı sessizce düşürmek, bounce göndermekten daha güvenlidir:

    # /etc/postfix/main.cf
    # Bilinmeyen alıcıyı oturum sırasında reddet (catch-all olmayan alan adları için)
    smtpd_reject_unlisted_recipient = yes
    # Ne olursa olsun bounce'ları sınırla
    bounce_size_limit = 20480
    

    Bilinen adresleri açıkça tanımla. Catch-all'ın altında bile, gerçek adresleri alias olarak tanımlarsan filtreleme ve yönlendirme kuralları düzgün çalışır ve ileride catch-all'ı kapatman kolaylaşır.

    Sık Yapılan Hatalar#

    En yaygın hata, catch-all'ı kurulum kolaylığı olarak açıp bir daha dönüp bakmamaktır. Aylar sonra kutu yüz binlerce mesajla dolar, disk kotası patlar ve o noktada temizlemek gerçekten zahmetli olur. İkinci hata, catch-all hedefini yöneticinin kendi kutusu yapmaktır: gerçek yazışmalar çöp yığınının içinde kaybolur ve o kutu ele geçirilirse alan adının tüm postası açığa çıkar.

    Üçüncü hata, catch-all açıkken kota tanımlamamaktır. Kotasız bir catch-all kutusu, sunucunun diskini dolduran ve tüm mail hizmetini durduran en yaygın sebeplerden biridir. Dördüncü hata, catch-all'ı kapatırken alias tanımlamayı unutmaktır: kapattığın anda daha önce sessizce çalışan bazı adresler reddedilmeye başlar ve kimse bunu haber vermez. Kapatmadan önce loglardan son birkaç ayda gerçekten kullanılan adresleri çıkar:

    # Son loglarda catch-all kutusuna teslim edilen orijinal alıcıları listele
    grep 'to=<.*@firmaniz.com>' /var/log/mail.log \
      | grep -oE 'orig_to=<[^>]+>' | sort | uniq -c | sort -rn | head -n 40
    

    Beşinci hata, spam sorununu catch-all'a değil filtreye bağlamaktır; filtre ne kadar iyi olursa olsun mesaj yine de kabul edilip diske yazılır, sorun ortadan kalkmaz. Altıncı hata ise sınırsız catch-all ile desen tabanlı eşlemeyi aynı şey sanmaktır — ikincisi, kapıyı yalnızca senin ürettiğin adreslere açar ve bu fark güvenlik açısından belirleyicidir.

    Sıkça Sorulan Sorular#

    Catch-all e-posta güvenli mi#

    Kendi başına bir güvenlik açığı üretmez ama saldırı yüzeyini belirgin biçimde büyütür. Alan adına gelen tüm postanın tek bir kutuda toplanması, o kutunun ele geçirilmesi halinde tüm yazışmanın açığa çıkması demektir. Ayrıca olmayan adresleri kabul ettiği için sözlük saldırılarını besler ve backscatter üreterek IP'nin kara listeye düşmesine yol açabilir. Güvenlik önceliğinse tekil hesap ya da alias tercih edilmelidir.

    Catch-all yerine ne kullanmalıyım#

    Çoğu durumda alias (takma ad) doğru cevaptır: disk tüketmez, parola gerektirmez ve istediğin kadar tanımlayabilirsin. Bilinen departman adreslerini alias olarak mevcut kutulara yönlendirdiğinde catch-all'ın sağladığı kolaylığın büyük bölümünü risksiz elde edersin. Uygulamanın dinamik adres ürettiği durumlarda ise sınırsız catch-all yerine desen tabanlı (regexp) eşleme kur.

    Catch-all kapatırsam gelen mailleri kaybeder miyim#

    Tanımlı olmayan bir adrese gelen mesaj artık kabul edilmez ve gönderen taraf anında bir hata alır — yani mesaj sessizce kaybolmaz, gönderen durumu görür ve doğru adrese tekrar yazabilir. Kayıp riskini sıfırlamak için kapatmadan önce loglardan son aylarda gerçekten kullanılan adresleri çıkarıp hepsini alias olarak tanımla. Bu adımı yaparsan geçiş sorunsuz olur.

    Catch-all kutusu neden bu kadar hızlı doluyor#

    Çünkü olmayan adreslere gelen tüm çöp trafiği de o kutuya yazılıyor. Spam gönderenler sözlük saldırısıyla yüzlerce adres dener; catch-all açıkken bunların hepsi kabul edilir ve alan adın "her adresi kabul ediyor" olarak işaretlenir, bu da trafiği daha da artırır. Kutuya kota tanımlamak ve düzenli otomatik temizlik kurmak zorunludur, aksi halde disk dolar ve gerçek postalar da reddedilmeye başlar.

    Plus adresleme catch-all yerine geçer mi#

    Çoğu senaryoda evet ve çok daha güvenlidir. [email protected] biçimindeki adresler tek bir gerçek kutuya düşer, ayrıca tanımlama gerektirmez ve kapıyı herkese açmaz — çünkü artıdan önceki kısım geçerli bir kutu olmak zorundadır. Ek avantajı, her servise farklı etiket vererek adresini kimin sızdırdığını tespit edebilmendir. Postfix'te recipient_delimiter = + satırıyla etkinleşir.

    Catch-all IP'mi kara listeye düşürür mü#

    Doğrudan değil, ama dolaylı olarak kolayca. Catch-all açıkken sunucun teslim edemediği mesajlar için sahte gönderici adreslerine bounce üretir; bu backscatter, kara liste operatörleri tarafından spam sayılır. Yeterince birikirse IP listelenir ve gerçek postaların da reddedilmeye başlar. Loglarda from=<> olan giden mesajların sayısını izleyerek bu riski erkenden görebilirsin.

    Kapanış#

    Catch-all, kısa vadeli bir kolaylığı orta vadeli bir soruna çeviren ayarların klasik örneğidir. Aklında kalması gereken dört alışkanlık: bilinen adresleri alias olarak tanımla, catch-all'a ihtiyacın büyük ölçüde ortadan kalkar; dinamik adres üreten uygulamalar için sınırsız catch-all yerine desen tabanlı eşleme kur; catch-all açık tutuyorsan hedefi ayrı ve kotalı bir kutu yap, asla bir çalışanın kutusu olmasın; ve kapatmadan önce loglardan gerçekten kullanılan adresleri çıkarıp alias'a çevir. Backscatter göstergesi olarak from=<> sayısını izlemeyi de listene ekle.

    Posta altyapını kurarken bu ayarlarla tek başına uğraşmak istemiyorsan Clou.TR tarafında hazır seçenekler var. E-posta paketlerimizde hesap, alias ve kota yönetimi panelden birkaç tıkla yapılır; web hosting ve kurumsal hosting paketlerimiz de cPanel üzerinden aynı kontrolü sunar. Kendi mail sunucunu işletiyorsan VDS çözümlerimize, yapılandırmayı devretmek istersen sunucu yönetimi hizmetimize göz atabilirsin.

    Catch-allGüvenlikE-posta

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.