E-posta: Revizyonlar arasındaki fark
k (→Güvenlik) |
|||
(Aynı kullanıcının aradaki diğer 34 değişikliği gösterilmiyor) | |||
1. satır: | 1. satır: | ||
[[Dosya:Postfix dovecot.png|küçükresim|Plinth Postfix / Dovecot (E-Posta) Web Arayüzü]] |
|||
==Hazırlıklar== |
|||
=='''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. |
|||
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 geçerlidir.'' |
|||
''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 sahibi olmanız gerekir. |
|||
* Statik IP edinin. |
|||
* Servis sağlayıcınız ile iletişime geçerek tarafınıza tahsis edilen IP üzerinden <code>port 25</code> açılmasını talep edin. |
* Servis sağlayıcınız ile iletişime geçerek tarafınıza tahsis edilen IP üzerinden <code>port 25</code> açılmasını talep edin. |
||
* TT'un <code>reverse-dns@turktelekom.com.tr</code> e-posta adresine, aboneliğinizin kayıtlı olduğu e-posta adresi üzerinden PTR |
* TT'un <code>reverse-dns@turktelekom.com.tr</code> 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. |
||
<div class="mw-collapsible mw-collapsed"> |
<div class="mw-collapsible mw-collapsed"> |
||
'''Örnek Metin''' |
'''Örnek Metin (Genişletin)''' |
||
<div class="mw-collapsible-content"><pre>Sayın Yetkili, |
<div class="mw-collapsible-content"><pre>Sayın Yetkili, |
||
19. satır: | 21. satır: | ||
İlginize şimdiden teşekkür eder, iyi çalışmalar dilerim.</pre> |
İlginize şimdiden teşekkür eder, iyi çalışmalar dilerim.</pre> |
||
</div></div> |
</div></div> |
||
İşlemin gerçekleşip gerçekleşmesiğini <code>nslookup -q=PTR ip_adresiniz |
İşlemin gerçekleşip gerçekleşmesiğini <code>nslookup -q=PTR ip_adresiniz</code> 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 |
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 istemci ile yönetebileceğiniz gibi, arzu ederseniz [[Roundcube]] |
''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== |
=='''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 |
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ı=== |
|||
===DNS Sunucu Ayarları<ref>DMARC ve SPF ayarları için internette birçok kaynak bulabilirsiniz. https://dmarcian.com/ bilgi alabileceğiniz iyi bir kaynaktır.</ref>=== |
|||
* DNS sunucunuzda DMARC yapılandırmanız için |
* DNS sunucunuzda DMARC yapılandırmanız için |
||
<pre> |
<pre> |
||
38. satır: | 41. satır: | ||
v=spf1 mx a ip4:statik_IP_adresiniz -all |
v=spf1 mx a ip4:statik_IP_adresiniz -all |
||
</pre> |
</pre> |
||
''Sunucunuzda kayıtlı ve e-posta hizmetinden yararlanmayacağınız başka alan adları varsa, onlar için de <code>v=spf1 -all</code> değerini |
''Sunucunuzda kayıtlı ve e-posta hizmetinden yararlanmayacağınız başka alan adları varsa, onlar için de <code>v=spf1 -all</code> değerini girebilirsiniz.'' |
||
===DKIM Ayarları === |
===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 <code>public.key</code>'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ığı <code>private.key</code> ile imzalar. |
|||
*Sunucuda <code>nano /etc/rspamd/local.d/dkim_signing.conf</code> komuyla '''rspamd dkim modul<ref>https://www.rspamd.com/doc/modules/dkim.html</ref>''' dosyanızı oluşturun. Aşağıda örnek verilen içeriği, '''alanadiniz''' (uzantısıyla beraber) ile belirtilen yerleri düzenleyerek kullanabilirsiniz. |
|||
<div class="mw-collapsible mw-collapsed"> |
|||
'''Rspamd Modül Örneği (Genişletin)''' |
|||
<div class="mw-collapsible-content"><pre> |
|||
# 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"; |
|||
} |
|||
} |
|||
</pre> |
|||
</div></div> |
|||
* <code>nano /etc/rspamd/local.d/dkim_selectors.map</code> 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. |
|||
<pre> |
|||
{alanadiniz.com} dkim |
|||
</pre> |
|||
* Aşağıdaki komutları <code>sudo</code> ile kullanabilirsiniz. |
|||
<pre> |
|||
chown _rspamd:_rspamd /var/lib/rspamd/dkim/alanadiniz.dkim.key |
|||
chmod 640 /var/lib/rspamd/dkim/alanadiniz.dkim.key |
|||
systemctl restart rspamd |
|||
</pre> |
|||
===ARC Yapılandırması=== |
===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. |
|||
<pre> |
|||
sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf |
|||
</pre> |
|||
=='''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. |
|||
==Yedekleme== |
|||
[[Category: Freedombox Uygulamaları]] |
[[Category: Freedombox Uygulamaları]] |
||
__İÇİNDEKİLERZORUNLU__ |
__İÇİNDEKİLERZORUNLU__ |
||
<references /> |
08.06, 30 Nisan 2023 itibarı ile sayfanın şu anki hâli
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://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