Проверяем HTTP-трафик на лету::Журнал СА 7.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 305
Комментарии: 1
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 402
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 329
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 255
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 823
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Проверяем HTTP-трафик на лету

Архив номеров / 2005 / Выпуск №7 (32) / Проверяем HTTP-трафик на лету

Рубрика: Безопасность /  Сетевая безопасность

АНДРЕЙ МАРКЕЛОВ

Проверяем HTTP-трафик на лету

Сегодня антивирусная защита – непременный атрибут грамотно спланированной IT-стратегии организации. Для не обремененного лишними деньгами бюджета IT-отдела закупка и установка на всех пользовательских компьютерах антивирусных программ может стать вполне весомой статьей расходов. Можно ли как-то избежать лишних затрат?

Представим, что у пользователей отсутствуют или отключены НГМД (про CD-ROM и USB я даже не упоминаю – на мой взгляд, это непозволительная роскошь для клиентских рабочих мест). Почта уже проверяется каким-нибудь открытым антивирусом типа Clamav. В таком случае единственным возможным источником вирусов может являться «дикий Интернет». И если доступ пользователям открыт только через протокол HTTP, то только его нам и остается сканировать на предмет вирусов. Делать это удобнее и дешевле на сервере при помощи открытого ПО, чем мы и займемся.

Для проверки наличия вирусов традиционно предлагаю использовать наиболее распространенный из свободных антивирусов – Clam AntiVirus (http://www.clamav.net). Я не буду подробно рассказывать о его преимуществах и особенностях, о которых уже написано в статьях [1, 2, 3]. Сегодня мы разберем практические вопросы установки и интеграции антивируса с прокси-сервером. В качестве прокси мы возьмем HTTP AntiVirus proxy (HAVP) [4].

Помимо HAVP также рассматривались и другие варианты. Но они либо на платной основе в случае коммерческого применения как dansguardian.org (plug-in к нему), либо показались менее стабильными, по отзывам в форумах. Наверняка это не единственное, и, возможно, не самое лучшее решение, но тем не менее оно существует и вполне справляется с поставленными задачами. С возможными альтернативными вариантами вы можете ознакомиться по ссылке [5].

HTTP AntiVirus proxy – это прокси-сервер с фильтром – антивирусом. Сканируется весь трафик, и проверка на вирусы является единственной задачей данного прокси-сервера. Поэтому вполне разумным было бы использовать HAVP в связке с кэширующим прокси, умеющим фильтровать трафик, например Squid. Ключевыми особенностями HAVP являются возможность непрерывной проверки трафика без тайм-аутов и блокировок, а также корректная работа с динамическими и защищенными паролем страницами.

Предполагается, что у вас уже имеется настроенный прокси-сервер, например Squid. На момент написания статьи последней версией HAVP была 0.62. Установка производилась на Red Hat Linux Enterprise 4, но без проблем все должно работать и на других UNIX-системах.

Устанавливаем HAVP

Для начала создадим отдельную ФС для временных файлов HAVP. Отдельную – потому что ее необходимо монтировать с поддержкой так называемых «ручных блокировок» для файлов (mandatory locks).

Это делается при помощи опции mand, команды mount. Я предпочел для ускорения работы и снижения нагрузки на дисковый массив создать такую файловую систему в ОЗУ:

# mkdir /var/tmp/havp

# chown nobody /var/tmp/havp

# chgrp nobody /var/tmp/havp

# mount -t tmpfs -o size=100M,mand tmpfs /var/tmp/havp

Соответствующая строчка, которую необходимо добавить в /etc/fstab для автоматического создания файловой системы во время загрузки, выглядит следующим образом:

# <fs>     <mt_point>      <type>    <options>                 <dump>    <pass>

tmpfs      /var/tmp/havp   tmpfs     auto,size=100M,mand       0         0

Проверяем, как смонтировалась наша файловая система. Мы должны получить что-нибудь похожее на:

# df -h /var/tmp/havp

tmpfs                 100M     0  100M   0% /var/tmp/havp

Кроме того, создадим директорию для лог-файлов прокси-сервера и выставим владельца:

# mkdir /var/log/havp

# chown nobody /var/log/havp

# chgrp nobody /var/log/havp

Теперь развернем предварительно скачанный со странички [4] исходные коды прокси-сервера.

# tar zxvf havp-0.62.tar.gz

Далее, заходим в директорию havp-0.62 и начинаем править файл havp/default.h. Изменить требуется следующее:

#define GROUP "nobody"

// В дополнение к пользователю, из-под которого будет запускаться служба, меняем на nobody и группу

#define PARENTPROXY "localhost"

#define PARENTPORT 3128

// Указываем хост и порт, на котором установлен кэширующий прокси-сервер, например Squid. Если «родительского»

// прокси у вас нет, то комментируем

#define SCANTEMPFILE "/var/tmp/havp-XXXXXX"

#define ACCESSLOG "/var/log/havp/access.txt"

#define ERRORLOG "/var/log/havp/error.txt"

// Указываем шаблон временных файлов и имена файлов журналов. При этом все три указанные директории и два

// файла журналов должны быть созданы вручную и иметь соответствующие разрешения для пользователя,

// из-под которого запускается HAVP. Естественно, вы можете изменить пути и названия файлов по своему усмотрению

Остальное можно оставить без изменений. Теперь выполним стандартные для компиляции и установки программы шаги:

# ./configure

# make

# make install

Сервис запускается командой /usr/local/bin/havp. Следующим шагом необходимо установить антивирус Clamav. Как это делать, описано ниже.

Устанавливаем Clamav

Про установку антивируса Clamav читайте в [1, 2, 3]. Здесь же я приведу минимально необходимые для установки сведения. Добавляем группу и пользователя, из-под которого будет запускаться демон:

# groupadd clamav

# useradd -g clamav -s /bin/false clamav

Скачиваем с сайта проекта [6] последнюю версию исходников, разархивируем и правим в clamav-config.h переменную SCANBUFF. Ее значение должно быть меньше, чем указанное в переменной MAXRECV файла havp/default.h. После чего выполняем привычные:

# ./configure

# make

# make install

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

1 * * * * /usr/local/bin/freshclam -quiet

Правим файл /usr/local/etc/clamav.conf. Добавляем:

LocalSocket /var/run/clamd.sock

StreamSaveToDisk

и удаляем строчку:

Example

Наконец, запускаем демон командой:

# /usr/local/sbin/clamd

Теперь пробуем проверить наше свежеустановленное решение. После того как в настройках браузера укажете порт, назначенный HAVP, и IP-адрес прокси, по ссылке [7] можно попробовать скачать тестовую сигнатуру вируса. Что должно получиться при этой попытке, вы видите на рис. 1, 2.

Рисунок 1. Пытаемся скачать файл с вирусом

Рисунок 1. Пытаемся скачать файл с вирусом

Рисунок 2. Сработала защита

Рисунок 2. Сработала защита

Не забудьте запретить пользователям подключаться напрямую к Squid. Если все получилось, то я могу вас поздравить с очередным успешным шагом в создании защищенной локальной сети.

Литература, ссылки:

  1. Маркелов А. Броня моллюска. Обзор и установка антивируса ClamAV. – Журнал «Компьютерра» №21, 2004 г. – 34-35 с. Статья доступна в Интернете по адресу: http://www.markelov.net/articles.php?lng=ru&pg=44.
  2. Яремчук С. Свободный антивирус. – Журнал «Системный администратор», №3, 2004 г. – 32-37 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=03.2004;a=06).
  3. Супрунов С. Еще раз о ClamAV: особенности установки в FreeBSD. – Журнал «Системный администратор», №8, 2004 г. – 24-25 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=08.2004;a=10).
  4. HAVP – http://www.server-side.de.
  5. Методы проверки HTTP-трафика при помощи Clamav – http://www.clamav.net/3rdparty.html#webftp.
  6. http://www.clamav.net.
  7. Тестовая сигнатура вируса – http://www.eicar.org/anti_virus_test_file.htm.

Комментарии отсутствуют

Добавить комментарий

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

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru