Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl define(`confTO_QUEUEWARN', `4h')dnl

dnl define(`confTO_QUEUERETURN', `5d')dnl

dnl define(`confQUEUE_LA', `12')dnl

dnl define(`confREFUSE_LA', `18')dnl

dnl FEATURE(delay_checks)dnl

FEATURE(`no_default_msa',`dnl')dnl

FEATURE(`smrsh' ,`/usr/sbin/smrsh')dnl

FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

dnl This changes sendmail to only listen on the loopback

device 127.0.0.1

dnl and not on any other network devices. Comment this out if you want

dnl to accept email over the network.

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires

dnl a kernel patch

dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')

dnl We strongly recommend to comment this one out if you want to protect

dnl yourself from spam. However, the laptop and users on computers that do

dnl not have 24x7 DNS do need this.

FEATURE(`accept_unresolvable_domains')dnl

dnl FEATURE(`relay_based_on_MX')dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

Cwlocalhost.localdomain

С

помощью директивы FEATURE можно подключить ту или иную функцию программы sendmail. Например, функция mailertable предназначена для переопределения маршрутизации для конкретных доменов. Вы можете легко расширить функциональные возможности программы sendmail, добавив нужные вам функции в mc-файл.

Предположим, вы хотите, чтобы названия компьютеров домена были скрыты. Это легко достигается с помощью добавления функции masquerade_envelope в ваш mc-файл. Для этого скопируйте файл

redhat.mc
в файл
hide_hosts.mc
и добавьте в конец файла
hide_hosts.mc
строки:

MASQUERADE_AS(my-domain.ru)dnl

FEATURE(masquerade_envelope)dnl

Затем выполните команду:

# m4 /usr/share/sendmail-cf/cf/hide_hosts.mc > /etc/sendmail.cf

Вот и все! Названия узлов будут скрыты. Описание прочих функций представлено в таблице 14.1.

Функции программы sendmail Таблица 14.1

Функция Описание
access_db Определяет таблицу доступа. В этой таблице указаны узлы, которым разрешена или запрещена отправка почты через ваш почтовый сервер. Эта функция эффективно используется для борьбы со спамом
accept_unresolvable_domains Разрешает отправлять почту доменам, которые не могут быть распознаны
bestmx_is_local Сообщения будут приниматься только а том случае, если запись MX сервера DNS указывает на этот почтовый сервер
blacklist_recipients «Черный список». Еще одна функции дли борьбы со спамом. Для ее работы необходима функция access_db
dnsbl Используется дли работы с «черным списком», dnsbl — это сокращение от DNS Black List. В более ранних версиях эта опция называлась rbl (Resolve Black List)
domaintable Используется для разрешения имен доменов
genericstable Используется для изменения адреса отправки в сообщениях
local_procmail Указывает,
что доставлять почту нужно с помощью локальной утилиты procmail
mailertable Переопределяет маршрутизацию для конкретных доменов
masquerade_entire_domain Используется для маскировки (сокрытия) всего домена. Данная функция должна использоваться вместе с директивой MASQUERADE_AS (или MASQUERADE_DOMAIN), например, MASQUERADE_AS(f117.ru)dnl
masquerade_envelope Позволяет скрыть имена узлов домена. Заменяет поле received from заголовка сообщения перед передачей сообщения другим MTA
redirect Используется для перенаправления на другой почтовый сервер. Означает отказ от принятия почты с выдачей сообщения please try <address> (попытайтесь использовать этот адрес)
relay_based_on_MX Разрешает перенаправление (ретрансляцию) почты только для узлов, которые указаны в записях MX сервера DNS
relay_hosts_only Разрешает ретрансляцию только для узлов, указанных в access_db
relay_mail_from Разрешает ретрансляцию, только если отправитель указан в списке RELAY базы access_db
smrsh Использование ограниченной оболочки sendmail
use_cf_file При указании этой функции sendmail будет обращаться к файлу
sendmail.cf
за списком доверенных пользователей
use_cw_file При указании этой функции sendmail будет обращаться к файлу
sendmail.cw
за списком локальных узлов
virtuserlable Преобразует адрес получателя в адрес локального пользователя

В файле

/etc/mail/sendmail.cw
перечислены все псевдонимы вашего почтового сервера. Предположим, что имя вашего сервера mail.dhsilabs.ru. Если отправитель отправит почту по адресу den@mail.dhsilabs.ru, письмо будет без проблем доставлено пользователю den. А если кто-то отправит письмо по адресу den@dhsilabs.ru, то его доставка вызовет определенные трудности, так как не ясно, какому узлу домена dhsilabs адресовано сообщение. Для решения этой проблемы в файл sendmail.cw нужно поместить строку:

dhsilabs.ru

Теперь, когда будет приходить почта формата user@dhsilabs.ru, она будет доставлена почтовому серверу mail.dhsilabs.ru.

Напомню, что перед изменением файла

sendmail.cf
желательно остановить программу sendmail. Это делается с помощью команды:

# /etc/init.d/sendmail stop

Конечно, удобнее сначала отредактировать файл

sendmail.cf
с помощью m4, а потом выполнить команду
/etc/init.d/sendmail restart
для перезапуска программы sendmail.

14.2. Аутентификация в sendmail

14.2.1. Установка и настройка SASL

Программа Sendmail 8.10/8.11 поддерживает SMTP AUTH согласно стандарту RFC 2554. Аутентификация базируется на SASL (Simple Authentication and Security Layer). Она позволит вам несколько повысить безопасность вашей сети, но создаст определенные неудобства для пользователей, потому что не все почтовые клиенты (пользовательские агенты) ее поддерживают.

Первым делом убедитесь в том, что ваша сборка sendmail поддерживает библиотеку SASL:

# sendmail -d0.1 -bv root | grep SASL

При отсутствии поддержки SASL от вас потребуется перекомпилировать sendmail. Распаковав исходные коды в каталог sendmail-x.xx.xx, создайте файл

sendmail-x.xx.x/devtools/Site/site.config.m4
, в котором необходимо прописать следующие строки:

APPENDDEF(`confENVDEF', `-DSASL')

APPENDDEF(`conf_sendmail_LIBS', `-lsasl')

Поделиться:
Популярные книги

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Тринадцатый XII

NikL
12. Видящий смерть
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
7.00
рейтинг книги
Тринадцатый XII

Хозяин Теней 6

Петров Максим Николаевич
6. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 6

Зеркало силы

Кас Маркус
3. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Зеркало силы

Воронцов. Перезагрузка. Книга 4

Тарасов Ник
4. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 4

Газлайтер. Том 18

Володин Григорий Григорьевич
18. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 18

Старый, но крепкий

Крынов Макс
1. Культивация без насилия
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Старый, но крепкий

Потомок бога 3

Решетов Евгений Валерьевич
3. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Потомок бога 3

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Кодекс Крови. Книга ХIII

Борзых М.
13. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХIII

Виконт. Книга 3. Знамена Легиона

Юллем Евгений
3. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Виконт. Книга 3. Знамена Легиона

Второгодка. Книга 5. Презренный металл

Ромов Дмитрий
5. Второгодка
Фантастика:
городское фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Второгодка. Книга 5. Презренный металл