Корпоративная почтовая система на базе высокодоступного кластера

Автор: Пользователь скрыл имя, 26 Марта 2012 в 22:28, дипломная работа

Описание работы

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

Содержание

Введение
Техническое задание
Введение
1 Основание для разработки
2 Источники разработки
3 Технические требования
3.1 Состав изделия
3.2 Технические параметры
3.3 Принцип работы
3.4 Требования к надежности
3.5 Условия эксплуатации
3.6 Требования безопасности
4 Экономические показатели
5 Порядок испытаний
1 Анализ программных средств и технологий
1.1 Принципы работы электронной почты
1.1.1 Создание почтового сообщения
1.1.2 Отправка почтового сообщения
1.1.3 Протокол SMTP
1.1.4 Транспортировка сообщений
1.1.5 Доставка почтовых сообщений
1.1.6 Форматы серверных почтовых хранилищ
1.1.7 Организация доступа к серверным хранилищам
1.1.8 Получение сообщений
1.2 Технология DNS
1.3 Способы организации базы данных сообщений
1.4 Способы организации безопасности среды
1.4.1 Организация безопасности средствами операционной системы
1.4.2 Повышенная безопасность с использованием антивирусной защиты
1.4.3 Защита переписки криптографическими средствами
1.5 Технология кластеризации
1.6 Требования к программной части
1.7 Требования к аппаратной части
2 Проектирование корпоративной почтовой системы
2.1 Обоснование выбора DNS-сервера на основе BIND
2.2 Обоснование выбора агента передачи почты Postfix
2.2.1 Основные подсистемы Postfix
2.2.2 Демоны Postfix
2.2.3 Подсистема обработки входящих сообщений
2.2.4 Подсистема доставки почтовых сообщений
2.2.5 Управление очередями сообщений
2.2.6 Вспомогательные утилиты
2.2.7 Описание основных конфигурационных файлов Postfix
2.3 Сервер доставки почты MDA Dovecot
2.4 Обоснование выбора службы каталогов OpenLDAP в качестве базы данных
2.5 Обеспечение безопасной работы в почтовой системе
2.6 Организация кластера на основе Linux-HA
2.6.1 Программный пакет DRBD
2.6.2 Программный пакет Heartbeat
2.7 Обоснование выбора оборудования для почтового сервера
2.8 Обоснование выбора программных продуктов используемых в почтовой системе
3 Реализация корпоративной почтовой системы
3.1 Этапы установки и настройки компонент почтвой системы
3.1.1 Установка и настройка DNS-сервера BIND
3.1.2 Установка и конфигурация компонентов почтового сервера
3.2 Тестирование почтовой системы
3.2.1 Тестирование DNS-сервера
3.2.3 Тестирование спам-фильтра
3.2.4 Тестирование SSL
4 Оценка показателей качества и расчет общей стоимости владения почтовой системой
4.1 Оценка показателей качества
4.2 Расчет общей стоимости владения почтовой системой
4.3 Расчет стоимости теоретического проекта вычислительной системы
4.4 Расчет стоимости технического проекта вычислительной системы
4.5 Расчет стоимости внедрения вычислительной системы
4.6 Расчет стоимости эксплуатации вычислительной системы
4.7 Общая стоимость владения вычислительной системой
5 Раздел безопасности жизнедеятельности
5.1 Требования безопасности при эксплуатации видеодисплейных терминалов (ВДТ) и персональных электронно- вычислительных машин (ПЭВМ)
5.2 Охрана труда для операторов и пользователей персональных электронно-вычислительных машин (ПЭВМ)
5.2.1 Общие положения
5.2.2 Требования безопасности перед началом работы
5.2.3 Требования безопасности во время работы
5.2.4 Требования безопасности в аварийных ситуациях
5.2.5 Требования безопасности после окончания работы
5.3 Выводы по разделу
Заключение
Список используемой литературы
Приложение А
Приложение Б
Приложение В

Работа содержит 1 файл

Диплом.doc

— 1.47 Мб (Скачать)

Slave DNS-сервер – вторичный DNS-сервер для зоны, их может быть несколько. Основное предназначение вторичного сервера – подстраховывать первичный (Master server) сервер (в случае, если он станет временно недоступен) и снижать нагрузку обрабатывая часть запросов. Он обслуживает запросы наравне с первичным сервером, также являясь авторитативным для зоны и пользователю должно быть все равно с какого DNS-сервера получать информацию. Slave-сервер не может вносить изменения в конфигурацию зоны.

Необходимо снова установить пакеты bind-chroot и caching-nameserver.

# yum -y install bind-chroot caching-nameserver

Как и с master-сервером следует добавить автозагрузку при старте сервера.

# chkconfig named on

Соответственно файл /var/named/chroot/etc/named.conf выглядит следующим образом:

options

{

        directory «/var/named»;

        dump-file                   «data/cache_dump.db»;

        statistics-file             «data/named_stats.txt»;

        memstatistics-file      «data/named_mem_stats.txt»;

        version «Made in USSR»;

        listen-on {localhost; 192.168.147.132; };

        allow-transfer{none; };

        allow-query{trusted-networks; };

        allow-recursion {trusted-networks; };

        forwarders {192.168.146.132; };

};

logging

{

        channel default_ch {

                file «data/named-base.log»;

                severity info;

                print-time yes;

                print-category yes;

        };

        channel security_ch {

                file «data/named-security.log»;

                severity info;

                print-time yes;

                print-category yes;

        };

category default { default_ch; };

category security { security_ch; };

};

acl «trusted-networks» {localhost; 192.168.146.0/24; 192.168.147.0/24; };

zone «postfix-2011.org» IN {

        type slave;

        file «slaves/postfix-2011.org»;

        masters {192.168.146.132; };

};

include «/etc/named.rfc1912.zones»;

 

После настройки требуется заново прочитать конфигурационные файлы командой:

# rndc reload

3.1.2 Установка и конфигурация компонентов почтового сервера

Для работы выбранного продукта не понадобится программа Sendmail, таким образом, её можно удалить из системы:

# yum -y remove sendmail

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

# killall sendmail

# chkconfig --level 0123456 sendmail off

# yum remove 'sendmail*'

Далее установка MTA Postfix:

# yum install postfix

# chkconfig postfix on

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

# postmap helo_access

# poastmap dul_cheks

Для проверки настроек и прав доступа следует выполнить команду:

# postfix check

Если команда выдала пустой результат, значит все правильно.

Перезапустить Postfix или ввести команду для прочтения конфигурационных файлов, не перезагружая всю систему:

# postfix reload

Установка протокола доступа OpenLDAP:

# yum install openldap-servers openldap-clients nss_ldap

Далее подключаем три файла конфигурации для связки с почтовым сервером. Листинг файлов представлен в приложении Б. В файле main.cf необходимо изменить следующие параметры:

local_recipient_maps = proxy:ldap:/etc/postfix/ldap/local_recipient_maps.cf

virtual_alias_maps = proxy:ldap:/etc/postfix/ldap/virtual_alias_maps.cf

smtpd_sender_login_maps = ldap:/etc/postfix/ldap/smtpd_sender_login_maps.cf

Установка и настройка Dovecot

# yum -y install dovecot

# chkconfig dovecot on

Необходимо связать Dovecot с Postfix в конфигурационном файле master.cf, сам MTA не сможет передать сообщения без imap/pop3-сервера.

dovecot unix    -       n       n       -       -       pipe

  fl  ags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

Dovecot выполняет роль локального транспорта.

Установка и настройка ClamAV

# yum -y install clamd

# chkconfig clamd on

Для того чтобы почта проверялась на вирусы необходимо подключить антивирус к Postfix в конфигурационном файле master.cf.

scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes

127.0.0.1:10026 inet n - n - 16 smtpd

         -o content_fi  lter=

         -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

         -o smtpd_helo_restrictions=

         -o smtpd_client_restrictions=

         -o smtpd_sender_restrictions=

         -o smtpd_recipient_restrictions=permit_mynetworks,reject

         -o mynetworks_style=host

         -o smtpd_authorized_xforward_hosts=127.0.0.0/8

 

Сразу необходимо обновить антивирусные базы ClamAV командой указанной ниже.

# freshclam

Вся почта уходит на проверку в антивирус, а затем возвращается в Postfix.

Установка ClamSMTP

# rpm -Uvh  http://www.inet.lt/clamsmtp/clamsmtp-1.10-1.src.rpm

# cd /usr/src/redhat/SPECS

# yum -y install automake autoconf

# rpmbuild -ba clamsmtp.spec

# rpm -Uvh /usr/src/redhat/RPMS/i386/clamsmtp-1.10-1.i386.rpm

# chkconfig clamsmtpd on

Установка и настройка OpenSSL

# yum install openssl

# mkdir /etc/postfix/ssl

# cd /etc/postfix/ssl

# openssl req -new -nodes -keyout smtp.theos.in.key -out smtp.theos.in.csr

Необходимо в файле main.cf изменить настройки smtp:

smtpd_use_tls = yes

smtpd_tls_auth_only = yes

smtpd_tls_key_file = /etc/postfix/ssl/smtp.theos.in.key

smtpd_tls_cert_file = /etc/postfix/ssl/smtp.theos.in.crt

smtpd_tls_CAfile = /etc/postfix/ssl/caroot.crt

smtpd_tls_loglevel = 1

 

smtpd_tls_received_header = yes

smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

 

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain =

smtpd_sasl_security_options=noanonymous

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, permit_mynetworks check_relay_domains

smtpd_delay_reject = yes

broken_sasl_auth_clients = yes

 

Выполнить:

# postfix reload

Защитим imap/pop3-сервер средствами SSL, для это необходимо отредактировать главный конфигурационный файл Dovecot:

# vi /etc/dovecot.conf

Указать следующие значения в опциях:

ssl_cert_file = /etc/postfix/ssl/smtp.theos.in.crt

ssl_key_file = /etc/postfix/ssl/smtp.theos.in.key

Установить пароль:

ssl_key_password = myPassword

Перезапустить сервис:

# /etc/init.d/dovecot restart

Установка и настройка SpamAssassin

# yum install spamassassin

# adduser spami  lter -s /sbin/nologin

Для корректной работы следует создать файл /usr/local/bin/spamfilter с таким содержанием:

#!/bin/bash

/usr/bin/spamc | /usr/sbin/sendmail.postfi  x -i «$@»

exit $?

 

Далее необходимо сменить владельца и права на чтение, запись и исполнение файла.

# chown spamfilter /usr/local/bin/spamfilter

# chmod 755 /usr/local/bin/spamfilter

Необходимо отредактировать конфигурационный файл /etc/mail/spamassassin/local.cf. В приложении В прилагается листинг файла.

Для того чтобы вся входящая почта проверялась на спам необходимо связать SpamAssasin с Postfix в файле master.cf:

smtp       inet  n       -       n       -       -       smtpd

           -o content_fi  lter=spamfi  lter:dummy

Вся входящая почта первым делом направялется в спам-фильтр.

Установка веб-интерфейса Squirrelmail.

# yum -y install squirrelmail

# service httpd restart

http://192.168.146.150/webmail/

Инсталляция и настройка компонент почтового сервера закончена, можно запустить все сервисы:

# service postfix start

# service dovecot start

# service clamd start

# service clamsmtpd start

# service spamassassin start

Для организации кластера требуется установка и настройка пакетов DRBD и Heartbeat.

# yum -y install heartbeat drbd kmod-drbd

# chkconfig  heartbeat on

3.2 Тестирование почтовой системы

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

3.2.1 Тестирование DNS-сервера

Настроенный в данном проекте DNS-сервер не поддерживает зону ya.ru поэтому не может дать авторитативный ответ. Он всего лишь сообщает клиенту то, что узнал от других DNS-серверов. Такой ответ будет неавторитативным и будет содержать строку Non-authoritative answer в своем ответе. А возможность узнавать DNS-сервер будет у тех, кто перечислен в опции forwarders, то есть, кому перенаправлять запросы с которыми сервер не справился.

# nslookup ya.ru

Server:         192.168.146.132

Address:      192.168.146.132#53

Non-authoritative answer:

Name:   ya.ru

Address: 213.180.204.8

 

В этом примере ответ будет авторитативный - обращение с запросом к DNS-серверу, который обслуживает эту зону.

# nslookup postfix-2011.org

Server:         192.168.146.132

Address:      192.168.146.132#53

Name:   postfix-2011.org

Address: 192.168.146.132

 

Статистику работы можно посмотреть командой «rndc status»:

# rndc status

number of zones: 7

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/1000

tcp clients: 0/100

server is up and running

 

Описание параметров, по которым выдается статистика командой «rnds status» представлено в таблице 3.1.

Таблица 3.1 – Список параметров статистики

Наименование параметра

Описание

number of zones

число поддерживаемых зон этим DNS-серверов;

debug level

уровень отладки debug;

xfers running

сколько сейчас зон передается;

xfers def  ered

сколько передач зон отложено;

soa queries in progress

сколько происходит запросов soa-записей в настоящий момент;

query logging is OFF

журналирвоание запросов отключено;

recursive clients

число обрабатываемых рекурсивных запросов;

tcp clients

сколько клиентов;

server is up and running

сервер запущен и функционирует.

 

3.2.3 Тестирование спам-фильтра

Проверить работоспособность системы с анти-спамом можно отправив письмо со специальным содержанием.

# mail -s “just test” tester@company.ru

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X [Enter]

Ctrl+D

[Enter]

 

В пришедшем письме появился заголовок «****SPAM****», значит, система функционирует нормально.

3.2.4 Тестирование SSL

Для того чтобы проверить TLS, достаточно запустить средством telnet-сессии файл smpt.theos.in через порт 25. Если есть линии STARTTLS и AUTH, то все работает правильно. Команда «$ telnet smpt.theos.in 25».

Trying 202.54.221.5...

Connected to smtp.theos.in.

Escape character is '^]'.

220 smtp.theos.in ESMTP Postfix

ehlo smtp.theos.in

250-smtp.theos.in

250-PIPELINING

250-SIZE 10240000

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

Далее можно проверить почтовый лог-файл:

# tail -f /var/log/maillog

Результат:

Jul 12 14:25:10 smtp postfix/smtpd[28817]: connect from unknown[84.167.114.61]

Jul 12 14:25:11 smtp postfix/smtpd[28817]: setting up TLS connection from unknown[84.167.114.61]

Jul 12 14:25:11 smtp postfix/smtpd[28817]: TLS connection established from unknown[84.167.114.61]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)

Jul 12 14:25:12 smtp postfix/smtpd[28817]: B3A0A9D8443: client=unknown[84.167.114.61], sasl_method=PLAIN, sasl_username=user1@theos.in

Jul 12 14:25:13 smtp postfix/cleanup[28807]: B3A0A9D8443: message-id=<46968015.50400@theos.in>

Jul 12 14:25:13 smtp postfix/qmgr[28806]: B3A0A9D8443: from=, size=632, nrcpt=1 (queue active)

Jul 12 14:25:14 smtp postfix/smtpd[28817]: disconnect from unknown[122.167.114.61]

Jul 12 14:25:14 smtp postfix/smtp[28821]: B3A0A9D8443: to=, relay=aspmx.l.google.com[209.85.163.27]:25, delay=2.1, delays=1.5/0/0.13/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1184268314 n29si21297786elf)

Jul 12 14:25:14 smtp postfix/qmgr[28806]: B3A0A9D8443: removed

 


4 Оценка показателей качества и расчет общей стоимости владения почтовой системой

4.1 Оценка показателей качества

Дадим определение показателям качества и определим, какими свойством обладает вычислительная система.

Показатели качества:

­         мобильность;

­         надежность;

­         ориентация на потребителя;

­         масштабируемость;

­         модифицируемость;

­         эффективность.

Данное программное обеспечение модифицируемо, поскольку имеется исходный код всех программ, используемых в проекте. Система состоит из модулей, чем определяется её модифицируемость, наращиваемость, масштабируемость. Также система структурирована, так как модули связаны между собой и работают как единый сервис. При выходе какого-либо компонента из строя по каким-либо причинам, это не повлияет на работоспособность системы в целом. Тем не менее, система очень устойчива, все программы, включенные в систему написаны с учетом требований надежности и качества. Почтовая система портируема на свободные операционные системы, такие как FreeBSD, RedHat, OpenSuse, Debian, Solaris и другие.

Информация о работе Корпоративная почтовая система на базе высокодоступного кластера