Kurumsal iletişimde e-posta, hâlâ en yaygın ve vazgeçilmez araçlardan biridir. Ancak mesajlar varsayılan ayarlarda şifrelenmeden gönderildiği için, ağ üzerindeki iletim sırasında çeşitli güvenlik açıklarına ve veri ihlallerine neden olabilir. Bu sebeple, güvenli ve denetlenebilir bir SMTP sunucusunun kurulması kritik bir adımdır. Bu yazıda, açık kaynak kodlu ve güçlü bir posta transfer ajanı olan Postfix ile Ubuntu üzerinde güvenli bir SMTP yapısının nasıl kurulacağı ayrıntılı olarak ele alınacaktır.
SMTP ve Postfix Nedir?
E-posta iletiminin temelini oluşturan SMTP protokolü, mesajların internet üzerinden gönderilmesini sağlar. Ancak bu protokol, kendi başına ne şifreleme ne de kimlik doğrulama sunar. Bu noktada devreye giren Postfix, SMTP işlemlerini yöneten bir MTA (Mail Transfer Agent) olarak görev yapar. Performanslı, güvenli ve kolayca özelleştirilebilir yapısıyla Linux sistemlerde yaygın olarak kullanılmaktadır.
SMTP Sunucunuz İçin Neden Postfix’i Tercih Etmelisiniz?
Birçok Mail Transfer Agent alternatifi içinde Postfix, kullanım kolaylığı ve güvenliğe verdiği önemle ön plana çıkar. Basit yapısı ve okunabilir konfigürasyon dosyaları sayesinde, e-posta sunucusu kurulumuna yeni başlayan sistem yöneticileri için hızlı bir başlangıç sağlar.
Performansı değerlendirildiğinde, Postfix yoğun e-posta trafiğini etkili biçimde yönetebilir ve büyük altyapılarda stabil şekilde çalışır. Güvenlik açısından SSL/TLS ile veri şifrelemesi yaparken, SPF, DKIM ve SMTP AUTH gibi doğrulama sistemleriyle sahte iletileri engeller. Ayrıca spam ve içerik filtreleme araçlarıyla entegrasyon yeteneği sayesinde Postfix, esnek ve güçlü bir SMTP çözümü sunar. Özellikle istenmeyen kaynaklardan gelen iletilerin önüne geçmek için Postfix domain uzantısı engelleme özelliği, yönetim açısından büyük kolaylık sağlar. Bununla birlikte, e-posta hizmetinin sağlıklı çalışması için kullanılan web sunucu altyapısıyla da uyumlu ve kararlı biçimde entegre edilebilir.

Kurulum Gereksinimleri
Postfix, Ubuntu başta olmak üzere Debian ve CentOS gibi birçok Linux dağıtımında çalışabilir. Bu rehberde kurulum işlemleri Ubuntu üzerinde ele alınacaktır.
DNS ve Alan Adı Yapılandırma
SMTP sunucusunun düzgün şekilde çalışabilmesi için, alan adınıza ait DNS kayıtlarının doğru şekilde yapılandırılması gerekir. Aşağıdaki kayıtların doğruluğu mutlaka kontrol edilmelidir:
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 eşleştirerek, antispam filtrelerinde güven sağlar.
SPF Kaydı: Alan adınız adına hangi sunucuların e-posta göndermeye yetkili olduğunu tanımlar.
DKIM Kaydı: Gönderilen e-postaların içeriklerinin aktarım sırasında değişmediğini dijital olarak doğrular.
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ı
SMTP sunucun için şifreleme kullanmak artık bir opsiyon değil, zorunluluk. TLS (Transport Layer Security), istemci ve sunucu arasındaki e-posta trafiğini şifreleyerek mesajların gizliliğini ve bütünlüğünü sağlar. Şifreleme olmadan iletiler düz metin olarak gider ve araya giren biri tarafından okunabilir hâle gelir.
Üretim ortamı için mutlaka güvenilir bir sertifika otoritesinden (CA) alınmış SSL sertifikası önerilir. Ancak test amaçlı kendi kendine imzalı bir sertifika şöyle oluşturulur:
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 e-posta göndermek için nasıl yapılandırabilirim?
/etc/postfix/main.cf
dosyasındaki mydestination
satırını boş bırakarak Postfix’in yalnızca giden e-postaları işlemesini sağlayabilirsiniz. Böylece sunucu, dışarıdan gelen e-postaları kabul etmez.
SMTPS ile TLS destekli SMTP arasında ne fark var?
SMTPS (port 465), bağlantı kurulur kurulmaz şifreli iletişim başlatır. TLS destekli SMTP (port 587) ise önce düz bağlantı kurar, ardından STARTTLS komutu ile ş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.