E-posta

h/m wiki sitesinden
Plinth Postfix / Dovecot (E-Posta) Web Arayüzü

Hazırlıklar

Evinizdeki sunucuda e-posta hizmeti çalıştırmak için aşağıdaki hazırlıkları önceden yapabilirsiniz.

Belirtilen hazırlıklar Türk Telekom (TT) aboneleri için denenmiştir. Diğer servis sağlayıcıların yöntemleri farklı yolabilir.

  • Statik IP edinin.
  • Servis sağlayıcınız ile iletişime geçerek tarafınıza tahsis edilen IP üzerinden port 25 açılmasını talep edin.
  • TT'un reverse-dns@turktelekom.com.tr e-posta adresine, aboneliğinizin kayıtlı olduğu e-posta adresi üzerinden PTR / reverse-DNS talebinde bulunun. Örnek e-posta metni aşağıda paylaşılmıştır.

Örnek Metin (Genişletin)

Sayın Yetkili,

Evimde kurmuş olduğum e-posta sunucusu, ne yazık ki DNS kaydı olmadığı için spam filtrelerini aşamamaktadır. Sizden ricam, aşağıda paylaştığım IP adresime Reverse-DNS kaydı olarak belirttiğim alan adını girebilirseniz, bu problemin çözülmesini sağlayacaksınız.

Statik IP Adresim: <ip_adresiniz>
Mail Alan Adı: <alan_adınız>

İlginize şimdiden teşekkür eder, iyi çalışmalar dilerim.

İşlemin gerçekleşip gerçekleşmesiğini nslookup -q=PTR ip_adresiniz komutuyla sorgulayabilrsiniz.

Yukarıdaki hazırlıklarla berber Freedombox E-Posta uygulamasını kurduğunuzda, çalışır bir posta sunucunuz olacak. Ancak, sunucunuzda aşağıdaki güvenlik önlemleri size daha etkin ve güvenli kullanım sağlayacaktır.

E-postalarınızı "Evolution" benzeri bir masaüstü istemci ile yönetebileceğiniz gibi, arzu ederseniz Freedombox ile yüklü gelen Roundcube üzerinden tarayıcınızdan da faydalanabilirsiniz.

Güvenlik

Sağlıklı bir e-posta hesabının “spam” olarak değerlendirilmemesi için birtakım doğrulama özellikleri barındırması gerekir. Bunların başında SPF, DMARC, rPTS (PTS veya rDNS) ve DKIM gelir. Aşağıda bu ayarları yapılandırabileceğiniz yöntemler paylaşılmıştır.

Başka bir e-posta sunucusunun sizin namınıza gönderi iletmesine / yönlendirmesi bir risktir. E-posta hesabınızı uluorta görünebileceği mecralardan uzak tutun.

DNS Sunucu Ayarları[1]

  • DNS sunucunuzda DMARC yapılandırmanız için
v=DMARC1; p=reject; rua=mailto:eposta@adresiniz; ruf=mailto:eposta@adresiniz; fo=1; adkim=s; aspf=s;
  • Benzer şekilde, yine DNS sunucunuzda SPF yapılandırmanız için
v=spf1 mx a ip4:statik_IP_adresiniz -all

Sunucunuzda kayıtlı ve e-posta hizmetinden yararlanmayacağınız başka alan adları varsa, onlar için de v=spf1 -all değerini girebilirsiniz.

DKIM Ayarları

DKIM doğrulaması, iletmiş olduğunuz e-postanın sizin sunucunuzdan çıktığının doğrulanması içindir. Freedombox'ın E-Posta sayfasında belirtilen DKIM kodu, aslında bir nevi public.key'dir. Bu değeri, DNS sunucunuza işlemeniz gerekir. Aşağıda paylaşılan DKIM ayarlarını tamamlamanız halinde, sunucunuz her ileteceği postayı kendi üzerinde barındırdığı private.key ile imzalar.

  • Sunucuda nano /etc/rspamd/local.d/dkim_signing.conf komuyla rspamd dkim modul[2] dosyanızı oluşturun. Aşağıda örnek verilen içeriği, alanadiniz (uzantısıyla beraber) ile belirtilen yerleri düzenleyerek kullanabilirsiniz.

Rspamd Modül Örneği (Genişletin)

# local.d/dkim_signing.conf

# If false, messages with empty envelope from are not signed
allow_envfrom_empty = true;

# If true, envelope/header domain mismatch is ignored
allow_hdrfrom_mismatch = false;

# If true, multiple from headers are allowed (but only first is used)
allow_hdrfrom_multiple = false;

# If true, username does not need to contain matching domain
allow_username_mismatch = true;

# Default path to key, can include '$domain' and '$selector' variables
path = "/var/lib/rspamd/dkim/$domain.$selector.key";

# Default selector to use
selector = "dkim";

# If false, messages from authenticated users are not selected for signing
sign_authenticated = true;

# If false, messages from local networks are not selected for signing
sign_local = true;

# Map file of IP addresses/subnets to consider for signing
# sign_networks = "/some/file"; # or url

# Symbol to add when message is signed
symbol = "DKIM_SIGNED";

# Whether to fallback to global config
try_fallback = true;

# Domain to use for DKIM signing: can be "header" (MIME From), "envelope" (SMTP From) or "auth" (SMTP username)
use_domain = "header";

# Domain to use for DKIM signing when sender is in sign_networks ("header"/"envelope"/"auth")
#use_domain_sign_networks = "header";

# Domain to use for DKIM signing when sender is a local IP ("header"/"envelope"/"auth")
#use_domain_sign_local = "header";

# Whether to normalise domains to eSLD
use_esld = false;

# Whether to get keys from Redis
use_redis = false;

# Hash for DKIM keys in Redis
key_prefix = "DKIM_KEYS";

# map of domains -> names of selectors (since rspamd 1.5.3)
selector_map = "/etc/rspamd/dkim_selectors.map";

# map of domains -> paths to keys (since rspamd 1.5.3)
#path_map = "/etc/rspamd/dkim_paths.map";

# If `true` get pubkey from DNS record and check if it matches private key
check_pubkey = true;
# Set to `false` if you want to skip signing if public and private keys mismatch
allow_pubkey_mismatch = false;


# Domain specific settings
alanadiniz {

  # Domain name is used as key
  alanadiniz {

    # Private key path
    path = "/var/lib/rspamd/dkim/alanadiniz.dkim.key";

    # Selector
    selector = "ds";

  }

}
  • nano /etc/rspamd/local.d/dkim_selectors.map komutuyla rspamd dkim modulü için değişkenlerini tanımlayın. Aşağıdaki içeriği, yine 'alanadiniz ibaresini gerekli şekilde düzenleyerek olduğu gibi kullanabilirsiniz.
{alanadiniz.com} dkim
  • Aşağıdaki komutları sudo ile kullanabilirsiniz.
chown _rspamd:_rspamd /var/lib/rspamd/dkim/alanadiniz.dkim.key
chmod 640 /var/lib/rspamd/dkim/alanadiniz.dkim.key
systemctl restart rspamd

ARC Yapılandırması

ARC, e-postanızın bir sunucudan diğerine yönlendirmesi halinde gerekli olan bir güvenlik anahtarıdır. Doğrulama amacı, e-postanın alıcısına arada bir üçüncü taraf olmadan iletildiğinin teyidi içindir.

Eğer yukarıda paylaşılan DKIM yapılandırmanızın çalıştığını gördüyseniz, aşağıdaki komutla ARC yapılandırmanızı tamamlayabilirsiniz.

sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf

E-posta Test ve Değerlendirme Hizmetleri

E-posta sunucunu ayarlarınızı kontrol etmek ve gönderilerinizin itibarını ölçmek için aşağıdaki web sitelerini kullanabilirsiniz.

https://mxtoolbox.com/

https://www.mail-tester.com/

https://www.dnsbl.info/dnsbl-database-check.php

Yedekleme

Bu kısım ayrıca düzenlenecektir.

  1. DMARC ve SPF ayarları için internette birçok kaynak bulabilirsiniz. https://dmarcian.com/ bilgi alabileceğiniz iyi bir kaynaktır.
  2. https://www.rspamd.com/doc/modules/dkim.html