Принципы работы |
Компонент Dr.Web ICAPD использует протокол ICAP (Internet Content Adaptation Protocol, RFC 3507) для взаимодействия с внешним по отношению к Dr.Web для интернет-шлюзов UNIX прокси-сервером, обслуживающим соединения узлов локальной сети с веб-серверами по протоколу HTTP/HTTPS. Протокол ICAP представляет собой легковесный HTTP-подобный протокол. Клиент отправляет на ICAP-сервер запрос, в состав которого входят заголовки, а также инкапсулированный HTTP-запрос, который необходимо проверить. В ответе ICAP-сервер возвращает модифицированный HTTP-запрос в инкапсулированном виде, а также один или несколько заголовков. Для взаимодействия по протоколу ICAP используются следующие типы запросов (методы): •REQMOD — для проверки и модификации запросов; •RESPMOD — для проверки и модификации ответов; •OPTIONS — для получения информации о параметрах соединения с ICAP-сервером. В запросах REQMOD и RESPMOD используются заголовки: •X-Client-IP — IP-адрес, c которого поступил проверяемый HTTP-запрос; •X-Server-IP — IP-адрес, на который направлен проверяемый HTTP-запрос; •X-Client-Username — имя клиента, прошедшего аутентификацию на прокси-сервер (в формате user или user@domain). В ответах REQMOD и RESPMOD используются заголовки: •X-Response-Info — присутствует в ответе, если запрашиваемый ресурс принадлежит к категории потенциально опасных или нежелательных; всегда имеет значение Blocked; •X-Infection-Found — содержит информацию о наличии вирусов и других потенциально опасных или нежелательных объектов; •X-Virus-ID — содержит имя обнаруженного вируса; •X-Violations-Found — содержит информацию об ошибках, произошедших во время проверки. В запросе OPTIONS может использоваться заголовок DrWeb-Get-Scan-Status. Если этот заголовок имеет значение Yes, то в ответе будет возвращена информация об используемых версиях сканирующего движка, сканирующего ядра и вирусных баз (см. ниже). В ответе OPTIONS используются заголовки: •X-Allow-Out — содержит список полей заголовков, которые Dr.Web ICAPD может включать в ответы; •X-Include — значения заголовков, полученные из выполненного ранее запроса; •DrWeb-Core-Engine — версия сканирующего ядра Dr.Web; •DrWeb-Scan-Engine — версия сканирующего движка Dr.Web; •DrWeb-Scan-Status — информация о статусе текущей операции сканирования; •DrWeb-Database-Timestamp — метка времени вирусной базы; •DrWeb-Virus-Records — количество записей в базе. Dr.Web ICAPD также может фильтровать веб-контент и блокировать доступ к потенциально опасным и нежелательным веб-ресурсам. Если пользователь запросит доступ к такому ресурсу, ему будет возвращена страница блокировки, сформированная на основе шаблона. На странице содержится сообщение о запрете доступа с кратким объяснением причины. Такая же страница будет возвращена, если Dr.Web ICAPD обнаружит угрозу или если при проверке передаваемых данных произошла ошибка. Для проверки URL на предмет принадлежности к потенциально опасным и нежелательным категориям Dr.Web ICAPD использует как базу категорий веб-ресурсов, регулярно обновляемую с серверов обновлений компании «Доктор Веб», так и опрашивает облачный сервис Dr.Web Cloud. Потенциально опасные категории: •InfectionSource — веб-сайты, содержащие вредоносное ПО («источники распространения вирусов»); •NotRecommended — веб-сайты, используемые для мошенничества («социальной инженерии») и не рекомендованные к посещению; •AdultContent — веб-сайты, содержащие материалы порнографического или эротического содержания, веб-сайты знакомств и т. д.; •Violence — веб-сайты, содержащие призывы к насилию, материалы о различных происшествиях с человеческими жертвами и т. д.; •Weapons — веб-сайты, посвященные оружию и взрывчатым веществам, а также материалы с описанием их изготовления и т. д.; •Gambling — веб-сайты, на которых размещены онлайн-игры на деньги, интернет-казино, аукционы, а также принимающие ставки и т. д.; •Drugs — веб-сайты, пропагандирующие употребление, изготовление или распространение наркотиков и т. д.; •ObsceneLanguage — веб-сайты, на которых содержится нецензурная лексика (в названиях разделов, статьях и пр.); •Chats — веб-сайты для обмена сообщениями в режиме реального времени; •Terrorism — веб-сайты, содержащие материалы агрессивно-агитационного характера, описания терактов и т. д.; •FreeEmail — веб-сайты предоставляющие возможность бесплатной регистрации электронного почтового ящика; •SocialNetworks — социальные сети общего характера, деловые, корпоративные и тематические социальные сети, а также тематические веб-сайты знакомств; •DueToCopyrightNotice — веб-сайты, ссылки на которые указаны правообладателями произведений, защищенных авторскими правами (кинофильмы, музыкальные произведения и т. д.); •OnlineGames — веб-сайты, на которых размещены игры, использующие постоянное соединение с интернет-сетью; •Anonymizers — веб-сайты, позволяющие пользователю скрывать свою личную информацию и предоставляющие доступ к заблокированным веб-сайтам; •CryptocurrencyMiningPool — веб-сайты, предоставляющие доступ к сервисам, объединяющим пользователей с целью добычи (майнинга) криптовалют; •Jobs — веб-сайты, предназначенные для поиска работы. В настройках компонента системный администратор может определять нежелательные категории веб-ресурсов, а также формировать черные и белые списки. При запросе ресурсов, включенных в черный список, пользователю возвращается страница блокировки. Если же ресурс включен в белый список, то доступ к нему будет всегда разрешен, даже если он относится к одной из нежелательных категорий.
Для регулярного автоматического обновления базы категорий веб-ресурсов с серверов обновлений компании «Доктор Веб» используется тот же компонент обновления Dr.Web Updater, который обновляет вирусные базы для сканирующего ядра Dr.Web Scanning Engine. Для обращения к облачному сервису Dr.Web Cloud используется компонент Dr.Web CloudD (использование облачного сервиса задается в основных настройках Dr.Web для интернет-шлюзов UNIX, и при необходимости может быть отключено). Для проверки передаваемых данных Dr.Web ICAPD использует агента сетевой проверки данных Dr.Web Network Checker, который, в свою очередь, инициирует их проверку сканирующим ядром Dr.Web Scanning Engine. Для блокирования или пропуска запросов и ответов протокола HTTP компонент Dr.Web ICAPD может использовать как правила, внедренные в настройки, так и скрипт проверки, написанный на языке Lua.
|