В этой лекции
После успешной установки программы sendmail ваш сервер электронной почты сможет принимать почту от других почтовых серверов. Однако все сообщения будут накапливаться на сервере, а дальнейшая их доставка по-прежнему будет зависеть от самих клиентов системы электронной почты. Они должны будут самостоятельно забирать свою почту с почтового сервера.
Некоторые пользователи, имеющие
физический доступ к серверу электронной
почты, могут зарегистрироваться на нем и
открыть интерактивный сеанс либо с помощью
обычной консоли, либо сеанс X Window. После
регистрации и открытия сеанса с сервером
пользователь для получения доступа к
своему почтовому ящику может использовать
одну из программ почтовых пользовательских
агентов (MUA), например pine, elm или kmail.
Все эти программы позволяют пользователям
просматривать и удалять почтовые сообщения
во время сеанса работы с локальным почтовым
сервером.
К сожалению, многие пользователи
не имеют физического доступа к почтовому
серверу. В большинстве случаев просто
невозможно обеспечить всем пользователям
сети физический доступ к почтовому серверу
только для того, чтобы они могли читать
сообщения, пришедшие в их почтовые ящики на
сервере. Еще одним возможным решением этой
проблемы может быть обеспечение удаленных
клиентов электронной почты доступом к
почтовому серверу с помощью программы
удаленного доступа telnet
или терминальных программ для Х-терминала.
Однако такое решение неэффективно,
поскольку и cеансы telnet, и
сеансы Х-терминала создают большую
перегрузку сетевого трафика, и все лишь для
чтения нескольких строк почтового
сообщения.
Наилучшим решением из возможных
решений является использование почтовых
доставочных агентов (Mail Delivery Agents —
(рис 12.1) Получение клиентами почтовых сообщений с сервера электронной почтыВ лекциях 6, "Протокол POP3" и 7, "Протокол IMAP", были рассмотрены два протокола, позволяющие удаленный доступ к почтовым ящикам на сервере электронной почты. Согласно протоколам POP3 и IMAP, пользователи на удаленных рабочих станциях могут просматривать и удалять сообщения на локальном почтовом сервере с помощью клиентских почтовых программ. Соответственно, почтовый сервер под управлением ОС Linux должен иметь программное обеспечение, поддерживающее работу протоколов POP3 и IMAP.
В этой лекции дается описание двух
программных пакетов для поддержки
протоколов POP3 и IMAP на сервере электронной
почты под управлением ОС Linux. Программа qpopper
позволяет почтовому Linux-серверу
поддерживать с удаленными компьютерами POP3-соединения,
через которые последние получают доступ к
почтовым ящикам на сервере. Программа IMAP
Вашингтонского университета поддерживает
доступ к почтовым ящикам пользователей как
по протоколу POP3, так и по протоколу IMAP.
Несмотря на то что программы по поддержке POP3 и IMAP выполняют сходные функции, методы, которые используются в них для обеспечения доступа к почтовым ящикам пользователей, абсолютно различны. Оба эти протокола используются на рабочих станциях клиентов для получения почты с сервера, однако в каждом из них используется различный принцип хранения сообщений. Администратор почтовой системы должен знать об этих принципиальных отличиях, так как они очень важны для работы почтового сервера.
В этом разделе делается сравнительный анализ и дается оценка этим двум клиентским протоколам электронной почты, что поможет администратору почтовой системы сделать обоснованный выбор.
Протокол почтового офиса (Post Office Protocol — POP3) в последнее время приобрел большую популярность. Широко распространилась и де-факто стала стандартом его третья версия (отсюда и цифра 3 в его названии). На рис. 12.2 представлена схема получения почты с почтового сервера с помощью протокола POP3.
(рис 12.2) Работа протокола POP3Клиентский компьютер, согласно протоколу POP3, может получать сообщения из почтового ящика пользователя на сервере и помещать их в папки на своем жестком диске. После получения сообщения локальным компьютером его можно удалить с сервера или оставить там его копию. В любом случае просмотр полученного с сервера сообщения полностью зависит от программного обеспечения на клиентском компьютере. Программы для просмотра сообщений на рабочей станции часто называют почтовыми клиентами.
Протокол POP3 пользуется широкой популярностью у провайдеров сети Internet, так как им приходится обслуживать сотни почтовых ящиков на десятках серверов. Дело в том, что этот протокол позволяет провайдерам Internet принудительно удалять сообщения с серверов электронной почты после того, как они были получены из почтового ящика клиентами. Эта функция позволяет экономить дисковое пространство на почтовых серверах. Единственное неприятное следствие выполнения таких операций состоит в том, что вся почта для определенного пользователя должна храниться на одном компьютере, получающем почту из ящика на сервере, а многим пользователям необходимо работать с электронной почтой как в офисе, так и дома на своем домашнем ПК. В этом состоит главный недостаток протокола POP3. Например, если пользователь проверил свой почтовый ящик из дому и получил 20 новых сообщений, то все они уже хранятся на его домашнем ПК. Добравшись же на работу и еще раз проверив ящик со своей рабочей станции, он этих сообщений на почтовом сервере не обнаружит. Такая ситуация исключена при работе с протоколом IMAP.
Протокол интерактивного доступа к почтовому ящику (Interactive Mail Access Protocol — IMAP) менее известен в мире электронной почты, но в настоящее время стремительно приобретает популярность. В данный момент распространяется версия 4 реализации 1 этого протокола (сокращенно IMAP4rev1). На рис. 12.3 представлена схема работы протокола IMAP.
(рис 12.3) Работа протокола IMAPОсновное отличие между
протоколами POP3 и IMAP — место хранения
почтовых сообщений. Протоколом POP3
предусматривается, что все сообщения
складируются на почтовом сервере, но далее
по запросу клиента передаются к нему на
рабочую станцию для дальнейшего
манипулирования ими. Довольно часто
сообщения, полученные клиентом, удаляются
из ящика на сервере. В протоколе IMAP все
сообщения обслуживаются на сервере
электронной почты в соответствующих папках.
Каждый пользователь имеет на сервере свою
папку с названием по умолчанию INBOX.
Все полученные сообщения помещаются в
папку INBOX, откуда
пользователь их может читать. При каждом
подключении пользователя к серверу IMAP ему
выдается список сообщений, которые
находятся в папке INBOX.
Затем пользователь может получить все или
одно из них на любой компьютер в сети. Это
прекрасная возможность, особенно для тех
пользователей, которым в течение рабочего
дня необходимо получать доступ к своему
почтовому ящику с разных рабочих станций.
Кроме того, для улучшения управления
сообщениями можно создавать
дополнительные папки на почтовом сервере.
Все папки находятся на почтовом сервере, а
не на рабочей станции клиента, помните об
этом! Хотя эти свойства протокола IMAP
облегчают жизнь пользователям электронной
почты, они усложняют ее администраторам
почтовых систем. Поскольку все почтовые
сообщения находятся на сервере, то дисковое
пространство на нем становится для
почтовой системы критическим параметром.
POP3 против IMAP
Выбор между POP3 и IMAP может быть не в пользу ни того, ни другого. На многих узлах обеспечивается поддержка обоих протоколов, что дает пользователям возможность самим определять способ получения сообщений из почтового ящика на сервере. Для пользователей, работающих с электронной почтой в основном в домашних условиях, более приемлем протокол IMAP, в то же время клиенты, которые соединяются с сервером по запросу по коммутируемой линии, для чтения сообщений с сервера обычно пользуются протоколом POP3. При использовании такого сценария работы с почтой будьте осторожны. Клиенты, получающие почту с помощью POP3, не должны удалять сообщения с сервера, иначе они не будут доступны в сеансах IMAP. При использовании обоих протоколов вы даете пользователю возможность выбора сценария работы с почтовым сервером. К сожалению, это влечет за собой и увеличение нагрузки на персонал администраторов почтовой системы.
Два программных пакета, описанных в этой лекции, позволяют составить представление об общих чертах серверов POP3 и IMAP на базе ОС Linux, включая работу с зашифрованными паролями и использование файла паролей.
Программа qpopper была разработана в университете Беркли, штат Калифорния, и распространяется свободно. В настоящее время она является собственностью корпорации Qualcomm, которая занимается ее поддержкой и обслуживанием. Кроме qpopper, эта корпорация также занимается поддержкой клиентской почтовой программы Eudora (об этом более подробно в лекции 15, "Конфигурирование клиентов ЛВС"). Программа qpopper была написана для обеспечения работы программного обеспечения сервера POP3 на большинстве UNIX-платформ. Хорошо она работает и с ОС Linux. Программа qpopper поддерживает обычную аутентификацию пользователя POP3 с помощью имени пользователя и пароля; кроме того, она поддерживает шифрование при аутентификации APOP для POP3. Алгоритм APOP поддерживает шифрование паролей с использованием базы данных паролей, которую обслуживает администратор почтовой системы.
Любую информацию о программе qpopper вы можете найти на Web-сайте:
http://www.eudora.com/freeware/servers.html
В настоящее время текущая версия qpopper — 2.53. Доступна также тестовая бета-версия — 3.0b18. Если в вашей системе используется версия qpopper ниже, чем 2.41, откажитесь от нее, так как в ранних версиях имеются серьезные ошибки, связанные с переполнением буферов. Этим могут воспользоваться хакеры для проникновения на ваш почтовый сервер.
На сервере FTP корпорации Qualcomm всегда имеется последняя версия программы qpopper. Сервер находится в сети Internet по адресу:
ftp.qualcomm.com.
Программа qpopper находится в каталоге /eudora/servers/unix/popper.
На момент написания книги в этом каталоге
были доступны три версии qpopper — 2.53, 3.0b17 и
3.0b18. Все они сжаты с помощью стандартных
утилит сжатия UNIX в отдельные файлы. До
перекачки файлов убедитесь в том, что в
программе для работы с FTP задан режим для
загрузки бинарных файлов BINARY.
В качестве примера мы запросим файл qpopper3.0b18.tar.Z:
ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper3.0b18.tar.Z
После того как файл получен на локальный компьютер (бета-версия 3.0 размером немного меньше 2,5 Мбайт), можно извлечь исходный код программы в рабочий каталог с помощью команды:
tar -zxvf qpopper3.0b18
По этой команде утилита tar сама создает подкаталог qpopper3.0 в рабочем каталоге и помещает
туда файлы исходного кода и необходимые
подкаталоги.
Для проверки операционной среды
и создания Makefile, в
котором содержатся ссылки на компилятор,
библиотеки и файлы языка С, в программе qpopper
применяется программа configure.
Программу configure
можно запускать из командной строки с
определенными параметрами, которые
позволяют реализовать те или иные функции
на сервере.
По умолчанию при
конфигурировании qpopper дополнительные
параметры в командной строке не задаются. В
этом случае конфигурирование сводится к
командам ./configure и make.
При этом создается стандартный сервер POP3
без поддержки APOP и без использования базы
данных теневых паролей, даже если таковая
имеется. Программа qpopper представляет собой
выполняемый файл с именем popper,
который находится в подкаталоге popper
ниже каталога qpopper3.0.
Вам необходимо скопировать эту программу в
общий для исполняемых модулей каталог с
правами пользователя root.
В документации к qpopper рекомендуется
использовать в качестве рабочего каталог /usr/local/lib.
Для изменения режимов работы
сервера POP3 программа popper
может запускаться с набором параметров. Все
они представлены в табл. 12.1.
| Параметр | Описание |
|---|---|
-b |
Изменяет каталог по умолчанию для циркулярных сообщений |
-c |
Изменяет регистр всех имен пользователей на нижний регистр |
-d |
Включает режим отладки |
-e |
Определяет расширения POP3 |
-k |
Включает поддержку Kerberos |
-s |
Включает сбор статистики |
-t |
Определяет альтернативные файлы отладки и протокола |
-T |
Изменяет интервал ожидания, заданный по умолчанию |
-R |
Запрещает обратное преобразование адресов клиентов |
Для запуска программы qpopper
используется программа inetd.
Программа inetd
обнаруживает сетевые соединения и передает
информацию о них соответствующим
программам в зависимости от номера TCP- или
UDP-порта, по которому установлено
соединение. Первая часть конфигурирования inetd
для работы с qpopper заключается в том, чтобы
обеспечить обнаружение соединения по TCP-порту
(для POP3 порт 110). Эта информация находится в
файле /etc/services.
Строка, разрешающая действия с портом 110,
выглядит примерно так:
pop-3 110/tcp #POP version 3
После того как вы убедились в
наличии поддержки POP3 в файле /etc/services,
следует включить ее и в конфигурационном
файле inetd. Файл
конфигурации для inetd — /etc/inetd.conf. В нем
должна быть активирована строка,
отвечающая метке pop-3
в файле /etc/services и
запускающая соответствующую программу для
организации соединения по данному порту.
Эта строка должна выглядеть примерно так:
#pop-3 stream tcp nowait root /usr/local/lib/popper popper -s
Подобная запись в inetd.conf
свидетельствует о том, что программа popper
находится в каталоге /usr/local/lib
и разрешен сбор статистических данных о ее
работе (параметр -s ).
По умолчанию все статистические данные
будут включаться в стандартный файл отчета
в ОС Linux syslog. В
Mandrake Linux 6.0 это файл /var/log/messages.
Чтобы новые настройки в inetd.conf
вступили в силу, нужно перезапустить демон-процесс inetd. Это можно
сделать, послав ему сигнал SIGHUP.
Ниже описана процедура перезапуска
процесса:
[root@shadrach lizzy]# ps ax | grep inetd 327 ? S 0:00 inetd 12600 pts/2 S 0:00 grep inetd [root@shadrach lizzy]#kill -HUP 327 [root@shadrach lizzy]#
Правильность установки
программы qpopper можно проверить,
подключившись с помощью программы telnet
к порту 110 почтового сервера, как это
показано в листинге 12.1.
1 [erin@shadrach erin]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is'^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. 6 QUIT 7 +OK Pop server at shadrach.smallorg.org signing off. 8 Connection closed by foreign host. 9 [erin@shadrach erin]$
В строке 1 листинга 12.1 показана
команда на подключение с помощью программы telnet к порту 110
Стандартная конфигурация qpopper должна нормально работать на обычных серверах POP3 под управлением ОС Linux. Однако имеется возможность задавать в qpopper более сложные настройки, что сделает ее более универсальной.
Общее свойство для ОС Linux —
поддержка теневых паролей. В традиционной
конфигурации Linux пароли и идентификаторы
пользователей хранятся в файле /etc/passwd.
К сожалению, этот файл доступен для чтения
любому пользователю системы. Благодаря
этому программа login
может обслуживать запросы на регистрацию в
системе, но вместе с тем файл становится
уязвимым для хакеров (они могут загрузить
его к себе на компьютер и взломать с помощью
специальных программ). В этом случае
первыми жертвами хакеров становятся
пользователи, которые используют в
качестве пароля свои имена или названия
любимых футбольных команд.
ОС Linux и пароли
В лекции 14, "Администрирование почтового сервера", вопросы обслуживания идентификаторов пользователей и паролей в ОС Linux обсуждаются более подробно.
Во многих версиях ОС Linux для
решения этой проблемы применяется так
называемый файл теневых паролей. При этом
идентификаторы пользователей системы по-прежнему
хранятся в файле /etc/passwd,
но пароли в зашифрованном виде хранятся в
другом файле, который можно сделать
недоступным для других пользователей. Если
используется файл теневых паролей, то
программы, проверяющие идентификаторы
пользователей, должны обнаруживать его.
Определить, используются ли в
вашей системе теневые пароли, можно с
помощью анализа файла /etc/passwd.
В листинге 12.2 приведен пример файла passwd
с использованием теневых паролей.
1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin: 3 daemon:x:2:2:daemon:/sbin: 4 adm:x:3:4:adm:/var/adm: 5 lp:x:4:7:ip:/var/spool/lpd: 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail: 10 news:x:9:13:news:/var/spool/news: 11 uucp:x:10:14:uucp:/var/spool/uucp: 12 operator:x:11:0:operator:/root: 13 games:x:2:100:games:/usr/games: 14 gopher:x:13:30:gopher:/usr/lib/gopher-data: 15 ftp:x:14:50:FTP User:/home/ftp: 16 nobody:x:99:99:Nobody:/: 17 postgres:x:100:101:PostgreSQL Server: /var/lib/pgsql:/bin/bash 18 lists:x:500:500:BeroList:/dev/null:/dev/null 19 xfs:x:101:103:X Font Server:/etc/X11/fs:/bin/false 20 rich:x:501:501:Rich:/home/rich:/bin/bash 21 barbara:x:502:502:Barbara's logon id: /home/barbara: /bin/bash 22 katie:x:503:503:Katie's logon id:/home/katie: /bin/bash 23 jessica:x:504:504 Jessica's logon id:/home/jessica: /bin/bash
В листинге 12.2 представлено
несколько идентификаторов пользователей
из файла /etc/passwd.
Для разделения полей в записях
используются двоеточия ( :).
В первом поле, как правило, хранится имя
пользователя, а во втором —
зашифрованный пароль. В файле, приведенном
в качестве примера, во втором поле всегда
присутствует буква х.
Это является для системы признаком того,
что используются теневые пароли. В данном
случае реальные пароли хранятся в файле /etc/shadow.
Этот файл представлен в листинге 12.3.
1 root:$1$wkRtb3BgrTSWmezOiXx.ZGAtG/zGKU1:10863:0:99999:7:-1:-1:134537880 2 bin:*:10863:0:99999:7::: 3 daemon:*:10863:0:99999:7::: 4 adm:*:10863:0:99999:7::: 5 lp:*:10863:99999:7::: 6 sync:*:10863:0:99999:7::: 7 shutdown:*:10863:0:99999:7::: 8 halt:*:10863:0:99999:7::: 9 mail:*:10863:0:99999:7::: 10 news:*:10863:0:99999:7::: 11 uucp:*:10863:0:99999:7::: 12 operator:*:10863:0:99999:7::: 13 games:*:10863:0:99999:7::: 14 gopher :*:10863: 0:99999:7 :: 15 ftp:*:10863:0:99999:7::: 16 nobody:*:10863:0:99999:7::: 17 postgres:!!:10863:0:99999:7::: 18 lists:!!:10863:0:99999:7::: 19 xfs:!!:10863:0:99999:7::: 20 rich:LMQ0lb3GwZr1s:10863 0:99999:7::: 21 barbara: MDOb23ddXdgPP: 10863:0:99999:7::: 22 katie:$1$ORlQdo1l$ggBH8mFNPGCBUUHMEjXWe1:10863:0:99999:7:1:-1: 134537888 23 jessica:$1$XEd8PKaP$AhJre7HN3UBcKjBBGeL1d1:10882:0:99999:7:-1:-1: 134537872
Из листинга 12.3 видно, что во втором поле содержатся зашифрованные пароли пользователей. Для получения доступа к файлу теневых паролей программа qpopper должна быть скомпилирована соответствующим образом.
Если перед этим вы компилировали
qpopper, то необходимо очистить выполняемый и
объектный файлы в рабочем каталоге. Это
делается с помощью команды, задаваемой в
каталоге qpopper3.0:
make clean
По этой команде будут удалены добавленные или измененные во время установки файлы. Далее необходимо запустить сценарий конфигурации с параметром, который включает поддержку теневых паролей. Формат команды следующий:
./configure -- enable-specialauth
По этой команде с помощью
параметров, необходимых для работы
компилятора GNU gcc
по включению файлов теневых паролей, вновь
создается Makefile.
После того как программа конфигурации
закончит создание Makefile,
нужно снова запустить программу make.
При этом в подкаталоге popper
создается новый выполняемый файл popper.
После этого вам придется еще раз
скопировать файл в каталог, указанный в
файле конфигурации inetd.conf (для этого вы должны обладать правами
пользователя root ). При
этом не нужно перезапускать процесс-демон inetd,
так как содержимое файла /etc/inetd.conf
не изменялось. После копирования нового
выполняемого файла в соответствующий
каталог можно проверить правильность
конфигурации с помощью программы telnet.
Для этого нужно обратиться на порт 110. В
листинге 12.4 приводится пример такого
сеанса.
1 [riley@shadrach riley]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. 6 USER riley 7 +OK Password required for riley. 8 PASS firetruck 9 +OK riley has 3 messages (1162 octets). 10 QUIT 11 +OK Pop server at shadrach.smallorg.org signing off. 12 Connection closed by foreign host. 13 [riley@shadrach riley]$
Вы видите, как в строке 1 листинга
12.4 открывается сеанс с помощью telnet
с портом 110 (порт POP3) локального почтового
сервера. В строке 5 выдается стандартное
сообщение программы qpopper
о том, что она запущена и готова к работе. В
строках 6 и 8 пользователь вводит свои имя и
пароль, а в строке 9 программа qpopper
уведомляет о том, что пароль и имя
пользователя опознаны и в его почтовом
ящике находятся три новых сообщения.
Как видно из листинга 12.4, клиент
почтовой системы должен сообщать серверу qpopper
свое имя и пароль в текстовом виде. Если
предположить, что пользователь riley
проверяет свой почтовый ящик по сети Internet,
то очевидно, что существует вероятность
перехвата его имени и пароля хакерами,
которые могут использовать эту информацию
в корыстных целях.
Однако для протокола POP3 разработано решение этой проблемы.
Как уже упоминалось в лекции 6,
существует несколько альтернативных
методов проверки подлинности пользователя.
В программе qpopper
поддерживается метод аутентификации
пользователей APOP. Для возможности
поддержки APOP программой qpopper требуется ее перекомпиляция.
Сначала необходимо удалить объектные и выполняемые файлы, созданные ранее; воспользовавшись для этого командой
make clean
Затем снова запустите сценарий конфигурирования, включая параметры, определяющие местоположение базы данных паролей APOP, и идентификатор пользователя, который будет администратором APOP. Для это задайте следующую команду:
./configure –-enable –-apop=/etc/pop.auth -–with-popuid=pop
По этой команде создается Makefile,
где в качестве базы данных паролей
используется файл /etc/pop.auth,
а администратором этой базы данных
является пользователь pop.
Затем с помощью команды GNU make можно
создать новые выполняемые файлы. При
использовании APOP создаются два выполняемых
файла — popper и popauth.
Как и в предыдущем случае,
скопируйте новый выполняемый файл popper
в каталог, указанный в файле inetd.conf
(например, /usr/local/lib ).
С помощью файла popauth
можно добавлять пользователей в базу
данных APOP, которая указывается в строке
конфигурации.
Для тестирования новой
конфигурации зайдите с помощью telnet
на порт 110 — вы увидите измененное
стандартное приглашение сервера. В
листинге 12.5 приведен пример сеанса работы с
сервером qpopper с
аутентификацией пользователей посредством
APOP.
1 [carol@shadrach carol]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. <17166.940368317@shadrach.smallorg.org> 6 QUIT 7 +OK Pop server at shadrach.smallorg.org signing off. 8 Connection closed by foreign host. 9 [carol@shadrach carol]$
В строке 1 листинга 12.5 задается
команда telnet на
подключение к порту, обслуживающему сервер
POP3. В строке 5 вы видите новое стандартное
приглашение сервера, сгенерированное
программой qpopper.
Как видите, оно отличается от аналогичных
приглашений из листингов 12.1 и 12.4. В данном
случае в него включена информация о работе
APOP. Как уже отмечалось в лекции 6, для работы
по протоколу APOP требуется задать начальные
значения для хеширования с заранее
известным ключом (в нашем случае в качестве
ключа выступает пароль). Его в
зашифрованном виде вы можете наблюдать в
приглашении сервера POP3. Обе стороны,
участвующие в соединении по POP3, должны
знать ключ заранее, чтобы при хешировании
зашифрованные значения могли быть
распознаны на удаленной стороне. Сервер qpopper
хранит все ключи в аутентификационной базе
данных.
База данных АРОР создается с помощью команды
./popauth -init
С помощью этой команды создается
новая аутентификационная база данных (например,
в каталоге /etc/pop.auth ).
При этом пользователь с идентификатором,
указанным в параметре -with-popuid,
является администратором базы данных АРОР
и имеет право добавлять в нее пользователей.
Одна из проблем, часто возникающих при
использовании qpopper,
состоит в том, что после занесения
пользователя в аутентификационную базу
данных ему приходится подключаться к
серверу POP3 только через АРОР, т.е. он уже не
сможет подключиться к нему без
аутентификации.
Для того чтобы добавить в базу данных нового пользователя, администратор АРОР должен задать команду:
popauth -user user,
где user —
принятое в ОС Linux имя пользователя.
Программа popauth далее
запросит у администратора пароль, который
будет использоваться данным пользователем
при аутентификации по АРОР. Этот пароль
может отличаться от обычного пароля,
принятого в ОС Linux. Для удаления
пользователя из базы данных АРОР задается
команда:
popauth -delete user,
где user —
имя пользователя в ОС Linux, которое удаляется
из базы. С помощью команды popauth,
задаваемой без параметров, пользователи
могут изменять пароли АРОР самостоятельно.
Еще одно полезное свойство qpopper —
рассылка циркулярных сообщений.
Циркулярные сообщения — это сообщения,
посылаемые сразу всем пользователям
сервера POP3. При подключении пользователя к
серверу POP3 программа qpopper
проверяет каталог циркулярных сообщений
определяя, какие из них не были прочитаны.
Все непрочитанные циркулярные сообщения
добавляются к обычным почтовым сообщениям
в почтовые ящики пользователей.
Администратор почтовой системы может
запретить пользователю отправку
циркулярных сообщений, ограничив доступ к
каталогу циркулярных сообщений.
Для обеспечения работы с
циркулярными сообщениями прежде всего
удалите все ненужные объектные и
выполняемые файлы, если уже имеется
скомпилированная версия qpopper.
Как вы уже знаете, это делается с помощью
команды:
make clean
Затем следует запустить
программу configure с
параметром, разрешающим использование
циркулярных сообщений. Далее вы можете
запустить программу configure
с несколькими необходимыми параметрами,
если, кроме работы с циркулярными
сообщениями, требуется поддержка теневых
паролей и работа с АРОР. Формат команды на
включение поддержки теневых паролей и
циркулярных сообщений следующий:
./configure -–enable-bulletins=/var/spool/bulls -–enable-specialauth,
где параметр -–enable-bulletins указывает на каталог, в
котором будут храниться циркулярные
сообщения. После выполнения сценария
конфигурации необходимо запустить утилиту
GNU make для создания
выполняемого файла popper.
Затем следует еще раз скопировать
выполняемый файл popper
в каталог, указанный в конфигурационном
файле inetd.conf.
Работая с циркулярными сообщениями, для каждого из них необходимо создавать отдельный файл и помещать его в каталог циркулярных сообщений. Имена файлов должны быть представлены в следующем формате:
nnnnn.string,
где nnnnn
представляет собой пятизначный номер
циркулярного сообщения, а string —
строка текста для идентификации
циркулярного сообщения (например, 00001.Test_Bulletin ).
Все циркулярные сообщения должны
нумероваться, чтобы программа qpopper
могла отслеживать, какие сообщения были
прочитаны, а какие нет. После получения
клиентом POP3 циркулярного сообщения оно не
будет отображаться в списке сообщений,
содержащихся в его почтовом ящике. Текст в
циркулярном сообщении должен
соответствовать формату RFC 822. В листинге 12.6
приведен пример циркулярного сообщения.
1 From pop Wed Oct 20 18:25:00 1999 2 Date: Wed, 20 Oct 1999 18:25:00 (EST) 3 From: "Mail Administrator" <postmaster@shadrach.smallorg.org> 4 Subject: Test bulletin 5 6 This is a test of the Qpopper mail bulletin system. This is only a test 7 Had this been a real bulletin you would have been instructed to do 8 something important, like log off of the system. 9 This is the end of the bulletin test.
Пока циркулярное сообщение находится в каталоге циркулярных сообщений, оно может быть загружено. После его удаления из каталога новые клиенты сервера POP3 не смогут принимать его в свои почтовые ящики.
Один из наиболее широко распространенных программных пакетов для поддержки POP3 и IMAP для платформы Linux был разработан в Вашингтонском университете. В пакет входят программы, реализующие функции сервера POP3 и сервера IMAP4rev1. В этом разделе рассматривается установка и конфигурирование программного обеспечения UW IMAP (буквы UW от англ. Вашингтонский университет — University of Washington) на сервере под управлением ОС Linux.
Большинство дистрибутивов ОС Linux
поставляется с бинарным пакетом UW IMAP. В Mandrake
Linux 6.0 это пакет imap-4.5-5mdk.i586.rpm.
Для его установки можно использовать
стандартную программу инсталляции пакетов —
RPM. Команда на установку пакета на вашем
компьютере выглядит следующим образом:
rpm -Uvh i imap-4.5-5mdk.i586.rpm
В настоящее время Вашингтонским университетом поддерживается Web-сайт с описанием программного обеспечения IMAP. Его адрес в сети Internet: http://www.washington.edu/imap/.
Там можно найти любую информацию
о проекте UW IMAP, разрабатываемом в
университете, а также ссылки на текущую
версию программы (в настоящее время 4.6).
Получить исходный код дистрибутива этой
версии вы можете по ссылке, указанной на Web-сайте.
Кроме того, можно получить текущую версию
этой программы непосредственно из каталога /imap на FTP-сервере ftp..
Файл imap.tar.Z, на
который указывает ссылка, всегда содержит
новую версию программы. На этом FTP-сервере
доступна для загрузки также тестовая бета-версия
4.7. Исходный код программы поставляется в
файле, сжатом стандартными средствами UNIX.
Имя этого файла — imap-4.7.BETA.tar.Z.
Помните, что при получении данного файла по
FTP следует использовать режим BINARY.
После того как вы получите исходный код, его нужно распаковать из архива в рабочий каталог:
tar -zxvf imap-4.7.BETA.tar.Z
С помощью этой команды создается
подкаталог imap-4.7.BETA,
и в него помещается исходный код
программного пакета.
При компиляции программы UW IMAP, в
отличие от qpopper,
никакие дополнительные параметры не
используются. Главным требованием при
создании выполняемых файлов программного
пакета IMAP из исходного кода является точное
знание версии операционной системы. Это
необходимо для того, чтобы использовать
соответствующий раздел Makefile.
В табл. 12.2 представлены параметры для
создания IMAP в различных версиях ОС Linux.
| Параметр | Описание |
|---|---|
lnx |
Традиционные системы семейства Linux |
lnp |
Системы Linux со встроенными модулями аутентификации Pluggable Authentification Modules (PAM) |
sl4 |
Системы Linux c использованием -lshadow
для паролей |
sl5 |
Системы Linux с использованием теневых паролей |
slx |
Системы Linux c использованием -lcrypt
для паролей |
В Mandrake Linux 6.0 для разрешения
использования теневых паролей следует
задать параметр slx:
make slx
С помощью этой команды из исходного кода компилируются выполняемые модули IMAP, которые помещаются в соответствующие подкаталоги. Затем устанавливаются и конфигурируются отдельные модули IMAP.
Для обеспечения нормальной
работы программного обеспечения сервера UW
POP3 его необходимо установить и
соответствующим образом сконфигурировать.
Вначале необходимо скопировать
выполняемые файлы в общий каталог.
Поскольку программы ipop3d
и imapd
сконфигурированы для использования
совместно c программой tcpd,
то лучше всего поместить их в каталог /usr/sbin.
Однако программа ipop3d
находится в подкаталоге ipopd
каталога imap-4.7.BETA.
В этот же каталог помещается и сервер POP2 — ipop2d. Это делается
лишь с целью обеспечения совместимости со
старыми почтовыми программами, в которых
отсутствует поддержка протокола POP3. Если
создается новая система электронной почты,
то желательно, конечно, обеспечить
поддержку протокола POP3 в ней. Для работы с
почтовым сервером по протоколу POP3 имеется
достаточно программ, реализующих функции
клиентов электронной почты (см. лекцию 15, "Конфигурирование
клиентов ЛВС"). Помните, что копирование
файла 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]$
В строке 1 листинга 12.7 показана
организация сеанса программы telnet
с портом POP3 — 110. В строке 5 вы видите
стандартное сообщение сервера UW POP3, в
котором говорится, что сервер запущен и
готов к работе.
Одна из дополнительных
возможностей, которые обеспечивает сервер
UW POP3, — использование АРОР для
аутентификации пользователей. Реализация
АРОР в UW POP3 намного проще, чем в qpopper,
но служит той же цели.
Обнаружив файл /etc/,
сервер UW POP3 автоматически обеспечивает
поддержку протоколов аутентификации APOP и
При работе с пакетом UW POP3 ключи
хранятся в файле /etc/.
В каждой строке этого файла хранятся имя
пользователя и ключ, который будет им
использоваться. В листинге 12.8
представлен пример файла /etc/.
1 rich guitar 2 barbara reading 3 riley firetruck 4 haley starwars 5 katie boxcar 6 jessica sharks
Как видно из листинга 12.8, база
данных
является текстовой. Для того чтобы защитить
пароли от посторонних, задайте режим
доступа к файлу 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]$
Здесь, как и в предыдущем
листинге, представлен пример сеанса telnet
с портом сервера POP3. Однако стандартное
приглашение сервера в строке 5 отличается
от представленного в листинге 12.7. Как
видите, в данном случае в нем приводится
значение АРОР. В строке 6 демонстрируется
работа АРОР в программе UW POP3. В отличие от
qpopper, пользователи UW POP3 могут подключаться к
серверу как с помощью АРОР, так и
посредством обычного имени и пароля. Это
частично решает проблему тех пользователей,
которые подключаются к почтовому серверу с
различных ПК и с помощью различных почтовых
программ.
В состав программного
обеспечения сервера 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]$
Когда вся почта для клиентов сети
собирается на почтовом сервере под
управлением ОС Linux, необходимо обеспечить
клиентов возможностью забирать ее к себе на
рабочие станции. В настоящее время наиболее
широкое распространение в качестве
основных средств для работы с почтовым
сервером получили протоколы IMAP и POP3. В
каждом из них есть свои сильные и слабые
стороны. Для работы на почтовом сервере с ОС
Linux в основном используются два программных
пакета — сервер POP3 qpopper
и серверы POP3 и IMAP Вашингтонского
университета (программа UW IMAP). Оба эти
пакета можно легко установить и
сконфигурировать на почтовом сервере.
Имеется также достаточное количество
клиентских почтовых программ, в функции
которых входит проверка содержимого
почтовых ящиков на сервере. В лекции 15, "Конфигурирование
клиентов ЛВС", подробно описан процесс
настройки этих программ для работы с
серверными программами POP3 и IMAP. В следующей
лекции обсуждаются вопросы
конфигурирования почтового сервера под
управлением ОС Linux для работы в различных
сетях.
В этой лекции
После успешной установки программы sendmail ваш сервер электронной почты сможет принимать почту от других почтовых серверов. Однако все сообщения будут накапливаться на сервере, а дальнейшая их доставка по-прежнему будет зависеть от самих клиентов системы электронной почты. Они должны будут самостоятельно забирать свою почту с почтового сервера.
Некоторые пользователи, имеющие
физический доступ к серверу электронной
почты, могут зарегистрироваться на нем и
открыть интерактивный сеанс либо с помощью
обычной консоли, либо сеанс X Window. После
регистрации и открытия сеанса с сервером
пользователь для получения доступа к
своему почтовому ящику может использовать
одну из программ почтовых пользовательских
агентов (MUA), например pine, elm или kmail.
Все эти программы позволяют пользователям
просматривать и удалять почтовые сообщения
во время сеанса работы с локальным почтовым
сервером.
К сожалению, многие пользователи
не имеют физического доступа к почтовому
серверу. В большинстве случаев просто
невозможно обеспечить всем пользователям
сети физический доступ к почтовому серверу
только для того, чтобы они могли читать
сообщения, пришедшие в их почтовые ящики на
сервере. Еще одним возможным решением этой
проблемы может быть обеспечение удаленных
клиентов электронной почты доступом к
почтовому серверу с помощью программы
удаленного доступа telnet
или терминальных программ для Х-терминала.
Однако такое решение неэффективно,
поскольку и cеансы telnet, и
сеансы Х-терминала создают большую
перегрузку сетевого трафика, и все лишь для
чтения нескольких строк почтового
сообщения.
Наилучшим решением из возможных
решений является использование почтовых
доставочных агентов (Mail Delivery Agents —
(рис 12.1) Получение клиентами почтовых сообщений с сервера электронной почтыВ лекциях 6, "Протокол POP3" и 7, "Протокол IMAP", были рассмотрены два протокола, позволяющие удаленный доступ к почтовым ящикам на сервере электронной почты. Согласно протоколам POP3 и IMAP, пользователи на удаленных рабочих станциях могут просматривать и удалять сообщения на локальном почтовом сервере с помощью клиентских почтовых программ. Соответственно, почтовый сервер под управлением ОС Linux должен иметь программное обеспечение, поддерживающее работу протоколов POP3 и IMAP.
В этой лекции дается описание двух
программных пакетов для поддержки
протоколов POP3 и IMAP на сервере электронной
почты под управлением ОС Linux. Программа qpopper
позволяет почтовому Linux-серверу
поддерживать с удаленными компьютерами POP3-соединения,
через которые последние получают доступ к
почтовым ящикам на сервере. Программа IMAP
Вашингтонского университета поддерживает
доступ к почтовым ящикам пользователей как
по протоколу POP3, так и по протоколу IMAP.
Несмотря на то что программы по поддержке POP3 и IMAP выполняют сходные функции, методы, которые используются в них для обеспечения доступа к почтовым ящикам пользователей, абсолютно различны. Оба эти протокола используются на рабочих станциях клиентов для получения почты с сервера, однако в каждом из них используется различный принцип хранения сообщений. Администратор почтовой системы должен знать об этих принципиальных отличиях, так как они очень важны для работы почтового сервера.
В этом разделе делается сравнительный анализ и дается оценка этим двум клиентским протоколам электронной почты, что поможет администратору почтовой системы сделать обоснованный выбор.
Протокол почтового офиса (Post Office Protocol — POP3) в последнее время приобрел большую популярность. Широко распространилась и де-факто стала стандартом его третья версия (отсюда и цифра 3 в его названии). На рис. 12.2 представлена схема получения почты с почтового сервера с помощью протокола POP3.
(рис 12.2) Работа протокола POP3Клиентский компьютер, согласно протоколу POP3, может получать сообщения из почтового ящика пользователя на сервере и помещать их в папки на своем жестком диске. После получения сообщения локальным компьютером его можно удалить с сервера или оставить там его копию. В любом случае просмотр полученного с сервера сообщения полностью зависит от программного обеспечения на клиентском компьютере. Программы для просмотра сообщений на рабочей станции часто называют почтовыми клиентами.
Протокол POP3 пользуется широкой популярностью у провайдеров сети Internet, так как им приходится обслуживать сотни почтовых ящиков на десятках серверов. Дело в том, что этот протокол позволяет провайдерам Internet принудительно удалять сообщения с серверов электронной почты после того, как они были получены из почтового ящика клиентами. Эта функция позволяет экономить дисковое пространство на почтовых серверах. Единственное неприятное следствие выполнения таких операций состоит в том, что вся почта для определенного пользователя должна храниться на одном компьютере, получающем почту из ящика на сервере, а многим пользователям необходимо работать с электронной почтой как в офисе, так и дома на своем домашнем ПК. В этом состоит главный недостаток протокола POP3. Например, если пользователь проверил свой почтовый ящик из дому и получил 20 новых сообщений, то все они уже хранятся на его домашнем ПК. Добравшись же на работу и еще раз проверив ящик со своей рабочей станции, он этих сообщений на почтовом сервере не обнаружит. Такая ситуация исключена при работе с протоколом IMAP.
Протокол интерактивного доступа к почтовому ящику (Interactive Mail Access Protocol — IMAP) менее известен в мире электронной почты, но в настоящее время стремительно приобретает популярность. В данный момент распространяется версия 4 реализации 1 этого протокола (сокращенно IMAP4rev1). На рис. 12.3 представлена схема работы протокола IMAP.
(рис 12.3) Работа протокола IMAPОсновное отличие между
протоколами POP3 и IMAP — место хранения
почтовых сообщений. Протоколом POP3
предусматривается, что все сообщения
складируются на почтовом сервере, но далее
по запросу клиента передаются к нему на
рабочую станцию для дальнейшего
манипулирования ими. Довольно часто
сообщения, полученные клиентом, удаляются
из ящика на сервере. В протоколе IMAP все
сообщения обслуживаются на сервере
электронной почты в соответствующих папках.
Каждый пользователь имеет на сервере свою
папку с названием по умолчанию INBOX.
Все полученные сообщения помещаются в
папку INBOX, откуда
пользователь их может читать. При каждом
подключении пользователя к серверу IMAP ему
выдается список сообщений, которые
находятся в папке INBOX.
Затем пользователь может получить все или
одно из них на любой компьютер в сети. Это
прекрасная возможность, особенно для тех
пользователей, которым в течение рабочего
дня необходимо получать доступ к своему
почтовому ящику с разных рабочих станций.
Кроме того, для улучшения управления
сообщениями можно создавать
дополнительные папки на почтовом сервере.
Все папки находятся на почтовом сервере, а
не на рабочей станции клиента, помните об
этом! Хотя эти свойства протокола IMAP
облегчают жизнь пользователям электронной
почты, они усложняют ее администраторам
почтовых систем. Поскольку все почтовые
сообщения находятся на сервере, то дисковое
пространство на нем становится для
почтовой системы критическим параметром.
POP3 против IMAP
Выбор между POP3 и IMAP может быть не в пользу ни того, ни другого. На многих узлах обеспечивается поддержка обоих протоколов, что дает пользователям возможность самим определять способ получения сообщений из почтового ящика на сервере. Для пользователей, работающих с электронной почтой в основном в домашних условиях, более приемлем протокол IMAP, в то же время клиенты, которые соединяются с сервером по запросу по коммутируемой линии, для чтения сообщений с сервера обычно пользуются протоколом POP3. При использовании такого сценария работы с почтой будьте осторожны. Клиенты, получающие почту с помощью POP3, не должны удалять сообщения с сервера, иначе они не будут доступны в сеансах IMAP. При использовании обоих протоколов вы даете пользователю возможность выбора сценария работы с почтовым сервером. К сожалению, это влечет за собой и увеличение нагрузки на персонал администраторов почтовой системы.
Два программных пакета, описанных в этой лекции, позволяют составить представление об общих чертах серверов POP3 и IMAP на базе ОС Linux, включая работу с зашифрованными паролями и использование файла паролей.
Программа qpopper была разработана в университете Беркли, штат Калифорния, и распространяется свободно. В настоящее время она является собственностью корпорации Qualcomm, которая занимается ее поддержкой и обслуживанием. Кроме qpopper, эта корпорация также занимается поддержкой клиентской почтовой программы Eudora (об этом более подробно в лекции 15, "Конфигурирование клиентов ЛВС"). Программа qpopper была написана для обеспечения работы программного обеспечения сервера POP3 на большинстве UNIX-платформ. Хорошо она работает и с ОС Linux. Программа qpopper поддерживает обычную аутентификацию пользователя POP3 с помощью имени пользователя и пароля; кроме того, она поддерживает шифрование при аутентификации APOP для POP3. Алгоритм APOP поддерживает шифрование паролей с использованием базы данных паролей, которую обслуживает администратор почтовой системы.
Любую информацию о программе qpopper вы можете найти на Web-сайте:
http://www.eudora.com/freeware/servers.html
В настоящее время текущая версия qpopper — 2.53. Доступна также тестовая бета-версия — 3.0b18. Если в вашей системе используется версия qpopper ниже, чем 2.41, откажитесь от нее, так как в ранних версиях имеются серьезные ошибки, связанные с переполнением буферов. Этим могут воспользоваться хакеры для проникновения на ваш почтовый сервер.
На сервере FTP корпорации Qualcomm всегда имеется последняя версия программы qpopper. Сервер находится в сети Internet по адресу:
ftp.qualcomm.com.
Программа qpopper находится в каталоге /eudora/servers/unix/popper.
На момент написания книги в этом каталоге
были доступны три версии qpopper — 2.53, 3.0b17 и
3.0b18. Все они сжаты с помощью стандартных
утилит сжатия UNIX в отдельные файлы. До
перекачки файлов убедитесь в том, что в
программе для работы с FTP задан режим для
загрузки бинарных файлов BINARY.
В качестве примера мы запросим файл qpopper3.0b18.tar.Z:
ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper3.0b18.tar.Z
После того как файл получен на локальный компьютер (бета-версия 3.0 размером немного меньше 2,5 Мбайт), можно извлечь исходный код программы в рабочий каталог с помощью команды:
tar -zxvf qpopper3.0b18
По этой команде утилита tar сама создает подкаталог qpopper3.0 в рабочем каталоге и помещает
туда файлы исходного кода и необходимые
подкаталоги.
Для проверки операционной среды
и создания Makefile, в
котором содержатся ссылки на компилятор,
библиотеки и файлы языка С, в программе qpopper
применяется программа configure.
Программу configure
можно запускать из командной строки с
определенными параметрами, которые
позволяют реализовать те или иные функции
на сервере.
По умолчанию при
конфигурировании qpopper дополнительные
параметры в командной строке не задаются. В
этом случае конфигурирование сводится к
командам ./configure и make.
При этом создается стандартный сервер POP3
без поддержки APOP и без использования базы
данных теневых паролей, даже если таковая
имеется. Программа qpopper представляет собой
выполняемый файл с именем popper,
который находится в подкаталоге popper
ниже каталога qpopper3.0.
Вам необходимо скопировать эту программу в
общий для исполняемых модулей каталог с
правами пользователя root.
В документации к qpopper рекомендуется
использовать в качестве рабочего каталог /usr/local/lib.
Для изменения режимов работы
сервера POP3 программа popper
может запускаться с набором параметров. Все
они представлены в табл. 12.1.
| Параметр | Описание |
|---|---|
-b |
Изменяет каталог по умолчанию для циркулярных сообщений |
-c |
Изменяет регистр всех имен пользователей на нижний регистр |
-d |
Включает режим отладки |
-e |
Определяет расширения POP3 |
-k |
Включает поддержку Kerberos |
-s |
Включает сбор статистики |
-t |
Определяет альтернативные файлы отладки и протокола |
-T |
Изменяет интервал ожидания, заданный по умолчанию |
-R |
Запрещает обратное преобразование адресов клиентов |
Для запуска программы qpopper
используется программа inetd.
Программа inetd
обнаруживает сетевые соединения и передает
информацию о них соответствующим
программам в зависимости от номера TCP- или
UDP-порта, по которому установлено
соединение. Первая часть конфигурирования inetd
для работы с qpopper заключается в том, чтобы
обеспечить обнаружение соединения по TCP-порту
(для POP3 порт 110). Эта информация находится в
файле /etc/services.
Строка, разрешающая действия с портом 110,
выглядит примерно так:
pop-3 110/tcp #POP version 3
После того как вы убедились в
наличии поддержки POP3 в файле /etc/services,
следует включить ее и в конфигурационном
файле inetd. Файл
конфигурации для inetd — /etc/inetd.conf. В нем
должна быть активирована строка,
отвечающая метке pop-3
в файле /etc/services и
запускающая соответствующую программу для
организации соединения по данному порту.
Эта строка должна выглядеть примерно так:
#pop-3 stream tcp nowait root /usr/local/lib/popper popper -s
Подобная запись в inetd.conf
свидетельствует о том, что программа popper
находится в каталоге /usr/local/lib
и разрешен сбор статистических данных о ее
работе (параметр -s ).
По умолчанию все статистические данные
будут включаться в стандартный файл отчета
в ОС Linux syslog. В
Mandrake Linux 6.0 это файл /var/log/messages.
Чтобы новые настройки в inetd.conf
вступили в силу, нужно перезапустить демон-процесс inetd. Это можно
сделать, послав ему сигнал SIGHUP.
Ниже описана процедура перезапуска
процесса:
[root@shadrach lizzy]# ps ax | grep inetd 327 ? S 0:00 inetd 12600 pts/2 S 0:00 grep inetd [root@shadrach lizzy]#kill -HUP 327 [root@shadrach lizzy]#
Правильность установки
программы qpopper можно проверить,
подключившись с помощью программы telnet
к порту 110 почтового сервера, как это
показано в листинге 12.1.
1 [erin@shadrach erin]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is'^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. 6 QUIT 7 +OK Pop server at shadrach.smallorg.org signing off. 8 Connection closed by foreign host. 9 [erin@shadrach erin]$
В строке 1 листинга 12.1 показана
команда на подключение с помощью программы telnet к порту 110
Стандартная конфигурация qpopper должна нормально работать на обычных серверах POP3 под управлением ОС Linux. Однако имеется возможность задавать в qpopper более сложные настройки, что сделает ее более универсальной.
Общее свойство для ОС Linux —
поддержка теневых паролей. В традиционной
конфигурации Linux пароли и идентификаторы
пользователей хранятся в файле /etc/passwd.
К сожалению, этот файл доступен для чтения
любому пользователю системы. Благодаря
этому программа login
может обслуживать запросы на регистрацию в
системе, но вместе с тем файл становится
уязвимым для хакеров (они могут загрузить
его к себе на компьютер и взломать с помощью
специальных программ). В этом случае
первыми жертвами хакеров становятся
пользователи, которые используют в
качестве пароля свои имена или названия
любимых футбольных команд.
ОС Linux и пароли
В лекции 14, "Администрирование почтового сервера", вопросы обслуживания идентификаторов пользователей и паролей в ОС Linux обсуждаются более подробно.
Во многих версиях ОС Linux для
решения этой проблемы применяется так
называемый файл теневых паролей. При этом
идентификаторы пользователей системы по-прежнему
хранятся в файле /etc/passwd,
но пароли в зашифрованном виде хранятся в
другом файле, который можно сделать
недоступным для других пользователей. Если
используется файл теневых паролей, то
программы, проверяющие идентификаторы
пользователей, должны обнаруживать его.
Определить, используются ли в
вашей системе теневые пароли, можно с
помощью анализа файла /etc/passwd.
В листинге 12.2 приведен пример файла passwd
с использованием теневых паролей.
1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin: 3 daemon:x:2:2:daemon:/sbin: 4 adm:x:3:4:adm:/var/adm: 5 lp:x:4:7:ip:/var/spool/lpd: 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail: 10 news:x:9:13:news:/var/spool/news: 11 uucp:x:10:14:uucp:/var/spool/uucp: 12 operator:x:11:0:operator:/root: 13 games:x:2:100:games:/usr/games: 14 gopher:x:13:30:gopher:/usr/lib/gopher-data: 15 ftp:x:14:50:FTP User:/home/ftp: 16 nobody:x:99:99:Nobody:/: 17 postgres:x:100:101:PostgreSQL Server: /var/lib/pgsql:/bin/bash 18 lists:x:500:500:BeroList:/dev/null:/dev/null 19 xfs:x:101:103:X Font Server:/etc/X11/fs:/bin/false 20 rich:x:501:501:Rich:/home/rich:/bin/bash 21 barbara:x:502:502:Barbara's logon id: /home/barbara: /bin/bash 22 katie:x:503:503:Katie's logon id:/home/katie: /bin/bash 23 jessica:x:504:504 Jessica's logon id:/home/jessica: /bin/bash
В листинге 12.2 представлено
несколько идентификаторов пользователей
из файла /etc/passwd.
Для разделения полей в записях
используются двоеточия ( :).
В первом поле, как правило, хранится имя
пользователя, а во втором —
зашифрованный пароль. В файле, приведенном
в качестве примера, во втором поле всегда
присутствует буква х.
Это является для системы признаком того,
что используются теневые пароли. В данном
случае реальные пароли хранятся в файле /etc/shadow.
Этот файл представлен в листинге 12.3.
1 root:$1$wkRtb3BgrTSWmezOiXx.ZGAtG/zGKU1:10863:0:99999:7:-1:-1:134537880 2 bin:*:10863:0:99999:7::: 3 daemon:*:10863:0:99999:7::: 4 adm:*:10863:0:99999:7::: 5 lp:*:10863:99999:7::: 6 sync:*:10863:0:99999:7::: 7 shutdown:*:10863:0:99999:7::: 8 halt:*:10863:0:99999:7::: 9 mail:*:10863:0:99999:7::: 10 news:*:10863:0:99999:7::: 11 uucp:*:10863:0:99999:7::: 12 operator:*:10863:0:99999:7::: 13 games:*:10863:0:99999:7::: 14 gopher :*:10863: 0:99999:7 :: 15 ftp:*:10863:0:99999:7::: 16 nobody:*:10863:0:99999:7::: 17 postgres:!!:10863:0:99999:7::: 18 lists:!!:10863:0:99999:7::: 19 xfs:!!:10863:0:99999:7::: 20 rich:LMQ0lb3GwZr1s:10863 0:99999:7::: 21 barbara: MDOb23ddXdgPP: 10863:0:99999:7::: 22 katie:$1$ORlQdo1l$ggBH8mFNPGCBUUHMEjXWe1:10863:0:99999:7:1:-1: 134537888 23 jessica:$1$XEd8PKaP$AhJre7HN3UBcKjBBGeL1d1:10882:0:99999:7:-1:-1: 134537872
Из листинга 12.3 видно, что во втором поле содержатся зашифрованные пароли пользователей. Для получения доступа к файлу теневых паролей программа qpopper должна быть скомпилирована соответствующим образом.
Если перед этим вы компилировали
qpopper, то необходимо очистить выполняемый и
объектный файлы в рабочем каталоге. Это
делается с помощью команды, задаваемой в
каталоге qpopper3.0:
make clean
По этой команде будут удалены добавленные или измененные во время установки файлы. Далее необходимо запустить сценарий конфигурации с параметром, который включает поддержку теневых паролей. Формат команды следующий:
./configure -- enable-specialauth
По этой команде с помощью
параметров, необходимых для работы
компилятора GNU gcc
по включению файлов теневых паролей, вновь
создается Makefile.
После того как программа конфигурации
закончит создание Makefile,
нужно снова запустить программу make.
При этом в подкаталоге popper
создается новый выполняемый файл popper.
После этого вам придется еще раз
скопировать файл в каталог, указанный в
файле конфигурации inetd.conf (для этого вы должны обладать правами
пользователя root ). При
этом не нужно перезапускать процесс-демон inetd,
так как содержимое файла /etc/inetd.conf
не изменялось. После копирования нового
выполняемого файла в соответствующий
каталог можно проверить правильность
конфигурации с помощью программы telnet.
Для этого нужно обратиться на порт 110. В
листинге 12.4 приводится пример такого
сеанса.
1 [riley@shadrach riley]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. 6 USER riley 7 +OK Password required for riley. 8 PASS firetruck 9 +OK riley has 3 messages (1162 octets). 10 QUIT 11 +OK Pop server at shadrach.smallorg.org signing off. 12 Connection closed by foreign host. 13 [riley@shadrach riley]$
Вы видите, как в строке 1 листинга
12.4 открывается сеанс с помощью telnet
с портом 110 (порт POP3) локального почтового
сервера. В строке 5 выдается стандартное
сообщение программы qpopper
о том, что она запущена и готова к работе. В
строках 6 и 8 пользователь вводит свои имя и
пароль, а в строке 9 программа qpopper
уведомляет о том, что пароль и имя
пользователя опознаны и в его почтовом
ящике находятся три новых сообщения.
Как видно из листинга 12.4, клиент
почтовой системы должен сообщать серверу qpopper
свое имя и пароль в текстовом виде. Если
предположить, что пользователь riley
проверяет свой почтовый ящик по сети Internet,
то очевидно, что существует вероятность
перехвата его имени и пароля хакерами,
которые могут использовать эту информацию
в корыстных целях.
Однако для протокола POP3 разработано решение этой проблемы.
Как уже упоминалось в лекции 6,
существует несколько альтернативных
методов проверки подлинности пользователя.
В программе qpopper
поддерживается метод аутентификации
пользователей APOP. Для возможности
поддержки APOP программой qpopper требуется ее перекомпиляция.
Сначала необходимо удалить объектные и выполняемые файлы, созданные ранее; воспользовавшись для этого командой
make clean
Затем снова запустите сценарий конфигурирования, включая параметры, определяющие местоположение базы данных паролей APOP, и идентификатор пользователя, который будет администратором APOP. Для это задайте следующую команду:
./configure –-enable –-apop=/etc/pop.auth -–with-popuid=pop
По этой команде создается Makefile,
где в качестве базы данных паролей
используется файл /etc/pop.auth,
а администратором этой базы данных
является пользователь pop.
Затем с помощью команды GNU make можно
создать новые выполняемые файлы. При
использовании APOP создаются два выполняемых
файла — popper и popauth.
Как и в предыдущем случае,
скопируйте новый выполняемый файл popper
в каталог, указанный в файле inetd.conf
(например, /usr/local/lib ).
С помощью файла popauth
можно добавлять пользователей в базу
данных APOP, которая указывается в строке
конфигурации.
Для тестирования новой
конфигурации зайдите с помощью telnet
на порт 110 — вы увидите измененное
стандартное приглашение сервера. В
листинге 12.5 приведен пример сеанса работы с
сервером qpopper с
аутентификацией пользователей посредством
APOP.
1 [carol@shadrach carol]$ telnet localhost 110 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is '^]'. 5 +OK QPOP (version 3.0b18) at shadrach.smallorg.org starting. <17166.940368317@shadrach.smallorg.org> 6 QUIT 7 +OK Pop server at shadrach.smallorg.org signing off. 8 Connection closed by foreign host. 9 [carol@shadrach carol]$
В строке 1 листинга 12.5 задается
команда telnet на
подключение к порту, обслуживающему сервер
POP3. В строке 5 вы видите новое стандартное
приглашение сервера, сгенерированное
программой qpopper.
Как видите, оно отличается от аналогичных
приглашений из листингов 12.1 и 12.4. В данном
случае в него включена информация о работе
APOP. Как уже отмечалось в лекции 6, для работы
по протоколу APOP требуется задать начальные
значения для хеширования с заранее
известным ключом (в нашем случае в качестве
ключа выступает пароль). Его в
зашифрованном виде вы можете наблюдать в
приглашении сервера POP3. Обе стороны,
участвующие в соединении по POP3, должны
знать ключ заранее, чтобы при хешировании
зашифрованные значения могли быть
распознаны на удаленной стороне. Сервер qpopper
хранит все ключи в аутентификационной базе
данных.
База данных АРОР создается с помощью команды
./popauth -init
С помощью этой команды создается
новая аутентификационная база данных (например,
в каталоге /etc/pop.auth ).
При этом пользователь с идентификатором,
указанным в параметре -with-popuid,
является администратором базы данных АРОР
и имеет право добавлять в нее пользователей.
Одна из проблем, часто возникающих при
использовании qpopper,
состоит в том, что после занесения
пользователя в аутентификационную базу
данных ему приходится подключаться к
серверу POP3 только через АРОР, т.е. он уже не
сможет подключиться к нему без
аутентификации.
Для того чтобы добавить в базу данных нового пользователя, администратор АРОР должен задать команду:
popauth -user user,
где user —
принятое в ОС Linux имя пользователя.
Программа popauth далее
запросит у администратора пароль, который
будет использоваться данным пользователем
при аутентификации по АРОР. Этот пароль
может отличаться от обычного пароля,
принятого в ОС Linux. Для удаления
пользователя из базы данных АРОР задается
команда:
popauth -delete user,
где user —
имя пользователя в ОС Linux, которое удаляется
из базы. С помощью команды popauth,
задаваемой без параметров, пользователи
могут изменять пароли АРОР самостоятельно.
Еще одно полезное свойство qpopper —
рассылка циркулярных сообщений.
Циркулярные сообщения — это сообщения,
посылаемые сразу всем пользователям
сервера POP3. При подключении пользователя к
серверу POP3 программа qpopper
проверяет каталог циркулярных сообщений
определяя, какие из них не были прочитаны.
Все непрочитанные циркулярные сообщения
добавляются к обычным почтовым сообщениям
в почтовые ящики пользователей.
Администратор почтовой системы может
запретить пользователю отправку
циркулярных сообщений, ограничив доступ к
каталогу циркулярных сообщений.
Для обеспечения работы с
циркулярными сообщениями прежде всего
удалите все ненужные объектные и
выполняемые файлы, если уже имеется
скомпилированная версия qpopper.
Как вы уже знаете, это делается с помощью
команды:
make clean
Затем следует запустить
программу configure с
параметром, разрешающим использование
циркулярных сообщений. Далее вы можете
запустить программу configure
с несколькими необходимыми параметрами,
если, кроме работы с циркулярными
сообщениями, требуется поддержка теневых
паролей и работа с АРОР. Формат команды на
включение поддержки теневых паролей и
циркулярных сообщений следующий:
./configure -–enable-bulletins=/var/spool/bulls -–enable-specialauth,
где параметр -–enable-bulletins указывает на каталог, в
котором будут храниться циркулярные
сообщения. После выполнения сценария
конфигурации необходимо запустить утилиту
GNU make для создания
выполняемого файла popper.
Затем следует еще раз скопировать
выполняемый файл popper
в каталог, указанный в конфигурационном
файле inetd.conf.
Работая с циркулярными сообщениями, для каждого из них необходимо создавать отдельный файл и помещать его в каталог циркулярных сообщений. Имена файлов должны быть представлены в следующем формате:
nnnnn.string,
где nnnnn
представляет собой пятизначный номер
циркулярного сообщения, а string —
строка текста для идентификации
циркулярного сообщения (например, 00001.Test_Bulletin ).
Все циркулярные сообщения должны
нумероваться, чтобы программа qpopper
могла отслеживать, какие сообщения были
прочитаны, а какие нет. После получения
клиентом POP3 циркулярного сообщения оно не
будет отображаться в списке сообщений,
содержащихся в его почтовом ящике. Текст в
циркулярном сообщении должен
соответствовать формату RFC 822. В листинге 12.6
приведен пример циркулярного сообщения.
1 From pop Wed Oct 20 18:25:00 1999 2 Date: Wed, 20 Oct 1999 18:25:00 (EST) 3 From: "Mail Administrator" <postmaster@shadrach.smallorg.org> 4 Subject: Test bulletin 5 6 This is a test of the Qpopper mail bulletin system. This is only a test 7 Had this been a real bulletin you would have been instructed to do 8 something important, like log off of the system. 9 This is the end of the bulletin test.
Пока циркулярное сообщение находится в каталоге циркулярных сообщений, оно может быть загружено. После его удаления из каталога новые клиенты сервера POP3 не смогут принимать его в свои почтовые ящики.
Один из наиболее широко распространенных программных пакетов для поддержки POP3 и IMAP для платформы Linux был разработан в Вашингтонском университете. В пакет входят программы, реализующие функции сервера POP3 и сервера IMAP4rev1. В этом разделе рассматривается установка и конфигурирование программного обеспечения UW IMAP (буквы UW от англ. Вашингтонский университет — University of Washington) на сервере под управлением ОС Linux.
Большинство дистрибутивов ОС Linux
поставляется с бинарным пакетом UW IMAP. В Mandrake
Linux 6.0 это пакет imap-4.5-5mdk.i586.rpm.
Для его установки можно использовать
стандартную программу инсталляции пакетов —
RPM. Команда на установку пакета на вашем
компьютере выглядит следующим образом:
rpm -Uvh i imap-4.5-5mdk.i586.rpm
В настоящее время Вашингтонским университетом поддерживается Web-сайт с описанием программного обеспечения IMAP. Его адрес в сети Internet: http://www.washington.edu/imap/.
Там можно найти любую информацию
о проекте UW IMAP, разрабатываемом в
университете, а также ссылки на текущую
версию программы (в настоящее время 4.6).
Получить исходный код дистрибутива этой
версии вы можете по ссылке, указанной на Web-сайте.
Кроме того, можно получить текущую версию
этой программы непосредственно из каталога /imap на FTP-сервере ftp..
Файл imap.tar.Z, на
который указывает ссылка, всегда содержит
новую версию программы. На этом FTP-сервере
доступна для загрузки также тестовая бета-версия
4.7. Исходный код программы поставляется в
файле, сжатом стандартными средствами UNIX.
Имя этого файла — imap-4.7.BETA.tar.Z.
Помните, что при получении данного файла по
FTP следует использовать режим BINARY.
После того как вы получите исходный код, его нужно распаковать из архива в рабочий каталог:
tar -zxvf imap-4.7.BETA.tar.Z
С помощью этой команды создается
подкаталог imap-4.7.BETA,
и в него помещается исходный код
программного пакета.
При компиляции программы UW IMAP, в
отличие от qpopper,
никакие дополнительные параметры не
используются. Главным требованием при
создании выполняемых файлов программного
пакета IMAP из исходного кода является точное
знание версии операционной системы. Это
необходимо для того, чтобы использовать
соответствующий раздел Makefile.
В табл. 12.2 представлены параметры для
создания IMAP в различных версиях ОС Linux.
| Параметр | Описание |
|---|---|
lnx |
Традиционные системы семейства Linux |
lnp |
Системы Linux со встроенными модулями аутентификации Pluggable Authentification Modules (PAM) |
sl4 |
Системы Linux c использованием -lshadow
для паролей |
sl5 |
Системы Linux с использованием теневых паролей |
slx |
Системы Linux c использованием -lcrypt
для паролей |
В Mandrake Linux 6.0 для разрешения
использования теневых паролей следует
задать параметр slx:
make slx
С помощью этой команды из исходного кода компилируются выполняемые модули IMAP, которые помещаются в соответствующие подкаталоги. Затем устанавливаются и конфигурируются отдельные модули IMAP.
Для обеспечения нормальной
работы программного обеспечения сервера UW
POP3 его необходимо установить и
соответствующим образом сконфигурировать.
Вначале необходимо скопировать
выполняемые файлы в общий каталог.
Поскольку программы ipop3d
и imapd
сконфигурированы для использования
совместно c программой tcpd,
то лучше всего поместить их в каталог /usr/sbin.
Однако программа ipop3d
находится в подкаталоге ipopd
каталога imap-4.7.BETA.
В этот же каталог помещается и сервер POP2 — ipop2d. Это делается
лишь с целью обеспечения совместимости со
старыми почтовыми программами, в которых
отсутствует поддержка протокола POP3. Если
создается новая система электронной почты,
то желательно, конечно, обеспечить
поддержку протокола POP3 в ней. Для работы с
почтовым сервером по протоколу POP3 имеется
достаточно программ, реализующих функции
клиентов электронной почты (см. лекцию 15, "Конфигурирование
клиентов ЛВС"). Помните, что копирование
файла 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]$
В строке 1 листинга 12.7 показана
организация сеанса программы telnet
с портом POP3 — 110. В строке 5 вы видите
стандартное сообщение сервера UW POP3, в
котором говорится, что сервер запущен и
готов к работе.
Одна из дополнительных
возможностей, которые обеспечивает сервер
UW POP3, — использование АРОР для
аутентификации пользователей. Реализация
АРОР в UW POP3 намного проще, чем в qpopper,
но служит той же цели.
Обнаружив файл /etc/,
сервер UW POP3 автоматически обеспечивает
поддержку протоколов аутентификации APOP и
При работе с пакетом UW POP3 ключи
хранятся в файле /etc/.
В каждой строке этого файла хранятся имя
пользователя и ключ, который будет им
использоваться. В листинге 12.8
представлен пример файла /etc/.
1 rich guitar 2 barbara reading 3 riley firetruck 4 haley starwars 5 katie boxcar 6 jessica sharks
Как видно из листинга 12.8, база
данных
является текстовой. Для того чтобы защитить
пароли от посторонних, задайте режим
доступа к файлу 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]$
Здесь, как и в предыдущем
листинге, представлен пример сеанса telnet
с портом сервера POP3. Однако стандартное
приглашение сервера в строке 5 отличается
от представленного в листинге 12.7. Как
видите, в данном случае в нем приводится
значение АРОР. В строке 6 демонстрируется
работа АРОР в программе UW POP3. В отличие от
qpopper, пользователи UW POP3 могут подключаться к
серверу как с помощью АРОР, так и
посредством обычного имени и пароля. Это
частично решает проблему тех пользователей,
которые подключаются к почтовому серверу с
различных ПК и с помощью различных почтовых
программ.
В состав программного
обеспечения сервера 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]$
Когда вся почта для клиентов сети
собирается на почтовом сервере под
управлением ОС Linux, необходимо обеспечить
клиентов возможностью забирать ее к себе на
рабочие станции. В настоящее время наиболее
широкое распространение в качестве
основных средств для работы с почтовым
сервером получили протоколы IMAP и POP3. В
каждом из них есть свои сильные и слабые
стороны. Для работы на почтовом сервере с ОС
Linux в основном используются два программных
пакета — сервер POP3 qpopper
и серверы POP3 и IMAP Вашингтонского
университета (программа UW IMAP). Оба эти
пакета можно легко установить и
сконфигурировать на почтовом сервере.
Имеется также достаточное количество
клиентских почтовых программ, в функции
которых входит проверка содержимого
почтовых ящиков на сервере. В лекции 15, "Конфигурирование
клиентов ЛВС", подробно описан процесс
настройки этих программ для работы с
серверными программами POP3 и IMAP. В следующей
лекции обсуждаются вопросы
конфигурирования почтового сервера под
управлением ОС Linux для работы в различных
сетях.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.