настройка openDKIM в centos 7

Установим opendkim
yum install opendkim

Нужно в /etc/opendkim.conf поправить Mode и раскомментировать строки
Mode sv
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

Создадим ключи
mkdir /etc/opendkim/keys/example.com
chmod 750 /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com
chmod 640 /etc/opendkim/keys/example.com/*

Допишем в /etc/opendkim/KeyTable

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private

и в /etc/opendkim/SigningTable
*@example.com default._domainkey.example.com

Перезапустим opendkim
systemctl restart opendkim.service

Осталось научить postfix работать с dkim и указать для домена TXT запись.

Добавляем в /etc/postfix/main.cf

#DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

затем
postfix restart

Добавляем TXT запись.
Берем содержимое файла /etc/opendkim/keys/example.com/default.txt

default._domainkey      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=.................." )  ; ----- DKIM key default for example.com

Проверяем
dig txt default._domainkey.example.com

Отправляем тестовое письмо и наслаждаемся результатом.
opendkim

rsyslog, samba, full audit

После настройки самбы и дополнительного full.audit следует озаботиться тем, куда собственно этот аудит будет записываться.

Как рабочий пример:

# less /etc/samba/smb.full_audit.conf
         full_audit:priority = NOTICE
         full_audit:facility = LOCAL5
         full_audit:success = mkdir rmdir read write rename unlink chmod fchmod chown fchown ftruncate lock symlink readlink link mknod close open
         full_audit:failure = none
         full_audit:prefix = |[%S]|%u|%I

Тут важна строка full_audit:facility = LOCAL5

Настраиваем /etc/rsyslog.conf
Находим строку
*.info;mail.none;authpriv.none;cron.none /var/log/messages
и добавляем local5.none дабы в /var/log/messages не заносился аудит самбы
*.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages
Указываем куда записывать аудит
local5.* /var/log/samba/samba.audit

Дабы применились изменения перезапускаем rsyslog
service rsyslog restart

Однако в /var/log/messages скорее всего появится очень большое количество таких строк
rsyslogd-2177: imuxsock begins to drop messages from pid 194326 due to rate-limiting
rsyslogd-2177: imuxsock lost 684 messages from pid 194326 due to rate-limiting

Это связано с тем, что rsyslog по умолчанию для одного пида записывает в логи не более 200 записей в течении 5 секунд. Т.е. если пользователь заходит в самба шару с большим количеством файлов, то записей в samba.audit может быть больше 200, т.о. появляется запись в /var/log/messages о том, что rsyslog отбросил остальные строки.

Есть три варианта решения (по крайней мере я столько нашел)

1. Отключить ограничение. Добавляем в /etc/rsyslog.conf
$SysSock.RateLimit.Interval 0

2. Поиграться с интервалом и разрешенным чилом записей
например:
$SysSock.RateLimit.Interval 10
$SysSock.RateLimit.Burst 500

3. Убрать записи «imuxsock begins to drop messages бла бла бла» из /var/log/messages
Решается добавлением в /etc/rsyslog.conf после #### RULES ####

:msg, regex, "imuxsock begins to drop messages from pid .* due to rate-limiting" ~
:msg, regex, "imuxsock lost .* messages from pid .* due to rate-limiting" ~

Подробнее здесь

Дабы применились изменения перезапускаем rsyslog
service rsyslog restart