GNU/Linux >> Znalost Linux >  >> Cent OS

Nainstalujte a nakonfigurujte OpenDKIM na poštovním serveru CentOS 8/RHEL 8

Dříve jsem vám ukázal, jak nastavit SPF a DKIM na poštovním serveru CentOS/RHEL. Dva běžné kusy softwaru, které mohou provádět podepisování a ověřování DKIM v Linuxu, jsou OpenDKIM a Amavis. V tomto tutoriálu jsem použil Amavis, protože v té době OpenDKIM není součástí žádného úložiště CentOS 8/RHEL 8. Od této chvíle je OpenDKIM součástí úložiště EPEL. Někteří lidé dávají přednost použití OpenDKIM, takže vám v tomto tutoriálu ukážu, jak na to.

Co je DKIM?

DKIM (DomainKeys Identified Mail) je typ záznamů TXT v DNS, které mohou pomoci s prevencí e-mailového spoofingu a se zasíláním legitimních e-mailů do doručené pošty příjemce namísto složky se spamem. DKIM používá soukromý klíč k přidání podpisu k e-mailům odeslaným z vaší domény . Přijímající servery SMTP ověřují podpis pomocí odpovídajícího veřejného klíče, který je zveřejněn v záznamech DNS vaší domény.

Deaktivace DKIM v Amavisu

Pokud jste postupovali podle mého předchozího návodu Amavis, ale nyní chcete používat OpenDKIM, musíte v Amavisu zakázat DKIM. Upravte hlavní konfigurační soubor.

sudo nano /etc/amavisd/amavisd.conf

Najděte následující řádky.

$enable_dkim_verification = 1;  # enable DKIM signatures verification
$enable_dkim_signing = 1;       # load DKIM signing code, keys defined by dkim_key

Přidejte # znak na začátku každého řádku, abyste je okomentovali.

#$enable_dkim_verification = 1;  # enable DKIM signatures verification
#$enable_dkim_signing = 1;       # load DKIM signing code, keys defined by dkim_key

Uložte a zavřete soubor. Poté restartujte Amavis.

sudo systemctl restart amavisd

Krok 1:Instalace a konfigurace OpenDKIM na CentOS 8/RHEL8

Nejprve povolte úložiště EPEL (Extra Packages for Enterprise Linux) a nainstalujte OpenDKIM.

sudo dnf install epel-release

sudo dnf install opendkim

Upravte hlavní konfigurační soubor OpenDKIM.

sudo nano /etc/opendkim.conf

Najděte následující řádek.

Mode     v

Ve výchozím nastavení OpenDKIM běží v ověřovacím režimu (v), který ověří podpis DKIM příchozích e-mailových zpráv. Potřebujeme podepisovat odchozí e-maily, takže změňte tento řádek na následující, abyste povolili režim podepisování.

Mode           sv

Pak najděte následující řádky.

## Specifies whether or not the filter should generate report mail back
## to senders when verification fails and an address for such a purpose
## is provided. See opendkim.conf(5) for details.
SendReports yes

## Specifies the sending address to be used on From: headers of outgoing
## failure reports. By default, the e-mail address of the user executing
## the filter is used ([email protected]).
# ReportAddress "Example.com Postmaster" <[email protected]>

Když se ověření podpisu nezdaří a podpis obsahuje požadavek na hlášení (“r=y”) a podepisující doména inzeruje adresu pro hlášení (tj. ra=user) v záznamu hlášení v DNS, OpenDKIM odešle na tuto adresu strukturovaný report. obsahující podrobnosti potřebné k reprodukci problému. K odeslání zprávy můžete chtít použít konkrétní e-mailovou adresu odesílatele. Odkomentujte ReportAddress parametr a změnit e-mailovou adresu. Upozorňujeme, že tím nevznikne problém zpětného rozptylu, protože e-maily s přehledy budou zasílány na e-mailovou adresu uvedenou v záznamu DNS domény odesílatele.

Najděte následující řádek a zakomentujte jej, protože pro každý název domény použijeme samostatné klíče.

KeyFile   /etc/opendkim/keys/default.private

Dále najděte následující 4 řádky a odkomentujte je.

# KeyTable            /etc/opendkim/KeyTable

# SigningTable        refile:/etc/opendkim/SigningTable

# ExternalIgnoreList  refile:/etc/opendkim/TrustedHosts

# InternalHosts       refile:/etc/opendkim/TrustedHosts

Uložte a zavřete soubor.

Krok 2:Vytvořte tabulku podpisů, tabulku klíčů a soubor důvěryhodných hostitelů

Upravte tabulku podpisů soubor.

sudo nano /etc/opendkim/SigningTable

Přidejte následující řádek na konec tohoto souboru. Toto sděluje OpenDKIM, že pokud odesílatel na vašem serveru používá @your-domain.com adresu, pak by měla být podepsána soukromým klíčem identifikovaným 20200308._domainkey.your-domain.com .

*@your-domain.com    20200308._domainkey.your-domain.com

20200308 je selektor DKIM. Název domény může mít více klíčů DKIM. Volič DKIM vám umožňuje vybrat konkrétní klíč DKIM. Pro selektor DKIM můžete použít jakýkoli název, ale zjistil jsem, že je vhodné použít jako selektor DKIM aktuální datum (8. března 2020). Uložte a zavřete soubor. Poté upravte tabulku klíčů soubor.

sudo nano /etc/opendkim/KeyTable

Přidejte následující řádek, který určuje umístění soukromého klíče DKIM.

20200308._domainkey.your-domain.com     your-domain.com:20200308:/etc/opendkim/keys/your-domain.com/20200308.private

Uložte a zavřete soubor. Dále upravte soubor důvěryhodných hostitelů.

sudo nano /etc/opendkim/TrustedHosts

127.0.0.0.1 a ::1 jsou v tomto souboru standardně zahrnuty. Nyní přidejte následující řádek. To říká OpenDKIM, že pokud e-mail přichází z vašeho vlastního názvu domény, pak by OpenDKIM neměl provádět ověření DKIM na e-mailu.

*.your-domain.com

Uložte a zavřete soubor.

Krok 3:Vygenerujte soukromý/veřejný klíč

Protože DKIM se používá k podepisování odchozích zpráv a ověřování příchozích zpráv, musíme vygenerovat soukromý klíč pro podepisování a veřejný klíč pro vzdálený ověřovatel. Veřejný klíč bude zveřejněn v DNS.

Vytvořte samostatnou složku pro doménu.

sudo mkdir /etc/opendkim/keys/your-domain.com

Vygenerujte klíče pomocí opendkim-genkey nástroj.

sudo opendkim-genkey -b 2048 -d your-domain.com -D /etc/opendkim/keys/your-domain.com -s 20200308 -v

Výše uvedený příkaz vytvoří 2048bitové klíče. -d (domain) určuje doménu. -D (directory) určuje adresář, kde budou klíče uloženy. Používám 20200308 jako selektor DKIM. Po provedení příkazu bude soukromý klíč zapsán do 20200308.private a veřejný klíč bude zapsán do 20200308.txt soubor.

Ve výchozím nastavení může soubory klíčů číst a zapisovat pouze root. Vytvořte opendkim jako vlastníka soukromého klíče.

sudo chown opendkim:opendkim /etc/opendkim/keys/ -R

Krok 4:Zveřejněte svůj veřejný klíč v záznamech DNS

Zobrazit veřejný klíč

sudo cat /etc/opendkim/keys/your-domain.com/20200308.txt

Řetězec za p parametr je veřejný klíč.

Ve správci DNS vytvořte záznam TXT, zadejte 20200308._domainkey v poli jméno. (Musíte nahradit 20200308 vlastním selektorem DKIM.) Poté se vraťte do okna terminálu, zkopírujte vše v závorkách a vložte do pole hodnoty DNS záznamu. Musíte odstranit všechny dvojité uvozovky a konce řádků v poli hodnoty. Pokud je neodstraníte, pak klíčový test v dalším kroku pravděpodobně selže.

Krok 5:Otestujte klíč DKIM

Zadejte na svém serveru CentOS 8/RHEL 8 následující příkaz a otestujte svůj klíč.

sudo opendkim-testkey -d your-domain.com -s 20200308 -vvv

Pokud je vše v pořádku, zobrazí se key OK zprávu.

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20200308._domainkey.linuxbabe.com'
opendkim-testkey: key OK

Všimněte si, že váš záznam DKIM může nějakou dobu potřebovat, aby se rozšířil na internet. V závislosti na používaném registrátorovi domény může být váš záznam DNS šířen okamžitě nebo může jeho šíření trvat až 24 hodin. Můžete přejít na https://www.dmarcanalyzer.com/dkim/dkim-check/, zadat 20200308 jako selektor a zadejte název své domény pro kontrolu šíření záznamu DKIM.

Pokud uvidíte „Klíč není zabezpečený“, nepropadejte panice. Důvodem je, že u názvu vaší domény není povolen DNSSEC. DNSSEC je bezpečnostní standard pro bezpečný DNS dotaz. Většina doménových jmen neaktivovala DNSSEC. Můžete pokračovat podle tohoto průvodce.

Nyní můžeme spustit službu opendkim.

sudo systemctl start opendkim

A povolit automatické spouštění při spouštění.

sudo systemctl enable opendkim

OpenDKIM naslouchá na 127.0.0.1:8891 .

Krok 6:Připojte Postfix k OpenDKIM

Upravte hlavní konfigurační soubor Postfixu.

sudo nano /etc/postfix/main.cf

Přidejte následující řádky na konec tohoto souboru, takže Postfix bude moci volat OpenDKIM přes protokol milter. Pamatujte, že byste měli použít 127.0.0.1 jako adresa. Nepoužívejte localhost .

# Milter configuration
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters

Uložte a zavřete soubor. Poté přidejte postfix uživateli opendkim skupina.

sudo gpasswd -a postfix opendkim

Restartujte postfix služba.

sudo systemctl restart postfix

Krok 7:Kontrola SPF a DKIM

Nyní můžete použít svého desktopového e-mailového klienta nebo webového poštovního klienta k odeslání zkušebního e-mailu na [email protected] a získejte bezplatnou zprávu o ověření e-mailu. Zde je zpráva, kterou jsem dostal z port25.com.

Můžete také odeslat zkušební e-mail ze svého poštovního serveru na svůj účet Gmail a zjistit, zda prošly kontroly SPF a DKIM. Pokud na pravé straně otevřené e-mailové zprávy v Gmailu kliknete na show original z rozevírací nabídky můžete vidět výsledky ověření.

Pokud vaše zpráva není podepsána a kontrola DKIM se nezdařila, možná budete chtít zkontrolovat protokol postfixu (/var/log/maillog ), abyste viděli, co je ve vaší konfiguraci špatně.

Váš e-mailový server také provede ověření DKIM u příchozích e-mailů. Výsledky můžete vidět v záhlaví e-mailů. Následuje kontrola SPF a DKIM u odesílatele pomocí Gmailu.

Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::c2d; helo=mail-yw1-xc2d.google.com; [email protected]; receiver=<UNKNOWN> 
Authentication-Results: email.linuxbabe.com;
	dkim=pass (2048-bit key; unprotected) header.d=gmail.com [email protected] header.b="XWMRd2co";
	dkim-atps=neutral

Jak nakonfigurovat OpenDKIM pro více domén

Napsal jsem průvodce hostováním více domén na poštovním serveru CentOS 8/RHEL 8 s PostfixAdminem. V tom článku jsem použil Amavis pro podepisování a ověřování DKIM. Pokud používáte OpenDKIM, musíte přeskočit krok 3 v tomto článku.

Chcete-li nakonfigurovat OpenDKIM pro více domén, musíte přidat další domény do tabulky podpisů, tabulky klíčů a souboru důvěryhodných hostitelů, jak je uvedeno níže.

Podpisová tabulka:

*@domain1.com       20200308._domainkey.domain1.com
*@domain2.com       20200308._domainkey.domain2.com

Klíčová tabulka:

20200308._domainkey.domain1.com     domain1.com:20200308:/etc/opendkim/keys/domain1.com/20200308.private
20200308._domainkey.domain2.com     domain2.com:20200308:/etc/opendkim/keys/domain2.com/20200308.private

Důvěryhodní hostitelé:

127.0.0.1
localhost

*.domain1.com
*.domain2.com

Poté vygenerujte pár klíčů DKIM Private/Public a přidejte veřejný klíč DKIM do DNS, jak je uvedeno v kroku 3, kroku 4 a kroku 5 pro ostatní domény. Restartujte OpenDKIM a máte hotovo.

sudo systemctl restart opendkim

Další krok

Doufám, že vám tento tutoriál pomohl nainstalovat a nakonfigurovat OpenDKIM na poštovním serveru CentOS 8/RHEL 8. Nyní si možná budete chtít přečíst následující návod, jak nastavit OpenDMARC pro blokování e-mailového spoofingu.

  • Nastavte OpenDMARC s Postfixem na CentOS/RHEL pro blokování e-mailového spoofingu

Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje a získejte další tipy a triky. Opatruj se 🙂


Cent OS
  1. Instalace a konfigurace FTP serveru na CentOS 7 / RHEL 7 – (vsftpfd)

  2. CentOS / RHEL 7:Jak nainstalovat a nakonfigurovat ftp server (vsftpd)

  3. CentOS / RHEL 5 :Jak nainstalovat a nakonfigurovat server vsftpd

  1. Jak nainstalovat poštovní server Postfix na RHEL 8 / CentOS 8

  2. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  1. Jak nainstalovat a nakonfigurovat VNC na CentOS 7

  2. Jak nainstalovat a nakonfigurovat server NFS na CentOS 8

  3. Jak nainstalovat a nakonfigurovat VNC na CentOS 8