NİCELİĞİ ARTA ARTA GİDEN KILAVUZ: E-posta iletimini güvenilir hale getirmek için sunucunuzu ayarlama. BÖLÜM I: Güvenlik Duvarı

Güvenlik Duvarı, sunucuya hangi bağlantılara izin verileceğini ve hangilerinin engelleneceğini kontrol eden bir yazılımdır (veya donanım-yazılım aygıtıdır). Modern Linux sunucu dağıtımlarının büyük çoğunluğunda, kutudan çıktığı anda bir tür güvenlik duvarı mevcuttur.
Alıcıya güvenilir e-posta teslimi, yalnızca posta sunucusunun kendisine değil, aynı zamanda doğru DNS kayıtlarına ve güvenlik duvarı yapılandırmasına da bağlıdır. Bunlardan herhangi birinde bir sorun varsa, iletilerinizin büyük olasılıkla Spam klasörüne düşmesi veya hiç teslim edilmemesi demektir.
Bu makale, sunucunuzdan gönderilen iletilerin neredeyse %100 güvenilir bir şekilde teslim edilmesini sağlamanıza olanak tanıyacak temel adımları özetlemektedir. 1. Bölüm'de olası güvenlik duvarı ile ilgili sorunları ayrıntılı olarak inceleyeceğiz; 2. Bölüm'de ise DNS kayıtlarının yapılandırılmasına ilişkin talimatları bulacaksınız.
Bu makaledeki bilgiler yalnızca Linux dağıtımlarında çalışan posta sunucuları için geçerlidir. Örnek olarak FASTPANEL kontrol paneli ile Debian 12 ve Rocky Linux 8.10 kullanılmaktadır.
Ön Koşullar
Adım 1. Tanı araçlarını yükleyin
Kayıtları ve bağlantı noktalarını kontrol etmek için şunlara ihtiyacınız olacak:
-
dig - DNS kayıtlarını analiz etmek için
-
lsof - posta sunucusu durumunu kontrol etmek için
-
netcat - bağlantı noktası kullanılabilirliğini kontrol etmek için
-
whois - mevcut DNS sağlayıcısını kontrol etmek için
Debian/Ubuntu'da kurulum:
sudo apt update && sudo apt install -y bind9-dnsutils netcat-openbsd lsof whois
CentOS/AlmaLinux/Rocky Linux:
sudo yum install -y bind-utils nmap-ncat lsof whois
Posta bağlantı noktası kullanılabilirliği
Bağlantı noktası, bir sunucudaki farklı hizmetlere hitap etmek için kullanılan sayısal bir tanımlayıcıdır. Her hizmet veya uygulama, ağ üzerinden veri alışverişi yapmak için kendi bağlantı noktasında dinler (örneğin, HTTP 80 numaralı bağlantı noktasını, SMTP ise 25 numaralı bağlantı noktasını kullanır).
Aşağıdaki adımların tümünü gerçekleştirmek için, kök kullanıcı kimlik bilgileriyle SSH üzerinden sunucunuza bağlanın veya örneklerde gösterildiği gibi komutları çalıştırırken sudo kullanın. SSH üzerinden bir sunucuya nasıl bağlanacağınızı SSH makalemizde öğrenebilirsiniz.
Adım 2. Posta sunucusu durumunu kontrol edin
Bağlantı noktalarının ağ üzerinden erişilebilir olup olmadığını kontrol etmeden önce, posta sunucularının çalıştığından ve doğru şekilde çalıştığından emin olun. Giden posta genellikle Exim veya Postfix tarafından, gelen posta ise Dovecot tarafından işlenir.
Çalıştıklarını kontrol etmek için komutları kullanın:
sudo lsof -i:25
sudo lsof -i:143
Hizmetler çalışıyorsa, aşağıdaki gibi bir çıktı alırsınız:
25 numaralı bağlantı noktası:
KOMUT PID KULLANICI FİDESİ TIP CİHAZ BOYUT/KAPALI DUGUM AD
exim 839 exim 4u IPv6 778199358 0t0 TCP *:smtp (LISTEN)
exim 839 exim 5u IPv4 778199359 0t0 TCP *:smtp (LISTEN)
Sunucunuz farklı bir SMTP sunucusu kullanıyorsa, örneğin Postfix, ilk sütunda exim yerine tam adını görürsünüz. Gerekirse, sonraki komutlarda bu adı kullanın.
143 numaralı bağlantı noktası:
KOMUT PID KULLANICI FİDESİ TIP CİHAZ BOYUT/KAPALI DUGUM AD
dovecot 859 root 39u IPv4 778204692 0t0 TCP *:imap (LISTEN)
dovecot 859 root 40u IPv6 778204693 0t0 TCP *:imap (LISTEN)
Bu, her şeyin yolunda olduğu ve bir sonraki adıma geçebileceğiniz anlamına gelir.
Posta hizmetleri çalışmıyorsa, boş bir çıktı alırsınız:
~ sudo lsof -i:25
~
~ sudo lsof -i:143
~
Bu durumda bir sorun var ve posta hizmetleri kullanılamıyor. Manuel olarak başlatmayı deneyebilir ve ardından durumlarını kontrol edebilirsiniz:
Debian/Ubuntu:
systemctl restart exim4 dovecot
systemctl status exim4
systemctl status dovecot
CentOS/AlmaLinux/Rocky Linux:
systemctl restart exim dovecot
systemctl status exim
systemctl status dovecot
Çalışır durumda, hizmet durumu şuna benzer olacaktır:
Exim:
● exim.service - Exim Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/exim.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2025-11-02 16:38:57 UTC; 57min ago
Main PID: 839 (exim)
Tasks: 1
Memory: 11.0M
CGroup: /system.slice/exim.service
└─839 /usr/sbin/exim -bd -q1h
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Dovecot:
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2025-11-02 16:38:58 UTC; 58min ago
Docs: man:dovecot(1)
https://doc.dovecot.org/
Main PID: 859 (dovecot)
Tasks: 5
Memory: 9.5M
CGroup: /system.slice/dovecot.service
├─ 859 /usr/sbin/dovecot -F
├─ 880 dovecot/anvil
├─ 881 dovecot/log
├─ 882 dovecot/config
└─1729 dovecot/stats
Bu durumda her şey yolunda ve bir sonraki adıma geçebilirsiniz.
Hizmetlerde bir sorun varsa, şuna benzer bir çıktı görürsünüz:
Exim:
● exim.service - Exim Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/exim.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sun 2025-11-02 17:38:44 UTC; 3s ago
Process: 839 ExecStart=/usr/sbin/exim -bd -q${QUEUE} (code=exited, status=0/SUCCESS)
Main PID: 839 (code=exited, status=0/SUCCESS)
Dovecot:
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sun 2025-11-02 17:39:32 UTC; 3s ago
Docs: man:dovecot(1)
https://doc.dovecot.org/
Process: 2278 ExecStop=/usr/bin/doveadm stop (code=exited, status=0/SUCCESS)
Process: 859 ExecStart=/usr/sbin/dovecot -F (code=exited, status=0/SUCCESS)
Main PID: 859 (code=exited, status=0/SUCCESS)
Hizmetlerin neden kullanılamayacağına dair birçok olası neden vardır (yapılandırma dosyalarındaki hatalar, yanlışlıkla silinmiş günlük dosyaları, sunucuda boş disk alanı olmaması ve çok daha fazlası). Bu yönler bu makalenin kapsamı dışındadır.
Bu sorunla karşılaşırsanız ve kendiniz araştırmak isterseniz, sistem günlüğüyle ilgili makalemizi öneririz. Veya yardım için barındırma sağlayıcınızın destek ekibiyle iletişime geçin. kodu.cloud'da 7/24 çalışıyoruz ve taleplere birkaç dakika içinde yanıt veriyoruz.