E-posta, günümüzde iş dünyasının vazgeçilmez iletişim araçlarından biri haline gelmiştir. Ancak e-postalar genellikle şifreleme olmadan gönderildiği için, ağ üzerinden iletim sırasında veri sızıntılarına ve saldırılara açık hale gelir. Bu yüzden, güvenli ve kontrol edilebilir bir SMTP sunucusu kurmak büyük önem taşır. Bu rehberde, güçlü ve açık kaynaklı bir MTA olan Postfix ile Ubuntu sistemi üzerinde güvenli SMTP kurulumu ayrıntılı şekilde anlatılacaktır.
SMTP ve Postfix Nedir?
E-postaların internet üzerinde taşınmasını mümkün kılan temel protokol SMTP’dir. Ancak bu protokol, doğrudan şifreleme ya da kimlik doğrulama özellikleri sunmaz. Postfix ise SMTP işlemlerini gerçekleştiren bir MTA (Mail Transfer Agent) uygulamasıdır. Güvenilirliği, hız ve esneklik özellikleriyle özellikle Linux sistemlerde sıklıkla tercih edilmektedir.
SMTP Sunucunuz İçin Neden Postfix’i Tercih Etmelisiniz?
Postfix, pek çok MTA alternatifi arasında kullanım kolaylığı ve güvenlik özellikleriyle dikkat çeker. Basit kurulum yapısı ve açık anlaşılır konfigürasyon dosyaları sayesinde, özellikle e-posta sunucularına yeni başlayan sistem yöneticileri tarafından hızlıca uygulanabilir.
Performans noktasında ise, yüksek e-posta trafiğini sorunsuz bir şekilde işleyebilir ve büyük altyapılarda bile istikrarlı bir performans sergiler. Güvenlik yönünden, SSL/TLS şifreleme desteği sayesinde verileri koruma altına alırken; SPF, DKIM ve SMTP AUTH doğrulamalarıyla spam ve sahte postaları engeller. Ayrıca birçok anti-spam ve içerik denetleme aracıyla entegre çalışabilmesi, Postfix’i esnek bir SMTP sunucusu çözümü haline getirir. Özellikle DirectAdmin Mail altyapısında Postfix, yapılandırması kolay ve kararlı bir seçenek sunarken; Mailcow gibi Docker tabanlı platformlarda da varsayılan olarak tercih edilerek güçlü bir bütünleşik posta sunucusu mimarisi sağlar.

Kurulum Gereksinimleri
Postfix, Debian, CentOS ve özellikle Ubuntu gibi pek çok Linux dağıtımında sorunsuz çalışmaktadır. Bu yazıda, kuruluma ilişkin adımlar Ubuntu tabanlı sistemlerde ele alınacaktır.
DNS ve Alan Adı Yapılandırma
Alan adınızla ilişkili DNS kayıtları doğru tanımlanmadığı sürece SMTP sunucusu beklenen şekilde çalışmayabilir. Aşağıdaki kayıtların doğruluğu mutlaka kontrol edilmelidir:
MX Kaydı: Gelen e-postaların hangi sunucuya yönlendirileceğini belirtir.
PTR Kaydı: IP adresini alan adınıza bağlar, spam kontrolleri için oldukça önemlidir.
SPF Kaydı: Hangi IP’lerin sizin adınıza mail göndermeye yetkili olduğunu belirler.
DKIM Kaydı: E-postanın içeriğinin iletim sırasında bozulmadığını kriptografik 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 sunucunuzu kurarken şifreleme artık tercihe bağlı değil, zorunlu bir güvenlik adımıdır. TLS (Transport Layer Security) protokolü, istemci ve sunucu arasındaki e-posta trafiğini şifreleyerek iletilerin hem gizliliğini hem de bütünlüğünü sağlar. Şifreleme olmadığında, e-postalar ağ üzerinde düz metin şeklinde iletilir ve kötü niyetli kişiler tarafından kolayca ele geçirilebilir.
Üretim ortamında kullanmak için güvenilir bir CA (Certificate Authority) tarafından imzalanmış SSL sertifikaları önerilir. Ancak test amaçlı kullanım için kendi imzaladığınız bir sertifikayı aşağıdaki gibi oluşturabilirsiniz:
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.