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

ИБиЗИ ЛР / ПЗ ИБ 11.12.08

.pdf
Скачиваний:
62
Добавлен:
10.06.2015
Размер:
6.19 Mб
Скачать

Лабораторная работа 11

Элементы комплексной защиты сервера электронной почты на

основе свободно распространяемых программных продуктов.

Часть 1

Цель работы и содержание: научиться устанавливать и настраивать

компоненты комплексной защиты сервера электронной почты: ClamAV,

SpamAssassin, MIMEDefang.

1.Общая информация о связке Sendmail-MIMEDefang-ClamAV- SpamAssassin.

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

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

4.Установка и настройка MIMEDefang.

Теоретическая часть

11.1. Общая информация о связке

Sendmail-MIMEDefang-ClamAV-SpamAssassin

Большая часть того, что приходит на почтовый сервер, совсем не желательно: это вирусы, спам и исполняемый мусор. Защита от спама и вирусов может сэкономить много времени и сил. Рассмотрим процедуру настройки для FreeBSD, с небольшими поправками, она может быть применена к любой Unix/Linux-системе, в которой используется Sendmail.

Используются следующие программы:

Sendmail – почтовый сервер;

MIMEDefang – программа управления контентом;

ClamAV – антивирус;

SpamAssassin – программа по борьбе со спамом и нежелательной корреспонденцией.

151

Связка этих программ, настроенная соответствующим образом,

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

В Sendmail есть специальный интерфейс – milter API (milter = mail filter), предназначенный для подключения сторонних программ. Это означает, что можно легко добавить дополнительную функциональность к

Sendmail'у, которой у него раньше не было (рисунок 11.1).

sendmail

milter UNIX socket

/var/spool/MIMEDefang/mimedefang.sock

mimedefang

UNIX socket stdin /var/run/clamav/clamd

spamassassin

clamd

Рисунок 11.1 – Дополнительная функциональность Sendmail

В данном случае через milter к Sendmail'у будет подключен

MIMEDefang, а программы SpamAssassin и ClamAV будут в свою очередь подключаться к MIMEDefang'у.

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

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

Установите ClamAV из каталога /usr/ports/security/clamav с помощью команды make install.

cd /usr/ports/securtity/clamav make install

152

Пока что не вызывайте make clean! В каталоге сборки work/ есть примеры вирусов, на которых позже можно будет проверить, что программа работает правильно.

Из порта будут установлены:

главный сканнер вирусов, clamd;

утилита командной строки clamscan;

предварительная база сигнатур вирусов;

документация;

вспомогательные программы.

В нормальном режиме работы clamd должен работать постоянно, а

другие программы, которые желают проверить файл на наличие вирусов,

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

Запустите clamd из командной строки. Вообще-то его нужно конфигурировать, но в этот раз запуск выполняется только с целью проверки.

Находясь в каталоге порта, запустите проверку текущего каталога на наличие вирусов.

#clamscan -r -l testoutput.txt

Ключ -r заставляет clamscan выполнять рекурсивную проверку каталога. А ключ -l указывает на то, что результат сканирования нужно записать в файл testoutput.txt.

В результате выполнения команды clamscan проверит все файлы в текущем каталоге на вирусы и выведет сведения о каждом из них. В лог-

файле testoutput.txt будет сжатый отчѐт, в котором будут присутствовать только список инфицированных файлов и статистическая информация о проверке. Для версии ClamAV 0.65, должно быть найдено 5

инфицированных файлов.

Теперь нужно сконфигурировать ClamAV для совместной работы с

MIMEDefang. Его главный конфигурационный файл

/usr/local/etc/clamd.conf. Многие возможности и функции программы

153

являются конфигурируемыми, многие можно по желанию отключить.

Дополнительную информацию об опциях можно получить в man-странице файла clamav.conf.

Как минимум, нужно изменить пользователя, от имени которого будет работать ClamAV. Его нужно установить равным mailnull, это пользователь от имени которого работают Sendmail и MIMEDefang.

vi /usr/local/etc/clamd.conf

#User clamav

User mailnull

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

#chown -R mailnull:mailnull /var/run/clamav/

#chown -R mailnull:mailnull /var/log/clamav/

После того как заработал сканнер, можно заняться обновлением баз.

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

Для начала нужно запустить freshclam от имени root'а, чтобы проверить, что программа может связаться с одним из зеркал серверов описания вирусов и скачать с него базу. Убедитесь, что программа, прежде чем завершиться, проверяет свежесть файлов main.cvd и daily.cvd.

Когда уже известно, что обновление успешно выполняется, включите демон freshclam для выполнения периодических обновлений. Единственный нюанс связан с правами, с которыми работает freshclam. Демон freshclam

работает с правами clamav, а ClamAV – с правами mailnull, поэтому freshclam не сможет писать файлы в каталог журналов ClamAV. Проще всего изменить права, с которыми будет работать freshclam или пеложить его журналы в другое место.

154

В /etc/rc.conf нужно добавить строки clamav_clamd_enable=«NO» clamav_freshclam_enable=«YES» clamav_freshclam_flags=«-u mailnull --checks=1 \ --daemon-notify=/usr/local/etc/clamd.conf»

или

clamav_clamd_enable=«YES» clamav_freshclam_enable=«YES» clamav_freshclam_flags=«--checks=1 \ --datadir=/usr/local/share/clamav \ --daemon-notify=/usr/local/etc/clamd.conf \ --log=/var/log/freshclam.log»

в зависимости от того, какой вариант вы выберите. В первом случае freshlam

работает с правами mailnull, а во втором он кидает логи в другое место.

После следующей перезагрузки система запустит сканер вирусов и программу обновления базы сигнатур ClamAV. Если будут проблемы с запуском freshclam, попробуйте создать журнал и сделать его принадлежащим clamav.

#touch /var/log/freshclam.log

#chown clamav:clamav /var/log/freshclam.log

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

SpamAssassin – это одна из самых известных программ по борьбе со спамом. Это Perl-скрипт, который анализирует письмо, сравнивает его с рядом шаблонов, и, в зависимости от результатов анализа, присваивает каждому письму определѐнное число, спам-рейтинг. Например, ключевые слова, такие как «Viagra», или фразы, такие как «Make money fast»

увеличивают рейтинг письма. Рейтинг также увеличивается из-за отсутствия адреса получателя в заголовке или неизвестного имени для IP-адреса

155

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

В действительности, методы, которые SpamAssassin использует для обнаружения спама значительно шире.

Проверка заголовков письма на правильность и соответствие стандартам Интернета.

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

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

содержащим контрольные суммы спам-сообщений

IP-адрес отправителя письма может проверяться по онлайн-спискам

садресами известных спаммеров или подозрительных почтовых серверов

Определѐнные адреса, хосты или домены могут быть занесены в чѐрный или белый список. Белый список может быть создан автоматически,

основываясь на истории отправленных сообщений

Установите SpamAssassin из порта /usr/ports/mail/p5-Mail- SpamAssassin. Поскольку SpamAssassin будет работать как часть

MIMEDefang, конфигурировать его сам по себе не стоит. Его конфигурация входит в состав MIMEDefang. Сейчас можно переходить к конфигурированию MIMEDefang.

11.4. Установка и настройка MIMEDefang

MIMEDefang может менять письма множеством различных способов;

с его помощью можно очень гибко организовать регулировку прав по использованию почтовой системы. В данном случае, главная причина использования MIMEDefang это обрубать лишние атачменты и скоординировать действия ClamAV и SpamAssassin.

Порт MIMEDefang находится в /usr/ports/mail/mimedefang. Также как и SpamAssassin он написан на Perl. Также как и ClamAV он работает в

156

режиме демона. Это позволяет избежать большой нагрузки на систему при старте Perl-скрипта при получении каждого почтового сообщения. При инсталляции инсталляционный скрипт MIMEDefang определяет, что в системе присутствуют ClamAV и SpamAssassin и выполняет сборку

соответствующим образом.

 

 

Конфигурационный

файл

MIMEDefang,

usr/local/etc/mimedefang/mimedefang-filter, содержит фрагменты Perl-кода,

который интегрируется в код главного демона MIMEDefang. Если вы не очень хорошо разбираетесь в Perl, не переживайте; просто проверяѐте что вы добавили новые строчки именно в том виде, в каком они показаны ниже

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

неизвестно, кому он ещѐ полезней – программистам или администраторам

Unix).

Нужно установить несколько переменных в mimedefang, такие как $AdminAddress и $AdminName. Если отдельный человек будет заниматься администрированием MIMEDefang, укажите его имя и адрес, в противном случае, можете указать обычный адрес почтового администратора. (Кавычки указывать обязательно. Двойные или одинарные имеет значение, поэтому не нужно их менять.)

$AdminAddress=’postmaster@blackhelicopters.org’

$AdminName=«Mail Administrator»

MIMEDefang время от времени отправляет сообщения с информацией о выполненных действиях. Укажите адрес, на который должны приходить письма, в переменной $DaemonAddress.

$DaemonAddress=’mimedefang@blackhelicopters.org’

Остальные настройки в этом файле опциональны. Просмотрите, какие настройки вообще можно делать, возможно, какие-то из них покажутся вам полезными. Там же есть примеры, как настроить блокировку сообщений с

157

слишком большим количеством частей MIME (MIME parts). По умолчанию включены функции антиспама и антивируса и постановки письма на карантин.

Можно довериться MIMEDefang и просто отбрасывать письма,

зараженные с точки зрения MIMEDefang вирусами. Если вы не хоите ставить письма с вирусами на карантин, просто закомментируйте в файле mimedefang-filter эти строки:

#but quarantine the part for examination later. Comment

#the next line out if you don’t want to bother.

action_quarantine($entry, «A known virus was discovered and

\

deleted. Virus-scanner messages follow:\n \ $VirusScannerMessages\n\n»);

Если закомментировать эти строки, MIMEDefang заставит Sendmail

отбрасывать входящие письма с вирусами сразу же.

Переменная $bad_exts содержит список расширений файлов, которые

MIMEDefang будет блокировать. Можете расширить или, наоборот,

сократить этот список, если нужно. Для того чтобы запретить, например,

пересылку файлов с расширением .mp3, нужно просто добавить в список это расширение и перезапустить MIMEDefang.

Для того чтобы MIMEDefang стартовал во время загрузки системы, в

каталоге /usr/local/etc/rc.d найдите файл mimedefang.sh-dist и переименуйте его в mimedefang.sh. Если там уже есть такой файл, значит это действие выполнять не нужно – MIMEDefang уже будет стартовать.

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

MIMEDefang и clamd; SpamAssassin вызывает MIMEDefang, так что выполнять его запуск при загрузке не нужно.

Аппаратура и материалы

1.Компьютерный класс общего назначения.

2.Операционная система FreeBSD.

2. Sendmail,ClamAV, SpamAssassin, MIMEDefang.

158

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

Методика и порядок выполнения работы. Перед выполнением лабораторной работы студент получает индивидуальное задание. Защита лабораторной работы происходит только после его выполнения. При защите студент отвечает на контрольные вопросы и поясняет выполненное индивидуальное задание. Ход защиты лабораторной работы контролируется преподавателем.

Задания

1.Ознакомиться с теоретическими сведениями, изложенными в данных методических указаниях.

2.Выполнить установку и настройку программного обеспечения.

3.Оформить отчет.

Отчет о выполнении в письменном виде сдается преподавателю. При защите работы студент отвечает на контрольные вопросы и предоставляет отчет преподавателю.

Содержание отчета и его форма

Отчет должен иметь форму согласно оформлению реферата.

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

159

группы, фамилию и инициалы принимающего преподавателя. Основная часть лабораторной работы должна содержать следующие элементы.

1.Название лабораторной работы.

2.Цель и содержание лабораторной работы.

3. Описание процедур установки и конфигурирования компонентов.

4. Выводы по проделанной работе.

Вопросы для защиты работы

1.Что такое ClamAV и для чего он предназначен?

2.Как происходит установка с каталога портов?

3.Что такое SpamAssassin и для чего он предназначен?

4.Что такое MIMEDefang и для чего он предназначен?

5.Как установить запрет в MIMEDefang на пересылку файлов с определенным расширением?

6.Для чего предназначен демон freshclam?

7.Каким образом производится начальная настройка ClamAV и

MIMEDefang?

8.Какие методы SpamAssassin использует для обнаружения спама?

9.Что такое milter API?

10.Как с помощью MIMEDefang заставить Sendmail отбрасывать входящие письма с вирусами?

Лабораторная работа 12

Элементы комплексной защиты сервера электронной почты на

основе свободно распространяемых программных продуктов.

Часть 2

Цель работы и содержание: Научиться верифицировать (проверять)

корректность установки, настройки и работы компонентов комплексной защиты сервера электронной почты: ClamAV, SpamAssassin, MIMEDefang.

160