порядок использования списков IP-адресов был существенно изменен. В этой главе описаны правила, применяемые в этой и последующих реализациях. Дополнительную информацию по данному вопросу вы найдете по адресу
http://mail-abuse.org/rbl/usage.html
.
Чтобы предотвратить использование почтового сервера для неавторизованной рассылки почты, необходимо ограничить доступ к нему. Проще всего сделать это, указав в файле access IP-адреса или диапазоны адресов компьютеров, которые могут использовать сервер для передачи писем. В некоторых случаях можно также указать другие опции управления ретрансляцией. Применение опции
promiscuous_relay
— не допустимо.
Внимание
Версии
sendmail
,
предшествующие 8.9.0, настроены так, чтобы любой компьютер мог воспользоваться сервером для передачи писем. Такой сервер необходимо заменить новой версией или перенастроить его, чтобы неограниченные услуги ретранслятора не предоставлялись другим узлам. Информацию по этому вопросу вы найдете по адресу
http://mail-abuse.org/tsi/ar-fix.html#sendmail_8
. Версии
sendmail
, предшествующие 8.8.4, перенастроить крайне сложно. Гораздо проще обновить почтовый сервер.
Настройка Exim
Сервер Exim применяется по умолчанию в Debian GNU/Linux и пользуется умеренной популярностью. Данный сервер можно использовать и с другими пакетами. Так, например, Exim поставляется в составе расширения PowerTools системы Red Hat, поэтому его достаточно легко установить в Red Hat и других подобных дистрибутивных пакетах. Подобно
sendmail
, Exim представляет собой единую программу, но формат конфигурационного файла Exim сравнительно прост. Exim обладает приблизительно такими же возможностями, как и
sendmail
; в данном разделе рассматриваются некоторые из них, например, маскировка адресов, обработка писем, адресованных в разные домены, и использование режима ретрансляции почты.
На заметку
Поскольку Exim является сервером по умолчанию только для Debian, в данном разделе в основном принимается во внимание конфигурация данного сервера, устанавливаемая в системе Debian. В других системах для Exim может быть по умолчанию выбрана другая конфигурация.
Конфигурационные файлы Exim
Главный конфигурационный файл Exim называется
exim.conf
. Обычно он располагается в каталоге
/etc
. В состав этого файла входят записи, представленные в следующем формате:
опция = значение
Как обычно, строки, содержащие комментарии, начинаются с символа
#
. Файл который используется в системе Debian, в основном состоит из комментариев, поясняющих назначение каждой записи. Комментарии существенно упрощают редактирование конфигурационного файла.
Совет
При инсталляции Exim в системе Debian запускается сценарий с именем
eximconfig
, в процессе выполнения которого генерируется файл
exim.conf
. Данный сценарий можно использовать для изменения конфигурации Exim; при этом нет необходимости непосредственно редактировать файл
exim.conf
. Если вам надо внести лишь незначительные изменения в конфигурацию системы, удобнее модифицировать
exim.conf
вручную, так как при использовании
eximconfig
приходится отвечать на целый ряд вопросов. Во многих случаях
eximconfig
может оказаться очень полезным инструментом, в особенности если вы мало знакомы со структурой конфигурационного файла Exim. В частности, данный сценарий помогает выбрать значения опций, наиболее подходящие для вашей системы.
Помимо
exim.conf
, Exim использует в качестве источников дополнительной информации другие файлы. Файлы, применяемые данным сервером в системе Debian, перечислены ниже.
•
/etc/aliases
. Этот файл выполняет те же функции, что и аналогичный файл
sendmail
. Он позволяет связать две учетные записи так, что письмо, адресованное одному пользователю, будет направлено другому. Например, если в этом файле присутствует запись
root: amelia
, то письмо, адресованное
root
, получит пользователь
amelia
. В файле
aliases
можно также указывать адреса, не принадлежащие локальным пользователям. Например, наличие записи
root: amelia@pangaea.edu
приведет к тому, что письмо, принятое для локального пользователя
root
, будет перенаправлено по адресу
amelia@pangaea.edu
. В отличие от
sendmail
, в сервере Exim файл
aliases
не преобразовывается в двоичный
формат.
•
/etc/email-addresses
. Записи в этом файле используются для изменения содержимого полей
From:
в заголовках исходящих сообщений. Например, наличие записи
ben: bfranclin@pangaea.edu
приведет к тому, что письмо, отправленное с локального компьютера пользователем
ben
, придет к получателю как сообщение от
bfranclin@pangaea.edu
.
Сценарий
eximconf
создает в файле
/etc/aliases
записи, посредством которых почта, адресованная
postmaster
перенаправляется
root
, а письма, непосредственно направленные
root
, будут переданы пользователю, которого вы укажете. Содержимое описанных выше файлов можно удалять или модифицировать, а при необходимости вы можете включать в эти файлы новые записи. Файл
/etc/email-addresses
, создаваемый по умолчанию в системе Debian, содержит лишь комментарии.
Маскировка адресов
Как было сказано ранее, вам может потребоваться, чтобы в сообщениях вместо имени, возвращаемого по команде
hostname
, отображалось другое имя узла или домена. Основные средства маскировки адресов включаются посредством опции
qualify_domain
. С помощью данной опции задается имя домена. Если почтовая программа не сгенерирует информацию об адресе, имя домена будет автоматически включено в сообщение. Предположим, что в файле
exim.conf
присутствует следующая запись:
qualify_domain = threeroomco.com
Если пользователь
ben
отправит письмо, а программа, с помощью которой это письмо было подготовлено, не укажет в поле
From:
имя домена, то Exim добавит имя
threeroomco.com
. Если доменное имя адреса не соответствует имени
threeroomco.com
, то Exim заменит адрес. Таким образом, содержимое поля
From:
будет выглядеть так:
ben@threeroomco.com
.
Еще одна опция, которую можно использовать для маскировки адресов, называется
primary_hostname
. Она применяется подобно
qualify_domain
, и ее значение принимается в качестве значения по умолчанию для
qualify_domain
. Значение
primary_hostname
используется при переговорах о взаимодействии Exim и удаленного сервера имен. Имя, задаваемое посредством данной опции, применяется при формировании заголовка
Received:
.
Для более сложной маскировки адресов применяется файл
/etc/email-addresses
. Строго говоря, на файл
/etc/email-addresses
ссылается запись, расположенная в конце конфигурационного файла
Это одна из наиболее сложных записей, содержащихся в файле
exim.conf
. При настройке сервера не следует редактировать ее, допустимо лишь изменить имя домена в начале строки. С помощью данной записи Exim проверяет каждый адрес на принадлежность домену
threeroomco.com
, а затем использует файл
/etc/email-addresses
для замены адреса. В первом поле записи, содержащейся в файле
/etc/email-addresses
(перед двоеточием), указывается почтовый адрес, предназначенный для сравнения, а во втором поле (после двоеточия) — адрес для замены. Данное средство позволяет выполнять маскировку для каждого пользователя; чтобы сделать это, достаточно лишь отредактировать файл
email-addresses
. При необходимости вы можете обрабатывать письма из разных доменов. Для этого надо либо продублировать приведенную выше запись в
exim.conf
, либо включить всю информацию, необходимую для замены адресов, в один файл
email-addresses
.
В данном разделе рассмотрены лишь некоторые средства маскировки адресов, предоставляемые Exim. Дополнительную информацию по этому вопросу вы можете получить в документации на Exim, обратившись по адресу