E-posta, günümüz iş dünyasında kurumsal iletişimin temel yapı taşlarından biridir. Ancak varsayılan ayarlarla gönderilen e-postalar şifrelenmediği için, iletim sırasında saldırılara ve veri sızıntılarına karşı açık hale gelebilir. Bu nedenle, güvenli ve izlenebilir bir SMTP sunucusu kurmak son derece önemlidir. Bu rehberde, açık kaynaklı ve güçlü bir SMTP olan Postfix ile Ubuntu üzerinde güvenli bir SMTP sunucusunun nasıl kurulacağını adım adım inceleyeceğiz.
SMTP ve Postfix Nedir?
SMTP, e-postaların internet üzerinden iletilmesini sağlayan en temel protokoldür. Ancak bu protokol, kendi içinde şifreleme veya kimlik doğrulama desteği barındırmaz. Postfix ise, SMTP süreçlerini yöneten bir MTA (Mail Transfer Agent) olarak görev yapar. Hızlı, güvenli ve özelleştirilebilir yapısıyla özellikle Linux tabanlı sistemlerde yaygın biçimde kullanılmaktadır.
SMTP Sunucunuz İçin Neden Postfix’i Tercih Etmelisiniz?
Postfix, mevcut Mail Transfer Agent alternatifleri arasında hem kolay kullanımı hem de sunduğu güvenlik özellikleriyle öne çıkar. Özellikle e-posta sunucu kurulumlarına yeni başlayan sistem yöneticileri için, basit yapısı ve anlaşılır yapılandırma dosyaları sayesinde hızla uygulanabilir.
Performans açısından değerlendirildiğinde, Postfix yoğun e-posta trafiğini rahatlıkla yönetebilir ve büyük sistemlerde dahi istikrarlı biçimde çalışır. Güvenlik tarafında ise, SSL/TLS desteğiyle veri aktarımını korurken; SPF, DKIM ve SMTP AUTH gibi mekanizmalarla sahte e-postaların engellenmesini sağlar. Ayrıca, çeşitli anti-spam ve içerik filtreleme araçlarıyla kolayca entegre olabilmesi, Postfix’i SMTP sunucusu kurulumları için esnek ve güçlü bir seçenek haline getirir. Mailcow gibi Docker tabanlı bütünleşik sistemlerde Postfix varsayılan MTA olarak gelir ve merkezi yönetim avantajı sağlar. Posta kutusu erişiminde ise, Dovecot Mail Sunucusu entegrasyonu sayesinde IMAP ve POP3 protokolleri üzerinden güvenli erişim sunularak sistem tam işlevsel hale gelir.

Kurulum Gereksinimleri
Postfix, Ubuntu’nun yanı sıra Debian ve CentOS gibi çeşitli Linux dağıtımlarıyla uyumlu şekilde çalışabilir. Bu rehberde ise kurulum adımları Ubuntu sistemleri üzerinden anlatılacaktır.
DNS ve Alan Adı Yapılandırma
SMTP sunucusunun sağlıklı çalışabilmesi için, alan adına ait DNS kayıtlarının eksiksiz ve doğru biçimde yapılandırılmış olması gerekir. Aşağıdaki kayıtların kontrol edilmesi önemlidir:
MX (Mail Exchanger) Kaydı: Alan adınıza gelen e-postaların hangi IP adresine yönlendirileceğini belirler.
PTR (Reverse DNS) Kaydı: IP adresinizi alan adınızla ilişkilendirir; özellikle antispam filtreleri için gereklidir.
SPF Kaydı: Hangi sunucuların alan adınız adına e-posta gönderebileceğini tanımlar.
DKIM Kaydı: E-posta içeriğinin değiştirilmediğini kanıtlayan dijital bir imza sağlar.
Postfix’i Yükleme
Sistemi güncelleyin:
sudo apt update && sudo apt upgrade -y
Postfix ve Mailutils paketlerini kurun:
sudo apt install postfix mailutils -y
Kurulum sihirbazında “Internet Site” seçin, alan adınızı girin (örneğin: mail.orneksite.com).
Postfix’in İlk Yapılandırması
Postfix’in ana ayar dosyası:
/etc/postfix/main.cf
myhostname = mail.ornekalanadi.com
Tüm ağ arayüzlerini dinlemesi için:
inet_interfaces = all
Postfix’te TLS/SSL ile Güvenlik Adımları
Günümüzde SMTP sunucularında şifreleme kullanmak bir seçenek değil, bir zorunluluktur. TLS (Transport Layer Security), istemci ve sunucu arasındaki e-posta iletişimini şifreleyerek mesajların gizliliğini ve bütünlüğünü güvence altına alır. Aksi hâlde, şifreleme olmadan gönderilen iletiler düz metin olarak aktarılır ve üçüncü kişiler tarafından kolaylıkla okunabilir.
Gerçek bir sistem için, güvenilir bir sertifika otoritesinden alınan SSL sertifikası kullanmanız şiddetle tavsiye edilir. Ancak test süreçlerinde kullanılmak üzere, kendi kendine imzalanmış bir sertifika şu şekilde oluşturulabilir:
sudo openssl req -new -x509 -days 365 -nodes \
-out /etc/ssl/certs/mailcert.pem \
-keyout /etc/ssl/private/mailkey.pem
TLS desteğini etkinleştirmek için main.cf
dosyasına aşağıdaki satırları ekle veya güncelle:
smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem
smtpd_tls_key_file = /etc/ssl/private/mailkey.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_security_level = may
SPF ve DKIM Kurulumu
SPF: DNS’te TXT kaydı ekleyin:
v=spf1 mx a ip4:123.123.123.123 -all
DKIM: opendkim
kurun, anahtarlar üretin ve DNS’e ekleyin:
sudo apt install opendkim opendkim-tools
sudo opendkim-genkey -s mail -d orneksite.com
mail._domainkey.orneksite.com IN TXT "v=DKIM1; k=rsa; p=anahtar"
Postfix’e SMTP Kimlik Doğrulama Ekleme
SMTP kimlik doğrulaması, sunucun üzerinden yalnızca yetkili kullanıcıların e-posta gönderebilmesini sağlar. Aksi halde spam göndericiler sunucunu kötüye kullanabilir ve alan adın kara listeye düşebilir.
sudo apt install sasl2-bin
Kurulumdan sonra, /etc/postfix/main.cf
SASL kimlik doğrulamasını etkinleştirmek için dosyayı düzenleyin:
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
Sonra, dosyayı düzenleyerek Dovecot’u kimlik doğrulamasını yönetecek şekilde yapılandırın . Bölümü aşağıdaki gibi /etc/dovecot/conf.d/10-master.conf
bulun ve değiştirin :unix_listener
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
Yedekleme ve Felaket Kurtarma
Postfix Yapılandırmalarının Düzenli Yedeklerinin Oluşturulması
Postfix yapılandırma dosyalarınızın düzenli yedekleri felaket kurtarma için olmazsa olmazdır. Yedekleme sürecini otomatikleştirmek için rsync veya cron gibi bir araç kullanabilirsiniz :
$ rsync -av /etc/postfix /backup_location/
Postfix’i Yedeklemeden Geri Yükleme
Postfix’i bir yedekten geri yüklemek için yapılandırma dosyalarını dizine kopyalayın /etc/postfix/
ve servisi yeniden başlatın.
$ sudo systemctl restart postfix
Sıkça Sorulan Sorular (SSS)
Postfix’i sadece giden postaları işlemek üzere nasıl sınırlandırabilirim?
/etc/postfix/main.cf
dosyasında yer alan mydestination
satırını boş bırakarak, Postfix’in yalnızca dışa e-posta göndermesini sağlayabilirsiniz. Bu şekilde sunucu, dış kaynaklardan gelen postaları kabul etmez.
SMTPS ve STARTTLS destekli SMTP ne şekilde farklılık gösterir?
SMTPS (port 465), bağlantı kurulur kurulmaz şifreli iletişim başlatır. STARTTLS kullanan TLS destekli SMTP (port 587) ise bağlantıyı düz başlatır, ardından STARTTLS komutuyla şifrelemeye geçer.
Postfix’in açık röle olmasını nasıl engellerim?
mynetworks
ayarında sadece güvenilir IP adreslerini tanımlayın. Ayrıca SMTP kimlik doğrulamasını etkinleştirerek, kimliği doğrulanmamış kullanıcıların sisteminizi kötüye kullanmasını önleyin.
Postfix, sanal domain yapılarını MySQL ile yönetebilir mi?
Evet. Postfix, sanal alan adları ve kullanıcı hesaplarını MySQL veritabanı üzerinden yönetebilir. Böylece daha esnek ve merkezi bir yapı kurabilirsiniz.