будет использовать базу данных для принятия решений о предоставлении доступа. Письма будут приниматься лишь от тех пользователей, которые работают на компьютерах, указанных в базе. Данную опцию удобно использовать для того, чтобы ограничить доступ к серверу некоторым набором узлов сети.
•
access_db
. Данная опция часто устанавливается по умолчанию при настройке
sendmail
. Подобно опции
relay_hosts_only
, она сообщает
sendmail
о том, что решение о предоставлении доступа должно приниматься на основе содержимого базы данных. Однако в данном случае в базе могут указываться не только
отдельные компьютеры, но и целые домены.
Внимание
Для управления ретрансляцией может использоваться также опция
promiscuous_relay
, но применять ее не рекомендуется. Она открывает доступ к серверу для любого компьютера. Сконфигурированный подобным образом сервер рано или поздно будет обнаружен спамерами и использован для передачи рекламных сообщений.
Ниже приведен пример записи в конфигурационном файле
m4
.
FEATURE(`access_db')
Данная запись часто устанавливается по умолчанию, но она не обеспечивает реальной ретрансляции писем, передаваемых с удаленных узлов, так как в файле
access.db
, автоматически создаваемом при установке системы, указывается только локальный домен.
Как вы уже знаете, при запуске программа
sendmail
читает содержимое файла
access.db
. Этот файл обычно хранится в каталоге
/etc
или
/etc/mail
и создается на базе файла
access
. Пример файла
access
приведен ниже.
# Разрешить прием писем с localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
# Разрешить прием писем из локальной сети
192.168.99 RELAY
Первые три записи присутствуют практически в любой конфигурации. Они сообщают sendmail о том, что программа должна принимать письма с локального узла. Эти записи обеспечивают работу локальных почтовых программ. Последняя запись указывает на то, что сервер должен принимать для ретрансляции письма, отправленные из сети 192.168.99.0/24. Вместо IP-адресов можно указывать доменные имена, но IP-адреса сложнее фальсифицировать, поэтому при использовании их повышается уровень безопасности системы.
Все приведенные примеры оканчиваются опцией
RELAY
, но кроме нее в файле access могут также использоваться и другие опции.
•
OK
. Эта опция сообщает
sendmail
о том, что локальные письма должны приниматься, несмотря на то, что другие правила требуют отвергать их.
•
RELAY
. Как вы, возможно, догадались, данная опция обеспечивает обработку писем, переданных с указанного компьютера или из указанного домена. Она также сообщает, что сервер должен передавать письма, поступившие на эти компьютеры или в эти домены.
•
REJECT
. Если вы собираетесь блокировать почту, поступающую с определенного узла или из определенного домена, вам следует использовать данную опцию. При этом письма будут возвращаться отправителю.
•
DISCARD
. Данная опция выполняет те же действия, что и
REJECT
, но письма не возвращаются отправителю.
•
nnn текст
. Эта опция также работает подобно REJECT, но в возвращаемое сообщение она включает код ошибки nnn и указанный текст.
Отредактировав файл
access
, вам необходимо сгенерировать двоичный файл базы данных. Для этого надо использовать команду
такая команда часто включается в сценарий запуска, поэтому вызывать ее вручную не всегда нужно. В любом случае
после внесения изменений в файл access необходимо перезапустить программу
sendmail
.
Настройка
sendmail
для передачи почты через ретранслятор
В предыдущем разделе рассматривался вопрос об использовании программы
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-адресов, на основании которого было отвергнуто его сообщение. Если окажется, что корректное сообщение было заблокировано по ошибке, его автор сможет принять меры для того, чтобы разрешить проблему.