Автор: Пользователь скрыл имя, 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 Выводы по разделу
Заключение
Список используемой литературы
Приложение А
Приложение Б
Приложение В
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.
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
Для работы выбранного продукта не понадобится программа 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/l
virtual_alias_maps = proxy:ldap:/etc/postfix/ldap/v
smtpd_sender_login_maps = ldap:/etc/postfix/ldap/smtpd_
Установка и настройка 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/
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_
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=
-o mynetworks_style=host
-o smtpd_authorized_xforward_
Сразу необходимо обновить антивирусные базы ClamAV командой указанной ниже.
# freshclam
Вся почта уходит на проверку в антивирус, а затем возвращается в Postfix.
Установка ClamSMTP
# rpm -Uvh http://www.inet.lt/clamsmtp/cl
# cd /usr/src/redhat/SPECS
# yum -y install automake autoconf
# rpmbuild -ba clamsmtp.spec
# rpm -Uvh /usr/src/redhat/RPMS/i386/
# 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.
smtpd_tls_cert_file = /etc/postfix/ssl/smtp.theos.
smtpd_tls_CAfile = /etc/postfix/ssl/caroot.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_
tls_random_source = dev:/dev/urandom
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options=
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.
ssl_key_file = /etc/postfix/ssl/smtp.theos.
Установить пароль:
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.c
Для того чтобы вся входящая почта проверялась на спам необходимо связать 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/
Инсталляция и настройка компонент почтового сервера закончена, можно запустить все сервисы:
# 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
Для того чтобы убедиться в надежности проделанной работы требуется протестировать основные сервисы на корректность работы. Корпоративная система должна работать без ошибок, сбоев и существенных задержек, так как высокопроизводительное аппаратное обеспечение на сервере и точная настройка ПО дает возможность всем сервисам работать качественно, не срывая бизнес-процессы и не нарушая удобство пользования.
Настроенный в данном проекте 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 | сервер запущен и функционирует. |
Проверить работоспособность системы с анти-спамом можно отправив письмо со специальным содержанием.
# mail -s “just test” tester@company.ru
XJS*C4JDBQADN1.NSBN3*2IDNEN*
Ctrl+D
[Enter]
В пришедшем письме появился заголовок «****SPAM****», значит, система функционирует нормально.
Для того чтобы проверить 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@
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.
Jul 12 14:25:14 smtp postfix/qmgr[28806]: B3A0A9D8443: removed
Дадим определение показателям качества и определим, какими свойством обладает вычислительная система.
Показатели качества:
мобильность;
надежность;
ориентация на потребителя;
масштабируемость;
модифицируемость;
эффективность.
Данное программное обеспечение модифицируемо, поскольку имеется исходный код всех программ, используемых в проекте. Система состоит из модулей, чем определяется её модифицируемость, наращиваемость, масштабируемость. Также система структурирована, так как модули связаны между собой и работают как единый сервис. При выходе какого-либо компонента из строя по каким-либо причинам, это не повлияет на работоспособность системы в целом. Тем не менее, система очень устойчива, все программы, включенные в систему написаны с учетом требований надежности и качества. Почтовая система портируема на свободные операционные системы, такие как FreeBSD, RedHat, OpenSuse, Debian, Solaris и другие.
Информация о работе Корпоративная почтовая система на базе высокодоступного кластера