4 Краткий отчет о практике (приложение 1). Строки с таким выделением
Скачать 0.62 Mb.
|
"all (в этом случае письмо будет не отклонено, а сервер-получатель получит «предупреждение» о возможной подделке адреса отправителя - т.н. softfail). |
Вообще говоря, запись для SPF в домене можно сгенерировать автоматически, ответив на несколько вопросов вот тут: http://www.openspf.org/
Для того, чтобы Ваш почтовый сервер производил проверку по SPF, нужно установить пакеты:
sudo apt-get install python-policyd-spf python-spf
Отредактируйте файл /etc/postfix/main.cf
sudo nano /etc/postfix/main.cf
и вставьте строку
spf-policyd_time_limit = 3600s
В строку smtpd_recipient_restrictions вставьте
check_policy_service unix:private/policy-spf,
(эту проверку следует вставить после reject_unauth_destination чтобы не было риска использовать Вас, как open relay)
Отредактируйте файл /etc/postfix/master.cf
sudo nano /etc/postfix/master.cf
и вставьте строки
policy-spf unix - n n - - spawn
user=nobody argv=/usr/bin/policyd-spf
Проверка на SPF нужна только для входящих писем, исходящие письма с Вашего сервера проверять не надо.
Перезагрузите postfix
sudo /etc/init.d/postfix reload
Использование Sender ID
Технология Sender ID - это вариант от Microsoft. И, хотя мы не собираемся проверять входящую почту на Sender ID, мы уже сконфигурировали все, что необходимо для отправки писем с использованием Sender ID: эта технология использует ту же запись в DNS, которую мы внесли. Единственно что можно еще сделать - это зарегистрировать нашу запись в Microsoft вот здесь: https://support.msn.com/eform.aspx?productKey=senderid&page=support_senderid_options_form_byemail&ct=eformts
Использование Domainkey и DKIM
Эта технология несколько отличается от SPF. DKIM - это несколько улучшенный вариант Domainkey, однако лучше использовать оба сервиса, тем более, что установка очень похожа. Для использования Domankey и DKIM установим пакеты
sudo apt-get install dk-filter dkim-filter
Выбирайте все опции «по умолчанию» при установке - сейчас мы сконфигурируем их вручную. Вначале сгенерим ключи (вместо aaa.ru используйте свой домен):
dkim-genkey -d aaa.ru -s mail
У Вас в текущей директории появится два файла: mail.private и mail.txt
Создадим директорию для хранения ключа и перепишем ключ в нее под именем mail (опять же, используйте свое имя домена), изменим разрешения для него и переименуем файл mail.txt:
sudo mkdir /etc/mail/aaa.ru
sudo mv mail.private /etc/mail/aaa.ru/mail
sudo chown root /etc/mail/aaa.ru/mail
sudo chmod 644 /etc/mail/aaa.ru/mail
mv mail.txt aaa.ru.txt
(при необходимости повторим для другого домена)
Отредактируем файл /etc/default/dk-filter
sudo nano /etc/default/dk-filter
и вставим туда строку
DAEMON_OPTS="$DAEMON_OPTS -d aaa.ru -k -s /etc/mail/dk-keys.conf -S mail"
(если нужно несколько доменов — перечисляем их через запятую)
и строку
SOCKET="inet:8892@localhost"
Отредактируем файл /etc/default/dkim-filter
sudo nano /etc/default/dkim-filter
Строка
SOCKET="inet:8891@localhost" # Ubuntu default - listen on loopback on port 8891
должна быть раскомментарена.
Отредактируем файл конфигурации /etc/dkim-filter.conf
sudo nano /etc/dkim-filter.conf
и поменяем в нем строку
Domain aaa.ru
Если нужно подписывать почту от нескольких доменов, вставляем список этих доменов:
Domain aaa.ru, bbb.ru
и следующие строки
Selector mail
AutoRestart no
Background yes
Canonicalization simple
DNSTimeout 5
Mode sv
SignatureAlgorithm rsa-sha256
SubDomains yes
X-Header no
AlwaysAddARHeader yes
On-BadSignature reject
Statistics /var/log/dkim-filter/dkim-stats
KeyList /etc/mail/dkim-keys.conf
Создадим файл /etc/mail/dkim-keys.conf
sudo nano /etc/mail/dkim-keys.conf
*@aaa.ru:aaa.ru:/etc/mail/aaa.ru/mail
(вставляем строки с соответствующими параметрами для каждого домена)
Создадим файл /etc/mail/dk-keys.conf
sudo nano /etc/mail/dk-keys.conf
*@aaa.ru:/etc/mail/aaa.ru/mail
(вставляем строки с соответствующими параметрами для каждого домена)
Создаем директорию для записи протокола работы dkim и меняем ее владельца
sudo mkdir /var/log/dkim-filter
sudo chown dkim-filter /var/log/dkim-filter
Отредактируем файл /etc/postfix/main.cf
sudo nano /etc/postfix/main.cf
и добавим в него строки
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891,inet:localhost:8892
non_smtpd_milters = inet:localhost:8891,inet:localhost:8892
Проверьте, что файл
sudo nano /etc/amavis/conf.d/21-ubuntu_defaults
содержит раскомментаренную строку
$enable_dkim_verification = 1;
Отредактируем файл /etc/postfix/master.cf
sudo nano /etc/postfix/master.cf
и в блоке
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_bind_address=127.0.0.1
изменим строку
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
иначе наши исходящие письма будут подписываться DKIM два раза.
Последнее, что нам осталось сделать - это внести изменения в DNS-записи нашего домена (доменов):
mail._domainkey.aaa.ru. IN TXT "g=*; k=rsa; p=XXXXXXXXXX" ; ----- DKIM mail for aaa.ru
_domainkey.aaa.ru. IN TXT "o=-"
Здесь вместо aaa.ru - Ваш домен, а вместо XXXXXXXXXX - значение, записанное в «p=» в файле aaa.ru.txt для соответствующего домена, который появился при генерации ключей.
Важное замечание: в записи _domainkey.aaa.ru. вместо «o=-» на этапе тестирования можно вставить «o=