Yönlendirilebilir kendi IPv4 bloğundan başlayarak e-postayı zor yoldan kendi kendine barındırmak
(anil.recoil.org)- 1997’den beri işletilen Recoil posta altyapısı, özel bir IPv4
/24bloğ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.orgiçin postayıpork.recoil.orgiş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
/24bekleme listesi üzerinden yürütülüyor /24blok 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
- Recoil, e-posta itibarını bağımsız biçimde biriktirebilmek için
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çeksmtpdsü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/8tamamı ö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.orggibi 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
~/Maildiraltı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-flatcurvealtı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ı
Junkklasö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.orggöndericisi olduğunu iddia edebilecek IP adreslerini bildirir - Recoil’in SPF kaydı
v=spf1 a mx -allşeklindedir; yani yalnızcarecoil.orgun MX kaydının işaret ettiğipork.recoil.orggeçerli gönderici sayılır - Postfix, birden fazla IP’si olan hostlarda çekirdeğin rastgele adres seçmesini önlemek için
smtp_bind_addressvesmtp_bind_address6ile 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.orggö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.orgbenzeri bir biçime yeniden yazar; böylece hedefteki SPF kontrolü özgün alan adı yerine Recoil alan adına göre değerlendirilir
- DMARC, SPF ve DKIM ile doğrulanan alan adının kullanıcının gördüğü
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.orggibi 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
managesieveeklentisi, tarayıcıdan Sieve filtrelerini düzenlemek için ManageSieve protokolünü kullanır markasjunkeklentisi, 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
- Roundcube’un
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/
Şu anda Debian + Postfix, Dovecot, rspamd kullanıyorum ve benim kurulumumdan çok işyerindeki Google Workspace daha sık sorun çıkarıyor
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
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
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
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
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