Опубликован: 21.11.2006 | Уровень: специалист | Доступ: платный
Лекция 1:

Принципы организации систем электронной почты

Лекция 1: 123456 || Лекция 2 >

Агент передачи сообщений (Mail Transfer Agent (MTA))

Вместе с пользовательским агентом (MUA), отображающим сообщения электронной почты из почтового ящика пользователя, существует необходимость в еще одном типе программ, в функции которого входило бы собственно извлечение сообщений из почтового ящика. Для выполнения этих функций и был разработан агент передачи сообщений, сокращенно — MTA (Mail Transfer Agent). Агенты MTA отвечают за пересылку сообщений электронной почты от одного пользователя другому. Получателями могут быть как пользователи одной системы, так и удаленных систем. Агент передачи сообщений отвечает также за маршрутизацию почтового сообщения всеми доступными средствами для доставки его получателю. Часто между передающим и принимающим хостами бывает несколько почтовых узлов. На рис. 1.5 приведен пример взаимодействия между MTA по доставке сообщения.

Применение MTA для формирования маршрута доставки сообщения в пункт назначения

Рис. 1.5. Применение MTA для формирования маршрута доставки сообщения в пункт назначения

Если агент передачи сообщений не может найти прямого пути к агенту передачи сообщений получателя, он должен определить другое подходящее место (сервер) для пересылки сообщения либо вернуть его отправителю с пометкой о невозможности отправки. Каждый агент MTA на пути следования сообщения берет на себя ответственность по доставке сообщения в конечный пункт назначения, в случае же невозможности доставки он обязан вернуть его отправителю.

Для операционной системы Linux в настоящее время существует несколько различных программ агентов передачи сообщений. В каждой из них имеются свои отличительные особенности. В этом разделе мы рассмотрим несколько основных программ агентов MTA, которые наиболее широко используются сегодня.

Программа sendmail

Программа sendmail является на сегодняшний день одним из наиболее популярных агентов передачи сообщений для платформы Linux. Ее продвижение и поддержку осуществляет sendmail Consortium (http://www.sendmail.org) и корпорация sendmail, Inc.

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

Входящие сообщения проходят через сложную систему правил, которые используются для фильтрации сообщений, приходящих в систему. Правила фильтрования также хранятся в файле конфигурации (отсюда и немалый его размер). Сообщения могут проверяться по содержанию заголовка и обрабатываться в соответствии либо с информацией об отправителе, либо с данными о получателе сообщения. Исходящие сообщения должны правильно маршрутизироваться в соответствии с местонахождением получателя. Конфигурирование sendmail должно производиться в соответствии с особенностями подключения вашего сервера электронной почты к сети Internet. Довольно часто почтовый сервер на базе ОС Linux для небольшого офиса конфигурируется для передачи всех исходящих сообщений провайдеру услуг Internet, который затем ретранслирует их в соответствующие пункты назначения. Такой способ передачи почты называется способом с использованием "интеллектуального хоста".

Цель автора курса — разъяснить некоторые сложности в работе с программой sendmail. В этой программе заложено много интересных возможностей. Но несмотря на то что о sendmail было издано много фундаментальных книг, довольно часто их идея сводится лишь к установке переменных в конфигурационном файле sendmail для работы в небольших организациях. В этом курсе файл конфигурации также описывается довольно подробно (для тех читателей, которые хотят осуществить серьезную модификацию программы sendmail ), но мы также остановимся и на минимальных изменениях конфигурации, которые нужно произвести при подключении офисного сервера электронной почты на базе Linux к провайдеру услуг Internet.

Программа smail

Программа smail является еще одним довольно популярным агентом передачи сообщений (MTA) для платформы Linux. Ее поддержку осуществляет GNU Project (http://www.gnu.org). GNU Project является основным распространителем ОС Linux. Более подробно об этой организации читайте в "Использование ОС Linux в качестве сервера электронной почты" , "Использование ОС Linux в качестве сервера электронной почты".

Программа smail использует большинство возможностей программы sendmail, но ее намного проще конфигурировать. Стандартный файл конфигурации smail включает в себя менее 20 строк кода, т.е. он гораздо меньше, чем в sendmail.

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

Программа qmail

Программа qmail — еще один MTA для Linux. Ее обслуживанием и поддержкой занимается Дэн Берстейн (Dan Berstein) (http://www.qmail.org). Она заявлена как самый безопасный пакет для работы с электронной почтой, доступный для платформы Linux. Для поддержания высокого уровня безопасности программа qmail использует несколько идентификаторов пользователей и групп, которые следует предварительно задать в системе под управлением ОС Linux. Каждый идентификатор пользователя используется как владелец определенной области Linux-сервера. Это позволяет программе qmail ограничить доступ к сообщениям электронной почты злоумышленникам, разрешая доступ к почтовому ящику лишь зарегистрированному пользователю. Кроме того, создатели qmail весьма оригинально решили проблему хранения сообщений. Так, программы sendmail и smail хранят сообщения в формате ASCII и в очереди, и в электронном почтовом ящике. Программой qmail используется нестандартный метод помещения сообщений в очередь и почтовые ящики пользователей. Этот метод имеет высокий коэффициент восстановления в случае выхода из строя системы. Очень часто при выходе из строя системы на базе Linux во время получения или сохранения сообщения, оно (а иногда и весь почтовый ящик) становится искаженным и не читается. Программа qmail повышает шансы на восстановление целостности сообщений электронной почты.

Программа exim

Кембриджским университетом была разработана собственная программа — exim (http://www.exim.org). Программа exim недавно приобрела широкую популярность благодаря высокой защищенности от хакеров и спамеров. Хакерами называют людей, которые пытаются проникнуть в чужие системы через дыры в безопасности программного обеспечения. Спамеры — это люди, которые рассылают огромные объемы, как правило, нежелательной электронной корреспонденции, главным образом рекламного характера.

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

Лекция 1: 123456 || Лекция 2 >
Valentin Diduk
Valentin Diduk
Украина, одесса, кпи, 2010
Евгений Олабин
Евгений Олабин
Беларусь, Гродно