В предыдущем разделе рассматривался вопрос об использовании программы
sendmail
для ретрансляции почты. Однако, настраивая почтовый сервер, необходимо также принимать во внимание и вопросы передачи писем через ретранслятор, функции которого выполняет другой сервер. Часто при организации работы небольшой сети и даже одного компьютера приходится использовать в качестве ретранслятора почтовый сервер провайдера. Несмотря на то что компьютер под управлением Linux, на котором установлена программа
sendmail
, может передавать почту самостоятельно, многие провайдеры запрещают это, включая IP-адреса, предоставляемые своим клиентам, в списки адресов, предназначенные для борьбы со спамом. Кроме того, некоторые компьютеры
бывают выключены в течение длительного времени, в результате чего становится невозможным их использование в качестве почтовых серверов. В особенности это относится к портативным компьютерам.
В большинстве случаев конфигурация
sendmail
, установленная по умолчанию, не предполагает передачу писем через ретранслятор. Чтобы обеспечить такую возможность, надо включить в конфигурационный файл
m4
следующую запись:
FEATURE(`nullclient', `outgoing.mail.relay')
В данном случае
outgoing.mail.relay
— это имя компьютера, используемого для ретрансляции почты. После того как вы создадите файл
sendmail.cf
и перезапустите
sendmail
, вся исходящая почта будет передаваться через указанный почтовый сервер. Выполнив настройку
sendmail
, убедитесь, что письма корректно доставляются адресатам.
Конфигурация
sendmail
для противодействия попыткам передачи спама
Существует несколько способов настройки
sendmail
для блокирования поступающих рекламных сообщений и предотвращения попыток использования сервера для передачи спама. Один из способов состоит в использовании файла
access
и его двоичного аналога
access.db
. С помощью файла
access.db
можно блокировать спам на основании анализа адресов отправителей. Если вы зададите для некоторых доменов или компьютеров, указанных с помощью имени или IP-адреса, опции
REJECT
или
DISCARD
, сообщения из этих источников будут отвергаться. Если вы регулярно получаете рекламные сообщения с определенных адресов, этот способ позволит избавиться от них. Следуя описанному подходу, необходимо соблюдать осторожность, так как вместе со спамом будут отвергнуты и корректные сообщения, приходящие с тех же адресов или из тех же доменов. Если вы блокируете почту, поступающую из сети, которая принадлежит популярному провайдеру, вы рискуете потерять нужные вам письма.
Другой способ блокирования спама состоит в применении списков IP-адресов. Для того чтобы реализовать этот способ, надо указать в конфигурационном файле
m4
опцию
dnsbl
.
FEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected - see \
http://www.mail-abuse.org/rbl/')
Данная запись указывает
sendmail
на то, что при проверке входящей почты должен использоваться список
MAPS RBL
. Если вы хотите использовать другой список, вам надо изменить вторую опцию в данной записи. Последнее поле записи содержит строку, которая включается в состав возвращаемого сообщения. В этой строке вы можете указать отправителю адрес Web-узла, содержащего список IP-адресов, на основании которого было отвергнуто его сообщение. Если окажется, что корректное сообщение было заблокировано по ошибке, его автор сможет принять меры для того, чтобы разрешить проблему.
На заметку
В версии 8.10 программы
sendmail
порядок использования списков 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
можно также указывать адреса, не принадлежащие локальным пользователям. Например, наличие записи