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

Автор: Пользователь скрыл имя, 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 Мб (Скачать)

Таким образом, все незапрошенные предложения, попавшие в ящик, делится на:

­         спам, имеющий все признаки анонимной массовой рассылки;

­         целевые коммерческие предложения.

Первые нужно фильтровать и иногда сразу удалять — согласно политике компании. Вторые также возможно фильтровать, но с ними нужно обращаться более осторожно.

SpamAssassin – эффективное средство для фильтрации спама, основанное на взаимодействии ключевых компонентов — оценочного демона, транспортного агента и базы шаблонов писем. Выпускается под лицензией Apache Licence 2.0.

SpamAssassian позволяет использовать большое количество тестов на спам. Поддерживает хранение конфигураций, привязанных к MySQL и LDAP. Возможно расширение через плагины.

1.4.3 Защита переписки криптографическими средствами

Важным пунктом в обеспечении безопасности переписки по средствам электронной почты является шифрование сообщений. Несмотря на то, что стандартное шифрование сообщений даёт определенную защиту, следует обеспечить профессиональную защиту с использованием криптографических протоколов. В большом количестве зарекомендовавших себя алгоритмов можно выделить те, которые чаще всего используются: 3DES с максимальной длинной ключа 192 бита, AES (128, 192 и 256 бит), MD-5 (128 бит), RSA (1024 бит). При работе в сети используются протоколы TLS и SSL.

Алгоритмы, использующиеся в SSL:

1. Для обмена ключами и проверки их подлинности применяются: RSA, Diffie-Hellman, ECDH, SRP, PSK.

2. Для аутентификации: RSA, DSA, ECDSA.

3. Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES, Camellia.

4. Для хеш-функций: SHA, MD5, MD4 и MD2.

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

1.5 Технология кластеризации

В основе понятия кластеризации лежит принцип как можно более близкого физического расположения на диске логически связанных между собой и часто употребляемых данных. Физическая кластеризация данных – важное условие высокой производительности.

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

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

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

Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Типичное число узлов — два, это минимальное количество, приводящее к повышению доступности.

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

­         с холодным резервом или активный/пассивный. Активный узел выполняет запросы, а пассивный ждет его отказа и включается в работу, когда таковой произойдет. Пример — резервные сетевые соединения, в частности, Алгоритм связующего дерева. Например, связка DRBD и HeartBeat;

­         с горячим резервом или активный/активный. Все узлы выполняют запросы, в случае отказа одного нагрузка перераспределяется между оставшимися. То есть кластер распределения нагрузки с поддержкой перераспределения запросов при отказе. Примеры — практически все кластерные технологии, например, Microsoft Cluster Server. OpenSource проект OpenMosix;

­         с модульной избыточностью. Применяется только в случае, когда простой системы совершенно недопустим. Все узлы одновременно выполняют один и тот же запрос (либо части его, но так, что результат достижим и при отказе любого узла), из результатов берется любой. Необходимо гарантировать, что результаты разных узлов всегда будут одинаковы (либо различия гарантированно не повлияют на дальнейшую работу).

Есть три вида кластеров:

­         отказоустойчивые кластеры (HA, High-availability clusters) – задача таких кластеров обеспечивать бесперебойность работы сервисов, которые он обслуживает. При реализации такого кластера необходимо задействовать не менее двух серверов, каждая нода дублирует другую и в случае ее выхода из строя сразу же берет работу на себя и обслуживает запросы;

­         высокопроизводительные кластеры (HPC, High-performance clusters), задача таких кластеров увеличивать скорость вычисления. Все вычисления разбиваются на параллельно выполняющиеся потоки. Программное обеспечение должно поддерживать работу в таком режиме;

­         кластеры с распределением нагрузки (LB, Load balancing clusters) –  принцип работы таких кластеров заключается в распределение нагрузки. Входящие запросы проходят через первичный узел (Director) который занимается распределением нагрузки между вычислительными нодами.

На рисунке 1.5 изображены оранжевыми квадратами условно обозначены два сервера, которые образуют кластер HA. Коробки содержат обычные компоненты ядра Linux: файловая система, TCP/IP-стек и интерфейс сетевой карты (Network Interface Card, NIC).

Рисунок 1.5 – Место DRBD в стеке ввода/вывода Linux

1.6 Требования к программной части

Для организации почтового сервера понадобится настроить DNS-сервер, сам MTA, базу данных и сервисы.

Для создания корпоративной почтовой системы используем свободный агент передачи почты Postfix, шифрование по протоколу SSL, свободный антивирус ClamAV и спам-фильтр SpamAssassin. Так как проект создается для корпоративной структуры, пользователей предпочтительней хранить в централизованной базе LDAP на основе OpenLDAP. Передача (отправка и приём) почты осуществляется по протоколу IMAP (и POP3). Для обеспечения отказоустойчивости системы будет организован кластер из двух нод. Для организации кластера существует свободное решение drbd и heartbeat, с помощью которых организуется зеркалирование и репликация данных в общий раздел. В качестве почтового клиента для конечного пользователя используется Squirrelmail за отличный дизайн и простоту использования. Это веб-интерфейс для пользователей системы. Главное достоинство всех этих продуктов в том, что они распространяются абсолютно бесплатно на основе лицензии GNU/GPL, а функционал и надежность большинства схожих продуктов не сравнима с ними.

1.7 Требования к аппаратной части

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


2 Проектирование корпоративной почтовой системы

2.1 Обоснование выбора DNS-сервера на основе BIND

BIND – это пакет, содержащий программное обеспечение для построения DNS-сервера. DNS-сервер позволяет преобразовывать доменные имена к IP-адресам и наоборот. Работа в компьютерных сетях происходит с IP-адресами (уникальный идентификатор) но запомнить все нужные IP-адреса не представляется возможным и здесь на помощь приходит DNS-сервер, который позволяет обращаться к хосту по имени.

При построение DNS-системы необходимо придерживаться некоторого набора правил:

1. Для каждой зоны должны быть не менее двух DNS-серверов, один master-сервер и один slave-сервер.

2. DNS-сервера должны быть в разных сетях класса C, что должно гарантировать работоспособность сервиса в случае потери связи одного из сегментов сети, в котором находится DNS-сервер. В таблице 2.1 представлены основные файлы и каталоги, с которыми чаще всего приходится иметь дело при настройке или непосредственно использования программы.

Таблица 2.1 – Ключевые файлы и каталоги пакета BIND

Путь к каталогу или файлу

Описание

/var/named/chroot/

Структура файловой системы и файлы которые будут использоваться в работе chrooted-bind;

/usr/sbin/named

Исполняемый файл DNS-сервера;

/var/named/chroot/etc/named.conf

Пол умолчанию конфигурационный файл named.conf расположен в /etc/ но так как в данной работе настраивается DNS-сервер в chroot-окружение, будет расположен здесь, чтобы named смог его найти;

/var/named/

Все нужные файлы для работы named расположены здесь и в подкаталогах;

/usr/sbin/rndc

Утилита для управления named;

/usr/sbin/named-checkzone

Утилита для проверки корректности файла зоны;

/usr/sbin/named-checkconf

Утилита для проверки корректности конфигурационного файла;

 

 

Продолжение таблицы 2.1

Путь к каталогу или файлу

Описание

/etc/rc.d/init.d/named

Скрипт для chkconfig, при установке из репозитория все параметры следует оставить по умолчанию;

/etc/sysconfig/named

Здесь можно задать некоторые опции с которыми будет стартовать named;

/usr/share/doc/bind-9.3.4/

Документация.

 

Структуру конфигурационного файла можно представить как набор секций. В таблице ниже представлены виды секций с описанием их назначения. Для того чтобы правильно настроить сервисы в Linux в основном приходится менять конфигурации в текстовых файлах. В таблице 2.2 представлены опции и описание главного конфигурационного файла BIND – name.conf.

Таблица 2.2 – Описание конфигурационного файла named.conf

Наименование секции

Описание

options

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

logging

Секция описывает режим журналирования, если на сервере используется syslog то эта секция должна присутствовать;

zone

Секция описывает зону которую данный DNS-сервер будет поддерживать;

acl

Access Control Lists, позволяет описать какую либо группу хостов а далее, при конфигурирование, уже ссылаться на эту группу;

controls

Описывает доступ к удаленному управлению DNS-сервером через rndc;

include

Позволяет подключить дополнительный файлы конфигурации;

key

Секция описывает ключи, используемые для аутентификации и контроля операций с Dynamic DNS и удаленного управления;

lwres

Секция описывает свойства DNS-сервера когда он запущен как легковесный резолвер;

server

Здесь описываются опции, которые DNS-сервер будет использовать при взаимодействие с другим сервером;

view

Позволяет описать поведение сервера для конкретных хостов/сетей;

trusted-keys

Описывает доверенные ключи для домена.

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