Ubuntu Server. Настраиваем антивирусный фильтр роутера (ClamAV)

| Комментариев: 53
nat+squid+clamav.pngАнтивирусная защита корпоративной сети одна из наиболее актуальных задач для системного администратора. Одним из основных путей проникновения вирусов и прочих вредоносных программ является Интернет, поэтому весьма логично будет проверять проходящий HTTP трафик на наличие вирусов еще на роутере, до того как потенциально опасное ПО попадет во внутреннюю сеть.
Такой подход позволяет существенно повысить безопасность сети, особенно для небольших организаций, где у администратора зачастую нет инструментов централизованного контроля и управления антивирусной защитой на клиентских ПК. 

В UNIX-like системах весьма популярен антивирусный сканер ClamAV, во многом благодаря своей бесплатности. Он неплохо подойдет для учебных и некоммерческих организаций, а также при ограниченном бюджете. В иных случаях стоит обратить внимание на коммерческие решения, например от "Лаборатории Касперского", потому что эффективность ClamAV довольно низка, хотя вполне приемлема для бесплатного продукта.

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

Кроме антивируса ClamAV мы будем использовать HAVP - HTTP Antivirus Proxy - специализированный прокси-сервер для антивирусной проверки трафика. Общая схема будет выглядеть следующим образом: клиентский запрос поступает кэширующему прокси-серверу Squid, который либо выдает результат из кэша, либо передает запрос вышестоящему прокси HAVP, тот обрабатывает запрос, проверяет трафик антивирусным сканером и передает его обратно Squid'у который отдает запрос клиенту и помещает его в кэш. Этим достигается высокое быстродействие - кэш Squid'а не проверяется антивирусом. Преимуществами HAVP, по сравнению с редиректорами (squidclamav и т.п.) является более высокая скорость работы и поддержка широкого спектра антивирусных приложений, что дает возможность сменить антивирус без кардинального перестроения всей системы.

Итак, приступим. Установим ClamAV:

sudo apt-get install clamav

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

Установим HAVP:

sudo apt-get install havp

HAVP по умолчанию настроен на работу с ClamAV и также не требует настройки. Хотя мы рекомендовали бы найти опцию TEMPLATEPATH/etc/havp/havp.config), раскомментировать ее и изменить на:

TEMPLATEPATH /etc/havp/templates/ru

Это позволит выводить страницы ошибок и сообщений о найденных вирусах на русском языке. Также может потребоваться изменить опцию PORT. По умолчанию HAVP работает на порту 8080, что не всегда приемлемо, данный порт часто бывает занят другими программами (например DansGuardian). Перезапускаем HAVP:

sudo /etc/init.d/havp restart

Теперь настроим Squid на использование вышестоящего прокси и сканирование только HTTP трафика. В конец файла /etc/squid/squid.conf добавляем следующие строки:

cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP

Перезапускаем Squid:

sudo /etc/init.d/squid restart

Теперь с клиентского ПК заходим на страничку http://eicar.org/anti_virus_test_file.htm и пробуем скачать тестовый вирус (не опасен, представляет собой специальную сигнатуру для проверки  антивирусного ПО). Если все настроено правильно мы должны увидеть следующую страничку:

Windows-XP-Professional-2010-06-29-13-46-10.pngШаблоны страничек выполнены в виде HTML файлов и находятся в /etc/havp/templates/ru, можете отредактировать их на свое усмотрение.

Комментариев: 53

Сори, хотел уточнить, будет ли корректно работать всё чо тут указано в разрезе той конфигурации что разбиралась тут: http://interface31.ru/tech_it/2010/03/ubuntu-server-nastraivaem-kontent-fil-tr-routera-dansguardian.html
Когда м настраивали контентфильтр...

Заранее признателен за ответ.

буду крайне признателен если на основе того что делали в прошлых статьях построить антивир.защиту... конечно идеально если рассмотрим два варианта как использовасть сам DG и как с кламом (переопределить порты)...

и продолжаем ждать статью про OpenLDAP :)

Даже не знаю как выразить своё восхищение читая ваши статьи! Очень доступно, понятно и самое главное всё работает! Автору огромное спасибо! Не буду льстить, но это лучшее описание в интернете по Ubuntu Server которое мне удавалось найти в поисковике. У меня единственная просьба, если не затруднит, очень бы хотелось увидеть статью про почтовый сервер для малой и средней организации на Ubuntu Server. Чего не нахожу то где-то не объяснят для чего это сделали и в итоге в комментариях все пишут, что что-то не получилось, а по вашему описанию всё работает как часы! Ещё раз огромное спасибо, надеюсь что вы найдёте немного времени для почтового сервера.

Если будет целый цикл и там всё будите раскладывать по полкам, то это будет наивысший пилотаж.
Присоеденяюсь к коллеге на предмет почтовика и к его отзыву по поводу того, что данный ресурс в рунете единственный где всё изложенно грамотно и качественно!

Будем ждать дружно цикл статей про OpenLDAP и статейку про почту :)
Автору проекта в копилку очередное спасибо за антивирусник :)

Отличная статья. Большое Вам спасибо за материал, очень сильно помогли.
Есть одна небольшая просьба. Расскажите, есть ли какие-либо варианты блокирования torrent-контентана шлюзе ubuntu, настроенном по вашим статьям. DG не установлен, т.к. по большому счету нет необходимости.
Спасибо, с уважением, Роман.

Тогда еще один вопрос: чем можно эффективно мониторить сетевую нагрузку на сетевые карты? (а именно - допустим с компа в сети приходит запрос по определенному порту, и в этом случае в логе остается запись, что с такого-то компьютера было обращение на этот порт, и если оно было, то какой объем траффика использовал тот компьютер)
С уважением, Роман.

здравствуйте!
при попытке скачать тестовый антивирус, по указанной вами ссылке, с http:// HAVP прекрасно отрабатывает.
но при попытке скачать с https:// браузер (в моем случае firefox 3.6.6 и ie 6.0) предлагает сохранить инфицированный файл.
подскажите пожалуйста, в чем может быть проблема?
заранее благодарен за ответ.

при добовлении в конец файла конфига
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP
пытаюсь перезапустить squid выдёт: Job faild to restart
и страницы перестают открываться на клиенте
подскажите пожалуйста в чём может быть проблема?

Всё заработало!!! действительно была ошибочка с пробелом
Спасибо большое за статью

Антивирусный фильтр не заработал, тестовые вирусы успешно загружаются.
В error.log havp есть такие записи: "ClamAV Library Scanner passed EICAR virus test (Eicar-Test-Signature)".
И перестал работать, настроеный по Вашей статье, прозрачный прокси роутера - теперь в браузере приходится указывать явно настройки прокси-сервера :(

Не подскажете где искать ошибку?

Ну да, добавил Ваши строки
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP
Однако, проблема с прозрачным прокси появилась на следующий день - после перезагрузки сервера.

При перезапуске сети имеется такое сообщение:
SIOCADDRT: File exists
Failed to bring up eth0.
Раньше не замечал..
Свои правила не добавлял, во всяком случае осознанно :)

Ошибка с eth0 ушла или сама, или из-за моих неосознанных действий. Причиной того что не работал прозрачный прокси было то что в последней строке файла /etc/nat была указана сеть 10 из статьи, а не моя. Как это произошло - не помню :)
В итоге: роутер с прозрачным прокси работает, а антивирусный фильтр роутера не работает - т.е тестовый вирус благополучно закачивается на локальную машину.
Подскажите что можно сделать?

squid stop - это я проверил сразу - интернет гаснет. всё как надо. а clamav куда смотреть? база обновляется...кэш squid очищал. тестовый вирус успешно загружается. при проверке локальным clamav - обнаруживается.

Аналогичным образом от "havp stop" интернет пропадает. При запуске havp - восстанавливается

Добрый день!
Подскажите одну проблему не могу разобраться с HAVP: выдает ошибку сегментирования,при его запуске.

При внесении изменений в файл /etc/squid/squid.conf и рестарте squid ругается: "unknown neighbor type: 127.0.0.1", что-то я не указал в конфиге?
После установки HAVP выдал:
"WARNING: Your ClamAV installation is OUTDATED!"
Добавил репозитарий:
deb http://ppa.launchpad.net/ubuntu-clamav/ppa/ubuntu hardy main и сделал ребут - не помогло.
P.S.: Спасибо Вам за статьи, очень помогают разобраться.

Как можно поверх всего что здесь сделано установить SAMS?

Очень часто получаю:

HTTP Antivirus Proxy - HAVP
Ошибка при запросе службы доменных имён

Произошла ошибка DNS при попытке открыть страницу
....

Как излечить сие ..?

Добрый день!
Подскажите как пропускать запросы вида "ftp://ftp.shtrih-m.ru/download/FR/Software/Drivers/DrvFR_4.9_205.rar" через squid?
Настроена связка интернет-havp-squid-локальная сеть, при вводе в браузере указанного запроса получаю сообщение от HAVP "FTP is currently supported only if PARENTPROXY is Used!"
Так понимаю что squid не пропускает эти запросы, если же ввести запрос вида "ftp://user:password@ftp.shtrih-m.ru/download/FR/Software/Drivers/DrvFR_4.9_205.rar" тогда после авторизации файл можно сказать.

Что ж мне так не везет:(
После установки havp следующее сообщение:
==========
Starting havp: Starting HAVP Version: 0.91
LibClamAV Error: cli_loaddb(): No supported database files found in /var/lib/clamav/
One or more scanners failed to initialize!
Check errorlog for errors.
Exiting..
invoke-rc.d: initscript havp, action "start" failed.
E: Error starting service (could be due to port 8080 already in use), ignoring...
==========
выручайте, плз!

Нет, DG не устанавливал...
Только squid. В iptables:
=====
iptables -t nat -A PREROUTING -i eth1 -d ! $LAN_IP -p tcp -m multiport --dport 80,8080 -j DNAT --to $eth1_IP:3128
=====
То есть, шлюз и squid установлены так, как в вашем мануале. Ну, фильтрация юзеров и URL (acl) еще добавлена в прокси..
Что еще может работать на 8080?
Попробую завтра поменять порт у HAVP.

Спасибо, что вы поддерживаете нас! (пользователей в смысле:))
После настройки порта в терминале лицезрею:
================
Cleaning up /var/spool/havp... done
Starting havp: Starting HAVP Version: 0.91
Filesystem not supporting mandatory locks!
On Linux, you need to mount filesystem with "-o mand"
....
Too many tries - Exiting..
====================
что нужно премонтировать в линуксе?

Час от часу не легче:(
Мне нужно примонтировать папку:
sudo mount /var/spool/havp -o mand?

Нашел инфу в wiki, завтра попробую добить это дело.

Да, спасибо большое!

Кажется я понял, Filesystem not supporting mandatory locks!
ext4 не поддерживает mand?

Ubuntu server 10.04.3 LTS

Комментировать

Подписка на блог

Подпишись  на обновление блога по RSS Мы в Твиттере

 

Архивы по месяцам

Реклама

Статистика

Работает на  Movable Type 5.12

 

Яндекс.Метрика

География

free counters

Об этой записи

Сообщение опубликовано 29.06.2010 20:22. Автор — Уваров А.С..

Предыдущая запись — Windows Server. Настройка NAT при использовании VPN или PPPoE подключения.

Следующая запись — Ubuntu Server. Дополняем контент-фильтр роутера антивирусом (DansGuardian + ClamAV)

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.