В данном разделе рассмотрены лишь некоторые средства маскировки адресов, предоставляемые Exim. Дополнительную информацию по этому вопросу вы можете получить в документации на Exim, обратившись по адресу http://www.exim.org/exim-html-3.30/doc/html/spec_34.html.
Настройка Exim для приема почты
В конфигурационном файле exim.conf предусмотрены различные опции, позволяющие указать серверу, следует ли интерпретировать адрес как локальный. Эти опции кратко описаны ниже.
• local_domains. В качестве значения данной опции задается список доменных имен, разделенных двоеточиями. Эти имена Exim должен интерпретировать как локальные. Например, запись local_domains = localhost: threeroomco.com сообщает Exim о том, что адреса localhost и threeroomco.com являются локальными и письма, в которых они указаны, необходимо непосредственно доставлять пользователям. По умолчанию значение данной опции принимается равным значению qualify_recipient. Опция qualify_recipient задает имя узла для входящих сообщений, в которых такая информация отсутствует.
• local_domains_include_host. Если значение данной опции равно true, Exim принимает письма, в адресе которых указано имя компьютера. Тот же результат можно получить, добавив имя узла к списку local_domains.
• local_domains_include_host_literals. Если значение данной опции равно true, Exim принимает письма, в которых указан IP-адрес компьютера. Например, если Exim выполняется на компьютере с адресом 172.24.98.2 и на этом компьютере имеется учетная запись пользователя ben, Exim примет письмо с адресом ben@[172.24.98.2]. Если вы не хотите, чтобы подобные письма обрабатывались сервером, необходимо установить значение false опции local_domains_include_host_literals.
Сценарий eximconfig устанавливает эти опции исходя из ответов администратора на вопросы о домене, для которого необходимо принимать письма. Таким образом, если вы внимательно отнесетесь к вопросам, задаваемым данным сценарием, вы обнаружите, что необходимые для вас значения опций уже установлены.
Конфигурация Exim для ретрансляции писем
Подобно sendmail, в сервере Exim предусмотрен ряд опций, предназначенных как для ретрансляции писем, переданных другими программами, так и для использования в качестве ретрансляторов других серверов. Сценарий eximconfig задает администратору вопросы, касающиеся ретрансляции писем, и в большинстве случаев устанавливает приемлемую конфигурацию сервера. Уточнить настройку Exim можно с помощью непосредственного редактирования файла exim.conf.
Основные опции exim.conf предназначенные для реализации режима ретрансляции писем, описаны ниже.
• host_accept_relay. Для того чтобы сервер Exim мог ретранслировать письма, переданные определенными компьютерами, вам надо указать в качестве значения данной опции их адреса (адреса отделяются друг от друга двоеточиями). В конфигурационном файле должно быть как минимум указано выражение host_accept_relay = localhost, позволяющее Exim передавать письма, подготовленные локальными почтовыми программами. По мере расширения списка (в котором могут быть указаны доменные имена, IP-адреса, а также использоваться символы групповых операций) увеличивается число компьютеров, которым позволено пользоваться услугами сервера для передачи почты. Например, выражение host_accept_relay = localhost:192.168.99.0/24:*.pangaea.edu указывает на то, что письма для передачи должны приниматься с локального узла, со всех узлов сети 192.168.99.0/24, а также со всех компьютеров домена pangaea.edu. Использование данной опции для указания IP-адресов компьютеров, принадлежащих домену, — один из самых безопасных способов обеспечения ретрансляции писем.
• relay_domains. В качестве значения данной опции можно указать одно или несколько имен доменов, разделенных двоеточиями. В результате сервер Exim будет обрабатывать письма, направленные с любого компьютера, принадлежащего указанным доменам. Эта опция полезна тогда, когда необходимо, чтобы сервер обслуживал несколько доменов или один большой домен. Аналогичных результатов можно добиться, включая символ групповой операции (*) в имена, задаваемые в качестве значения опции host_accept_relay.
• relay_domains_include_local_mx. Если вы зададите значение 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 не предусмотрена специальная опция, позволяющая решить эту задачу, однако сценарий eximconfig генерирует набор записей, обеспечивающих необходимые установки. Опции, созданные с помощью eximconfig, выглядят следующим образом:
smarthost:
driver = domainlist
transport = remote_smtp
route_list = "* franklin.threeroomco.com bydns_a"
end
Приведенная выше группа записей сообщает Exim о том, что письма, адресованные внешним пользователям, надо передавать через узел franklin.threeroomco.com. Чтобы использовать другой ретранслятор, надо изменить значение соответствующей опции.
Настройка Exim для противодействия распространению спама
В сервере Exim предусмотрен набор правил фильтрации. С помощью этих правил вы можете задавать адреса узлов, которым должна быть запрещена передача писем, указывать пользователей, от которых почта не должна приниматься, а также выполнять другие проверки на основе самых разнообразных критериев. Основные опции фильтрации описаны ниже.