Přeskočit na obsah Přeskočit na hlavní navigaci Přeskočit na zápatí (patičku)

Zlepšení doručitelnosti e-mailů

Pokud chcete zlepšit doručitelnost e-mailů ze systému ISPadmin (serveru), je potřeba provést některá nastavení hlavně v nastavení DNS pro doménové jméno serveru se systémem ISPadmin (nebo jiného pokud je pro odesílání nastaven parametrem Postfixu – relayhost).

Níže je uveden příklad chybové hlášky vrácené ze služby Gmail po odeslaném e-mailu:

this message is 550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to Gmail, 550-5.7.1 this message has been blocked.

Kroky vedoucí k předejití blokování doručení odeslaných e-mailů (přesunu do spamu) ve službě Gmail jsou k dispozici ZDE a obecně jsou čtyři:

  • nastavit SPF (Sender Policy Framework) pomocí TXT záznamu v nastavení DNS doménového jména
  • nastavit PTR (Pointer – reverzní záznam) na DNS doménového jména a hostname v konfiguraci postfixu
  • nastavit, vygenerovat a přidat DKIM (DomainKeys Identified Mail) do TXT záznamu na DNS doménového jména
  • nastavit DMARC (Domain-based Message Authentication, Reporting, and Conformance) pomocí TXT záznamu v nastavení DNS doménového jména (před nastavením DMARC je potřeba nastavit SPF a DKIM)

SPF (Sender Policy Framework)

SPF je technologie, která se nastavuje pomocí TXT záznamu na DNS domény. V tomto záznamu je potřeba uvést servery, ze kterých bude povoleno odesílat pro danou doménu vaši poštu.

Všechny e-maily, které budou odeslány z jiného serveru, než který je pomocí SPF povolen, mohou být považovány za SPAM, nebo odmítnuty doručit (záleží na nastavení serveru příjemce).

Důvodem nasazení této technologie je možnost lépe rozpoznat, zda-li je zpráva skutečně odesílána Vámi (jako vlastníkem) nebo nějakým podvodníkem.

Příklad formátu SPF TXT záznamu:

v=spf1 a mx include:ispadmin.priklad.com ip4:1.2.3.4 ip6:2a2a:2b2b:1:2::3 -all

Pokud se e-maily ze systému ISPadmin posílají přes jiný poštovní server (relayhost), musí být v tomto záznamu na DNS adresa tohoto serveru.

V konfiguraci mailového agenta Postfix se jedná o parametr relayhost, kterým se nastavuje jiný server pro odesílání e-mailových zpráv ze systému.

PTR (reverzní) záznam

Reverzní záznam (PTR) je opakem A záznamu, který poskytuje IP adresu přidruženou doménovému jménu. Jedná se o další bezpečnostní nástroj.

Pokud poštovní server příjemce obdrží e-mail, použije záznam PTR, který je součástí zprávy, aby zkontroloval, zda server, který e-mail odeslal odpovídá IP adrese, kterou údajně používá. Tento proces je znám také jako reverzní vyhledávání DNS (reverse DNS lookup).

Pokud se e-maily posílají přímo ze serveru se systémem ISPadmin, musí být v PTR záznamu doménové jméno tohoto serveru (např. ispadmin.priklad.com).

Stejné jméno musí být uvedeno i v konfiguraci mailového agenta Postfix v /etc/postfix/main.cf v parametru myhostname (např. myhostname=ispadmin.priklad.com).

DKIM (DomainKeys Identified Mail)

DKIM je systém, který umožňuje vašim oficiálním poštovním serverům, přidávat digitální podpis (DKIM-Signature) do hlaviček odchozích e-mailů.

Odeslaná zpráva je serverem podepsána privátním klíčem domény odesílatele a tento podpis je uložen v hlavičce emailu. Server příjemce porovná tento podpis s veřejným klíčem uloženým v DNS záznamech domény. Tím, že podpis odpovídá, je prokázáno, že e-mail skutečně pochází z domény odesílatele a že během přenosu zprávy nedošlo k její úpravě.

DKIM pomáhá zabránit tomu, aby byla Vaše pošta označena jako SPAM a zvyšuje tedy na důvěryhodnosti odesílaných, respektive následně přijímaných, e-mailových zpráv.

Příklad návodu, podle kterého můžete tento klíč vygenerovat:
https://www.linode.com/docs/guides/configure-spf-and-dkim-in-postfix-on-debian-9/

Příklad formátu DKIM záznamu:

v=DKIM1;t=s;k=rsa;p=retezec

Návod

Nainstalovat nástroj opendkim:

apt-get install opendkim opendkim-tools

Otevřít editaci konfigurace opendkim:

nano /etc/opendkim.conf

Upravit v tomto souboru konfiguraci:

AutoRestart             Yes
AutoRestartRate         10/1h
Syslog                  yes
SyslogSuccess           Yes
LogWhy                  Yes
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
SignatureAlgorithm      rsa-sha256
UserID                  opendkim:opendkim
UMask                   0002
Socket                  local:/var/spool/postfix/opendkim/opendkim.sock

Upravit konfiguraci postfixu:

nano /etc/postfix/main.cf

Upravit v tomto souboru konfiguraci:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/opendkim/opendkim.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock

Vytvoření složky pro sockety s odpovídajícími právy (nastavená podpora doménových socketů v konfiguraci výše – opendkim.conf):

mkdir -p /var/spool/postfix/opendkim
chown opendkim:opendkim /var/spool/postfix/opendkim/
usermod -a -G opendkim postfix

Vytvoření složek pro klíče:

sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys

Definování důvěryhodných hostitelů:

nano /etc/opendkim/TrustedHosts
127.0.0.1
localhost
192.168.0.1/24
*.example.com
#*.example.net
#*.example.org

Vytvoření souboru s tabulkou klíčů (obsahuje pár selektor/doména a cesta k privátnímu klíči):

nano /etc/opendkim/KeyTable
mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private

Vytvoření souboru s tabulkou podpisů (obsahuje deklaraci domén/e-mailových adres a jejich selektorů):

nano /etc/opendkim/SigningTable
*@example.com mail._domainkey.example.com

Změna pracovní složky pro klíče:

cd /etc/opendkim/keys

Vytvoření oddělené složky pro doménu a změna pracovní složky na tuto:

sudo mkdir example.com
cd example.com

Vygenerování klíčů (-s=selektor, -d=doména):
Tento příkaz vytvoří dva klíče (privátní=mail.private, veřejný=mail.txt)

sudo opendkim-genkey -s mail -d example.com

Změna vlastníka privátního klíče na – opendkim:

sudo chown opendkim:opendkim mail.private

Otevřít veřejný klíč – mail.txt:

sudo nano -$ mail.txt

Přidat veřejný klíč z tohoto souboru do TXT záznamu domény na DNS (klíč je za parametrem -p)

mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGS...

Restartovat služby postfix a opendkim:

service postfix restart
service opendkim restart

Nyní je vše nastaveno.

Ověřit správnost konfigurace můžete odesláním prázdného e-mailu na adresu:

check-auth@verifier.port25.com

Pokud vše běží správně uvidíte v odpovědi na tento e-mail v sekci Summary of Results v položce DKIM check hodnotu pass.

Příklad odpovědi:

==========================================================
Summary of Results
==========================================================
SPF check:          pass
"iprev" check:      pass
DKIM check:         pass
DKIM check:         pass

Pokud byste DKIM klíče (privátní a veřejný) nezvládli vygenerovat svépomocí, tak je může vygenerovat náš technik v rámci placeného servisního zásahu. Následně si jen přidáte veřejný klíč do TXT záznamu v DNS vaší domény.

Kontaktovat nás můžete na: support@ispadmin.eu

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

Mechanismus DMARC slouží k ověřování e-mailových zpráv, k čemuž využívá kombinaci již zavedených a existujicích protokolů SPF a DKIM, ale je dále rozšířen o propojení na majitele („From:“) doménového jména. O problémech zneužití doménového jména může být vlastník informován prostřednictvím zasílaných reportů (dle nastaveného módu).

Aktivaci DMARCu provedete přidáním TXT záznamu na DNS doménového jména.

Příklad:

v=DMARC1; p=none; rua=mailto:reports@example.com

DŮLEŽITÉ
Před konfigurací DMARC, je potřeba mít nakonfigurovaný DKIM a SPF. Tyto systémy zabezpečení by měly ověřovat e-maily alespoň 48 hodin před zapnutím mechanismu DMARC.