Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
119
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 27. Exim – почтовый транспортный агент

401

Рис. 27.3 Включение поддержки безопасного соединения с использованием протокола SSL в Microsoft Outlook Express 6.

Конфигурирование Exim в качестве локального почтового сервера

В данном случае под локальным (т. е. обслуживающим только локальных пользователей) почтовым сервером понимается почтовый сервер, который выполняет следующие функции:

принимает сообщения от локальных пользователей, генерируемых запущенными на сервере служ-

бами;

отправляет сообщения от локальных пользователей на центральный почтовый концентратор сети или другой почтовый сервер, настроенный для доставки сообщений администратору сервера;

не принимает входящих сообщений от внешних пользователей.

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

Конфигурирование Exim для использования в режиме локального почтового сервера осуществляется аналогично конфигурированию центрального почтового концентратора.

Для того, чтобы сервер не принимал сообщений из вне в файле /etc/sysconfig/exim строку:

DAEMON= "-bd"

замените на: daemon=""

402

Часть 7. Программное обеспечение для организации службы электронной почты

Глава 28

Qpopper –программное обеспечение для организации получения почтовыми клиентскими программами сообщений электронной почты

В этой главе:

1. Ограничения и допущения

2.Пакеты

3.Компиляция, оптимизация и инсталляция Qpopper

4.Конфигурирование Qpopper

5.Конфигурационный файл /etc/qpopper.conf

6.Конфигурационный файл /etc/pam.d/pop3

7.Конфигурационный файл /etc/sysconfig/qpopper

8.Файл инициализации /etc/init.d/qpopper

9.Тестирование Qpopper

10. Запуск Qpopper с поддержкой SSL

Глава 28. Qpopper – программное обеспечение для организации получения...

403

Qpopper – популярный, высокопроизводительный и надежный сервер от QUALCOMM Incorporated, предназначенный для организации получения сообщений электронной почты клиентскими почтовыми программами с использованием протокола POP3. Вам необходимо установить эту программу для того, чтобы пользователи с удаленных систем могли получать почту с вашего центрального почтового концентратора, используя установленные на рабочих станциях клиентские почтовые программы (Mail User Agent, MUA).

Ограничения и допущения

Исходные коды находятся в каталоге /var/tmp.

Все операции выполняются пользователем с учетной записью root. Используется дистрибутив ASPLinux 7.3 (Vostok).

Перекомпиляция ядра не требуется.

Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы этого не проверяли.

Пакеты

Последующие рекомендации основаны на информации, полученной с домашней страницы проекта Qpopper по состоянию на 22.06.2003. Регулярно посещайте домашнюю страницу проекта http://www.qpopper.org/qpopper/ и отслеживайте обновления.

Исходные коды Qpopper содержатся в архиве qpopperversion.tar.gz (последняя доступная на момент написания главы стабильная версия qpopper4.0.5.tar.gz).

Для нормальной инсталляции и работы Qpopper необходима установка DNS-сервера ISC BIND и почтового транспортного агента Exim. Для использования Qpopper c поддержкой протокола TSL/SSL необходима установка программы OpenSSL.

Компиляция, оптимизация и инсталляция Qpopper

Для инсталляции Qpopper необходимо выполнить следующие операции.

Шаг 1 Осуществите проверку подлинности имеющегося в вашем распоряжении архива с исходными кода-

ми, используя процедуры, описанные в шаге 1 радела «Компиляция, оптимизация и инсталляция OpenSSL» главы 12.

Шаг 2

Распакуйте архивы с исходными кодами Qpopper в каталоге /var/tmp:

[root@test tmp]# tar xzpf qpopper4.0.5.tar.gz

[root@test tmp]# cd qpopper4.0.5

Шаг 3

Отконфигурируйте исходные коды Qpopper:

[root@test qpopper4.0.5]# CFLAGS="-O2 -march=i686 -funroll-loops"; export

CFLAGS

./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \

--enable-cache-dir=/var/spool/mail \ --enable-log-login \ --enable-specialauth \

--enable-shy \ --enable-standalone \ --enable-timing \ --enable-uw-kludge \ --enable-servermode \ --enable-fast-update \

--enable-temp-drop-dir=/var/spool/mail \ --disable-old-spool-loc \ --disable-status \

--with-pam \

404

Часть 7. Программное обеспечение для организации службы электронной почты

 

--with-openssl

Шаг 4

Откомпилируйте, проинсталлируйте Qpopper, создайте и сохраните в надежном месте список установленных файлов:

[root@test qpopper4.0.5]# make

[root@test qpopper4.0.5]# find /* > /root/qpopper1 [root@test qpopper4.0.5]# make install

[root@test qpopper4.0.5]# find /* > /root/qpopper2

[root@test qpopper4.0.5]# diff /root/qpopper1 /root/qpopper2>

/root/qpopper.installed

[root@test qpopper4.0.5]# mv /root/qpopper.installed

/very_reliable_place/qpopper.installed.YYYYMMDD

Шаг 5 Удалите архивы и каталоги с исходными кодами программ:

[root@test qpopper4.0.5]# cd /var/tmp/

[root@test tmp]# rm -rf qpopper4.0.5/ [root@test tmp]# rm -f qpopper4.0.5.tar.gz

Конфигурирование Qpopper

Конфигурирование программы Qpopper осуществляется с использованием следующих файлов:

главного конфигурационного файла /etc/qpopper.conf;

файла поддержки аутентификации пользователей с использованием модулей PAM

/etc/pam.d/pop3;

системного конфигурационного файла /etc/sysconfig/qpopper;

файла инициализации /etc/init.d/qpopper.

Конфигурационный файл /etc/qpopper.conf

Шаг 1

Создайте файл /etc/qpopper.conf, отредактируйте строки, руководствуясь приведенными ниже

рекомендациями и вашими потребностями:

 

set clear-text-password

= default

set reverse-lookup

= false

set tls-support

= default

set chunky-writes

= never

В этом файле строка:

 

set clear-text-password

= default

разрешает использование паролей в текстовом формате для всех пользователей. Опция set clear-text- password также может принимать следующие значения:

never

– запрещает использование паролей в текстовом формате;

always

– разрешает использовать пароли в текстовом формате;

local

– разрешает использование паролей в текстовом формате только для локальных пользова-

телей;

 

 

 

tls

– означает, что пароли должны шифроваться с использованием протокола TSL/SSL.

Строка:

 

 

set reverse-lookup

= false

для увеличения производительности запрещает определение доменных имен хостов, устанавливающих соединение.

Строка:

 

 

set tls-support

=

default

отключает поддержку протоколов TSL/SSL.

 

 

Строка:

 

 

set chunky-writes

=

never

запрещает объединение данных, отправляемых клиентам, в большие фрагменты.

Шаг 2

Глава 28. Qpopper – программное обеспечение для организации получения...

405

Определите права доступа к файлу /etc/qpopper.conf и назначьте его владельцем пользователя

root:

[root@test /]# chmod 640 /etc/qpopper.conf [root@test /]# chown 0.0 /etc/qpopper.conf

Конфигурационный файл /etc/pam.d/pop3

Шаг 1

Создайте файл /etc/pam.d/pop3, содержащий следующие строки:

#%PAM-1.0

 

 

auth

required

/lib/security/pam_pwdb.so shadow

account

required

/lib/security/pam_pwdb.so

password

required

/lib/security/pam_cracklib.so

password

required

/lib/security/pam_pwdb.so nullok

use_authtok md5 shadow

 

session

required

/lib/security/pam_pwdb.so

Шаг 2

Определите права доступа к файлу /etc/pam.d/pop3 и назначьте его владельцем пользователя

root:

[root@test /]# chmod 640 /etc/pam.d/pop3 [root@test /]# chown 0.0 /etc/pam.d/pop3

Конфигурационный файл /etc/sysconfig/qpopper

Шаг 1

Создайте файл /etc/sysconfig/qpopper, содержащий следующие строки:

#The IP address & port number on which the Qpopper daemon will listen

#can be specified here. The default port number is "110", for POP3 with

#SSL support (POP3s), the port number must be "995" instead of "110". #IPADDR="127.0.0.1:110"

IPADDR="0.0.0.0:110"

#IPADDR="0.0.0.0:995"

#Where our Qpopper configuration file (qpopper.conf) is located. OPTIONS="-f /etc/qpopper.conf"

Шаг 2

Определите права доступа к файлу /etc/sysconfig/qpopper и назначьте его владельцем пользователя root:

[root@test /]# chmod 640 /etc/sysconfig/qpopper [root@test /]# chown 0.0 /etc/sysconfig/qpopper

Файл инициализации /etc/init.d/qpopper

Шаг 1

Создайте файл /etc/init.d/qpopper, содержащий следующие строки:

#!/bin/bash

#This shell script takes care of starting and stopping Qpopper POP3 protocol.

#chkconfig: 345 50 50

#description: Qpopper supports the widely used POP3 protocol for downloading \

#

Internet e-mail used by many popular e-mail clients.

#

 

#processname: popper

#config: /etc/qpopper.conf

#pidfile: /var/run/popper.pid

#Source function library.

. /etc/init.d/functions

406

Часть 7. Программное обеспечение для организации службы электронной почты

#Source networking configuration.

. /etc/sysconfig/network

#Source for additional options if we have them. if [ -f /etc/sysconfig/qpopper ] ; then

. /etc/sysconfig/qpopper

fi

#Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

#If Qpopper is not available stop now. [ -f /usr/sbin/popper ] || exit 0

#Path to the Qpopper binary. popper=/usr/sbin/popper

RETVAL=0

prog="Qpopper"

start() {

echo -n $"Starting $prog: " daemon $popper $IPADDR $OPTIONS RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/popper return $RETVAL

}

stop() {

echo -n $"Shutting down $prog: " killproc $popper

RETVAL=$? echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/popper return $RETVAL

}

# See how we were called. case "$1" in

start)

start

;;

stop)

stop

;;

status)

status $popper RETVAL=$?

;;

restart) stop start

RETVAL=$?

;;

condrestart)

if [ -f /var/lock/subsys/popper ]; then stop

start RETVAL=$?

fi

;;

*)

Глава 28. Qpopper – программное обеспечение для организации получения...

407

echo $"Usage: $0 {start|stop|status|restart|condrestart}" exit 1

esac

exit $RETVAL

Шаг 2

Определите права доступа к файлу /etc/init.d/qpopper и назначьте его владельцем пользователя root:

[root@test /]# chmod 700 /etc/init.d/qpopper [root@test /]# chown 0.0 /etc/init.d/qpopper

Шаг 3

Для автоматического запуска Qpopper при загрузке системы создайте необходимые ссылки:

[root@test /]# chkconfig --add qpopper [root@test /]# chkconfig --level 345 qpopper on

Тестирование Qpopper

Шаг 1

Проверьте наличие, а при необходимости добавьте в файл /etc/shells строку:

/bin/false/

Шаг 2 На центральном почтовом концентраторе создайте пользователя, которому разрешается получение

сообщений:

[root@test /]# useradd -g users -s /bin/false polyakoff [root@test /]# passwd polyakoff

Changing password for user polyakoff New UNIX password: Secretnoe_$L0VO

Retype new UNIX password: Secretnoe_$L0VO

passwd: all authentication tokens updated successfully

Шаг 3

Запустите Qpopper:

[root@test /]# /etc/init.d/qpopper start

Запускается Qpopper: [ОК]

Шаг 4

Просканируйте порты вашего почтового концентратора с помощью сканера портов, например, nmap

(http:// www.insecure.org/nmap/):

[root@test root]# nmap test.bruy.info

Если POP-сервер ожидает подключений на 110 порту, то вы получите сообщение следующего вида:

Starting nmap V. 2.54BETA34 ( www.insecure.org/nmap/ ) Interesting ports on test.bruy.info (212.111.80.127):

(The 1554 ports scanned but not shown below are in state: closed)

Port

 

State

Service

110/tcp

open

pop-3

Nmap

run completed -- 1 IP address (1 host up) scanned in 1 second

Шаг 5 На удаленной системе настройте клиентскую почтовую программу на использование в качестве

SMTP и POP-сервера вашего почтового концентратора. Отправьте с ее помощью сообщение пользователю, например, polyakoff. Через некоторое время проверьте почту. Если вы получили сообщение, то POPсервер работает нормально.

Запуск Qpopper с поддержкой SSL

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

408

Часть 7. Программное обеспечение для организации службы электронной почты

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

Шаг 1 Для создания самостоятельно подписанного сертификата необходимо наличие собственного серти-

фикационного центра. Если вы его уже создали, то перейдите к следующему шагу. В противном случае ознакомьтесь с рекомендациями раздела «Тестирование OpenSSL» главы 12 и создайте собственный сертификационный центр.

Шаг 2 Создайте самостоятельно подписанный незащищенный паролем сертификат:

[root@test /]# cd /usr/share/ssl

[root@test ssl]# openssl req -new -x509 -nodes -days 365 -out tmp.pem

Generating a 1024 bit RSA private key

.................................................++++++

.........................................................................

................++++++

writing new private key to 'privkey.pem'

-----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [RU]:<Enter>

State or Province Name (full name) [Moscow]:<Enter> Locality Name (eg, city) [Yubileyniy]:<Enter> Organization Name (eg, company) [Valentine Bruy]:<Enter> Organizational Unit Name (eg, section) [Home]:<Enter> Common Name (eg, YOUR name) [test.bruy.info]:<Enter>

Email Address [drwalbr@bruy.info]: drwalbr@test.bruy.info <Enter>

Шаг 3

Добавьте в конец файла privkey.pem раздел "certificate" из файла tmp.pem:

[root@test ssl]# cat tmp.pem >> privkey.pem

Шаг 4

Поместите файл /usr/share/ssl/privkey.pem сертификата в каталог certs, переименуйте его в pop3.pem, установите права доступа к файлу и удалите более ненужный файл tmp.pem:

[root@test ssl]# mv privkey.pem certs/pop3.pem [root@test ssl]# chmod 400 certs/pop3.pem

[root@test ssl]# rm -f tmp.pem

Шаг 5

Файл /etc/qpopper.conf отредактируйте следующим образом:

set clear-text-password

= tls

set reverse-lookup

= false

set tls-support

= alternate-port

set

tls-server-cert-file

=

"/usr/share/ssl/certs/pop3.pem"

set

chunky-writes

=

tls

Шаг 6

В файле /etc/sysconfig/qpopper:

Замените строку:

IPADDR = "0.0.0.0:110"

на:

IPADDR = "0.0.0.0:995"

Глава 28. Qpopper – программное обеспечение для организации получения...

409

Шаг 7

 

 

Перезапустите Qpopper:

 

 

[root@test /]# /etc/init.d/qpopper restart

[ОК]

 

Останавливается Qpopper:

 

Запускается Qpopper:

[ОК]

 

Шаг 8

Просканируйте порты вашего почтового концентратора с помощью сканера портов, например, nmap

(http:// www.insecure.org/nmap/):

[root@test /]# nmap test.bruy.info

Если POP-сервер ожидает подключений с поддержкой протокола SSL на 995 порту, то вы получите сообщение следующего вида:

Starting nmap V. 2.54BETA34 ( www.insecure.org/nmap/ ) Interesting ports on test.bruy.info (212.111.80.127):

(The 1554 ports scanned but not shown below are in state: closed)

Port

 

State

Service

995/tcp

open

pop3s

Nmap

run completed -- 1 IP address (1 host up) scanned in 1 second

Шаг 9 Проверьте работоспособность сертификата:

[root@test /]# cd /usr/share/ssl

[root@test ssl]# openssl

OpenSSL> s_client –host test.bruy.info –port 995

Если вы получите сообщение такого вида:

CONNECTED(00000003)

depth=0 subject=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info issuer=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info verify error:num=18:self signed certificate

verify return:1 =/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info issuer=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info

---

Certificate chain

0 s:/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info issuer=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info

i: :/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info issuer=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info

---

Server certificate

-----BEGIN CERTIFICATE-----

MIIDqjCCAxOgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCUlUx

DzANBgNVBAgTBk1vc2NvdzETMBEGA1UEBxMKWXViaWxleW5peTEXMBUGA1UEChMO

VmFsZW50aW5lIEJydXkxDTALBgNVBAsTBEhvbWUxFzAVBgNVBAMTDnRlc3QuYnJ1

eS5pbmZvMSUwIwYJKoZIhvcNAQkBFhZkcndhbGJyQHRlc3QuYnJ1eS5pbmZvMB4X

DTAzMDYwNjEyMjc0M1oXDTA0MDYwNTEyMjc0M1owgZsxCzAJBgNVBAYTAlJVMQ8w

DQYDVQQIEwZNb3Njb3cxEzARBgNVBAcTCll1YmlsZXluaXkxFzAVBgNVBAoTDlZh

bGVudGluZSBCcnV5MQ0wCwYDVQQLEwRIb21lMRcwFQYDVQQDEw50ZXN0LmJydXku

aW5mbzElMCMGCSqGSIb3DQEJARYWZHJ3YWxickB0ZXN0LmJydXkuaW5mbzCBnzAN

BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzvmLMuOeBKpoCi87tzsd9Q3J6g1gWHFQ

FFI8dTR9Wpnn4UZfOsUg7c01PR7vEZSkap5X1wkJ3mQRYB+7XnDHfcQ34jjqUXyj

410

Часть 7. Программное обеспечение для организации службы электронной почты

 

Y7xCRy5mVr8vg5qsTn2uG6vePThci8Lgjz1cEbafh+k2o/W73RIrYJou4x3YNUs1

 

 

BbvKUSahFdsCAwEAAaOB+zCB+DAdBgNVHQ4EFgQUtJuuHibUU9UUJOalwV+Eg1Kg

 

 

KfIwgcgGA1UdIwSBwDCBvYAUtJuuHibUU9UUJOalwV+Eg1KgKfKhgaGkgZ4wgZsx

 

 

CzAJBgNVBAYTAlJVMQ8wDQYDVQQIEwZNb3Njb3cxEzARBgNVBAcTCll1YmlsZXlu

 

 

aXkxFzAVBgNVBAoTDlZhbGVudGluZSBCcnV5MQ0wCwYDVQQLEwRIb21lMRcwFQYD

 

 

VQQDEw50ZXN0LmJydXkuaW5mbzElMCMGCSqGSIb3DQEJARYWZHJ3YWxickB0ZXN0

 

 

LmJydXkuaW5mb4IBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAKL1

 

 

il+jCyUEtfWjwsg93r8HysD16FO8ort74h9tJIqjoVSazuOR957J5RfPpakTW86X

 

 

rDW66NdLDRzRdmAyDGfrY2gCYQMYyG5StPJChys8Xwgz1TcuaC9W/B3j1xVotOTh

 

 

6sZcya6zKHw3hDD6CegMe5WsFeolx9REb1FPG2Af

 

 

-----END CERTIFICATE-----

 

 

subject=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine

 

 

Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info

 

 

issuer=/C=RU/ST=Moscow/L=Yubileyniy/O=Valentine

 

 

Bruy/OU=Home/CN=test.bruy.info/emailAddress=drwalbr@test.bruy.info

 

 

---

 

 

 

No client certificate CA names sent

 

 

---

 

 

 

SSL handshake has read 1104 bytes and written 346 bytes

 

 

---

 

 

 

New, TLSv1/SSLv3, Cipher is AES256-SHA

 

 

Server public key is 1024 bit

 

 

SSL-Session:

 

 

 

Protocol

: TLSv1

 

 

Cipher

: AES256-SHA

 

 

Session-ID:

 

 

5B5265419B1696D549F5164FCCA3399970D573009A27AD5D2FE45026C661C3DB

Ses-

 

sion-ID-ctx:

 

 

 

Master-Key:

 

295C9CBCDF2BBC8851AB64CA1807125DB2705DBE73BA506B88D2FEEA61B1F8DF15F2443C6

00105E56D810B71A48445EA

Key-Arg

:

None

Start Time:

1056267322

Timeout

:

300 (sec)

Verify return code: 18 (self signed certificate)

---

+OK ready

то ваш сертификат работает правильно. Завершите соединение с POP-сервером:

Pop > quit

+OK Pop server at test.bruy.info signing off. closed

Шаг 10 На удаленной системе настройте клиентскую почтовую программу на использование в качестве

SMTP и POP-сервера вашего почтового концентратора. Включите поддержку безопасного соединения с использованием протокола SSL. Например, в Microsoft Outlook Express 6 для этого нужно в свойствах учетной записи в настройках POP-сервера выбрать опцию "Подключаться через безопасное соединение SSL" (рис. 28.1).

Соседние файлы в предмете Информатика