Блог Синявского
  • Разделы
  • Метки
  • Все статьи

Настройка записи DKIM с ключом длиной 2048

1

Настройка записи DKIM с ключом длиной 2048

В предыдущей статье, подробно рассмотрена настройка DKIM-записи с длиной ключа 1024. DKIM подпись необходима для проверки, того, что письмо отправлено от правильного хоста. В Gmail желательно использовать ключ с длиной 2048, если регистратор домена поддерживает записи длиной более 255 символов.

Создание rsa-ключей

Создадим папку для созданных ключей.

mkdir ~/postfix_sinyawskiy_ru_keys_2048/
cd ~/postfix_sinyawskiy_ru_keys_2048/

Создаем приватный и публичный ключи

# openssl genrsa -out private_sinyawskiy_dkim_key.pem 2048
# openssl rsa -pubout -in private_sinyawskiy_dkim_key.pem -out public_sinyawskiy_dkim_key.pem
cat public_sinyawskiy_dkim_key.pem  
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAly7LuaQ0ELE9MtcV6L23
gY+Sz/QUFIYnx2d8oel3Wmc9kjOZ2ZrwgblBZnRyzblai5vW/urykEEljSYXUqrn
Z4kP/HiB78O4Kc2FiyHYXL/QEoHn5iN5+owLAS0TzbPvfgs/goe3vSr3KueRPKdz
pMGO6Ou/9flOABQX8iSua1THe878/ZcJh0ZOTtCeNiBLuXUZs09DRelacOF7v3pJ
v+nwo2Tjq/1VOlCiOQmgS8vE/xKfx2aZ5riSfmD/B4o/cSHrIVYHUbWlH9j2QXhF
riafHDEgnGyPveouMoZruIaMemCiaYrnoIr0OA7PBzp28lfDyQJzlqiqB4hSEfsD
ZQIDAQAB
-----END PUBLIC KEY-----

Видно, что публичный ключ заметно длиннее, чем публичны ключ при длине приватного ключа 1024.

Сгенерировать сертификаты подписи письма можно также при помощи opendkim-tools.

mkdir ~/opendkim_keys_2048/
cd ~/opendkim_keys_2048/

sudo opendkim-genkey -b 2048 -d sinyawskiy.ru -s default -v

-s - это селектор если необходимо создать ключи в каталоге отличном от текущего, то можно указать опцию -D <каталог>

-D /etc/opendkim/keys/sinyawskiy.ru

при использовании этой команды создадутся приватый default.private и публичный ключ default.txt, в формате DNS-записи

cat default.txt
default._domainkey  IN  TXT ( "v=DKIM1; k=rsa; "
      "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Q9ctUoAeLBK9gnQM9Ve2zTTkeGhzcs5rVp+1smbBSFd6wxnwhzTH
      E+25eIolLFF5IqnbSCKjgPbozWk6/DZJ5RDvpQ/8rFvuE+pXzvAVb1rHqdwxZIn1AjrLYzA+P2Rf64YHvpbeR9ua/lxjp1NreZgE
      nUxisv9zAJEUZYZI54bH7AyNjuF6Tpt8VUXZKJm0QG3y/E8G4P3mI"
      "jxe3ll+zYKbcxHuoOjK7LiBX2NAucAzAoI6YspgPxfgPCz+ZLD0WCUEXXmRFOORTegKJSCi+PONKpIThc0bvlKtHoOGlIRZYYeF
      rW0GTx5nQKI9qF0XRyQDRMobPIxS5Q8GwimkwIDAQAB" )  ; ----- DKIM key default for sinyawskiy.ru

Как видно запись состоит из трёх частей в кавычках внутри скобок, короткой, длинной и короткой. Перед использованием необходимо удалить все кавычки и пробелы.

Изменение DKIM-записи

Изменение DKIM-записи доменной зоны на хостинге reg.ru можно писать целиком, форма умная сама все сделает.

[flickr:id=52020422892]

Изменение DKIM записи на nic.ru для публичного ключа длиной 2048, описано ниже.

[flickr:id=52021192502]

DKIM запись nic.ru необходимо разбить переносом строки (Enter, Return, CHR13), таким образом, чтобы максимальная длина части не превышала 255 симоволов. Если этого не сделать будет ошибка RFC1035.

[flickr:id=52021182172]

Проверим, что возвращает сервер с помощью dig

$ dig txt default._domainkey.sinyawskiy.ru

; <<>> DiG 9.16.1-Ubuntu <<>> txt default._domainkey.sinyawskiy.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45809
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;default._domainkey.sinyawskiy.ru. IN   TXT

;; ANSWER SECTION:
default._domainkey.sinyawskiy.ru. 46497 IN TXT  "v=DKIM1; k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAly7LuaQ0ELE9MtcV6L23gY+Sz/QUFIYnx2d8oel3Wmc9kjOZ2ZrwgblBZnRyzblai5vW/urykEEljSYXUqrnZ4kP/HiB78O4Kc2FiyHYXL/QEoHn5iN5+owLAS0TzbPvfgs/goe3vSr3KueRPKdzpMGO6Ou/9flOABQX8iSua1THe878/ZcJh0ZOTtCe" "NiBLuXUZs09DRelacOF7v3pJv+nwo2Tjq/1VOlCiOQmgS8vE/xKfx2aZ5riSfmD/B4o/cSHrIVYHUbWlH9j2QXhFriafHDEgnGyPveouMoZruIaMemCiaYrnoIr0OA7PBzp28lfDyQJzlqiqB4hSEfsDZQIDAQAB"

;; Query time: 155 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Пт апр 22 21:48:32 MSK 2022
;; MSG SIZE  rcvd: 490

Замечательно! Все работает, видно что, в ответе ключ разбит на 2 части, каждая из которых заключена в двойные кавычки, а между ними пробел.

Настройка opendkim

Подробная настройка описана в предыдущей статье в одноименном разделе. В отличие от предыдущего варианта настройки необходимо указать путь до нового ключа.

$ sudo nano /etc/opendkim.conf
# KeyFile                /home/als/postfix_sinyawskiy_ru_keys/private_sinyawskiy_dkim_key.pem
KeyFile                /home/als/postfix_sinyawskiy_ru_keys_2048/private_sinyawskiy_dkim_key.pem
# Canonicalization        relaxed/relaxed
Canonicalization        relaxed/simple

Для себя поменял еще каноничность заголовка и тела на relaxed и simple.

Перезагрузить postfix и opendkim:

# service postfix restart
# service opendkim restart

Тестирование DKIM

Для тестирования DKIM записи можно использовать команду

sudo opendkim-testkey -d sinyawskiy.ru -s default -vvv

Если запись еще не обновилась в DNS, то вывод будет такой

opendkim-testkey: checking key 'default._domainkey.sinyawskiy.ru'
opendkim-testkey: keys do not match

если обновилось, то:

opendkim-testkey: checking key 'default._domainkey.sinyawskiy.ru'
opendkim-testkey: key OK

Проверка отправки почты

echo "Test body of the email" | mail -s "Test email subject" root

или на адрес yourname@hostname.com

echo "Test body of the email" | mail -s "Test email subject" yourname@hostname.com


  • ← сюда
  • туда →

comments powered by Disqus

Опубликовано

22.04.2022

Обновление

05.05.2022

Категории

ubuntu

Тэги

  • console 6
  • postfix 2
  • ubuntu 36

Всегда на связи

  • Блог Синявского - Ничего не переносить на завтра, это тоже проблема с прокастинацией?
  • © Алексей Синявский, по лицензии CC BY-SA если не указано иное.
  • С использованием Pelican. Тема: Elegant от Talha Mansoor