Защищаем свой почтовый сервер от вирусов
Итак. Полчища Klez-а переполнили чашу Вашего терпения и Вы решили наконец-то повесить на ваш почтовый сервер антивирус, чтобы ни один вирус не дошел до пользователей и у них не было соблазна запустить очередную игрушку, в результате запуска которой Вы в очередной раз делаете марш бросок по офису убивая ненависную заразу и на чем свет ругаю пользователей. Правильно - давно пора :-) Осталость только выбрать - что лучше поставить. Среди всевозможных антивирусных систем я выбрал утилиту Mailscanner. Можно долго говорить - хорошо это или нет, но это есть и это, надо сказать, прекрасно работает. Mailscanner - это не антивирус - это просто набор perl скриптов, которые играют роль интерфейса между антивирусной программой и почтовым сервером. Вообще mailscanner может работать еще и как фильтр спама, но об этом позже. Итак - что я использую. В качестве сервера используюется SuSE Linux 7.2. Вообще в состав данного дистрибутива (начиная с версии 7.2) уже входит подобный интерфейс - Amavis. Но эта программа требует модификации конфигурационного файла MTA агента. В принципе в этом нет ничего страшного, но зачем это делать, если можно обойтись без оного? Хотя без принципа идеология работы подобных систем одна - сначала куда-то кладется письмо, потом оно обрабатывается тем же Mailscanner-ом или тем же Amavis-ом, а потом обратно вызывается MTA агент и все уже чистенькое доставляется пользователям. Или не доставляется - все зависит от того, какие параметры Вы зададите. Такая система возможно либо посредством задания правил прямо в конфигурационном скрипте MTA агента, либо просто - запуск последнего со специальными ключами - метод работы от этого не меняется. И так. Что имеем. ОС, как я уже говорил, SuSE Linux 7.2, MTA агент - sendmail, антивирус - McAfee и уже обозначенный Mailscanner. Для начала ставим антивирус. Это просто и ничего сложного в этом нет. По умолчанию инсталляционный скрипт McAfee ставит себя в /usr/local/uvscan Не будем ничего менять, пусть себе там и стоит. Далее берем MailScanner-номер версии-.tar.gz и распаковываем его. Куда-нибудь. Потом директорию "mailscanner" копируем к примеру в /opt. После этого скрипты из mcafee (в нашем случае - там еще есть набор скриптов для целого ряда антивирусов, к примеру для avp) копируем туда, куда мы проинсталлировали наш антивирус. В нашем случае в /usr/local/uvscan. После этого проверяем, чтобы символическая ссылка "autoupdate" указывала на скрипт "autoupdate.linux" и "mcafeewrapper" указывал на "mcafeewrapper.linux". Как я думаю Вы уже догадались - первый файл - это скрипт обновления антивирусных баз, а второй - это скрипт, который запускает антивирус (в нашем случае файл uvscan) с правильными параметрами. Далее, редактируем эти файлы для того, чтобы в них были указаны верные параметры. Первым открываем "autoupdate", ищем строку drwxr-xr-x 5 root other 512 May 15 14:12 /opt/mailscanner Естественно, что времена создания и раpмеры файлов могут быть разные 8-) а вот все остальное - надо установить как указано. Да - если в диреткории /var нету каких-то директорий из "incoming", "outgoing" и "quarantine" создайте их. virusdir = что-то Вот это "что-то" меняем на virusdir = /opt/mailscanne/bin Все - с содержимым директории /bin покончено. Переходим к директории /etc. В этой диреткории находится основный конфигурационные файлы системы и файлы сообщений, которые будут отсылаться пользователям, администраторам, тем кто послал письмо, если в письме есть вирус. Но все попорядку. Основной конфигурационный файл системы называется "mailscanner.conf". Да - этот файл тоже обычно является символической ссылкой. Проверьте, чтобы он указывал на файл "mailscanner.conf.linux". В этом файле куча параметров и все они приведены здесь. Я остановлюсь лишь на основных. Во-первых выставляем все параметры для используемого нами MTA агента, а именно sendmail. Вообще по умолчанию там все как раз для него и выставлено, так что ничего особенно выставлять и не нужно. Далее - меняем все пути, на "/opt/mailscanner", к примеру для параметра Incoming Work Dir = что-то/var/incoming выставляем параметр Incoming Work Dir = opt/mailscanner/var/incoming И так далее. После этого меняем значение Host Name на что-то свое, к примеру Host Name = Linux.ru website Далее. Прописываем параметры, соответствующие выбранному нами антивирусу. Напоминаю, что в нашем случае это mcafee. Итак: Virus Scanner = mcafee ........ Далее прописываем путь собственно к антивирусу: Sweep = /usr/local/uvscan/mcafeewrapper Далее ищем строку LocalDomains = чему-то Если у Вас один домен, к примеру linux.ru, то тогда прописываем в этой строке LocalDomains = linux.ru Если же несколько, то тогда лучше их прописывать в отдельном файле: LocalDomains = /opt/mailscanner/etc/localdomains.conf И в этом файле мы и прописываем все виртуальные домены, которые живут на нашем сервере. Прямо так, столбиком :-) Ну вроде все. В основном с файлом конфигурации мы закруглились. Если что-то хотим подправить - то правим :-) Но уже все основное мы сделали. Теперь, если хотим, мы можем написать все что угодно в файлах .txt в которых пишутся и рассылаются системные сообщения. А можно ничего не писать - сообщения тогда будут "по-умолчанию" и по-английски. Если же будете переводить, ч настоятельно рекомендую оставлять и английский текст. А то мне не всегда понятно, когда мне прихотят сообщения об ошибках, к примеру, на китайском... Итак, конфигурирование mailscanner окончено. Да! Совсем забыл. В mailscanner.conf есть одна веселая опция - ArchiveMail. Если у этой опции параметр yes, то тогда ВСЯ исходящая и входящая почта будет храниться в директории Archive Mail Dir. Только учтите. Эта диреткория очень быстро запоняется... Теперь перейдем к конфигурированию sendmail. /var/spool/mqueue # cd /var/spool Далее. По умолчанию в конфигах sendmail прописана рабочая диреткория как /var/mqueue. Вот лучше убить эту директию и сделать символическую ссылку /var/mqueue на /var/spool/mqueue. С sendmail вроде все. Теперь init скрипты и cron. 0 1 * * * root /usr/local/uvscan/autoupdate # 18/05/2000 JKF Ensure my e-mail virus scanner is still running 0,20,40 * * * * [ -x /opt/mailscanner/bin/check_mailscanner ] && /opt/mailscanner/bin/check_mailscanner >/dev/null 2>&1 Она периодически проверять наш mailscanner на то - не упал ли он и если вдруг упал - то запускает его вновь. Вроде с расписанием все. Сохраняем наш файл и идем к init скриптам. В каждом дисртибутиве они выглядят по-разному, но общая идея одна, сделать так, чтобы sendmail запускался с параметрами sendmail -bd -ODeliveryMode=queueonly -OQueueDirectory=/var/spool/mqueue.in -q15m Обычно в качестве параметров для sendmail стоит строка вида: sendmail -bd -q15m Init скрипт для sendmail в SuSE находится в /etc/rc.config.d/sendmail.rc.config Ну все. Переинициализируем sendmail - в SuSE - rcsendmail restart - запускаем mailscanner - /opt/mailscanner/bin/check_mailscanner и наслаждаемся жизнью. Удачи!
Страница сайта http://silicontaiga.ru
Оригинал находится по адресу http://silicontaiga.ru/home.asp?artId=6253 |