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

Установка и конфигурирование POP3 и IMAP

Конфигурирование UW POP3

Для обеспечения нормальной работы программного обеспечения сервера UW POP3 его необходимо установить и соответствующим образом сконфигурировать. Вначале необходимо скопировать выполняемые файлы в общий каталог. Поскольку программы ipop3d и imapd сконфигурированы для использования совместно c программой tcpd, то лучше всего поместить их в каталог /usr/sbin. Однако программа ipop3d находится в подкаталоге ipopd каталога imap-4.7.BETA. В этот же каталог помещается и сервер POP2 — ipop2d. Это делается лишь с целью обеспечения совместимости со старыми почтовыми программами, в которых отсутствует поддержка протокола POP3. Если создается новая система электронной почты, то желательно, конечно, обеспечить поддержку протокола POP3 в ней. Для работы с почтовым сервером по протоколу POP3 имеется достаточно программ, реализующих функции клиентов электронной почты (см. "Конфигурирование клиентов ЛВС" , "Конфигурирование клиентов ЛВС"). Помните, что копирование файла ipop3d в каталог /usr/sbin должно выполняться с правами пользователя root.

После того как выполняемые модули помещены в соответствующий каталог, необходимо настроить файлы конфигурации inetd. Вначале измените файл /etc/services. Убедитесь, что в нем сконфигурирован соответствующий порт TCP. Строка конфигурации для разрешения работы POP3 должна выглядеть примерно так:

pop-3 110/tcp # POP version 3

Эта строка сообщает программе inetd о возможности соединения с портом TCP номер 110. Причем инициировать соединение может программа, определенная в строке файла /etc/inetd.conf, которая описана меткой pop-3.

В конфигурационном файле определяется, где расположены выполняемые модули. При установлении соединения они будут вызываться именно из каталогов, указанных в этом файле. Строка в файле /etc/inetd.conf для организации работы по протоколу POP3 выглядит следующим образом:

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

В строке определяется, что программы tcpd и ipop3d должны находиться в каталоге /usr/sbin. Метка pop-3 в данном случае указывает на такую же метку в файле /etc/services.

Чтобы настройки, заданные в файле inetd.conf, возымели действие, необходимо перезапустить демон-процесс inetd. Для этого процессу посылается сигнал SIGHUP. Ниже приведены команды, с помощью которых можно перезапустить процесс-демон:

[root@shadrach erin]# ps ax | grep inetd
327 ? S 0:00 inetd
12600 pts/2 S 0:00 grep inetd
[root@shadrach erin]# kill -HUP 327
[root@shadrach erin]#

После перезапуска демона inetd можно провести тестирование программного пакета UW IMAP. В листинге 12.7 показан пример тестирования сервера POP3.

1 [lizzy@shadrach lizzy]$ telnet localhost 110
2 Trying 127.0.0.1...
3 Connected to localhost.
4 Escape character is '^]'.
5 +OK POP3 localhost v7.63 server ready
6 USER lizzy
7 +OK User name accepted, password please
8 PASS SINGING
9 +OK Mailbox open, 5 messages
10 QUIT
11 +OK Sayonara
12 Connection closed by foreign host.
13 [lizzy@shadrach lizzy]$
Листинг 12.7. Пример сеанса с сервером POP3

В строке 1 листинга 12.7 показана организация сеанса программы telnet с портом POP3 — 110. В строке 5 вы видите стандартное сообщение сервера UW POP3, в котором говорится, что сервер запущен и готов к работе.

Одна из дополнительных возможностей, которые обеспечивает сервер UW POP3, — использование АРОР для аутентификации пользователей. Реализация АРОР в UW POP3 намного проще, чем в qpopper, но служит той же цели.

Обнаружив файл /etc/cram-md5.pwd, сервер UW POP3 автоматически обеспечивает поддержку протоколов аутентификации APOP и CRAM-MD5. В обоих случаях используется один и тот же алгоритм хеширования ключа с определенным значением для создания зашифрованного пароля, который затем будет применяться при аутентификации. Как уже было описано в "Протокол POP3" , значение, с которым проводится хеширование, представляется в стандартном приглашении сервера POP3. Для успешной аутентификации и клиент, и сервер должны заранее знать ключ, чтобы хешировать его с заданным значением.

При работе с пакетом UW POP3 ключи хранятся в файле /etc/cram-md5.pwd. В каждой строке этого файла хранятся имя пользователя и ключ, который будет им использоваться. В листинге 12.8 представлен пример файла /etc/cram-md5.pwd.

1 rich guitar
2 barbara reading
3 riley firetruck
4 haley starwars
5 katie boxcar
6 jessica sharks
Листинг 12.8. Пример файла /etc/cram-md5.pwd

Как видно из листинга 12.8, база данных cram-md5.pwd является текстовой. Для того чтобы защитить пароли от посторонних, задайте режим доступа к файлу 600, таким образом, другие пользователи в системе не смогут просмотреть его. Это означает, что администратору почтовой системы для изменения паролей необходимо обладать правами пользователя root. Это также означает, что пользователи не смогут изменять свои пароли самостоятельно.

Для того чтобы проверить, включена ли поддержка АРОР, подключитесь с помощью telnet к порту 110 для работы по протоколу POP3. При этом вы должны увидеть в приглашении сервера значение, с которым будет производиться хеширование. В листинге 12.9 представлен пример сеанса работы сервера POP3 с поддержкой АРОР.

1 [kevin@shadrach kevin]$ telnet localhost 110
2 Trying 127.0.0.1...
3 Connected to localhost.
4 Escape character is '^]'.
5 +OK POPS v7.63 server ready <4d61.380e35cc@localhost>
6 USER kevin
7 +OK User name accepted, password please
8 PASS dinosaur
9 +OK Mailbox open, 0 messages
10 QUIT
11 +OK Sayonara
12 Connection closed by foreign host.
13 [kevin@shadrach kevin]$
Листинг 12.9. Пример сеанса работы сервера POP3 с поддержкой АРОР

Здесь, как и в предыдущем листинге, представлен пример сеанса telnet с портом сервера POP3. Однако стандартное приглашение сервера в строке 5 отличается от представленного в листинге 12.7. Как видите, в данном случае в нем приводится значение АРОР. В строке 6 демонстрируется работа АРОР в программе UW POP3. В отличие от qpopper, пользователи UW POP3 могут подключаться к серверу как с помощью АРОР, так и посредством обычного имени и пароля. Это частично решает проблему тех пользователей, которые подключаются к почтовому серверу с различных ПК и с помощью различных почтовых программ.

Конфигурирование UW IMAP

В состав программного обеспечения сервера UW IMAP, как и сервера POP3, входит программа inetd. В конфигурационных файлах для обеспечения работы IMAP требуются определенные строки. Так, в файле /etc/services необходимо задать строку:

imap2 143/tcp imap # Interim Mail Access Proto v2

Эта строка приведена для Mandrake Linux 6.0. Вы можете справедливо заметить, что в ней задается конфигурация для протокола IMAP2, однако в действительности здесь используется псевдоним для imap. Таким образом программа inetd будет искать соответствующую метку в файле inetd.conf. (В системе Mandrake тоже иногда могут быть ошибки!).

Для поддержки сервера IMAP необходимо также внести изменения в файл /etc/inetd.conf. Строка конфигурации, где выполняются эти действия, должна выглядеть таким образом:

imap stream tcp nowait root /usr/sbin/tcpd imapd

Как видите, здесь задается каталог, в котором должны находиться программы tcpd и imapd.

Для того чтобы новые настройки возымели действие, необходимо перезапустить демон inetd. Для этого ему нужно послать сигнал SIGHUP, как описано в разделе "Конфигурирование UW POP3".

После перезапуска демона протестируйте сервер IMAP, подключившись с помощью telnet к порту IMAP —143. В листинге 12.10 представлен пример сеанса работы с сервером IMAP.

1 [jessica@shadrach jessica]$ telnet localhost 143
2 Trying 127.0.0.1...
3 Connected to localhost.
4 Escape character is '^]'.
5 * OK localhost IMAP4rev1 v12.261 server ready
6 a1 LOGIN jessica sharks
7 a1 OK LOGIN completed
8 a2 SELECT INBOX
9 * 0 EXISTS
10 * 0 RECENT
11 * OK [UIDVALIDITY 940284862] UID validity status
12 * OK [UIDNEXT 2] Predicted next UID
13 * FLAGS (\Answered \Flagged \Deleted \Draft \Seen)
14 * OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)] Permanent flags
15 a2 OK [READ-WRITE] SELECT completed
16 a3 LOGOUT
17 * BYE shadrach.smallorg.org IMAP4rev1 server terminating connection
18 a3 OK LOGOUT completed
19 Connection closed by foreign host.
20 [jessica@shadrach jessica]$
Листинг 12.10. Пример сеанса работы с сервером IMAP

Резюме

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

Valentin Diduk
Valentin Diduk
Украина, одесса, кпи, 2010
Евгений Олабин
Евгений Олабин
Беларусь, Гродно