В последние годы строгие меры по определению спама вынудили меня установить DKIM на моем персональном почтовом сервере.
Это записи с этого процесса.
Обратитесь к дополнению от ноября 2023 года о настройке DMARC.
Дополнение от августа 2024 года
Я отказался от OpenDKIM и переключился на arcmilter.
Перешел с OpenDKIM на arcmilter и добавил поддержку ARC-подписей
Среда
- Ubuntu 20.04
OpenDKIM
- Установка
# apt install opendkim opendkim-tools
- Создание директории для размещения ключей
# install -d /etc/opendkim/key
# cd !$
- Генерация ключей (для нескольких доменов)
# install -d masa23.jp
# opendkim-genkey -D masa23.jp -d masa23.jp
# install -d example.jp
# opendkim-genkey -D example.jp -d example.jp
Создаются default.private и default.txt в каждой директории
- Изменение владельца
# chown -R opendkim:opendkim /etc/opendkim/
- Настройка OpenDKIM
# vi /etc/opendkim.conf
Socket inet:8892@localhost
#Domain
#KeyFile
#Selector
KeyTable refile:/etc/opendkim/key_table
SigningTable refile:/etc/opendkim/signing_table
# cat << _EOF_ > /etc/opendkim/key_table
default._domainkey.masa23.jp masa23.jp:default:/etc/opendkim/key/masa23.jp/default.private
default._domainkey.example.jp example.jp:default:/etc/opendkim/key/example.jp/default.private
_EOF_
# cat << _EOF_ > /etc/opendkim/signing_table
*@masa23.jp default._domainkey.masa23.jp
*@example.jp default._domainkey.example.jp
_EOF_
- Запуск и настройка OpenDKIM
# systemctl start opendkim
# systemctl enable opendkim
Настройка Postfix
- Добавление в качестве milter
# vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8892
non_smtpd_milters = inet:127.0.0.1:8892
- Проверка конфигурации
# postfix check
- Перезагрузка postfix
# systemctl reload postfix
Регистрация открытого ключа в DNS
- Проверка открытого ключа
# cat /etc/opendkim/key/masa23.jp/default.txt
default._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5jqnqaMgv8fFl8yQHDfPdU/7j0YvFza2YIMIYivVV/CaItZizlkY6emj9o6MZBK3RU9ni4BPCQ1do64+HhZHUanAPojZd0PsyusCBNBFU1wY6/xpcuoPf+Ru15UvLI2/o+9ElO4vF3l2YoTSOE5ljnBNd2EWihqmUQazEpu3PT1a7BbHZkW/7WdK5ipgU8+u/iyRai0Dnrhgoi"
"ArzoDjFgm4TRJQGhD+EUOmnwFa3Xz5eQg50IigS7WKyHwF3HSZPzrkEFf5hIXYdoeIr6OqKg5sldONF/hY9voEITHZqtHOnrBlaBH2DTTI6uQH7Uc4JLv12xD6Gh1rlZy5zdMTwQIDAQAB" ) ; ----- DKIM ключ по умолчанию для masa23.jp
Запишите эту запись в DNS.
Также настройте ADSPНа этот раз нет необходимости быть таким строгим, поэтому я оставлю это в состоянии unknown.
_adsp._domainkey IN TXT "dkim=unknown"
Дополнение от ноября 2023 года
Похоже, что ADSP был отменен.
Таким образом, предполагая, что SPF-запись уже установлен, настраиваем DMARC.
- Настройка DMARC
_dmarc IN TXT "v=DMARC1; p=quarantine;"
Значение p может быть одним из: none, quarantine, reject.
q | значение |
---|---|
none | Основной владелец не запрашивает никаких конкретных действий по поводу доставки сообщения. |
quarantine | Владелец домена хочет, чтобы почтовый получатель обрабатывал письма, не прошедшие проверку механизма DMARC, как подозрительные. |
reject | Владелец домена хочет, чтобы почтовый получатель отклонил письма, не прошедшие проверку механизма DMARC. |