Proxy-сервер для офиса. Часть 1

В последнее время в своих статьях я сместился в сторону системного администрирования и отошел от информационной безопасности. Это не дело и надо как-то совмещать :). Поэтому сегодня мы будем беседовать на тему безопасности сетевого периметра. Поскольку вопрос безопасности периметра локальной сети достаточно широк, то в этой статье будет затронута только одна сторона монеты, а именно – вирусы. Речь пойдет о внешних угрозах, то есть исходящих из сети Интернет, пользователей сети пока трогать не будем.

Если речь идет о локальной сети с количеством пользователей более, скажем, 10 человек – это уже полноценные условия для того, чтобы кто-нибудь притянул из Интернета вредоносное ПО. Локальная сеть, начиная уже с такого уровня, требует присутствия шлюза для выхода во внешний мир. В роли этого самого шлюза выступает, естественно, proxy-сервер, который и будет принимать на себя основной удар в случае чего.

В этой статье мы рассмотрим вопрос установки и настройки прокси, а также формирования фундаментальной защиты пользователей сети от зловредного трафика. Классический proxy-сервер является также и DHCP-сервером, который избавляет пользователей от настройки сетевой карты при подключении нового ПК – этот вопрос я не обойду стороной. Ну, и для еще большего удобства мы организуем автоопределение proxy-сервера и его настроек для клиентских машин.

Использовать для этих целей будем сервер на базе Ubuntu Server 10.10, это операционная система на ядре Linux, основана на ветке Debian и, несмотря на то, что desktop-версия быстро популяризируется и начинает требовать значительных ресурсов от компьютера, серверный вариант очень даже хорош.

ClamAV

Говоря о защите сетевого периметра от вирусов и другого вредоносного программного обеспечения, я имел в виду настройку прокси-сервера на работу с антивирусом ClamAV, который будет сканировать весь трафик, проходящий через сервер. Поэтому в первую очередь ставим ClamAV:

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

После выполнения команды мы получим работающий ClamAV и модуль freshclam, задача которого следить за актуальностью базы данных сигнатур. Файлы конфигурации антивируса лежат по адресу /etc/clamav/, но стандартная конфигурация нас для начала вполне устроит. Чтобы отредактировать частоту обновления антивирусной базы, необходимо в файле /etc/clamav/freshclam.conf править строчку

# Check for new database 24 times a day
Checks 24

Делается это следующей командой:

$ sudo nano /etc/clamav/freshclam.conf

Значение 24 в строке Checks 24 определяет, сколько раз будет обновляться база сигнатур в течение суток. По дефолту обновления проводятся каждый час, если изменим на 72 – будет обновляться каждые 20 минут, например.

После изменения файла конфигурации сервис стоит перезапустить:

$ sudo /etc/init.d/clamav-freshclam restart

Все, антивирус установлен и работает, а мы двигаемся дальше.

Squid

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

$ sudo apt-get install squid

После установки переходим к конфигурированию и открываем для редактирования файл конфигурации следующей командой:

$ sudo nano /etc/squid/squid.conf

В файле конфигурации добавляем нужный порт. Традиционно это 3128, не будем изменять традициям и в конце файла добавим строку:

http_port 3128

Отлично, теперь перезапускаем сервис, чтобы squid подхватил новую конфигурацию:

$ sudo /etc/init.d/squid reload

DansGuardian

DansGuardian – это посредник между пользователем и proxy-сервером, который будет определять права на контент. Мы подошли к тонкой настройке нашей прокси-машины. Что ж, приступим. Ставим DansGuardian:

$ sudo apt-get install dansguardian

Все файлы установленного пакета находятся в папке /etc/dansguardian, нам же пока необходим его конфиг, который мы будем редактировать следующей командой:

$ sudo nano /etc/dansguardian/dansguardian.conf

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

Первая строчка, которая нас интересует, это

language = 'russian'

она определяет, шаблоны какого языка будут использоваться при выводе сообщений для пользователей. То есть выбираем Russian, идем в папку /etc/dansguardian/languages/russian/ и правим шаблон:

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

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

Следующая строчка, вернее, две строки в конфиге, которые нас интересуют, это:

filterip = x.x.x.x

filterport = 8080

Эти строки позволяют настроить DansGuardian на работу с клиентскими машинами. То есть в filterip вписываем IP-адрес нашего текущего сервера, а в filterport вписываем порт (лучше по умолчанию, 8080) по которому будет доступен сервер. Итого, при подключении пользовательской машины к proxy мы будем использовать именно этот IP и порт.

Далее обращаем внимание на:

proxyip = 127.0.0.1
proxyport = 3128

Это IP и порт нашего прокси Squid, через который и будет происходить выход в Интернет. Так как и Squid, и DansGuardian установлены на одной машине, то proxyip не меняем, а proxyport у нас 3128, так мы сконфигурировали Squid в предыдущем разделе статьи.

Едем дальше. А дальше у нас важная строчка:

#contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'

Она говорит о том, что нам необходимо сканировать трафик антивирусом. Ее необходимо просто раскомментировать и все.

Для завершения редактирования конфига удаляем в конце файла строчку

UNCONFIGURED - Please remove this line after configuration,

чтобы программа понимала, что настройки отличны от дефолтных.

Так, теперь переходим к конфигурированию пакетного фильтра сервера, для того чтобы сообразительный юзер не ввел в настройках прокси на своем компьютере порт 3128, тем самым обойдя фильтр контента DansGuardian. Обращаю внимание, что сейчас я дам указания для дефолтно настроенного пакетного фильтра:

$ sudo ufw default DENY
$ sudo ufw ALLOW 8080
$ sudo ufw enable

Что мы сделали: первая команда закрыла все порты на сервере, вторая открыла порт 8080, для доступа пользователей. Ну а третья активировала пакетный фильтр в системе.

Если же у вас имеется своя настройка фильтра, то можно просто обойтись двумя командами:

$ sudo ufw DENY 3128
$ sudo ufw ALLOW 8080

То есть закрываем 3128 от пользователей и открываем 8080 для пользователей – готово.

Чтобы редактировать правила фильтрования контента, необходимо порыться в каталоге /etc/dansguardian/lists, изучаем все файлы, редактируем и используем. Ну а для того, чтобы настроить исключения для антивирусного сканнера, идем сюда: /etc/dansguardian/lists/contentscanners.
Кстати, после каждого изменения конфига не забываем рестартить демон:

$ sudo /etc/init.d/dansguardian restart

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

Евгений Кучук SASecurity Group


Компьютерная газета. Статья была опубликована в номере 13 за 2011 год в рубрике soft

©1997-2024 Компьютерная газета