E-posta
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 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 iletilmediğ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://www.dnsbl.info/dnsbl-database-check.php
Yedekleme
Bu kısım ayrıca düzenlenecektir.
- ↑ DMARC ve SPF ayarları için internette birçok kaynak bulabilirsiniz. https://dmarcian.com/ bilgi alabileceğiniz iyi bir kaynaktır.
- ↑ https://www.rspamd.com/doc/modules/dkim.html