1 puan yazan GN⁺ 15 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • 1997’den beri işletilen Recoil posta altyapısı, özel bir IPv4 /24 bloğu, Postfix, Dovecot, rspamd, Roundcube ve diğer bileşenleri birleştirerek alma·gönderme·erişimi doğrudan kendi yöneten bir self-hosting yığınına yenilendi
  • Kendi e-posta işletimi veri erişim hakkı ve öğrenme değeri sunsa da, güven temeli zayıf SMTP üzerinde IP itibarı, DNS kayıtları ve spam savunmasını doğrudan yönetmek gerekir
  • Alma yolu postscreen, DNSBL, greylisting, ClamAV, Bayes filtreleme, LMTP ve Sieve’den geçerek bot trafiğini ve kötü amaçlı postayı aşamalı olarak azaltan bir yapıya dönüştü
  • Gönderim güvenilirliği SPF, DKIM, DMARC ve SRS’ye dayanır; bunlar yanlış yapılandırılırsa Gmail·Outlook gibi alıcı taraf kontrollerinde spam olarak işaretlenebilir veya sessizce atılabilir
  • 2026’da e-postayı kendi kendine barındırmak hâlâ mümkün, ancak IPv4 edinimi, çok sayıda DNS kaydı, güvenlik güncellemeleri ve yapay zeka tabanlı zafiyet istismarlarına karşı katmanlı savunma gerekir

Neden kendi e-postanızı işletirsiniz?

  • Kendi sunucunuzu işletmek, sistemler ve ağlar hakkında öğrenme sağlayan eğitsel bir deneyimdir; internetin nasıl çalıştığını ve açık kaynağa katılımı öğrenmenin bir yoludur
  • Web’in az sayıda işletme etrafında merkezileştiği bir ortamda self-hosting, kendi veriniz üzerinde egemen erişimi korumanın bir yolu olur
  • 2023 tarihli bir analiz, e-posta trafiğini okuyabilen tarafların büyük ölçüde Google ve Microsoft’ta toplandığını değerlendiriyordu
  • E-posta, birçok çevrimiçi hesabın parola sıfırlamasına bağlı olduğundan, hesap ele geçirme veya phishing diğer hizmetlere erişimi de sarsabilir
  • Kendi posta işletimi uzun vadeli bakım ister; ev ağından ziyade daha istikrarlı internet barındırması ve itibar birikimi gerekir

E-posta alma mimarisi

  • İnternet alan adları, postayı alacak SMTP sunucusunu MX DNS kayıtlarıyla belirtir; recoil.org için postayı pork.recoil.org işler
  • SMTP, 1980’lerin daha güvene dayalı tasarımından doğdu ve varsayılan olarak gönderici kimliğini kanıtlayamaz; gelen postadaki gönderici kolayca sahte olabilir
  • IETF’nin yanıtı, birden fazla kimlik kontrolünü üst üste koyan bir modele evrildi; bu kontroller yanlış ayarlanırsa posta teslim güvenilirliği düşer
  • DNS tabanlı engelleme listeleri botnet, ele geçirilmiş host ve spammer bilgilerini toplar; posta sunucuları RBL sorgulayarak şüpheli IP’leri filtreleyebilir
  • E-posta itibarı alan adına değil IP adresine birikir; bu yüzden bulutta yeniden kullanılmış adresler veya aynı bloktaki komşu IP’ler itibarı etkileyebilir
  • Özel IPv4 bloğu edinme ve yönlendirme

    • Recoil, e-posta itibarını bağımsız biçimde biriktirebilmek için 185.33.27.0/24 özel IPv4 adres bloğunu edindi
    • RIPE NCC, Kasım 2019’da tahsis edilmemiş IPv4 alanını tüketti; sonrasında doğrudan tahsis, küçük /24 bekleme listesi üzerinden yürütülüyor
    • /24 blok yaklaşık 6 aylık beklemeden sonra tahsis edildi; Avrupa’da doğrudan başvurmak için RIPE NCC üyelik ücreti ödemek ve bir LIR hesabı açmak gerekiyor
    • Tahsis edilen IPv4 bloğu, yönlendirme yetkisini belirtmek için bir RPKI ROA oluşturarak kullanılıyor; Recoil’in bloğu Mythic Beasts AS44684’e bağlanıyor
    • Ters DNS de doğrudan kontrol edilebiliyor; 185.33.27.128, pork.recoil.orga eşleniyor ve bu da e-posta itibarı sinyali oluyor

Bot ve spam savunması

  • Temiz bir IPv4 bloğu edinmek tek başına yeterli değil; 25 numaralı porta gelen TCP bağlantılarının çoğu spam iletimi, open relay taraması, kimlik bilgisi tahmini ve yapay zeka eğitim verisi toplama girişimlerinden oluşuyor
  • Postfix postscreen, 25 numaralı portun önünde paralel DNSBL sorguları, pre-greet gecikmesi, pipelining ve SMTP dışı komut kontrolleri yapar
  • postscreen, yalnızca normal görünen istemcileri gerçek smtpd sürecine geçirir; hatalı istemciler ise yanlış pozitiflerin yeniden deneyebilmesi için geçici hatayla kesilir
  • Spamhaus, Spamcop ve Barracuda listeleri ağırlıklı olarak birleştirilir; tek başına Spamhaus veya iki zayıf listenin eşzamanlı kararıyla reddedecek şekilde ayarlanır
  • Apple iCloud gönderici MX havuzu aynı IP’den yeniden denemediği için postscreen izin listesiyle uyuşmaz; bu yüzden atlatmak için 17.0.0.0/8 tamamı öncelikli izinli olarak tanımlanır
  • Greylisting ve içerik incelemesi

    • Greylisting, ilk kez görülen bir kaynağa geçici hata döndürür; normal bir MTA birkaç dakika sonra yeniden denerse geçmesine izin verir
    • Tek kullanımlık botnet’ler başarısızlıktan sonra çoğu zaman bir sonraki hedefe geçer; bu da onları yeniden deneme kuyruğu tutan meşru göndericilerden ayırır
    • postscreen ve greylisting geçildikten sonra, ilk bot trafiğinin %99’undan fazlası düşük CPU maliyetiyle engellenmiş olur
    • rspamd, milter protokolüyle tüm iletileri inceler; şüpheli postayı kabul edip sonra geri saçmak yerine, gönderen sunucu hâlâ bağlıyken reddeder veya geciktirir
    • ClamAV, bilinen virüslü ekleri tarar ve enfekte iletileri hemen reddeder; rspamd’nin Bayes sınıflandırıcısı ise Redis’te tutulan spam·ham derlemiyle iletileri puanlar

Yerel teslim, depolama, filtreleme

  • Gelen iletiler postscreen, greylisting, rspamd, ClamAV ve Bayes sınıflandırıcısından geçtikten sonra Dovecot’a teslim edilir
  • Postfix, kullanıcı home dizinine doğrudan yazmak yerine iletileri LMTP ile Dovecot’a aktarır; indeksleme, kota, tam metin arama ve Sieve filtrelemeyi Dovecot üstlenir
  • virtual_alias_maps, anything@recoil.org gibi adresleri yerelde teslim edilebilir adreslere dönüştürür
  • Depolama biçimi, 1998’den beri kullanılan Maildir’dir; her e-postayı kullanıcının ~/Maildir altında tek bir dosya olarak saklar
  • Maildir, tmp/, new/, cur/ adlı üç alt dizin ile POSIX atomik rename kullanarak tüm posta kutusunu kilitlemeden yeni iletilerin teslim edilmesini sağlar
  • Arama indeksi ve Sieve

    • Stalwart gibi modern posta sunucuları da değerlendirildi, ancak Maildir’i desteklememeleri ve RocksDB gibi özel veritabanı depolaması istemeleri nedeniyle geçiş yapılmadı
    • Dovecot, ayrı bir tam metin indeksi olan Flatcurve üzerinden Maildir depolaması ile arama performansını birbirinden ayırır
    • Flatcurve, bir Xapian sarmalayıcısıdır; her posta kutusu için Xapian indekslerini ~/Maildir/fts-flatcurve altında tutar ve yeni posta geldiğinde otomatik günceller
    • Sieve, posta filtrelemeye adanmış bildirimsel bir dildir; Dovecot’un Pigeonhole Sieve eklentisi teslim anında kullanıcı filtrelerini çalıştırır
    • Sistem genelindeki Sieve betikleri, rspamd’nin işaretlediği postayı Junk klasörüne yollar; kullanıcıya özel betikler ise klasörleme, tatil kuralları, öncelik ve başlık düzenleme gibi işleri yapar

Güvenilir e-posta gönderimi

  • Postayı güvenilir biçimde göndermek için, alma savunması kadar gönderim kimlik doğrulaması da önemlidir; büyük alıcıların kontrollerinden yalnızca biri bile başarısız olursa posta spam klasörüne düşebilir veya sessizce atılabilir
  • SPF, alan adının kökündeki bir DNS TXT kaydıdır ve @recoil.org göndericisi olduğunu iddia edebilecek IP adreslerini bildirir
  • Recoil’in SPF kaydı v=spf1 a mx -all şeklindedir; yani yalnızca recoil.orgun MX kaydının işaret ettiği pork.recoil.org geçerli gönderici sayılır
  • Postfix, birden fazla IP’si olan hostlarda çekirdeğin rastgele adres seçmesini önlemek için smtp_bind_address ve smtp_bind_address6 ile belirli gönderici adreslerine sabitlenir
  • DKIM, ileti gövdesinin ve seçili başlıkların normalize edilmiş biçimine kriptografik imza ekler; herkese açık doğrulama anahtarı da DNS’te <selector>._domainkey.<domain> altında bulunur
  • DMARC ve SRS

    • DMARC, SPF ve DKIM ile doğrulanan alan adının kullanıcının gördüğü From: başlığıyla eşleşip eşleşmediğini denetler ve başarısızlık durumunda alıcının nasıl davranacağını bildirir
    • Recoil’in DMARC ilkesi p=quarantine şeklindedir; teslim sorunlarını ayıklamak için toplu raporları rua= adresinde alır
    • Büyük alıcılar genellikle günde bir kez, recoil.org göndericisi olduğunu iddia eden iletilerin özet XML raporlarını yollar; buna Google, Microsoft, Yahoo ve Fastmail dahildir
    • İletilen postada, özgün gönderici alan adı Recoil IP’sinden gönderiliyormuş gibi görünebilir ve bu da SPF’nin başarısız olmasına yol açabilir
    • SRS, zarf gönderici adresini SRS0=…=example.com=original@recoil.org benzeri bir biçime yeniden yazar; böylece hedefteki SPF kontrolü özgün alan adı yerine Recoil alan adına göre değerlendirilir

Kullanıcı erişimi ve webmail

  • Kullanıcılar, standart IMAP istemcileriyle Dovecot sunucusuna bağlanabilir veya kendi barındırılan webmail’i tarayıcıda açarak postalarına erişebilir
  • Dovecot, pork üzerindeki posta kutusu erişimini yönetir ve dinleyicileri TLS ile şifreleyerek düz metin posta ya da parolaların açık ağlardan geçmesini önler
  • Sertifikalar LetsEncrypt ile alınır; imap.recoil.org, smtp.recoil.org gibi birden çok host takma adı SNI ile sunulur
  • Dovecot, Postfix için SASL arka ucu olarak da çalışır; böylece kullanıcılar IMAP erişimi ve SMTP gönderimi için aynı parolayı kullanabilir
  • Roundcube, Caddy TLS reverse proxy arkasında bir Docker Compose hizmeti olarak çalışır ve normal bir istemci gibi TLS/IMAP ile porka bağlanır
  • Roundcube eklentileri

    • Roundcube’un managesieve eklentisi, tarayıcıdan Sieve filtrelerini düzenlemek için ManageSieve protokolünü kullanır
    • markasjunk eklentisi, webmail’deki “Junk” düğmesini Junk klasörüne taşıma işlevine dönüştürür; bu taşıma da ham·spam sınıflandırma eğitimini kullanıcıya görünmeden yürütür
    • Roundcube ManageSieve arayüzü, ham Sieve DSL’yi açığa çıkarmaz

Kalan işler ve self-hosting’in anlamı

  • Mevcut kurulum son birkaç haftadaki günlük kullanımda oldukça sağlam görünse de yapılacak daha çok iş var
  • recoil.org, MX, A/AAAA, PTR, SPF TXT, DKIM TXT ve DMARC TXT gibi DNS kayıtlarını birleştirerek posta alma·gönderme·doğrulama yapısını kuruyor
  • MTA-STS, diğer posta sunucularına yalnızca geçerli sertifikalı TLS ile iletişim kurmalarını söyleyerek STARTTLS downgrade saldırılarını hafifletir
  • DANE/TLSA, HTTPS yerine DNS’te sabitlenmiş TLS sertifika hash’leri kullanır; ancak DNSSEC ile imzalanmış bir DNS zone’u gerektirdiği için henüz devreye alınmadı
  • SRS kısmen dağıtıldı, ancak tüm iletim yollarında doğrulanmış değil; INRIA ile ilgili başarısızlıklar, DMARC başarısızlığı ve alan adı itibarı etkisi ihtimali nedeniyle kaygı konusu
  • JMAP, güvenlik ve gelecekte self-hosting

    • JMAP, HTTPS ve JSON kullanan, modern ağ istemcilerine IMAP’ten daha uygun bir posta erişim protokolüdür
    • Dovecot JMAP’i yerel olarak desteklemez; değerlendirilen bağımsız JMAP sunucuları ise Maildir’den vazgeçip kendi posta kutusu depolarını ister
    • Değerlendirilen plan, bir OCaml JMAP uygulamasını Dovecot’un önüne çeviri proxy’si olarak koymak; JMAP isteklerini IMAP çağrılarına eşleyip sonra JSON yanıtları döndürmek
    • 2026’da bir posta sunucusu işletmek için en az altı DNS kaydını doğru ayarlamak gerekir ve RIPE’dan bir IPv4 bloğu almak neredeyse bir yılı bulur
    • CVE açıklanması ile SMTP/IMAP dinleyicilerine yönelik gerçek exploit’lerin sahaya sürülmesi arasındaki aralık artık haftalar değil saatlerle ölçülebilir; bu yüzden belirli adrese sabitleme, webmail container izolasyonu, greylisting ve DNSBL gibi katmanlı savunmalar gerekir

1 yorum

 
Lobste.rs görüşleri
  • Onlarca yıldır yapılan bir şeyi imkânsız diye kesin bir dille söyleyen bekçiler görmeye devam ediyorum
    Aslında sadece reverse DNS, SPF, DMARC ve MTA-STS ayarlamak yeterli; ne çok pahalı ne de çok zor olduğunu söyleyip duruyorum
    Örnek posta sunucusu: https://poofydoof.zia.io/

    • Yaklaşık 2008’den beri doğrudan kendi kendine barındırılan e-posta işletiyorum ve hâlâ bunun imkânsız olduğunu söyleyen çok kişi olması beni şaşırtıyor
      Şu anda Debian + Postfix, Dovecot, rspamd kullanıyorum ve benim kurulumumdan çok işyerindeki Google Workspace daha sık sorun çıkarıyor
    • Bence kilit nokta “onlarca yıldır yapılan bir şey” kısmı
      Sadece reverse DNS, SPF, DMARC ve MTA-STS ayarlamanın yeterli olduğu sözü, zaten iyi itibara sahip alan adları ve IP adresleri için %100 doğru
      Büyük sağlayıcılar tarafından zaten güvenilen bir posta sunucusuna yeni bir alan adı eklersen itibar hızlı birikir; mevcut bir alan adını yeni bir posta sunucusu IP’sine taşıyıp DKIM’i de ayarladıysan da sorun olmaz
      Ama yeni bir alan adı ve yeni bir posta sunucusu IP’siyle sıfırdan başlarsan durumun epey farklı olduğunu duydum; büyük sağlayıcıların makine öğrenimi sistemleri tatmin olana kadar postaların otomatik olarak spam sayılması çok olası
      O taraftaki sistemlerin kullanıcılarının benim alan adıma posta göndermesi ve spam klasöründen yanıtları çıkarıp cevaplaması gibi davranışlar genelde oldukça işe yarıyor gibi görünüyor
    • Yaklaşık 3 yıldır posta sunucusu işletmiş biri olarak zor kısım DNS, SPF, DMARC veya MTA-STS ayarları değil; işlemsel e-posta gönderirken engelleme listelerine takılmamak ve bazı e-posta sağlayıcılarında izin listesine alınamamak
      Böyle şeylerin peşinden sürekli koşmaya zaman harcamaktansa ayda yaklaşık 5 dolar ödeyip bunu bir başkasına bırakmanın daha iyi olduğunu düşünüyorum
    • Örnek posta sunucusu harika; şu da güzel
      https://dmesgd.nycbug.org/dmesgd?do=view&id=8929
      Bu kurulumun ayrıntılarını daha çok merak ediyorum
      Mango Pi MQ-Pro bulunması zor görünüyor; NetBSD/Linux desteği iyi olan başka ultra düşük maliyetli cihazlar olup olmadığını da merak ediyorum
  • Kendi posta sunucunuzu işletmek için bir başka neden de, birilerinin zaten alan adınızdan spam gönderdiğini fark edebilmeniz
    Alan adlarımdan biri Google Domains satışı nedeniyle Squarespace’e taşındığında, Mailgun hesabım olmamasına rağmen Squarespace otomatik olarak Mailgun için MX/SPF/DKIM DNS kayıtları ekledi
    Birisi Mailgun’da o hesabı ele geçirdi ve benim alan adımdan gelmiş gibi bana spam gönderdi
    Teşekkürler Google

  • Özellikle IPv4 tahsisi kısmı ilginç
    Avrupa’da bunu kendiniz yapmak için RIPE NCC yıllık ücretini ödeyip bir yerel internet kayıt kuruluşu (LIR) hesabı açmanız gerektiği söyleniyor; https://www.ripe.net/membership/payment/ adresine göre bu yılda 1800 avro
    Oldukça can yakıyor ama daha ucuz olsa spamcıların kötüye kullanması da daha kolay olurdu herhâlde

    • Ucuz değil ama adres başına yılda yaklaşık 12 sterlin ediyor; yakındaki arkadaşlar ve aile hizmetleriyle paylaşırsanız o kadar da kötü değil
      OCaml ile bir BGP sunucusu yazmanın eğlencesi paha biçilemez :-)
  • IPv6’nın e-posta alıp göndermede pratikte kullanılabilir olup olmadığını merak ediyorum

    • Güzel soru
      Yazıyı hazırlarken buna baktım ama birkaç yıl önce posta sunucumda IPv6’yı kapatmıştım; daha fazla deneyim kazanana kadar ertelemeye karar verdim
      https://dn.org/ipv6-and-domain-reputation-in-anti-spam-filters adresine göre Gmail, Microsoft ve Yahoo gibi e-posta sağlayıcıları alan adı itibarı ile IP itibarını farklı ağırlıklandıran kendilerine özgü spam filtreleri kullanıyor ve IPv6 desteği de hâlâ olgunlaşıyor
      Gmail, IPv6 postası için geçerli PTR kaydı, SPF ve DKIM istiyor; ayrıca DMARC kullanımını da güçlü biçimde tavsiye ediyor
      Bu unsurlar olmadan IPv6 üzerinden gönderilen postalar sık sık spam klasörüne düşüyor ya da gecikiyor
      Microsoft’un filtreleme sistemi IPv6’yı SNDS ve JMRP programlarına dahil ediyor ama gönderen itibarı bilinmiyorsa IPv6 postasını sınırlayabiliyor veya geciktirebiliyor
      Sonuç olarak IPv6 bir başka arıza noktası daha ve başlangıçta IPv4/IPv6 karma bir gönderim alan adı kurmak muhtemelen iyi bir fikir değil
      Henüz yalnızca IPv6 kullanan bir SMTP uç noktası bulamadım