Squid 3.3 - Блокировка загрузки некоторых типов файлов, как метод ограничения работы вредоносного ПО

imageХочется уделить немного внимания тому, что в некоторых случаях вредоносных почтовых рассылок в теле письма содержатся ссылки на загрузку стартовых модулей программ-шифровальщиков. По ссылке, которую получает пользователь, по его собственной инициативе (сколько волка не корми..) может быть скачан первичный загрузчик вируса, который с точки зрения антивирусного ПО сам по себе может быть "белым и пушистым". По некоторой информации, такого рода загрузчики в некоторых случаях ведут себя довольно примитивно и нагло, оперируя загрузкой файлов с расширениями *.vlt. *.bat *.cmd. После загрузки такие файлы, как например *.vlt, могут быть переименованы самим загрузчиком в другие исполняемые типы файлов для дальнейших пакостных манипуляций.

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

Создаём дополнительный конфигурационный файл для хранения списка регулярных выражений, в который будем заносить все нежелательные элементы URL, такие как, например, ссылки содержащие имена файлов с предопределёнными расширениями:

sudo touch /etc/squid3/conf_param_urlregex_blocked.txt

Наполняем файл регулярными выражениями (по одному в каждой отдельной строке):

#
# Url path regex for *.cmd, *.bat, *.vlt (case-insensitive)
#
\.cmd$
\.bat$
\.vlt$
#

В основной конфигурационный файл /etc/squid3/squid.conf вносим две правки. В раздел “ACCESS CONTROLS” добавляем запись о новом списке контроля доступа (ACL), например так (ключ –i используем для обработки ситуаций с возможным изменением регистра символов):

# ACCESS CONTROLS
# -----------------------------------------------------------------------------
#
acl BlockedURLRegex urlpath_regex -i "/etc/squid3/conf_param_urlregex_blocked.txt"
#

и затем далее в правила доступа (в самое начало) добавляем запись типа:

# Deny access to bad URLs
http_access deny BlockedURLRegex

После того как мы закончили с редактированием конфигурационного файла, можем применить новую конфигурацию Squid:

sudo squid3 -k reconfigure

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

При всём при этом, не стоит забывать о том, что без дополнительной настройки Squid не инспектирует шифрованный трафик https и проделанных действий для обработки такого трафика будет недостаточно. Таким образом, данное решение в чистом виде можно считать полумерой, однако, как мне думается, в вопросах безопасности всегда лучше предпринимать хотя бы полумеры, чем не делать вообще ничего.

Всего комментариев: 8 Комментировать

  1. Pavel Perminov /

    Вместо .cmd$ стоит использовать .cmd(?.*)?$ с целью блокировки urlov вида http://blog.it-kb.ru/virus.cmd?download А то кто его знает что там за пыхыпа будет обрабатывать запрос и как там оно всё внутри сервера устроенно

  2. Alexander /

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

  3. Андрей /

    Как основную меру гарантированного снижения нагрузки на канал мы использовали delay pool - это эффективнее, чем блочить конкретику. Тем более, простора для экспериментов там море - персональные ограничения или групповые. Юзер всегда найдет чего качать, но если он качает это с определенной скоростью - то ничего страшного, но. вот если он начинает это гнать на скорости канала - проблемы гарантированы.

  4. Алексей Максимов / Автор записи

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

    1. Андрей /

      Давным-давно (лет 15 назад) мы боролись с расширениями, но потом поняли бесперспективность. Пулы реально спасают - просто для примера, когда в аварийном режиме пробовали пустить всех без прокси - от загрузки повалились Cisco ASA и на бордере (граничном роутере) загрузка поднялась до 80%. Мое предложение - таки, резать им канал, а не файло. В отличии от файла - результат гарантирован.

  5. Yuri /

    Для Squid-3 и 4 достаточно просто прицепить C-ICAP с clamd и сканировать файло на лету без всяких расширений - 21 век как-никак. Нафига как отец Вындоуз от расширений-то зависеть?

  6. Yuri /

    Ну и Squid-3.3 в 16м году уже античный. 3.5.13 последний в этой ветви, а уж то, что вышел 4.0.4 я и вовсе скорбно промолчу :)

  7. Yuri /

    Ну и - все уже украдено до нас:

    http://wiki.squid-cache.org/ConfigExamples/ContentAdaptation/C-ICAP

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