Giriş
Bir mail sunucusunun düzgün çalışabilmesi için en önemli iki unsur: doğru yapılandırılmış bir main.cf
dosyası ve logların düzenli kontrolüdür. Postfix
, güvenli ve esnek yapısıyla en çok tercih edilen açık kaynaklı SMTP sunucularından biridir.
Bu makalede hem Postfix’in temel konfigürasyon dosyası olan /etc/postfix/main.cf
içeriğinin nasıl olması gerektiğini hem de log takibini yapabileceğiniz tail -f /var/log/maillog
komutunun nasıl kullanılacağını A’dan Z’ye anlatacağız.
Postfix main.cf Dosyası Nedir?
main.cf
, Postfix’in ana konfigürasyon dosyasıdır. Bu dosyada SMTP bağlantı ayarları, TLS/SSL kullanımı, relay ayarları, hostname, domain ayarları ve güvenlik politikaları gibi pek çok temel yapılandırma yer alır.
Örnek /etc/postfix/main.cf Dosyası
myhostname = mail.alanadiniz.com
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
Not: Sertifika yolları kendi SSL sertifikanıza göre değiştirilmelidir.
main.cf Yapılandırmasında Dikkat Edilmesi Gerekenler
-
myhostname
: Sunucunun tam alan adı olmalıdır. Ters DNS (PTR) kaydı ile uyumlu olmalıdır. -
mynetworks
: Sunucunun SMTP relay izni vereceği IP aralığıdır. Genelde127.0.0.0/8
dışına çıkmamalı. -
smtpd_use_tls
: TLS zorunlu hale getirilerek gönderici alıcı güvenliği sağlanmalıdır. -
smtpd_sasl_auth_enable
: SMTP Authentication özelliğinin aktif olması gereklidir.
tail -f /var/log/maillog Nedir ve Nasıl Kullanılır?
Postfix’in çalışma anındaki olaylarını takip etmek için maillog
dosyası en önemli kaynaktır.
tail -f /var/log/maillog
Bu komut log dosyasının sonuna eklenen satırları anlık olarak takip etmenizi sağlar.
Örnek Log Satırı:
May 13 13:45:01 mail postfix/smtpd[1878]: connect from unknown[192.168.1.100]
May 13 13:45:03 mail postfix/smtpd[1878]: 8GH2D2322F: client=unknown[192.168.1.100], sasl_method=PLAIN, [email protected]
Bu satırlarda bağlantı bilgisi, IP adresi, doğrulama tipi ve kullanıcı adı gibi detaylar gözlemlenir.
maillog Dosyasında Arama Yapmak
Bazı kritik olayları filtrelemek için grep
komutu kullanılabilir:
-
Hataları bulmak:
grep error /var/log/maillog
-
Belirli bir e-posta adresini izlemek:
grep '[email protected]' /var/log/maillog
-
TLS hatalarını aramak:
grep tls /var/log/maillog
Sonuç
Postfix, sistem yöneticileri için oldukça güçlü bir MTA’dır ve doğru yapılandırıldığında yüksek performanslı, güvenli bir mail sunucusu elde edilir. main.cf
dosyasının doğru yapılandırılması, mail sunucusunun kararlılığı için kritik öneme sahiptir. Aynı zamanda /var/log/maillog
ile anlık olarak sistem davranışlarını izlemek, sorun çözümünde büyük kolaylık sağlar.