Linux глазами хакера
Шрифт:
Лично для меня почтовый клиент стал основной программой, которой я пользуюсь чаще всего. Это переписка с читателями, друзьями, начальством и т.д. Так уж получилось, что люди, с которыми я работаю, находятся в других городах и даже странах. Расстояние до самых ближайших партнеров более 1000 км, а до издательства — 1600 км. Если раньше это было сопряжено с большими проблемами, то теперь, благодаря компьютеру, я могу жить в теплых краях, а выполнять работы для компании, которая находится на Аляске. Таким образом, легко сохранить ноги в тепле, а зарабатывать деньги в
Как работает электронная почта (E-mail)? Рассмотрим основные моменты отправки письма:
1. Пользователь создает в почтовом клиенте (программа электронной почты) письмо, указывает получателя и отправляет его почтовому серверу. В настоящее время для передачи сообщений чаще всего используются SMTP-серверы, а для работы с ними — SMTP-протокол.
2. Сервер, получив письмо, определяет место назначения. Адрес состоит из двух частей: имени пользователя и имени сервера, разделенных между собой знаком. Например, djon@servername.com. Здесь djon — это имя пользователя, а servername.com — имя сервера. С помощью DNS можно узнать IP-адрес сервера servername.com, которому должно быть доставлено письмо.
3. Письмо направляется серверу, на котором зарегистрирован получатель.
4. Получив письмо, сервер servername.com помещает его в почтовый ящик пользователя djon.
5. Пользователь просматривает свой почтовый ящик с помощью почтового клиента и может скачать письмо для чтения.
Описанный процесс похож на работу традиционной почты. Вместо серверов там выступают почтовые отделения, которые сортируют почту в зависимости от адреса назначения и передают письма на узел связи получателя.
Как я уже заметил, для передачи сообщений используется протокол SMTP, разработанный еще на заре становления Интернета. Его функций уже давно недостаточно, но он не утратил своей актуальности.
Несколько десятков лет назад для работы с почтой широко использовался протокол UUCP (Unix to Unix Copy, копирование между Unix-системами). Но он был слишком сильно привязан к ОС и при этом обладал ограниченными возможностями, поэтому не получил должного распространения и в настоящее время практически не используется.
Для приема почты есть три протокола:
1. POP3 — Post Office Protocol v3 (Почтовый протокол), в настоящее время наиболее распространенный протокол приема почты.
2. IMAP4 — существуют две интерпретации этого сокращения: Internet Message Access Protocol (Протокол доступа к сообщениям в сети Интернет) и Interactive Mail Access Protocol (Протокол интерактивного доступа к электронной почте). Этот протокол обладает большими возможностями по сравнению с POP3.
3. MAPI — Messaging Application Programming Interface (Интерфейс прикладного программирования электронной почты корпорации Microsoft), используется в сетях Microsoft на серверах Microsoft Exchange.
Самым распространенным средством доставки почты в Linux является самая старая программа sendmail. Она обладает большими возможностями, но достаточно сложна в использовании. Из-за своего почтенного возраста
Принцип же работы sendmail достаточно прост. Получив письмо от клиента, программа определяет получателя и заносит необходимую для доставки служебную информацию в заголовок этого письма. Дальнейшие действия зависят от настроек. Например, письмо может быть отослано немедленно или помещено в хранилище. Через определенные промежутки времени накопившиеся письма отправляются своим адресатам.
8.1. Настройка sendmail
Основной конфигурационный файл, который вам понадобится — /etc/sendmail.cf. Сервер sendmail имеет плохую репутацию в связи со сложностью настройки. Действительно, если даже бегло посмотреть на /etc/sendmail.cf, то делается жутко от одного только размера в 32 Кбайта (более 1000 строк). А если заглянуть внутрь файла, то становится еще страшнее от непонятных ключей и директив.
В файле конфигурации sendmail все параметры сгруппированы по разделам.
Разбиение оформляется в виде следующих строк:
Такой комментарий указывает на то, что далее идет раздел
□ Local info — локальная информация, основные сведения о сервере и домене;
□ Options — настройки работы программы sendmail;
□ Message precedences — приоритеты сообщений;
□ Trusted users — доверенные пользователи;
□ Format of headers — форматы заголовков.
Рассмотреть все настройки в этой книге невозможно, тем более что конфигурационный файл в моей системе занимал 50 Кбайт. Если расписывать каждый параметр, понадобится отдельное издание. Наша задача — эффективность и безопасность, поэтому рассмотрим только настройки, касающиеся этих вопросов, и испытаем sendmail в действии.
Для упрощения конфигурирования sendmail в последних версиях этого почтового сервиса используется новый файл — sendmail.mc, который можно найти в директории /etc/mail. Пример содержимого файла можно увидеть в листинге 8.1.