Настройки контент-фильтрации

Правила контент-фильтрации файлов в зависимости от их MIME-типа и размера задаются в конце основной секции [Icapd] конфигурационного файла. Этот раздел всегда начинается со строки MimeStart, заканчивается строкой MimeEnd и содержит правила фильтрации файлов, по одному на строку.

Для использования данной возможности необходимо, чтобы прокси-сервер поддерживал режим ICAP preview, а также убедитесь, чтобы параметр UsePreview был установлен в значение Yes.

Для правил фильтрации используется следующий синтаксис (элементы выражения разделяются пробелами):

<MIME-тип> <действие1> <размер> <действие2>

где

MIME-тип - MIME-тип файла, например:

o* - файл любого типа;

oapplication - исполняемые и архивированные файлы, документы в формате PDF, MS Word и др.;

oaudio - аудиофайлы (mp3, wav, wma и др.);

oimage - изображения (gif, jpg, png, svg и др.);

omessage - сообщения между веб-серверами и клиентами;

omultipart - контейнеры (почтовые файлы, запакованные файлы);

otext - текст или исходный код (html, xml, css и др.);

ovideo - видеофайлы (mpeg-1, mp4, wma);

omodel - файлы трехмерных моделей.

При необходимости может быть указано как целое семейство MIME, так и конкретный тип (например: video – любые видеофайлы, а video/mpeg – видео типа MPEG).

Обратите внимание, что для объекта всегда применяется правило, заданное для MIME-типа, наиболее близкого MIME-типу объекта, таким образом, правило для MIME-типа "*", подходящее любому типу, применяется, только если не имеется правил с более близким классом типов MIME.

<действие1> – наименование действия (scan, pass, reject), которое следует выполнить в случае, если размер объекта данного MIME-типа не превосходит размер, указанный в поле <размер>.

<размер> – пороговый размер. Если размер объекта данного MIME-типа не будет превосходить пороговый, то к нему применится действие <действие1>, иначе к нему будет применено действие <действие2>.

<действие2> – наименование действия (scan, pass, reject), которое следует выполнить в случае, если размер объекта превосходит указанный.

Если в качестве размера указать ключевое слово all, то это означает, что первое действие будет применяться ко всем объектам данного MIME-типа, вне зависимости от их размера. В этом случае <действие2> не указывается.

Обозначение действий:

scan - Отправить файл на вирусное сканирование;

pass - Пропустить файл к пользователю без проверки;

reject - Заблокировать файл. Обратите внимание, что это действие должно указываться с дополнительным ключом, определяющим, какие данные возвращаются пользователю:

o-report - Вернуть пользователю вместо запрошенного файла HTML-уведомление о блокировке;

o-trunc  - Вернуть пользователю запрошенный файл, усеченный до нулевой длины.

Обратите внимание, что без уточняющего ключа действие reject указывать нельзя!

Порядок следования правил в секции не имеет значения.

Примеры правил:

MimeStart
 *                         scan 1M pass
 application               scan 1M pass
 image                     scan 1M pass
 message                   scan 1M pass
 multipart                 scan 1M reject -report
 text                      scan 1M pass
 audio                     pass all
 video                     pass all
 application/x-mms-framed  pass all
MimeEnd

Первое правило в приведенном списке применяется к объектам, тип которых не соответствует ни одному из указанных ниже. Если размер файла окажется меньше 1 MB, то файл будет отправлен на сканирование, в противном случае он будет пропущен к пользователю без сканирования. Правило, относящееся к multipart, требует отвергать составные объекты, размер которых больше 1 MB, возвращая вместо них пользователю HTML-страницу с сообщением об отказе. Последнее правило применяется ко всем объектам типа application/x-mms-framed, и предписывает пропускать их без проверки вне зависимости от их размера.

Обратите внимание, что файл будет отправлен на сканирование только в том случае, если к нему применено действие scan (в этом случае он также может быть отвергнут по результатам вирусного сканирования, в зависимости от заданных настроек). Если к файлу применено действие reject (с ключом -report или -trunc), то сканирования не происходит, а пользователь сразу получает соответствующее уведомление в виде HTML-страницы или пустой файл.