Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Сергей Супрунов
Статья Сергея Яремчука «Свободный антивирус», опубликованная в мартовском номере журнала «Системный администратор» 2004 года, вдохновила меня на установку этого пакета на вверенном мне сервере. Однако выяснилось, что под FreeBSD этот процесс происходит несколько иначе, чем под Linux, что и стало поводом для написания данной статьи. Впрочем, ничего сложного нет, поэтому материал ориентирован скорее на новичков.
Антивирус ClamAV имеется в коллекции портов FreeBSD, а потому вполне разумным мне показалось выполнить установку именно оттуда. Ряд проблем, с которыми пришлось столкнуться, показал, что ClamAV портирован на эту ОС не совсем корректно. Но обо всем по порядку…
Первым делом я отправился в /usr/ports/security/clamav. Чтение Makefile позволило узнать, что предлагаемая версия – 0.73, что выглядит довольно хорошо (последняя на тот момент была 0.74, но, как известно, «последнее» – не значит «лучшее»). Там же узнаем опции, с которыми пакет будет сконфигурирован:
CONFIGURE_ARGS= --with-dbdir=${DATADIR} --disable-clamuko --disable-clamav --enable-bigstack --disable-dependency-tracking
Опцию --disable-clamav, отменяющую работу от имени пользователя clamav, я решил убрать – зачем пренебрегать дополнительной безопасностью? Ну и поскольку системные администраторы – люди исключительно бескорыстные, и все их заботы и труды – о пользователях и ради пользователей, то была добавлена поддержка milter для последующей интеграции нашего антивируса с sendmail:
CONFIGURE_ARGS+= --enable-milter
Попутно я обратил внимание на следующую строчку:
OPTIONS= MILTER “Compile the milter interface” off
Попытка собрать систему вышеприведенной опцией и без нее не обнаружила никаких различий. Более того, в bsd.ports.mk упоминания параметра OPTIONS не нашлось. Возможно, во FreeBSD он не используется.
Полагая, что подготовительные работы закончены и
все остальное инсталлятор сделает сам, была подана команда make. И тут
случилась первая аномалия: утилита, как и положено, попыталась скачать
дистрибутив пакета, но только с одного сайта – с
Сборка пошла, но через несколько минут появилось сообщение, что программа не будет нормально работать, пока в системе не появится пользователь clamav. Пришлось выполнить этот ультиматум вручную, хотя обычно порт создает нужных ему пользователей самостоятельно.
Сборка завершилась успешно, инсталляция тоже особых проблем не породила, не считая того, что с первого раза вывалилась ошибка, а повторный make install, запущенный для детального изучения проблемы, завершился без проблем. Видимо, с первой попытки не удалось закачать какой-то вспомогательный пакет. На стадии инсталляции тоже частенько докачиваются и устанавливаются вспомогательные пакеты, которые для сборки не нужны, но используются в дальнейшей работе. В частности, для clamav именно на этом этапе происходит установка портов unarj, unrar и т. д., если их нет в системе, а проверка архивов включена.
На первый взгляд все выглядело весьма респектабельно: конфигурационные файлы clamav.conf и freshclam.conf чинно лежали в /usr/local/etc. В первом я включил закомментированные по умолчанию опции LogTime, выводящую в лог время события (лог при этом растет вдвое быстрее, зато понятно, что и когда происходит), и ScanRAR, разрешающую проверку rar-архивов (проверка остальных по умолчанию включена). Директория /usr/local/etc/rc.d обзавелась еще двумя сценариями, призванными автоматически запускать при перезагрузке компьютера демон clamd и утилиту обновления баз freshclam.