From d010a8305490c78bb2609fdead19a0010160a351 Mon Sep 17 00:00:00 2001 From: Andy Stevens Date: Fri, 14 Dec 2018 08:11:33 -0500 Subject: [PATCH 1/4] [Update] Configuring SPF and DKIM in Postfix on Debian 9 This update creates a new version of our old Debian 8 guide with one major fix. In `opendkim.conf` we added a setting for the socket file and another for the Pid file. This allowed the opendkim daemon to run, as it would not start otherwise. For anyone who runs this guide, it is not uncommon for the report from port25 (that you receive via e-mail) to say that SPF is failing one minute, and passing another. It is believed that this is because the DNS servers have not all updated. It could take up to a day for the DNS servers to come to a consensus. --- .../configure-spf-and-dkim-in-postfix-on-debian-8/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md index 397ef61fb73..89d88d57e87 100644 --- a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md +++ b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md @@ -22,6 +22,10 @@ external_resources: - '[DMARC Record Assistant](http://kitterman.com/dmarc/assistant.html) provides a web form to generate a DMARC record for you based on your selections.' --- +{{< note >}} +We have created a [new version of this guide](/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9) to run on Debian 9. +{{< /note >}} + ![SPF and DKIM with Postfix](Configure_SPF_and_DKIM_with_Postfix_on_Debian_8_smg.jpg) [SPF (Sender Policy Framework)](http://www.openspf.org/) is a system that identifies to mail servers what hosts are allowed to send email for a given domain. Setting up SPF helps to prevent your email from being classified as spam. From ba42d3dab3a43b0fb09b71fa4bcbfe7304f9e445 Mon Sep 17 00:00:00 2001 From: Andy Stevens Date: Fri, 14 Dec 2018 08:12:16 -0500 Subject: [PATCH 2/4] Added new guide and new screenshots --- .../adsp-record.png | Bin 0 -> 38935 bytes .../dkim-record.png | Bin 0 -> 49032 bytes .../dmarc-record.png | Bin 0 -> 46724 bytes .../index.md | 463 ++++++++++++++++++ .../spf-record.png | Bin 0 -> 33792 bytes 5 files changed, 463 insertions(+) create mode 100644 docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/adsp-record.png create mode 100644 docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dkim-record.png create mode 100644 docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dmarc-record.png create mode 100644 docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md create mode 100644 docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/spf-record.png diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/adsp-record.png b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/adsp-record.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c95eb35ec5d1fe18377db2cef8aeee7bde002c GIT binary patch literal 38935 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 C!lAnW literal 0 HcmV?d00001 diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dkim-record.png b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dkim-record.png new file mode 100644 index 0000000000000000000000000000000000000000..07a7de364ecca44f029883fc2e8a1ad200ac90f3 GIT binary patch literal 49032 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�{}3%Dc&+W2_i;<%pWmhBU&u*(CE>uH1} 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 U^@O}|@LK}rCYLW!jIZ7QU$S*wEC2ui literal 0 HcmV?d00001 diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dmarc-record.png b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/dmarc-record.png new file mode 100644 index 0000000000000000000000000000000000000000..75a07de39908d203af1b4800c60fdc366c50781e GIT binary patch literal 46724 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 literal 0 HcmV?d00001 diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md new file mode 100644 index 00000000000..dc2cf835e86 --- /dev/null +++ b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md @@ -0,0 +1,463 @@ +--- +author: + name: Linode Community + email: contribute@linode.com +description: 'Configure SPF and DKIM in Postfix on Debian 9.' +keywords: ["email", "postfix", "spf", "dkim", "debian 9", "opendkim", "dns", "dmarc"] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +modified: 2018-12-13 +modified_by: + name: Linode +published: 2018-12-13 +title: 'Configure SPF and DKIM With Postfix on Debian 9' +contributor: + name: Linode +external_resources: + - '[Sender Policy Framework](http://www.openspf.org/)' + - '[DomainKeys Identified Mail](http://www.dkim.org/)' + - '[DMARC](http://dmarc.org/)' + - '[OpenDKIM](http://www.opendkim.org/)' + - 'The [Sender Policy Framework](https://en.wikipedia.org/wiki/Sender_Policy_Framework) and [DomainKeys Identified Mail](https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail) Wikipedia pages should not be considered authoritative but do provide helpful discussion and additional references.' + - '[DMARC Record Assistant](http://kitterman.com/dmarc/assistant.html) provides a web form to generate a DMARC record for you based on your selections.' +--- + +This guide will instruct you on how to set up SPF and DKIM with Postfix. + +[SPF (Sender Policy Framework)](http://www.openspf.org/) is a system that identifies to mail servers what hosts are allowed to send email for a given domain. Setting up SPF helps to prevent your email from being classified as spam. + +[DKIM (DomainKeys Identified Mail)](http://www.dkim.org/) is a system that lets your official mail servers add a signature to headers of outgoing email and identifies your domain's public key so other mail servers can verify the signature. As with SPF, DKIM helps keep your mail from being considered spam. It also lets mail servers detect when your mail has been tampered with in transit. + +[DMARC (Domain Message Authentication, Reporting & Conformance)](http://dmarc.org/) allows you to advertise to mail servers what your domain's policies are regarding mail that fails SPF and/or DKIM validations. It additionally allows you to request reports on failed messages from receiving mail servers. + +The DNS instructions for setting up SPF, DKIM and DMARC are generic. The instructions for configuring the SPF policy agent and OpenDKIM into Postfix should work on any distribution after making respective code adjustments for the package tool, and identifying the exact path to the Unix socket file. + +{{< note >}} +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/docs/tools-reference/linux-users-and-groups) guide. +{{< /note >}} + +{{< caution >}} +You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/docs/email/postfix/) for assistance. + +Publishing an SPF DNS record without having the SPF policy agent configured within Postfix is safe; however, publishing DKIM DNS records without having OpenDKIM working correctly within Postfix can result in your email being discarded by the recipient's email server. +{{< /caution >}} + +## Install DKIM, SPF and Postfix + +1. Install the four required packages: + + apt-get install opendkim opendkim-tools postfix-policyd-spf-python postfix-pcre + +2. Add user `postfix` to the `opendkim` group so that Postfix can access OpenDKIM's socket when it needs to: + + adduser postfix opendkim + +## Set up SPF + +### Add SPF records to DNS + +The value in an SPF DNS record will look something like the following examples. The full syntax is at [the SPF record syntax page](http://www.openspf.org/SPF_Record_Syntax). + +**Example 1** Allow mail from all hosts listed in the MX records for the domain: + + v=spf1 mx -all + +**Example 2** Allow mail from a specific host: + + v=spf1 a:mail.example.com -all + +- The `v=spf1` tag is required and has to be the first tag. + +- The last tag, `-all`, indicates that mail from your domain should only come from servers identified in the SPF string. Anything coming from any other source is forging your domain. An alternative is `~all`, indicating the same thing but also indicating that mail servers should accept the message and flag it as forged instead of rejecting it outright. `-all` makes it harder for spammers to forge your domain successfully; it is the recommended setting. `~all` reduces the chances of email getting lost because an incorrect mail server was used to send mail. `~all` can be used if you don't want to take chances. + +The tags between identify eligible servers from which email to your domain can originate. + +- `mx` is a shorthand for all the hosts listed in MX records for your domain. If you've got a solitary mail server, `mx` is probably the best option. If you've got a backup mail server (a second MX record), using `mx` won't cause any problems. Your backup mail server will be identified as an authorized source for email although it will probably never send any. + +- The `a` tag lets you identify a specific host by name or IP address, letting you specify which hosts are authorized. You'd use `a` if you wanted to prevent the backup mail server from sending outgoing mail or if you wanted to identify hosts other than your own mail server that could send mail from your domain (e.g., putting your ISP's outgoing mail servers in the list so they'd be recognized when you had to send mail through them). + +For now, we're going to stick with the `mx` version. It's simpler and correct for most basic configurations, including those that handle multiple domains. To add the record, go to your DNS management interface and add a record of type TXT for your domain itself (i.e., a blank hostname) containing this string: + + v=spf1 mx -all + +If you're using Linode's DNS Manager, go to the domain zone page for the selected domain and add a new TXT record. The screen will look something like this once you've got it filled out: + +![Linode DNS manager add SPF TXT record](spf-record.png) + +If your DNS provider allows it (DNS Manager doesn't), you should also add a record of type SPF, filling it in the same way as you did the TXT record. + +{{< note >}} +The values for the DNS records above - and for the rest of this guide - are done in the style that Linode's DNS Manager needs them to be in. If you're using another provider, that respective system may require the values in a different style. For example freedns.afraid.org requires the values to be written in the style found in BIND zonefiles. Thus, the above SPF record's value would need to be wrapped in double-quotes like this: `"v=spf1 mx -all"`. You'll need to consult your DNS provider's documentation for the exact style required. +{{< /note >}} + +### Add the SPF policy agent to Postfix + +The Python SPF policy agent adds SPF policy-checking to Postfix. The SPF record for the sender's domain for incoming mail will be checked and, if it exists, mail will be handled accordingly. Perl has its own version, but it lacks the full capabilities of Python policy agent. + +1. If you are using SpamAssassin to filter spam, you may want to edit `/etc/postfix-policyd-spf-python/policyd-spf.conf` to change the `HELO_reject` and `Mail_From_reject` settings to `False`. This edit will cause the SPF policy agent to run its tests and add a message header with the results in it while _not_ rejecting any messages. You may also want to make this change if you want to see the results of the checks but not actually apply them to mail processing. Otherwise, just go with the standard settings. + +2. Edit `/etc/postfix/master.cf` and add the following entry at the end: + + {{< file "/etc/postfix/master.cf" resource >}} +policyd-spf unix - n n - 0 spawn + user=policyd-spf argv=/usr/bin/policyd-spf + +{{< /file >}} + + +3. Open `/etc/postfix/main.cf` and add this entry to increase the Postfix policy agent timeout, which will prevent Postfix from aborting the agent if transactions run a bit slowly: + + {{< file "/etc/postfix/main.cf" aconf >}} +policyd-spf_time_limit = 3600 + +{{< /file >}} + + +4. Edit the `smtpd_recipient_restrictions` entry to add a `check_policy_service` entry: + + {{< file "/etc/postfix/main.cf" aconf >}} +smtpd_recipient_restrictions = + ... + reject_unauth_destination, + check_policy_service unix:private/policyd-spf, + ... + +{{< /file >}} + + + Make sure to add the `check_policy_service` entry **after** the `reject_unauth_destination` entry to avoid having your system become an open relay. If `reject_unauth_destination` is the last item in your restrictions list, add the comma after it and omit the comma at the end of the `check_policy_service` item above. + +5. Restart Postfix: + + systemctl restart postfix + +You can check the operation of the policy agent by looking at raw headers on incoming email messages for the SPF results header. The header the policy agent adds to messages should look something like this: + + Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=text@example.com; receiver=tknarr@silverglass.org + +This header indicates a successful check against the SPF policy of the sending domain. If you changed the policy agent settings in Step 1 to not reject mail that fails the SPF check, you may see Fail results in this header. You won't see this header on outgoing or local mail. + +The SPF policy agent also logs to `/var/log/mail.log`. In the `mail.log` file you'll see messages like this from the policy agent: + + Jan 7 06:24:44 arachnae policyd-spf[21065]: None; identity=helo; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=test@example.com; receiver=tknarr@silverglass.org + Jan 7 06:24:44 arachnae policyd-spf[21065]: Pass; identity=mailfrom; client-ip=127.0.0.1; helo=mail.example.com; envelope-from=test@example.com; receiver=tknarr@silverglass.org + +The first message is a check of the HELO command, in this case indicating that there wasn't any SPF information matching the HELO (which is perfectly OK). The second message is the check against the envelope From address, and indicates the address passed the check and is coming from one of the outgoing mail servers the sender's domain has said should be sending mail for that domain. There may be other statuses in the first field after the colon indicating failure, temporary or permanent errors and so on. + +## Set up DKIM + +DKIM involves setting up the OpenDKIM package, hooking it into Postfix, and adding DNS records. + +### Configure OpenDKIM + +1. The main OpenDKIM configuration file `/etc/opendkim.conf` needs to look like this: + + {{< file "/etc/opendkim.conf" aconf >}} +# This is a basic configuration that can easily be adapted to suit a standard +# installation. For more advanced options, see opendkim.conf(5) and/or +# /usr/share/doc/opendkim/examples/opendkim.conf.sample. + +# Log to syslog +Syslog yes +# Required to use local socket with MTAs that access the socket as a non- +# privileged user (e.g. Postfix) +UMask 002 +# OpenDKIM user +# Remember to add user postfix to group opendkim +UserID opendkim + +# Map domains in From addresses to keys used to sign messages +KeyTable /etc/opendkim/key.table +SigningTable refile:/etc/opendkim/signing.table + +# Hosts to ignore when verifying signatures +ExternalIgnoreList /etc/opendkim/trusted.hosts +InternalHosts /etc/opendkim/trusted.hosts + +# Commonly-used options; the commented-out versions show the defaults. +Canonicalization relaxed/simple +Mode sv +SubDomains no +#ADSPAction continue +AutoRestart yes +AutoRestartRate 10/1M +Background yes +DNSTimeout 5 +SignatureAlgorithm rsa-sha256 + +# Always oversign From (sign using actual From and a null From to prevent +# malicious signatures header fields (From and/or others) between the signer +# and the verifier. From is oversigned by default in the Debian package +# because it is often the identity key used by reputation systems and thus +# somewhat security sensitive. +OversignHeaders From + +# Define the location of the Socket and PID files +Socket local:/var/spool/postfix/opendkim/opendkim.sock +PidFile /var/run/opendkim/opendkim.pid + +{{< /file >}} + + + Edit `/etc/opendkim.conf` and replace it's contents with the above. + +2. Ensure that file permissions are set correctly: + + chmod u=rw,go=r /etc/opendkim.conf + +3. Create the directories to hold OpenDKIM's data files, assign ownership to the `opendkim` user, and restrict the file permissions: + + mkdir /etc/opendkim + mkdir /etc/opendkim/keys + chown -R opendkim:opendkim /etc/opendkim + chmod go-rw /etc/opendkim/keys + +4. Create the signing table `/etc/opendkim/signing.table`. It needs to have one line per domain that you handle email for. Each line should look like this: + + {{< file "/etc/opendkim/signing.table" >}} +*@example.com example + +{{< /file >}} + + + Replace `example.com` with your domain and `example` with a short name for the domain. The first field is a pattern that matches e-mail addresses. The second field is a name for the key table entry that should be used to sign mail from that address. For simplicity's sake, we're going to set up one key for all addresses in a domain. + +5. Create the key table `/etc/opendkim/key.table`. It needs to have one line per short domain name in the signing table. Each line should look like this: + + {{< file "/etc/opendkim/key.table" resource >}} +example example.com:YYYYMM:/etc/opendkim/keys/example.private + +{{< /file >}} + + + Replace `example` with the `example` value you used for the domain in the signing table (make sure to catch the second occurrence at the end, where it's followed by `.private`). Replace `example.com` with your domain name and replace the `YYYYMM` with the current 4-digit year and 2-digit month (this is referred to as the selector). The first field connects the signing and key tables. + + The second field is broken down into 3 sections separated by colons. + + - The first section is the domain name for which the key is used. + - The second section is a selector used when looking up key records in DNS. + - The third section names the file containing the signing key for the domain. + + {{< note >}} +The flow for DKIM lookup starts with the sender's address. The signing table is scanned until an entry whose pattern (first item) matches the address is found. Then, the second item's value is used to locate the entry in the key table whose key information will be used. For incoming mail the domain and selector are then used to find the public key TXT record in DNS and that public key is used to validate the signature. For outgoing mail the private key is read from the named file and used to generate the signature on the message. +{{< /note >}} + +6. Create the trusted hosts file `/etc/opendkim/trusted.hosts`. Its contents need to be: + + {{< file "/etc/opendkim/trusted.hosts" resource >}} +127.0.0.1 +::1 +localhost +myhostname +myhostname.example.com +example.com + +{{< /file >}} + + + When creating the file, change `myhostname` to the name of your server and replace `example.com` with your own domain name. We're identifying the hosts that users will be submitting mail through and should have outgoing mail signed, which for basic configurations will be your own mail server. + +7. Make sure the ownership and permissions on `/etc/opendkim` and it's contents are correct (`opendkim` should own everything, the `keys` directory should only be accessible by the owner) by running the following commands: + + chown -R opendkim:opendkim /etc/opendkim + chmod -R go-rwx /etc/opendkim/keys + +8. Generate keys for each domain: + + opendkim-genkey -b 2048 -h rsa-sha256 -r -s YYYYMM -d example.com -v + + Replace `YYYYMM` with the current year and month as in the key table. This will give you two files, `YYYYMM.private` containing the key and `YYYYMM.txt` containing the TXT record you'll need to set up DNS. Rename the files so they have names matching the third section of the second field of the key table for the domain: + + mv YYYYMM.private example.private + mv YYYYMM.txt example.txt + + Repeat the commands in this step for every entry in the key table. The `-b 2048` indicates the number of bits in the RSA key pair used for signing and verification. 1024 bits is the minimum, but with modern hardware 2048 bits is safer. (It's possible 4096 bits will be required at some point.) + +9. Make sure the ownership, permissions and contents on `/etc/opendkim` are correct by running the following commands: + + cd /etc + chown -R opendkim:opendkim /etc/opendkim + chmod -R go-rw /etc/opendkim/keys + +10. Check that OpenDKIM starts correctly: + + systemctl restart opendkim + + You should not get error messages, but if you do, use: + + systemctl status -l opendkim + + to get the status and untruncated error messages. + +### Set up DNS + +As with SPF, DKIM uses TXT records to hold information about the signing key for each domain. Using YYYYMM as above, you need to make a TXT record for the host `YYYYMM._domainkey` for each domain you handle mail for. Its value can be found in the `example.txt` file for the domain. Those files look like this: + +{{< file "example.txt" resource >}} +201510._domainkey IN TXT ( "**v=DKIM1; h=rsa-sha256; k=rsa; s=email; " + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5oIUrFDWZK7F4thFxpZa2or6jBEX3cSL6b2TJdPkO5iNn9vHNXhNX31nOefN8FksX94YbLJ8NHcFPbaZTW8R2HthYxRaCyqodxlLHibg8aHdfa+bxKeiI/xABRuAM0WG0JEDSyakMFqIO40ghj/h7DUc/4OXNdeQhrKDTlgf2bd+FjpJ3bNAFcMYa3Oeju33b2Tp+PdtqIwXR" + "ZksfuXh7m30kuyavp3Uaso145DRBaJZA55lNxmHWMgMjO+YjNeuR6j4oQqyGwzPaVcSdOG8Js2mXt+J3Hr+nNmJGxZUUW4Uw5ws08wT9opRgSpn+ThX2d1AgQePpGrWOamC3PdcwIDAQAB**" ) ; ----- DKIM key 201510 for example.com + +{{< /file >}} + + +The value inside the parentheses is what you want. Select and copy the entire region from (but not including) the double-quote before `v=DKIM1` on up to (but not including) the final double-quote before the closing parentheses. Then edit out the double-quotes within the copied text and the whitespace between them. Also change `h=rsa-sha256` to `h=sha256`. From the above file the result would be: + +{{< file "example-copied.txt" resource >}} +v=DKIM1; h=sha256; k=rsa; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu5oIUrFDWZK7F4thFxpZa2or6jBEX3cSL6b2TJdPkO5iNn9vHNXhNX31nOefN8FksX94YbLJ8NHcFPbaZTW8R2HthYxRaCyqodxlLHibg8aHdfa+bxKeiI/xABRuAM0WG0JEDSyakMFqIO40ghj/h7DUc/4OXNdeQhrKDTlgf2bd+FjpJ3bNAFcMYa3Oeju33b2Tp+PdtqIwXRZksfuXh7m30kuyavp3Uaso145DRBaJZA55lNxmHWMgMjO+YjNeuR6j4oQqyGwzPaVcSdOG8Js2mXt+J3Hr+nNmJGxZUUW4Uw5ws08wT9opRgSpn+ThX2d1AgQePpGrWOamC3PdcwIDAQAB + +{{< /file >}} + + +Paste that into the value for the TXT record. + +If you're using Linode's DNS manager, this is what the add TXT record screen will look like when you have it filled out: + +![Linode DNS manager add SPF TXT record](dkim-record.png) + +Repeat this for every domain you handle mail for, using the `.txt` file for that domain. + +### Test your configuration + +Test the keys for correct signing and verification using the `opendkim-testkey` command: + + opendkim-testkey -d example.com -s YYYYMM + +If everything is OK you shouldn't get any output. If you want to see more information, add `-vvv` to the end of the command. That produces verbose debugging output. The last message should be "key OK". Just before that you may see a "key not secure" message. That's normal and doesn't signal an error, it just means your domain isn't set up for DNSSEC yet. + +### Hook OpenDKIM into Postfix + +1. Create the OpenDKIM socket directory in Postfix's work area and make sure it has the correct ownership: + + mkdir /var/spool/postfix/opendkim + chown opendkim:postfix /var/spool/postfix/opendkim + +2. Set the correct socket for Postfix in the OpenDKIM defaults file `/etc/default/opendkim`: + + {{< file "/etc/default/opendkim" >}} +# Command-line options specified here will override the contents of +# /etc/opendkim.conf. See opendkim(8) for a complete list of options. +#DAEMON_OPTS="" +# +# Uncomment to specify an alternate socket +# Note that setting this will override any Socket value in opendkim.conf +SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock" +#SOCKET="inet:54321" # listen on all interfaces on port 54321 +#SOCKET="inet:12345@localhost" # listen on loopback on port 12345 +#SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345 + +{{< /file >}} + + + + Uncomment the first SOCKET line and edit it so it matches the uncommented line in the above file. The path to the socket is different from the default because on Debian 9 the Postfix process that handles mail runs in a chroot jail and can't access the normal location. + +3. Edit `/etc/postfix/main.cf` and add a section to activate processing of e-mail through the OpenDKIM daemon: + + {{< file "/etc/postfix/main.cf" aconf >}} +# Milter configuration +# OpenDKIM +milter_default_action = accept +# Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2 +milter_protocol = 6 +smtpd_milters = local:opendkim/opendkim.sock +non_smtpd_milters = local:opendkim/opendkim.sock + +{{< /file >}} + + + You can put this anywhere in the file. The usual practice is to put it after the `smtpd_recipient_restrictions` entry. You'll notice the path to the socket isn't the same here as it was in the `/etc/defaults/opendkim` file. That's because of Postfix's chroot jail, the path here is the path within that restricted view of the filesystem instead of within the actual filesystem. + +4. Restart the OpenDKIM daemon so it sets up the correct socket for Postfix: + + systemctl restart opendkim + +5. Restart Postfix so it starts using OpenDKIM when processing mail: + + systemctl restart postfix + +### Verify that everything's fully operational + +The easiest way to verify that everything's working is to send a test e-mail to `check-auth@verifier.port25.com` using an email client configured to submit mail to the submission port on your mail server. It will analyze your message and mail you a report indicating whether your email was signed correctly or not. It also reports on a number of other things such as SPF configuration and SpamAssassin flagging of your domain. If there's a problem, it'll report what the problem was. + +## Optional: Set up Author Domain Signing Practices (ADSP) + +As a final item, you can add an ADSP policy to your domain saying that all emails from your domain should be DKIM-signed. As usual, it's done with a TXT record for host `_adsp._domainkey` in your domain with a value of `dkim=all`. If you're using Linode's DNS Manager, the screen for the new text record will look like this: + +![Linode DNS Manager add ADSP TXT record](adsp-record.png) + +You don't need to set this up, but doing so makes it harder for anyone to forge email from your domains because recipient mail servers will see the lack of a DKIM signature and reject the message. + +## Optional: Set up Domain Message Authentication, Reporting & Conformance (DMARC) + +The DMARC DNS record can be added to advise mail servers what you think they should do with emails claiming to be from your domain that fail validation with SPF and/or DKIM. DMARC also allows you to request reports about mail that fails to pass one or more validation check. DMARC should only be set up if you have SPF and DKIM set up and operating successfully. If you add the DMARC DNS record without having both SPF and DKIM in place, messages from your domain will fail validation which may cause them to be discarded or relegated to a spam folder. + +The DMARC record is a TXT record for host `_dmarc` in your domain containing the following recommended values: + + v=DMARC1;p=quarantine;sp=quarantine;adkim=r;aspf=r + +This requests mail servers to quarantine (do not discard, but separate from regular messages) any email that fails either SPF or DKIM checks. No reporting is requested. Very few mail servers implement the software to generate reports on failed messages, so it is often unnecessary to request them. If you do wish to request reports, the value would be similar to this example, added as a single string: + + v=DMARC1;p=quarantine;sp=quarantine;adkim=r;aspf=r;fo=1;rf=afrf;rua=mailto:user@example.com + +Replace `user@example.com` in the `mailto:` URL with your own email or an email address you own dedicated to receiving reports (an address such as `dmarc@example.com`). This requests aggregated reports in XML showing how many messages fell into each combination of pass and fail results and the mail server addresses sending them. If you're using Linode's DNS Manager, the screen for the new text record will look like this: + +![Linode DNS Manager add DMARC TXT record](dmarc-record.png) + +DMARC records have a number of available tags and options. These tags are used to control your authentication settings: + +* `v` specifies the protocol version, in this case `DMARC1`. +* `p` determines the policy for the root domain, such as "example.com." The available options: + * `quarantine` instructs that if an email fails validation, the recipient should set it aside for processing. + * `reject` requests that the receiving mail server reject the emails that fail validation. + * `none` requests that the receiver take no action if an email does not pass validation. +* `sp` determines the policy for subdomains, such as "subdomain.example.com." It takes the same arguments as the `p` tag. +* `adkim` specifies the alignment mode for DKIM, which determines how strictly DKIM records are validated. The available options are: + * `r` relaxed alignment mode, DKIM authentication is less strictly enforced. + * `s` strict alignment mode. Only an exact match with the DKIM entry for the root domain will be seen as validated. +* `aspf` determines the alignment mode for SPF verification. It takes the same arguments as `adkim`. + +If you wish to receive authentication failure reports, DMARC provides a number of configuration options. You can use the following tags to customize the formatting of your reports, as well as the criteria for report creation. + +* `rua` specifies the email address that will receive aggregate reports. This uses the `mailto:user@example.com` syntax, and accepts multiple addresses separated by commas. Aggregate reports are usually generated once per day. +* `ruf` specifies the email address that will receive detailed authentication failure reports. This takes the same arguments as `rua`. With this option, each authentication failure would result in a separate report. +* `fo` allows you to specify which failed authentication methods will be reported. One or more of the following options can be used: + * `0` will request a report if *all* authentication methods fail. For example, if an SPF check were to fail but DKIM authentication was successful, a report would not be sent. + * `1` requests a report if *any* authentication check fails. + * `d` requests a report if a DKIM check fails. + * `s` requests a report if an SPF check fails. +* `rf` determines the format used for authentication failure reports. Available options: + * `afrf` uses the Abuse Report format as defined by [RFC 5965](https://www.ietf.org/rfc/rfc5965.txt). + * `iodef` uses the Incident Object Description Exchange format as defined by [RFC 5070](https://www.ietf.org/rfc/rfc5070.txt). + +## Key rotation + +The reason the YYYYMM format is used for the selector is that best practice calls for changing the DKIM signing keys every so often (monthly is recommended, and no longer than every 6 months). To do that without disrupting messages in transit, you generate the new keys using a new selector. The process is: + +1. Generate new keys as in step 8 of [Configure OpenDKIM](#configure-opendkim). Do this in a scratch directory, not directly in `/etc/opendkim/keys`. Use the current year and month for the YYYYMM selector value, so it's different from the selector currently in use. + +2. Use the newly-generated `.txt` files to add the new keys to DNS as in the DKIM [Set Up DNS](#set-up-dns) section, using the new YYYYMM selector in the host names. Don't remove or alter the existing DKIM TXT records. Once this is done, verify the new key data using the following command (replacing example.com, example and YYYYMM with the appropriate values): + + opendkim-testkey -d example.com -s YYYYMM -k example.private + + Add the `-vvv` switch to get debugging output if you need it to diagnose any problems. Correct any problems before proceeding, beginning to use the new private key file and selector when `opendkim-testkey` doesn't indicate a successful verification will cause problems with your email including non-receipt of messages. + +3. Stop Postfix and OpenDKIM with `systemctl stop postfix opendkim` so that they won't be processing mail while you're changing out keys. + +4. Copy the newly-generated `.private` files into place and make sure their ownership and permissions are correct by running these commands from the directory in which you generated the key files: + + cp *.private /etc/opendkim/keys/ + chown opendkim:opendkim /etc/opendkim/keys/* + chmod go-rw /etc/opendkim/keys/* + + Use the `opendkim-testkey` command as described above to ensure that your new record is propagated before you continue. + +5. Edit `/etc/opendkim/key.table` and change the old YYYYMM values to the new selector, reflecting the current year and month. Save the file. + +6. Restart OpenDKIM and Postfix by: + + systemctl start opendkim + systemctl start postfix + + Make sure they both start without any errors. + +7. After a couple of weeks, all email in transit should either have been delivered or bounced and the old DKIM key information in DNS won't be needed anymore. Delete the old `YYYYMM._domainkey` TXT records in each of your domains, leaving just the newest ones (most recent year and month). Don't worry if you forget and leave the old keys around longer than planned. There's no security issue. Removing the obsolete records is more a matter of keeping things neat and tidy than anything else. diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/spf-record.png b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/spf-record.png new file mode 100644 index 0000000000000000000000000000000000000000..639276e56049282dbce16905b56356b5c700e400 GIT binary patch literal 33792 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 F{txZqpU40J literal 0 HcmV?d00001 From 0c123f6ce0f3139b47d0d531e342ca1441f069c4 Mon Sep 17 00:00:00 2001 From: Andy Stevens Date: Fri, 14 Dec 2018 08:21:49 -0500 Subject: [PATCH 3/4] Applied Comment Fix to Old Version of Guide --- .../configure-spf-and-dkim-in-postfix-on-debian-8/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md index 89d88d57e87..c3fbef90004 100644 --- a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md +++ b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md @@ -360,8 +360,8 @@ SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock" milter_default_action = accept # Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2 milter_protocol = 6 -smtpd_milters = local:/opendkim/opendkim.sock -non_smtpd_milters = local:/opendkim/opendkim.sock +smtpd_milters = local:opendkim/opendkim.sock +non_smtpd_milters = local:opendkim/opendkim.sock {{< /file >}} From 607ead0cf4c63e49caa60a344a68ed5a33a22300 Mon Sep 17 00:00:00 2001 From: Andy Stevens Date: Fri, 14 Dec 2018 10:16:28 -0500 Subject: [PATCH 4/4] Updated old guide's modified date --- .../configure-spf-and-dkim-in-postfix-on-debian-8/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md index c3fbef90004..60dd4e9ed90 100644 --- a/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md +++ b/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md @@ -5,7 +5,7 @@ author: description: 'Configure SPF and DKIM in Postfix on Debian 8.' keywords: ["email", "postfix", "spf", "dkim", "debian 8", "opendkim", "dns", "dmarc"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -modified: 2017-03-27 +modified: 2018-12-14 modified_by: name: Linode published: 2016-02-03