Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Докручиваем DKIM к POSTFIX и DOVECOT


 

Докручиваем DKIM к POSTFIX и DOVECOT


POSTFIX и DOVECOT был настроен в прошлой статье:
http://snakeproject.ru/rubric/article.php?art=freebsd_postfix_dovecot_2_09.2018


DKIM подпишет цифровой подписью письмо
Добавит заголовки проверенного сервера - отправителя
Поможет не попасть в черные списки спамеров


####### Установка и настройка DNS


cd /usr/ports/dns/bind912/ && make install clean && rehash


echo 'named_enable="YES"' >> /etc/rc.conf


/usr/local/etc/namedb/named.conf
 


/usr/local/etc/namedb/master/domain.local



named-checkconf /usr/local/etc/namedb/named.conf


nslookup ns1.domain.local


/etc/resolv.conf
search domain.local
nameserver 10.0.2.5


/usr/local/etc/rc.d/named restart

 

####### Установка и настройка opendkim

pkg install opendkim
или:
cd /usr/ports/mail/opendkim && make install clean


mkdir /usr/local/etc/opendkim
opendkim-genkey -D /usr/local/etc/opendkim/ --domain domain.local --selector selector
где:
domain.local - домен, с которого будет отправляться почта
selector - строковый идентификатор, может быть любым


ls -l /usr/local/etc/opendkim/
total 8
-rw-------  1 root  wheel  887 Sep 12 14:45 selector.private
-rw-------  1 root  wheel  318 Sep 12 14:45 selector.txt
где:
selector.private - закрытый ключ
selector.txt - txt запись для DNS


pw useradd opendkim -m -s /usr/sbin/nologin -w no
chown opendkim:opendkim /usr/local/etc/opendkim/selector.private
chmod 700 /usr/local/etc/opendkim/*

 

# Настройки в DNS для OpenDkim

cat /usr/local/etc/opendkim/selector.txt
selector._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqGS....Ib3DQEBAQUAAIDAQAB" )  
; ----- DKIM key selector for domain.local
где:
selector — название селектора
MIGfMA0GCSqGS....Ib3DQEBAQUAAIDAQAB - сокращена запись


Итого имеем запись:
selector._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGS....Ib3DQEBAQUAAIDAQAB"

Добавляем эту строку в файл:
/usr/local/etc/namedb/master/domain.local


/usr/local/etc/rc.d/named restart


Проверяем:
dig -t txt selector._domainkey.domain.local
;; ANSWER SECTION:
selector._domainkey.domain.local. 604800 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GC...

 

####### Настройка связки OpenDkim + Postfix


/usr/local/etc/mail/opendkim.conf



где:
50055 - любой порт


# Файл доверенных узлов (будут приняты как доверенные и подписаны)
/usr/local/etc/opendkim/TrustedHosts
127.0.0.1
localhost
10.0.2.5
mail.domain.local


# В KeyTable будет хранится список соответствий между селекторами, доменами, файлами закрытых ключей
# Формат записей - <селектор>._domainkey.<домен> <домен>:<селектор>:<путь к закрытому ключу>
/usr/local/etc/opendkim/KeyTable
selector._domainkey.domain.local domain.local:selector:/usr/local/etc/opendkim/selector.private


SigningTable хранятся соответствия между email и записями в KeyTable
/usr/local/etc/opendkim/SigningTable
*@domain.local selector._domainkey.domain.local


echo 'milteropendkim_enable="YES"' >> /etc/rc.conf
echo 'milteropendkim_uid="opendkim"' >> /etc/rc.conf


/usr/local/etc/rc.d/milter-opendkim start


/usr/local/etc/postfix/main.cf
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:50055
non_smtpd_milters = inet:localhost:50055
где:
50055 - порт из opendkim.conf


/usr/local/etc/rc.d/postfix restart

 

####### Проверяем
echo "test text" | mail -s "1111Test DKIM message" testuser@domain.local


telnet localhost 25
helo domain.local
mail from:root@domain.local
rcpt to:testuser@domain.local
data
TestDKIM
.
quit


cat /var/log/maillog | grep dkim
OpenDKIM Filter mi_stop=1
OpenDKIM Filter terminating with status 0, errno = 0
OpenDKIM Filter starting (args: -l -u opendkim -P /var/run/milteropendkim/pid -x /usr/local/etc/mail/opendkim.conf)
DKIM-Signature field added (s=selector, d=domain.local)


А в заголовках письма появится;
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=domain.local;
s=selector; t=1536762396;
bh=GdVQLnNns2zjlyyb9so+lxN5ZWcIl6alFmeRCJPmIH8=; h=Date:From;
b=MCqtwNhf00UILsVvMZ16RTZAi89O66h3DN7PfqTvr8UKF6oyb/trH0nbai1+47MQ3
b9VMhn4VzLcj4E4oiETi9MRa3N1hBXCdmP33Xq/56AXWQ7XIYzMDssUOue4TRXmO9w
xVJMDcHC+NRSJwxjkgx4Pp1GNyoNnt3zfFAJm7CI=

 

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект