Родерик Смит - Сетевые средства Linux
Листинг 11.2. Пример сеанса IMAP-4
$ telnet nessus 143
Trying 192.168.1.3...
Connected to nessus.rodsbooks.com.
Escape character is '^]' .
* OK nessus.rodsbooks.com IMAP4rev1 v12.264.phall server ready
A1 LOGIN rodsmith password
A1 OK LOGIN completed
A2 SELECT Inbox
* 1 EXISTS
* NO Trying to get mailbox lock from process 29559
* 1 RECENT
* OK [UIDVALIDITY 997295985] UID validity status
* OK [UIDNEXT 4] Predicted next UID
* FLAGS (Answered Flagged Deleted Draft Seen)
* OK [PERMANENTFLAGS (* Answered Flagged Deleted Draft Seen)]
Permanent flags
* OK [UNSEEN first unseen message in /var/spool/mail/rodsmith
A2 OK [READ-WRITE] SELECT completed
A3 FETCH 1 BODY [HEADER]
* 1 FETCH (BODY[HEADER] {494}
>From rodsmith Wed Aug 8 16:02:47 2001
Return-Path:
Delivered-To: [email protected]
Received: from speaker.rodsbooks.com (speaker.rodsbooks.com [192.168.1.1])
by nessus.rodsbooks.com (Postfix) with SMTP id 2C7121A2BD
for < [email protected]>; Wed, 8 Aug 2001 16:02:25 -0400 (EDT)
Message-Id: < [email protected]>
Date: Wed, 8 Aug 2001 16:02:25 -0400 (EDT)
From: [email protected]
To : undisclosed-recipients: ;
)
* 1 FETCH (FLAGS (Recent Seen))
A3 OK FETCH completed
A4 FETCH 1 BODY [TEXT]
* 1 FETCH (BODY[TEXT] {25}
This is a test message.
)
A4 OK FETCH completed
A5 COPY 1 demos
A5 OK COPY completed
A6 LOGOUT
* BYE nessus.rodsbooks.com IMAP4rev1 server terminating connection
A6 OK LOGOUT completed
Connection closed by foreign host.
Листинг 11.2 демонстрирует дополнительные возможности IMAP, которые отсутствуют в протоколе POP. IMAP требует от клиента передавать ему нумерованные команды, например, вместо LOGOUT в листинге указано A6 LOGOUT. Эта особенность скрыта от пользователя, так как обработка команд полностью производится клиентской программой. IMAP позволяет копировать заголовки отдельно от текста сообщений (команды A3 и A4 в приведенном листинге). Использование папок предполагает выбор нужной папки в ходе сеанса взаимодействия (команда A2), но пользователь получает возможность копировать письма из одной папки в другую (команда A5). В листинге 11.2 представлена лишь часть возможностей IMAP. Существует много разновидностей приведенных команд, в частности, различные способы обработки писем обеспечиваются с помощью команды FETCH. Дополнительные сведения о протоколе IMAP можно получить в специальных документах, один из которых находится по адресу http://www.ietf.org/rfc/rfc2060.txt.
Несмотря на то что рассмотрение низкоуровневых команд позволяет получить представление о работе IMAP, вам, как системному администратору, вряд ли необходимо знать детали функционирования этого протокола. Однако наличие некоторых команд оказывает влияние на конфигурацию сервера. Поскольку IMAP позволяет работать с папками, эти папки надо где-то хранить. Расположение папок зависит от используемого сервера. В настоящее время наиболее популярен сервер IMAP, разработанный в Вашингтонском университете (UW IMAP; http://www.washington.edu/imap/). Этот сервер хранит все папки в рабочем каталоге пользователя. Исключение составляет папка INBOX, которая находится в одном из стандартных каталогов, используемых почтовой системой, а именно, в /var/spool/mail/имя_пользователя. Когда пользователь впервые обращается к серверу IMAP, для него существует только папка INBOX. В процессе работы пользователь может создавать новые папки, применяя для этого соответствующие команды программы просмотра почты. Получив подобную команду, сервер UW IMAP создает каталог в рабочем каталоге пользователя. Прочие серверы используют для организации папок другие каталоги. Необходимые сведения по этому вопросу вы можете получить из документации на конкретный сервер. Выполняя администрирование системы, необходимо знать, где размещаются папки, чтобы выделить необходимое для них дисковое пространство. Это особенно важно на крупных серверах, обслуживающих большое количество пользователей, либо в тех случаях, когда пользователи хранят на сервере почтовые сообщения большого объема.
Выбор протокола
Выбор протокола получения почты зависит от имеющихся в наличии ресурсов и от того, какие клиентские программы применяют пользователи. Не секрет, что на решение вопроса большое влияние оказывают вкусы и привычки самого системного администратора. При использовании протокола POP требования к ресурсам сервера и пропускной способности линии минимальны, поскольку подавляющее большинство пользователей не хранят письма на сервере, а копируют их на клиентские машины. Некоторые пользователи предпочитают работать с сервером IMAP. Чтобы организовать функционирование такого сервера, необходимы дополнительные ресурсы, в частности, для хранения писем на сервере потребуется жесткий диск большего объема. В составе почтовых систем серверы POP используются чаще, чем IMAP, поэтому, если вы установите сервер IMAP, желательно установить на том же компьютере и сервер POP. При этом дополнительная нагрузка на компьютер практически не будет ощущаться, но пользователи, которые работают с клиентскими программами, не поддерживающими IMAP, смогут получать свои письма. POP-клиент может очистить папку INBOX, но он не разрушает папки, созданные сервером IMAP. С другой стороны, использование дополнительного почтового сервера нежелательно с точки зрения безопасности системы. Если в защите сервера POP будут обнаружены недостатки, позволяющие проникать в систему, наличие такого сервера создаст дополнительную возможность незаконного доступа к данным.
ВниманиеПо умолчанию серверы POP и IMAP передают всю информацию, включая пароль, в незашифрованном виде. Поэтому пароли, используемые для получения почты, не следует применять в других целях, а в особенности для регистрации в системе. Существуют также защищенные варианты серверов POP и IMAP, в которых для передачи данных используется SSL-соединение. Несмотря на то что такие серверы сложнее настроить, это необходимо сделать, если в письмах могут содержаться секретные данные. Принять меры защиты особенно важно, когда обращение к серверам POP и IMAP может осуществляться через Internet. Если вы хотите ограничить доступ к серверам получения почты только компьютерами локальной сети, вы можете применить TCP Wrappers либо задать соответствующие правила xinetd. Кроме того, запретить обращение к серверам извне можно, настроив соответствующим образом брандмауэр.
Обеспечение работы по протоколу POP
Как правило, для обеспечения работы сервера POP не приходится затрачивать больших усилий. Чаще всего, настройка не требуется, и вам достаточно лишь запустить сервер. Тем не менее следует убедиться, что выбранная вами программа сервера совместима с сервером SMTP. He менее важно обеспечить совместимость с форматом хранения писем. В настоящее время используются два таких формата: mbox (почтовый ящик) и maildir (почтовый каталог). Большинство серверов, например sendmail, Postfix, and Exim, по умолчанию используют формат mbox, но в некоторых серверах, например в qmail, изначально включен режим работы с maildir. Серверы Postfix, Exim и qmail можно настроить на использование как mbox, так и maildir. Выбранный вами сервер POP должен предоставлять возможность чтения писем в том формате, в котором их записывает сервер SMTP.
Серверы POP для Linux
Серверы POP входят в состав практически каждого дистрибутивного пакета Linux. Как правило, самым простым решением является использование сервера, поставляемого вместе с системой, но если вы перенастроите сервер SMTP для хранения писем в другом формате, вам, возможно, придется заменить сервер POP программой, в которой предусмотрена поддержка этого формата. Ниже перечислены некоторые программные продукты, обеспечивающие работу сервера POP.
• UW IMAP. Сервер IMAP, созданный в Вашингтонском университете (http://www.washington.edu/imap/), может также работать в режиме сервера POP. Этот сервер поставляется со многими версиями Linux и поддерживает формат mbox, используемый по умолчанию многими серверами SMTP.
• Cyrus IMAP. Подобно UW IMAP, Cyrus IMAP (http://asg.web.cmu.edu/cyrus/imapd/) наряду с IMAP поддерживает протокол POP. Данный сервер использует для хранения поступающей корреспонденции формат mbox.
• nupop. Сервер nupop (http://nupop.sourceforge.net) предназначен для работы на крупных узлах, его имеет смысл устанавливать в том случае, если ваша почтовая система должна обслуживать большое количество пользователей. Данный продукт ориентирован на использование формата maildir, поэтому лучше всего он взаимодействует с сервером qmail.
• Courier. Продукт Courier (http://ww.courier-mta.org) реализует функции серверов POP, IMAP и SMTP. Серверы Courier POP и IMAP доступны в виде отдельного пакета Courier-IMAP (http://www.inter7.com/courierimap/). Эти серверы используют формат maildir.