W tym przewodniku przedstawiono proces konfiguracji protokołów SPF, DKIM i DMARC – trzech kluczowych elementów poprawiających wydajność wysyłania wiadomości e-mail.
Prawidłowa konfiguracja SPF, DKIM i DMARC zwiększy zaufanie serwerów pocztowych i zminimalizuje ryzyko, że Twoje wiadomości trafią do spamu.
- SPF (Sender Policy Framework) to środek bezpieczeństwa zaprojektowany w celu uniemożliwienia innym wysyłania wiadomości e-mail w Twoim imieniu. Określa, które adresy IP mogą wysyłać wiadomości e-mail, a które nie.
- DKIM (DomainKeys Identified Mail) to metoda uwierzytelniania wiadomości. Gdy wysyłana jest każda wiadomość e-mail, jest ona podpisywana kluczem prywatnym, a następnie weryfikowana na serwerze poczty odbiorczej (lub u dostawcy usług internetowych) za pomocą klucza publicznego DNS.
- Protokół DMARC (Domain-based Message Authentication, Reporting & Conformance) wykorzystuje SPF i DKIM do uwierzytelniania poczty, co ogranicza liczbę ataków spamowych i phishingowych.
Konfiguracja SPF (Sender Policy Framework)
1.1. Aby skonfigurować SPF, należy dodać rekord TXT do ustawień DNS swojej domeny.
1.2. Oto składnia rekordu SPF:
- v=spf1: określa wersję SPF używaną przez Ciebie. Obecnie używany jest tylko SPF1.
- ip4:[Adres IP_serwera_pocztowego]: Oznacza, że adres IP Twojego serwera pocztowego ma zezwolenie na wysyłanie wiadomości e-mail w imieniu Twojej domeny.
- a: Określa, że jeśli domena ma rekord A (adres IPv4) w DNS, serwer określony w tym rekordzie może wysyłać wiadomości e-mail w imieniu domeny.
- mx: Oznacza, że jeśli domena ma rekord MX (mail exchange) w DNS, serwer określony w tym rekordzie może wysyłać wiadomości e-mail w imieniu domeny.
- ~all: Oznacza, że tylko serwery w rekordzie SPF mogą wysyłać wiadomości e-mail w imieniu domeny. Jeśli wiadomość e-mail pochodzi z innego serwera, zostanie oznaczona jako „miękkie dopasowanie” (~), co oznacza, że może zostać zaakceptowana, ale oznaczona jako możliwy spam.
Razem elementy te tworzą SPF, który wygląda następująco:
Nazwa: [Twoja_Domena]
v=spf1 ip4:[Your_Mail_Server_IP] a mx ~all
Zastąp [Your_Mail_Server_IP] adresem IP swojego serwera pocztowego.
Konfiguracja DKIM (DomainKeys Identified Mail)
2.1. Najpierw zainstaluj opendkim i opendkim-tools. Proces instalacji zależy od systemu operacyjnego:
Dla CentOS:
yum install opendkim -y
Dla Debiana/Ubuntu:
apt install opendkim opendkim-tools -y
2.2. Następnie uruchom usługę OpenDKIM i włącz jej uruchamianie podczas rozruchu:
systemctl start opendkim
systemctl enable opendkim
2.3. Utwórz katalog do przechowywania kluczy:
mkdir -p /etc/opendkim/keys/yourdomain.com
2.4. Generowanie kluczy za pomocą narzędzia opendkim-genkey:
opendkim-genkey --directory /etc/opendkim/keys/yourdomain.com/ --domain yourdomain.com --selector dkim
Nie zapomnij zastąpić „twojadomena.com” swoją prawdziwą nazwą domeny.
2.5. Ustaw odpowiednie uprawnienia dla kluczy:
chown -R opendkim:opendkim /etc/opendkim/keys/yourdomain.com
2.6. Teraz musimy skonfigurować opendkim. Otwórz plik /etc/opendkim.conf i dodaj następujące ustawienia:
AutoRestart Yes
AutoRestartRate 10/1h
Umask 002
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
Socket inet:8891@localhost
2.7. Dodaj swoją domenę do pliku /etc/opendkim/TrustedHosts
127.0.0.1
localhost
*.yourdomain.com
2.8. Edytuj plik /etc/opendkim/KeyTable tak, aby wyglądał następująco:
dkim._domainkey.yourdomain.com yourdomain.com:dkim:/etc/opendkim/keys/yourdomain.com/dkim.private
2.9. Zmień plik /etc/opendkim/SigningTable. Aby wyglądał tak
*@yourdomain.com dkim._domainkey.yourdomain.com
2.10. Jeśli używasz Debiana/Ubuntu, podaj port opendkim:
echo 'SOCKET="inet:8891@localhost"' >> /etc/default/opendkim
2.11. Aby zmiany zostały zastosowane, uruchom ponownie usługę OpenDKIM:
systemctl restart opendkim
2.12. Na koniec dodaj klucz publiczny do konfiguracji DNS swojej domeny. Klucze znajdują się w /etc/opendkim/keys/yourdomain.com/dkim.txt.
Konfiguracja protokołu DMARC (Domain-based Message Authentication, Reporting & Conformance)
3.1. Aby skonfigurować DMARC, dodaj rekord TXT do ustawień swojej domeny:
Name: _dmarc.[Your_Domain].
Значение: v=DMARC1; p=none; aspf=r; sp=none
Zastąp [Twoja_Domena] nazwą swojej domeny.
Konfiguracja PTR (Pointer Record)
4.1. Rekord PTR, znany również jako odwrotny rekord DNS, służy do przekształcania adresu IP w nazwę domeny. Jest to ważne dla serwerów pocztowych, ponieważ niektóre serwery mogą odrzucać wiadomości bez rekordu PTR.
4.2. Rekord PTR jest zazwyczaj konfigurowany w ustawieniach dostawcy usług internetowych lub dostawcy hostingu. Jeśli masz dostęp do tych ustawień, możesz skonfigurować rekord PTR, określając adres IP swojego serwera i odpowiadającą mu nazwę domeny.
4.3. Jeśli nie masz dostępu do ustawień rekordu PTR, skontaktuj się ze swoim dostawcą usług internetowych lub usługodawcą hostingu i poproś o konfigurację rekordu PTR.
4.4. Po zainstalowaniu PTR możesz sprawdzić go za pomocą polecenia dig w systemie Linux:
dig -x your_server_IP
Zastąp 'your_server_IP' adresem IP swojego serwera. Odpowiedź powinna zawierać nazwę Twojej domeny.
Po wykonaniu wszystkich kroków konfiguracji SPF, DKIM i DMARC serwer pocztowy będzie znacznie mniej skłonny oznaczać Twoje wiadomości jako spam – będziesz mieć pewność, że Twoje wiadomości dotrą do adresatów.