. Если вы зададите значение yes данной опции, доступ к почтовому серверу автоматически получат компьютеры, указанные в записях
MX
серверов DNS. Такой подход очень удобен, так как избавляет от необходимости перенастраивать Exim при изменении конфигурации домена. Однако в этом случае повышается опасность использования сервера спамерами, которые имеют возможность управлять доменом и включать в конфигурационный файл сервера DNS записи
MX
.
•
sender_address_relay
. В качестве значения данной опции задается список почтовых адресов, разделенных двоеточиями, для которых разрешено использование сервера в качестве ретранслятора. В обычных условиях письмо должно соответствовать
как значению данной опции, так и адресу узла, указанному с помощью опции
host_accept_relay
. (Вы можете задать проверку на соответствие любой из этих опций, включив в конфигурационный файл выражение
relay_match_host_or_sender = yes
, но такая конфигурация опасна для системы, так как почтовый адрес легко подделать.) Данную опцию можно применить для того, что-бы ограничить круг пользователей, имеющих право использовать сервер в качестве ретранслятора.
Приведенные здесь опции позволяют настроить Exim для работы в режиме ретранслятора и указать, какие компьютеры локальной сети или внешних доменов имеют право доступа к данному серверу. Данные опции позволяют решать большинство задач по обеспечению ретрансляции почты. Если же вам необходимо установить специальную конфигурацию сервера, вы можете воспользоваться дополнительными опциями, например,
host_auth_accept_relay
(которая выполняет аутентификацию удаленной системы перед ретрансляцией писем) и
tls_host_accept_relay
(которая требует, чтобы удаленная система использовала средства аутентификации и кодирования TLS).
Настройка Exim для передачи почты через ретранслятор
Если ваш почтовый сервер должен передавать почту через ретранслятор, надо настроить соответствующим образом. В конфигурационном файле Exim не предусмотрена специальная опция, позволяющая решить эту задачу, однако сценарий
eximconfig
генерирует набор записей, обеспечивающих необходимые установки. Опции, созданные с помощью
eximconfig
, выглядят следующим образом:
smarthost:
driver = domainlist
transport = remote_smtp
route_list = "* franklin.threeroomco.com bydns_a"
end
Приведенная выше группа записей сообщает Exim о том, что письма, адресованные внешним пользователям, надо передавать через узел
franklin.threeroomco.com
. Чтобы использовать другой ретранслятор, надо изменить значение соответствующей опции.
Настройка Exim для противодействия распространению спама
В сервере Exim предусмотрен набор правил фильтрации. С помощью этих правил вы можете задавать адреса узлов, которым должна быть запрещена передача писем, указывать пользователей, от которых почта не должна приниматься, а также выполнять другие проверки на основе самых разнообразных критериев. Основные опции фильтрации описаны ниже.
•
host_reject
. Данная опция задается в конфигурационном файле
exim.conf
. Ее значение представляет собой список имен узлов и доменов, а также IP-адресов, разделенных двоеточиями. Почта, переданная с компьютеров, указанных посредством данной опции, должна блокироваться. Например, запись
host_reject = *.badspammer.net:10.16.8.0/24
указывает на то, что письма из домена
badspammer.net
, а также из сети 10.16.8.0/24 должны отвергаться. Система отказывается взаимодействовать с удаленным компьютером, заданным с помощью опции
host_reject
, уже на этапе установления соединения. В результате удаленный компьютер предпринимает повторные попытки обращения к вашему серверу, но связанная с этим дополнительная нагрузка на линии связи и компьютеры небольшая.
•
host_reject_recipients
. Данная опция действует так же, как
host_reject
, но почтовые сообщения отвергаются лишь в процессе взаимодействия с удаленной программой, в частности, в тот момент, когда
она передает команду
RCPT TO:
. В результате попытки пересылки писем немедленно прекращаются.
•
sender_reject
. Данная опция блокирует письма от указанных отправителей. Роль отправителя может выполнять либо целый домен, либо отдельный пользователь в домене. Например, опция
должны отвергаться. Сервер Exim прекращает взаимодействие сразу же, как только сможет идентифицировать отправителя. В некоторых случаях это приводит к повторным попыткам передачи сообщений, предпринимаемым удаленными программами.
•
sender_reject_recipients
. Данная опция действует подобно опции
sender_reject
, но взаимодействие с удаленным компьютером прекращается после того, как выполняющаяся на нем программа укажет адрес получателя, т.е. передаст команду
RCPT TO:
. Данный подход более эффективен по сравнению с использованием опции
sender_reject
, так как при этом удаленная система больше не предпринимает попыток передачи сообщений.
• Фильтры, определяемые пользователем. Сервер Exim предоставляет пользователям возможность создавать собственные фильтры. Для их формирования используются файлы
.forward
, находящиеся в рабочих каталогах пользователей. Возможность создания новых фильтров превращает Exim в чрезвычайно мощный и гибкий инструмент. Фильтры, определяемые пользователем, во многом похожи на фильтры Procmail, которые будут рассматриваться далее в этой главе. Подробное описание средств создания пользовательских фильтров содержится файле
filter.txt.gz
, который поставляется в составе Exim. В Debian GNU/Linux этот файл располагается в каталоге
/usr/doc/exim
; распаковать его можно с помощью утилиты
gunzip
.
Если вам необходимо задать длинный список отправителей, письма от которых не должны приниматься, вы должны указать их в отдельном файле, а ссылку на этот файл задать в качестве значения соответствующей опции. Помимо перечисленных выше средств, в сервере Exim также предусмотрен ряд опций, предназначенных для работы со списками IP-адресов. Эти опции, располагающиеся в файле
exim.conf
, кратко описаны ниже.
•
rbl_domains
. Значением этой опции является перечень адресов серверов, поддерживающих списки IP-адресов (эти серверы описаны в табл. 19.1). Адреса серверов разделяются двоеточиями и могут сопровождаться последовательностями символов
/warn
или
/reject
. Значение
/warn
указывает серверу Exim на то, что он должен добавить поле заголовка с предупреждающим сообщением (который впоследствии может быть использован фильтром Procmail), a
/reject
означает, что письмо должно быть отвергнуто. Кроме того, в составе данной опции могут также использоваться последовательности символов
/accept
(формирование "белого списка") и
/skiprelay
(если домен отправителя указан в опции
host_accept_relay
, то список IP-адресов не должен использоваться).
•
rbl_hosts
. По умолчанию принимается значение
*
данной опции; оно указывает на то, что сервер должен проверять все узлы, с которыми он взаимодействует, на соответствие спискам IP-адресов, указанных посредством опции
rbl_domains
. При необходимости вы можете освободить некоторые серверы от этой проверки. Чтобы сделать это, вам надо указать их имена перед символом