##################
Такой комментарий указывает на то, что далее идет раздел local info. Таких секций несколько, например:
□ Local info — локальная информация, основные сведения о сервере и домене;
□ Options — настройки работы программы sendmail;
□ Message precedences — приоритеты сообщений;
□ Trusted users — доверенные пользователи;
□ Format of headers — форматы заголовков.
Рассмотреть все настройки в этой книге невозможно, тем более что конфигурационный файл в моей системе занимал 50 Кбайт. Если расписывать каждый параметр, понадобится отдельное издание. Наша задача — эффективность и безопасность, поэтому рассмотрим только настройки, касающиеся этих вопросов, и испытаем sendmail в действии.
Для упрощения конфигурирования sendmail в последних версиях этого почтового сервиса используется новый файл — sendmail.mc, который можно найти в директории /etc/mail. Пример содержимого файла можно увидеть в листинге 8.1.
Листинг 8.1. Фрагмент файла /etc/mail/sendmail.mc
divert(-1)
dnl This is the sendmail macro config file. If you make changes to this file,
dnl you need the sendmail-cf rpm installed and then have to generate a
dnl new /etc/sendmail.cf by running the following command:
dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include('/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID('linux setup for ASPLinux')dnl
OSTYPE('linux')
dnl Uncomment and edit the following line if your mail needs to be sent out
dnl through an external mail server:
dnl define('SMART_HOST','smtp.your.provider')
define('confDEF_USER_ID',''8:12'')dnl
undefine('UUCP_RELAY')dnl
undefine('BITNET_RELAY')dnl
...
...
Файл sendmail.mc имеет более простой формат, чем старый sendmail.cf, благодаря чему уменьшается вероятность допустить ошибку при конфигурировании. После исправлений sendmail.mc необходимо конвертировать в формат CF специальной командой, в результате чего получается файл /etc/sendmail.cf.
Мы в основном будем рассматривать параметры, которые нужно устанавливать в файл sendmail.cf, а если описывается параметр sendmail.mc-файла, то я буду явно указывать на это.
В гл. 2 я уже упоминал, что загрузка Linux может зависать при старте сервиса sendmail. Это происходит из-за того, что ваш почтовый сервер не может определить имя компьютера. Откройте файл /etc/hosts. В нем чаще всего будет только одна строка:
127.0.0.1 localhost.localdomain localhost
Подробно этот файл будет описан в гл. 11, когда мы будем рассматривать DNS. Сейчас нам надо знать, что эта строка описывает IP-адрес 127.0.0.1, который соответствует имени localhost. В любой системе такие адрес и имя указывают на вашу локальную машину. Когда в сетевых программах вы указываете localhost, то это имя преобразуется в IP-адрес 127.0.0.1.
Программа sendmail использует имя компьютера, которое вы указали во время установки ОС Linux. Выполните команду hostname, чтобы узнать его. В моем случае это FlenovM. Так уж получилось, что все сетевые обращения происходят не по имени, а по IP-адресу, a sendmail не может определить адрес по имени FlenovM, поэтому происходит зависание. Чтобы исправить эту ситуацию, добавьте в файл /etc/hosts строку:
192.168.77.1 FlenovM FlenovM
Только FlenovM нужно заменить на имя вашего компьютера и указать свой IP-адрес. После этого программу sendmail можно помещать в автозапуск, и она будет работать великолепно даже с настройками по умолчанию.
Каждому пользователю системы автоматически создается почтовый ящик, и если сервис sendmail запущен, то им уже можно пользоваться. Все почтовые ящики хранятся в директории /var/spool/mail/. Их имена соответствуют именам пользователей. Так для учетной записи root ящик будет расположен в папке /var/spool/mail/root.
Для работы с почтой нам нужен почтовый клиент, который будет отправлять письма серверу и принимать от него новые сообщения. Таких программ существует множество, и в некоторых дистрибутивах Linux я насчитывал до 7 различных клиентов. Какой выберете вы, зависит только от личных предпочтений.
Можно обойтись и без клиента, а соединение с сервером осуществлять напрямую через сервис Telnet. Благо команды SMTP достаточно простые и их легко использовать. В этом случае для отправки почты нужно подключиться к 25 порту (SMTP-порт), а для получения — к 110 (порт POP3).
8.2. Работа почты
Рассмотрим работу ящиков на примере почтового клиента KMail — графическая программа, которая у вас должна быть, если установлен KDE. Для ее запуска из главного меню Linux выберите строку Internet/KMail. Перед вами откроется окно, как на рис. 8.1.
Рис. 8.1. Главное окно программы KMail
Программа еще не знает, с каким почтовым ящиком мы хотим работать, это необходимо настроить. Нажмите меню Settings/Configure KMail. Перед вами откроется окно конфигурации. Выберите раздел Network, и вы увидите окно из двух вкладок: Sending и Receiving.
Рис. 8.2. Окно сетевых настроек
На вкладке Sending мы должны указать параметры сервера, через который будет происходить отправка. По умолчанию уже настроен локальный sendmail, но если почтовый сервер расположен на другом компьютере? Давайте удалим существующую запись (выделите и нажмите кнопку Remove), а потом создадим свою.
Нажмите кнопку Add для добавления новой записи. Перед вами появится окно выбора протокола: SMTP или Sendmail. Выбираем SMTP, как наиболее универсальный вариант. Вслед за этим откроется окно, в котором нужно указать параметры SMTP-сервера, через который мы будем посылать почту (рис. 8.3).
Рис. 8.3. Окно настроек SMTP-сервера
В этом окне нам нужно заполнить следующие поля:
□ Name — имя сервера, которое может быть любым;
□ Host — адрес SMTP-сервера. Если вы используете локальный сервер, то можно указать localhost или 127.0.0.1;
□ Port — порт SMTP-сервера. Чаще всего используется 25 порт, но это значение может быть изменено;
□ если сервер требует аутентификации, то поставьте галочку в Server requires authentication и заполните открывшиеся поля Login и Password.
Если вы не первый день в Интернете и работали с электронной почтой, то процесс создания параметров SMTP-сервера не должен вызвать проблем.
Теперь рассмотрим настройку сервера для чтения почты. Перейдите на вкладку Receiving, и вы увидите список серверов. Выделите имеющиеся записи и удалите. Нажмите кнопку Add, чтобы добавить сервер, через который мы будем получать почту. Перед вами откроется окно, в котором нужно выбрать тип сервера: Local mailbox, POP3, IMAP, Maildir Mailbox. Чаще используется POP3, и процесс его создания схож с SMTP-сервером. Вы также должны указать адрес сервера, порт (по умолчанию 110) и имя с паролем.
Наиболее интересным может оказаться использование локального ящика. Даже если SMTP-сервер не установлен, в системе создается директория с локальным почтовым ящиком, куда для администратора root помимо привычных E-mail попадают извещения по безопасности. Если вы работаете в консоли и увидели сообщение типа "You have new mail", то это означает, что в ваш ящик в локальной директории попало новое сообщение. Для его проверки лучше всего использовать почтовый клиент.
Итак, создадим новую учетную запись, чтобы можно было в удобном виде читать сообщения по безопасности. Щелкните кнопку Add, и перед вами появится окно выбора типа сервера. Укажите тип ящика Local mailbox и нажмите кнопку OK. Вы увидите окно создания нового аккаунта, как на рис. 8.4.
Рис. 8.4. Окно настроек аккаунта Local Mailbox
Здесь необходимо заполнить следующие поля:
□ Name — имя записи, может быть любым;
□ Location — расположение локального ящика. По умолчанию все ящики хранятся в директории /var/spool/mail/имя, где имя — это имя пользователя. Для администратора root размещение будет /var/spool/mail/root.
Остальные параметры, чаще всего, остаются заданными по умолчанию, если администратор не натворил чего-то особого в конфигурации.
Попробуйте прочитать почту разными протоколами. Убедитесь, что сообщения приходят на ваш почтовый ящик и доходят до получателя. Даже с настройками по умолчанию все должно работать верно. В дальнейшем мы рассмотрим некоторые специфичные настройки, которые помогут сделать ваш почтовый сервер более безопасным, но прежде чем приступать к улучшениям, нам нужно удостовериться, что работает базовый вариант.
8.2.1. Безопасность сообщений
E-mail-сообщения пересылаются по сети в виде чистого текста. Если злоумышленник перехватит такое сообщение, то без проблем сможет его прочитать. При передаче конфиденциальной информации необходимо использовать шифрование.
Наиболее распространенными методами шифрования на данный момент являются: