Kurumsal iletişimde e-posta hâlâ en yaygın ve kritik kullanılan araçlardan biridir. Ancak iletiler genellikle şifrelenmeden gönderildiği için, ağ üzerinde taşınırken güvenlik açıklarına ve veri ihlallerine maruz kalabilir. Bu nedenle, denetlenebilir ve güvenli bir SMTP sunucusunun kurulması büyük bir gerekliliktir. Bu yazıda, açık kaynaklı Postfix yazılımı kullanılarak Ubuntu ortamında güvenli bir SMTP sunucusunun nasıl yapılandırılacağı adım adım aktarılacaktır.
SMTP ve Postfix Nedir?
SMTP, e-posta mesajlarının internet üzerinden gönderilmesini sağlayan ana protokoldür. Fakat bu protokol, varsayılan olarak ne şifreleme sunar ne de kimlik doğrulama içerir. Postfix, SMTP trafiğini yöneten bir MTA (Mail Transfer Agent) çözümüdür. Hızlı ve güvenli yapısıyla Linux sistemlerde yaygın olarak kullanılır ve kolayca özelleştirilebilir.
SMTP Sunucunuz İçin Neden Postfix’i Tercih Etmelisiniz?
Kullanım kolaylığı ve güçlü güvenlik seçenekleriyle Postfix, diğer MTA çözümleri arasında öne çıkmaktadır. Yapısının sade olması ve yapılandırma dosyalarının anlaşılırlığı, onu e-posta sunucusu kurulumuna yeni başlayan yöneticiler için cazip bir seçenek haline getirir.
Performans açısından Postfix, yüksek hacimli e-posta trafiğini başarıyla yönetebilir ve büyük çaplı sistemlerde dahi kararlı bir çalışma sergiler. Güvenlik tarafında ise, SSL/TLS desteği sayesinde iletişim güvenliğini sağlar; SPF, DKIM ve SMTP AUTH doğrulamalarıyla e-posta sahteciliğinin önüne geçer. Ayrıca anti-spam ve içerik filtreleme yazılımlarıyla entegrasyon imkanı, onu SMTP sunucuları için güçlü ve esnek bir çözüm yapar. Özellikle DirectAdmin Mail altyapısında yaygın olarak kullanılan Postfix, kullanıcı dostu yönetim paneliyle birlikte etkili sonuçlar sunar. Aynı zamanda Mailcow gibi Docker tabanlı modern mail sunucu çözümlerinde de Postfix, merkezi ve güvenli e-posta hizmetinin bel kemiğini oluşturur.

Kurulum Gereksinimleri
Ubuntu’nun yanı sıra Debian ve CentOS gibi Linux dağıtımlarında da Postfix çalıştırılabilir. Ancak bu rehberde, kurulum süreci yalnızca Ubuntu işletim sistemi üzerinden açıklanacaktır.
DNS ve Alan Adı Yapılandırma
Bir SMTP sunucusunun doğru şekilde işlemesi için, alan adınıza ait DNS kayıtlarının eksiksiz biçimde yapılandırılması şarttır. Dikkat edilmesi gereken başlıca kayıtlar şunlardır:
MX (Mail Exchanger) Kaydı: Alan adınıza ait e-postaların hangi sunucuya teslim edileceğini tanımlar.
PTR (Reverse DNS) Kaydı: IP adresini alan adıyla eşleştirir ve antispam filtreleme sistemlerinde büyük rol oynar.
SPF Kaydı: Yetkili e-posta gönderen sunucuları tanımlar.
DKIM Kaydı: Mesajın gönderim sürecinde değişmediğini doğrulayan dijital bir imza içerir.
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ı
Bir SMTP sunucusunda şifreleme, artık lüks değil zorunlu bir güvenlik önlemidir. TLS protokolü, istemci ile sunucu arasındaki veri aktarımını şifreleyerek e-posta içeriklerinin gizliliğini ve bütünlüğünü sağlar. Şifreleme kullanılmadığında, gönderilen mesajlar düz metin olarak iletilir ve araya giren kişiler tarafından okunabilir.
Canlı ortamlarda, güvenilir bir sertifika otoritesinden alınmış SSL sertifikası kullanılmalıdır. Fakat test veya geliştirme amacıyla kendi imzanızla oluşturulan bir sertifika aşağıdaki yöntemle hazırlanabilir:
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.