E-posta

h/m wiki sitesinden
20.16, 24 Nisan 2023 tarihinde Admin (mesaj | katkılar) tarafından oluşturulmuş 132 numaralı sürüm (→‎DKIM Ayarları)

Hazırlıklar

Evinizdeki sunucuda sağlıklı şekilde e-posta hizmeti çalıştırmak için aşağıdaki önerileri dikkate alabilirsiniz. Bu öneriler zaruri değildir ve etraflarından dolaşılabilecek çözümler bulunabilir ancak daha teknik ve zorlu olacaklarından burada işlenmemiştir.

Belirtilen hazırlıklar Türk Telekom (TT) aboneleri için geçerlidir.

  • Statik IP sahibi olmanız gerekir.
  • 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 ve reverse-DNS talebinde bulunun. İletilecek e-postaya örnek teşkil etmesi için aşağıdaki metin sağlanmıştır.

Örnek Metin

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 8.8.8.8 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 önlemlerini almanız önerilir.

E-postalarınızı "Evolution" benzeri bir masaüstü istemci ile yönetebileceğiniz gibi, arzu ederseniz Roundcube ile 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 ve DKIM gelir. Aşağıda yer alan yapılandırmaları değerlendirebilirsiniz.

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 tutmanız önerilir.

DNS Sunucu Ayarları

  • 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 girin.

DKIM Ayarları

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

Rspamd Modül Dosyası

# 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";

  }

}

Kaydedip çıkmak için Ctrl + X > y kullanabilirsiniz.

2. 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

Kaydedip çıkmak için Ctrl + X > y kullanabilirsiniz.

3.


ARC Yapılandırması

Yedekleme