Контент-фильтр в офисе: треть трафика оказалась не по делу
Клиент попросил закрыть развлекательный трафик в рабочее время. Поставили прокси с фильтром и списком блокировок. За первую неделю увидели, что треть полосы уходила совсем не на работу.
контент-фильтры приходят в корпоративные сети
Запрос пришёл летом, в разгар отпускного сезона. Директор торговой компании, клиент у нас уже второй год, позвонил с конкретным поводом: застукал нескольких сотрудников за онлайн-играми прямо в рабочее время. Не в смысле «кто-то открыл Flash-игрушку в обеденный перерыв» - в смысле несколько часов подряд, системно. Он хотел это закрыть. Без скандалов и увольнений - просто технически сделать так, чтобы нельзя было.
Прокси у клиента к тому моменту уже стоял - Squid на Linux, трафик считается, логи пишутся. Но блокировок в нём не было никаких - только учёт.
Что добавили
Задача разбилась на две части. Первая - категориальная блокировка: игровые сайты, развлекательные порталы, mp3-раздачи. Вторая - ограничение по времени: запрещать только в рабочие часы, потому что директор специально оговорил, что в обед и после шести пусть люди делают что хотят.
Для списков блокировок взяли готовую открытую базу доменов, её тогда активно поддерживали несколько немецких и французских проектов - у них категории были аккуратнее, чем у отечественных вариантов. Подгрузили в Squid через squidGuard - это отдельный редиректор, который работает поверх Squid и умеет ACL по категориям, времени и группам пользователей.
Схема получилась такая:
- Рабочие часы (9:00-18:00, пн-пт) - блокируются категории «games», «entertainment», «warez», «adult». При попытке зайти - страница-заглушка с коротким объяснением.
- Нерабочее время - те же категории открыты, фильтр не применяется.
- Бухгалтерия и директор - отдельная группа, без ограничений в любое время (директор настоял).
Настройка squidGuard - это в основном написание файла конфигурации с блоками dest для каждой категории и acl с временными окнами. Ничего принципиально сложного, но деталей много: кодировки путей, формат времени, правильный порядок правил. За два часа сделали, ещё час тестировали.
Фаервол на шлюзе при этом закрывает прямые TCP-соединения мимо прокси - иначе смышлёный пользователь просто выставляет в браузере «без прокси» и идёт напрямую. Это важная деталь, без неё весь фильтр обходится за тридцать секунд.
Что показала первая неделя
Вот тут началось интересное. Мы сделали выборку из логов за первые семь дней с фильтром и сравнили с предыдущей неделей без него.
Заблокированных запросов набралось на треть от дневного трафика. Не мелочи - треть полосы. Игровые сайты ожидаемо, но не только: большой кусок занимали mp3-раздачи, несколько человек качали музыку прямо в рабочее время фоном. Ещё приличный объём - видеоролики с развлекательных порталов, которые тогда уже начали появляться.
Директор, когда увидел цифры, сначала не поверил. Попросил показать в деталях - кто, когда, сколько. Мы распечатали сводку по пользователям (без имён, по IP - с именами это уже отдельный разговор про политику). Он сидел и молча смотрел минут пять. Потом сказал примерно следующее: «Я думал, что один-два человека балуются. Оказывается, это системно».
Увольнять никого не стал - но провёл собрание. Это его дело, не наше.
Что фильтр не решает
Список блокировок - это не серебряная пуля. Несколько моментов, которые нужно понимать:
Список всегда отстаёт. Новые развлекательные сайты появляются быстрее, чем их добавляют в базу. Смышлёный пользователь через неделю найдёт сайт, которого в списке нет. Обновлять базу нужно регулярно - мы настроили еженедельный автоматический апдейт.
Категории бывают спорными. Новостные сайты с развлекательными разделами, форумы, которые используются и по работе - всё это серые зоны. Несколько раз за первый месяц приходили запросы «разблокируйте этот сайт, он нам нужен для работы». Часть разблокировали, часть - нет. Регламент лучше обсудить до запуска, а не разбирать кейсы в режиме жалоб.
HTTPS - отдельная история. Сайты на HTTPS через squidGuard фильтруются только по доменному имени, содержимое не видно. Пока это не критично - большинство развлекательных сайтов работают по HTTP.
Про реакцию сотрудников
Первые дни после включения фильтра в саппорт прилетело несколько обращений: «сайт не открывается, наверное, провайдер упал». Мы сделали заглушку с понятным текстом - «доступ ограничен корпоративной политикой, обратитесь к системному администратору» - и после этого звонков стало меньше. Люди поняли, что это не поломка.
Один сотрудник нашёл, что через анонимайзер фильтр не работает. Анонимайзеры добавили в список блокировок. Это нормальная итеративная история - первое время нужно следить за логами и реагировать.
В целом задача решена. Канал стал шире в рабочие часы, директор успокоился. Такая работа - настройка, обновление баз, разбор жалоб и мониторинг - часть того, что мы делаем в сопровождении инфраструктуры на постоянной основе. Разовая установка тут не работает: список блокировок без поддержки устаревает за пару месяцев.
- Один интернет на всех: ставим прокси и учимся считать трафик · 19 февраля 2002
- Периметр после Code Red: минимальный рабочий набор правил iptables · 14 октября 2001