Защита от вирусов офисной локальной сети. Модернизация прокси-сервера

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

Конечно, довольно часто виной локальных эпидемий в периметре компании являются ее сотрудники, которые работают с flash-накопителями и часто приносят "заразу" извне. Тем не менее, работа в сети Интернет также является одной из причин эпидемий, пускай и не первой. Стоит заметить, что актуальное состояние антивирусных программ на машинах сотрудников офиса частично решает проблему, но вместе с тем делает ее индивидуальной в некотором роде и рассредоточенной. Для большей надежности необходимо применять и глобальные решения по защите.

Многие подумали, что я имею в виду корпоративный антивирус с контрольным центром у системного администратора сети, но это не так. На самом деле дополнительным барьером на пути вредоносного программного обеспечения является proxy-сервер, который служит шлюзом между глобальной сетью и внутренней локальной.

Наша задача сегодня - модифицировать proxy-сервер на Squid, под управлением Ubuntu Server 10.10. Использование unix-based системы в качестве операционной - классический вариант для прокси-шлюзов, т.к. это не только экономит ресурсы, но и позволяет произвести более тонкую настройку.


Архитектура

 

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

Схема работы довольно проста и ее можно проследить на рисунке.

При подключении к внешним ресурсам хост офисной локальной сети будет отправлять запрос на прокси. На самом прокси-сервере будет следующая цепочка пакетов: Squid+ClamAV+DansGuardian.

Squid - собственно, сам прокси-сервер, который и будет взят за основу при построении периметра защиты от вредоносного ПО.

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

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

Итак, теперь можно приступить к реализации периметра. Как я уже говорил, за основу берется чистый прокси Squid на Ubuntu Server.


Установка ClamAV

Все операции мы будем производить от пользователя с правами sudo:

$ sudo apt-get install clamav-daemon clamav-freshclam

Этой командой мы установили сканер ClamAV и его дополнение freshclam, о предназначении которого можно догадаться по названию. Дефолтных настроек антивируса нам хватит вполне, учитывая, как я уже говорил выше, то, что наш офис - не горячая точка. Однако, если кому-то необходима особенная конфигурация и он знает, что делает - прошу в /etc/clamav/, тут у нас расположены конфигурационные файлы.

Далее переходим к дополнению freshclam, которое призвано содержать базы вирусных сигнатур сканера в актуальном состоянии. По дефолту обновления происходят каждый час, если надо их участить, то необходимо поправить конфиг. Открываем конфигурационный файл командой:

$ sudo nano /etc/clamav/freshclam.conf

В нем находим строчки:

# Check for new database 24 times a day
Checks 24

Они нам говорят, что в течение каждых 24 часов базы обновляются 24 раза, т.е. 1 раз в час. Изменим checks на 48 и получим обновления каждые 30 минут.

Теперь все, оставляем ClamAV в покое на некоторое время.


Установка DansGuardian

Итак, переходим к пакету, который будет заниматься фильтрацией трафика. Устанавливаем:

$ sudo apt-get install dansguardian

Готово, теперь переходим к настройке системы в целом. Поскольку теперь с пользователями будет контактировать не Squid, а DansGuardian, нам необходимо настроить страницы ошибок и предупреждений. Для этого производим некоторые настройки в файле конфигурации пакета:

$ sudo nano /etc/dansguardian/dansguardian.conf

Находим следующую строку:

language = 'russian'

Она определяет язык отображаемых шаблонов. Если он не russian, то делаем его таковым. После этого нам необходимо править шаблоны страниц в соответствующем каталоге. Просматриваем его содержимое:

$ sudo ls /etc/dansguardian/languages/russian/

Теперь видим количество шаблонов. Следующий шаг - их редактирование. Делается это командой:

$ sudo nano /etc/dansguardian/languages/russian/template.html

Название файла шаблона меняем соответственно.

Теперь возвращаемся к конфигурированию и опять идем в:

$ sudo nano /etc/dansguardian/dansguardian.conf

Находим в тексте файла следующие строчки:

filterip = x.x.x.x
filterport = 8080

Это настройки доступа к DansGuardian. Пункту filterip присваиваем IP-адрес нашего прокси-сервера. Порт оставляем как есть - дефолтное значение подойдет.

Далее переходим к строчкам:

proxyip = 127.0.0.1
proxyport = 3128
#contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'

В proxyip указываем, опять же, IP-адрес нашего прокси, тут нужен адрес, на котором работает Squid. В proxyport указываем значение порта Squid, если при установке squid вы не меняли порт, то оставляем его 3128 - это дефолтное значение. Последняя строка указывает, что в качестве сканера для трафика будет использоваться ClamAV - убираем #, т.е. раскомментируем строку.

В завершении стоит убрать строчку "UNCONFIGURED - Please remove this line after configuration" в конце файла, это позволит приложению понять, что файл конфигурации отличается от стандартного.

Рестартим демон:

$ sudo /etc/init.d/dansguardian restart

Готово. Теперь все работает, однако можно еще более тонко настроить все. Каталог /etc/dansguardian/lists содержит все файлы конфигурации, которые относятся к фильтрации трафика. А каталог /etc/dansguardian/lists/contentscanners содержит исключения по расширениям для антивирусного сканера - также крайне важный элемент для тонкой настройки.


Настройка системы

В завершении хочу дать пару рекомендаций по настройке системы для работы с такой связкой. Рассмотрим два варианта:

  1. Система чистая и на ней был установлен только Squid, больше ничего не изменялось (до того, как мы вмешались).
  2. Система полноценно функционировала только с Squid, имеются определенные настройки.

Вариант первый - самый простой. Мы имеем "голую" систему, без настройки фильтра пакетов (сетевого экрана). Чтобы прикрыть "дыры" и не позволять "вольностей" пользователям прокси, надо активировать пакетный фильтр, закрыть все порты, кроме 8080, через который осуществляется взаимодействие пользователей с DansGuardian. Выполняем следующие команды:

$ sudo ufw default DENY

Все закрыли

$ sudo ufw ALLOW 8080

Открыли порт 8080

$ sudo ufw enable

Активировали пакетный фильтр. Все.

Второй вариант. Пользователи уже работают в сети через порт 3128, напрямую через Squid. Однако, чтобы трафик сканировался антивирусом и фильтровался DansGuardian, надо, чтобы порт 3128 был закрыт для всех (во избежание обхода фильтров трафика) и открыть порт 8080.

Выполняем две соответствующие команды:

$ sudo ufw ALLOW 8080
$ sudo ufw DENY 3128

Все готово.


Заключение

Итак, теперь мы имеем периметр защиты от вредоносного ПО, который отвечает требованиям обычного офиса в Беларуси. Мы настроили антивирусный сканер трафика, установили правила по загрузке контента и, кроме того, настроили сетевой экран, что немного повысило безопасность в области портов прокси-сервера.

Евгений КУЧУК,
www.sa-sec.org

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Читайте также