Рейтинговые книги
Читем онлайн Linux: Полное руководство - Денис Колисниченко

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 81 82 83 84 85 86 87 88 89 ... 158

Итак, приступим к настройке. Остановите сервис named.

Сгенерируйте общие ключи для каждой пары узлов. Общие ключи используются при «общении» первичного и вторичного серверов DNS.

[[email protected]] # dnssec-keygen -a hmac-md5 -b 128 -n HOST ns1-ns2 Kns1-ns2.+157+49406

Мы используем алгоритм HMAC-MD5, 128-битное шифрование, ns1-ns2 — это имя ключа. После выполнения этой команды будет создан файл Kns1-ns2.+176+40946.private. Откройте его в любом текстовом редакторе. Вы увидите примерно следующее:

Private-key-format: v1.2

Algorithm: 157 (HMAC_MD5)

Key: ms7dfts87Cjhj7FD91k7a3==

Ключ «ms7dfts87Cjhj7FD91k7a3==» и будет тем секретом, который будет передаваться между серверами. Запишите это значение на бумаге (которую потом нужно будет уничтожить) и удалите файлы Kns1-ns2.+157+49406.key и Kns1-ns2.+157+49406.private.

Добавьте в файлы конфигурации первичного и вторичного серверов DNS директивы, указывающие на использование ключа (листинги 13.8 и 13.9).

Листинг 13.8. Фрагмент файла named.conf первичного сервера DNS

key ns1-ns2 {

 algorithm hmac-md5;

 secret "ms7dfts87Cjhj7FD91k7a3==";

};

# прописываем вторичный сервер DNS — 192.168.1.2:

server 192.168.1.2 {

 keys { ns1-ns2; };

};

options {

 # разрешаем передачу зоны вторичному серверу DNS

 allow-transfer { 192.168.1.2; };

};

Листинг 13.9. Фрагмент файла named.conf вторичного сервера DNS

key ns1-ns2 {

 algorithm hmac-md5;

 secret "ms7dfts87Cjhj7FD91k7a3==";

};

# прописываем первичный сервер DNS — 192.168.1.1:

server 192.168.1.1 {

 keys { ns1-ns2; };

};

options {

 # никому не передаем зону

 allow-transfer { none };

};

Можно также настроить передачу зоны «по ключу». Для этого директива allow-transfer в файле конфигурации первичного сервера DNS должна выглядеть так:

allow-transfer { key ns1-ns2; };

Осталось только «спрятать» файлы конфигурации обоих серверов DNS от посторонних глаз — ведь они содержат ключи в открытом виде.

chmod 600 named.conf

Запустите сервис named. Теперь о его безопасности будет заботиться TSIG.

Глава 14

Почтовый сервер

Неискушенные пользователи обычно принимают за систему электронной почты ту программу, с помощью которой они читают и пишут сообщения (mail, pine, Netscape Messenger, MS Outlook Express). На самом деле эта система состоит из нескольких компонентов (рис. 14.1):

♦ пользовательские агенты — те самые mail, pine и т.п., реализующие интерфейс к системе пересылки почты;

♦ транспортный агент (MTA, Mail Transfer Agent), пересылающий сообщения с одного компьютера на другой;

♦ агент доставки, сортирующий почту и помещающий ее в ящики пользователей или другое хранилище сообщений;

♦ агент доступа, скачивающий доставленную почту из хранилища по протоколу POP или IMAP, и агент подачи, доставляющий письма от пользователей на сервер исходящих сообщений по протоколу SMTP. В качестве агента подачи может работать транспортный агент.

Рис. 14.1. Структура почтовой системы

При установке почтового сервера в сети организации или в любой другой компьютерной сети необходимо настраивать именно транспортный агент. Основными транспортными агентами пересылки почты на сегодняшний день являются sendmail, postfix и qmail. Кроме основной функции — пересылки сообщений электронной почты — каждый их них имеет собственные эксклюзивные возможности.

Старейшим транспортным агентом, фактическим стандартом, работавшим еще в самых ранних версиях UNIX, является sendmail. Разработчики qmail обратили особое внимание на обеспечение безопасности: до 1998 года реализация функций защиты в sendmail до такой степени оставляла желать лучшего, что в конференциях вообще не рекомендовалось ее использовать. Программа postfix считается проще других в настройке.

Я решительно предпочитаю sendmail, которая в настоящее время обеспечивает должный уровень безопасности и настраивается достаточно легко. В этой главе я объясню, как настроить sendmail для организации небольшого почтового сервера с использованием протокола SMTP. В качестве агента доставки я рассмотрю procmail, а в качестве агента доступа, работающего по протоколу POP3, — программу fetchmail. Для заинтересовавшихся я разместил на сайте http://dkws.narod.ru руководство по настройке qmail.

Вкратце напомню о протоколах SMTP и POP, которые будем конфигурировать:

♦ SMTP (Simple Mail Transfer Protocol) — сервис в сетях TCP/IP для передачи почтовых сообщений. Обычно для SMTP используется порт 25 (см. файл /etc/services).

♦ POP (Post Office Protocol) — используется для получения почты с сервера. Порт по умолчанию — 110 (для протокола POP3).

14.1. Установка и настройка sendmail

Программа sendmail устанавливается из пакета sendmail, входящего в состав Red Hat-совместимых дистрибутивов. Я использую пакет sendmail-8.11.0. Последнюю версию sendmail можно скачать по адресу www.sendmail.org.

Прежде чем приступить к настройке sendmail, вам необходимо правильно настроить DNS. Настройка сервера DNS подробно обсуждалась в главе 13. Необязательно настраивать сервер DNS на том же компьютере, где будет работать sendmail: достаточно будет указать DNS-сервера вашей сети в файле /etc/resolv.conf, чтобы система разрешения имен корректно работала. Впрочем, sendmail можно настроить для работы и без использования DNS, но этот вариант я рассматривать не буду.

14.1.1. Базовая настройка sendmail

Основным файлом конфигурации sendmail является sendmail.cf, расположенный в каталоге /etc/mail (в некоторых дистрибутивах — /etc, смотри rpm -ql sendmail). Об этом файле говорят, что он длиннее, чем лимузин у Билла Гейтса, и что его редактирование происходит в режиме «глаза боятся, руки делают». Если вы не верите мне, откройте этот файл, и вы убедитесь в этом. Редактировать данный файл вручную могут только профессионалы-администраторы или разработчики программы sendmail.

К счастью, базовую настройку sendmail можно выполнить при помощи графического конфигуратора netconf. К сожалению, этот конфигуратор (точнее, пакет linuxconf, в который он входит) в современные дистрибутивы включать перестали. Но не все потеряно: его можно скачать с сайта разработчика http://www.solucorp.qc.ca/linuxconf. Многие опытные пользователи Linux критически относятся к возможностям пакета linuxconf и предпочитают прямое редактирование конфигурационных файлов, но для новичка эти утилиты, несомненно, удобнее.

Запустите утилиту netconf из-под суперпользователя (рис. 14.2).

Рис. 14.2. Конфигуратор netconf

Выберите в меню Mail delivery system, затем Configure basic information. В поле Present your system as просто введите свое доменное имя. Затем обязательно отметьте флажок Accept email for ваш_домен (рис. 14.3).

Рис. 14.3. Основная конфигурация sendmail

Если вы этого не сделаете, через ваш сервер можно будет перенаправить сообщения на другой сервер — а это лишний трафик через вас, который вам совсем ни к чему. Когда-то даже существовал такой вид атаки на отказ через электронную почту: письмо от несуществующего пользователя [email protected] другому несуществующему пользователю [email protected] отправлялось через компьютер host.com, который позволял перенаправлять сообщения (не включив режим Accept email for host.com). Обратно шло сообщение о том, что адресат не существует, но и оно не могло быть доставлено по той же причине... возникала косвенная рекурсия, и сервер host.com падал.

В качестве протокола отправки сообщений (Mail gateway protocol) установите smtp. Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал.

Теперь сделайте так, чтобы sendmail принимал почту только с разрешенных адресов. Для этого даже не нужно настраивать сам sendmail — достаточно только подправить файлы /etc/hosts.allow и /etc/hosts.deny. Например, для запрещения доступа всем узлам, кроме компьютеров вашей сети, в файл /etc/hosts.allow добавьте строку

192.168.1.

Здесь имеется в виду, что сеть имеет адрес 192.168.1.0 и маску 255.255.255.0. Точка в конце образца требует сравнивать с образцом первые группы цифр адреса узла. Подробнее о формате файлов hosts.allow и hosts.deny вы можете прочитать, введя команду man hosts.allow.

Теперь настала очередь POP3. После установки пакета imap у вас практически все настроено, т.е. я хочу сказать, что уже можно проверять конфигурацию. Перезапустите супердемон inetd (xinetd) и введите следующее:

1 ... 81 82 83 84 85 86 87 88 89 ... 158
На этой странице вы можете бесплатно читать книгу Linux: Полное руководство - Денис Колисниченко бесплатно.
Похожие на Linux: Полное руководство - Денис Колисниченко книги

Оставить комментарий