TMG 2010: Malware Inspection в детайли

Microsoft Forefront Threat Management Gateway 2010 е продукт, който може да предоставя функционалности на Proxy сървър и една от допълнителните му функционалности (за която се изисква допълнителен абонамент) е проверката за вируси в HTTP и HTTPS (ако се използва HTTPS Inspection) трафика.

Тази статия има за цел да разгледа процеса за борба с вируси относно HTTP/S трафика преминаващ в изходяща посока спрямо TMG. (TMG не проверява HTTP/S трафика в Reverse Proxy сценария.)

Нека да започнем с главните заподозрени в целия процес:

  1. Client
  2. MU/WSUS (Microsoft Updates или Windows Server Update Services)
  3. Web Server
  4. ScanStorage RAM (намиращ се на TMG сървъра)
  5. ScanStorage Temp Folder on HDD (намиращ се на TMG сървъра)
  6. Malware Inspection Filter (намиращ се на TMG сървъра)

Стъпка 1. Клиентът изпраща заявка за достъп до ресурс от Web Server до TMG.

Стъпка 2. TMG проверява за правило, което да разреши HTTP/S трафика към Web Server. След като намери такова правило, се проверява дали е пуснат Malware Inspection и, ако е пуснат, дали има някакви специфични настройки за съответното правило. (Malware Inspection може да бъде пуснат на глобално ниво, а за всяко правило, което включва HTTP/S трафик, може да посочи дали да се използва Malware Inspection и специфични настройки за трафика, за който отговаря правилото.)

Стъпка 3. TMG винаги обработва HTTP (и HTTPS, ако е пуснат HTTPS Inspection) трафик чрез своя Web Proxy Filter (откъдето TMG проверява HTTP header-а и разбира какъв точно трафик преминава). Тук на глобално ниво може да се добавят изключения за типа трафик, който никога не трябва да се сканира, като по подразбиране са изключени:

  • Client-to-Server RPC over HTTP
  • Server-to-Client RPC over HTTP
  • Streaming Media

Можете да проверите кои протоколи са изключени чрез: ListProtocolMessageDefinitions.vbs

Можете да добавите нови протоколи чрез: AddProtocolMessageDefinition.vbs

Можете да изтриете вече добавени протоколи чрез: DelProtocolMessageDefinition.vbs

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

Стъпка 4. TMG препраща заявката към Web Server и получава желаното от клиента  съдържание, като в зависимост от типа и големината му, съдържанието може да бъде блокирано (в настройките на глобално или на ниво правило може да се посочи дали да се пропускат файлове, които не могат да бъдат сканирани, архиви, криптирани файлове и файлове до определена големина). След това, пак в зависимост от големината, съдържанието се сваля или в RAM паметта или на Hard Disk-а (по подразбиране файлове до 64 KB се записват в RAM-та, а по големите – на Hard Disk-а в ScanStorage папка). Всеки един файл има лимит на мястото, което може да заема в ScanStorage папката. Лимитът по подразбиране е 1 GB, като при прeвишаването му на клиента се връща съобщение за грешка: “Client Disk Space Limit Exceeded”

Чрез графичния интерфейс можете да:

  • Промените папката, в която се пазят файловете за сканиране на Hard Disk-a, като е препоръчително тя да е на бърз диск и да не се сканира от други антивирусни продукти.
  • Промените лимита за големина на файла, като при опит за изтегляне на файл с по-голяма големина клиентът получава съобщение, че този файл не е позволен. Това се случва още преди да започне изтеглянето.

Чрез скриптовете ShowTemporaryStorageSettings.vbs и SetTemporaryStorageSettings.vbs могат да се прегледат и променят следните настройки:

  • „Disk storage threshold“ – контролира над каква големина файлът да се записва в ScanStorage папката на Hard Disk-а, като максималната стойност е 256 KB
  • „Maximum total storage size“ – максимална големина на ScanStorage папката
  • „Client storage limit“ и „Extended client storage limit“ – контролира каква е максималната големина на всеки файл, съответно за обикновени клиенти и за такива, на които им е дадено „Extened storage space“ право. (Никъде не се посочва как се дава това право. Практиката обаче показва, че по подразбиране всичко файлове се третират спрямо „Extended client storage limit“.)

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

Препоръчително е Лимитът за големина на файл (който се настройва през графичния интерфейс) и „Extended client storage limit“ да са еднакви, за да няма ситуации, в които например клиент се опитва да изтегли 1.5 GB файл, но в момента в който се изтегля 1 GB от него, той получава грешката “Client Disk Space Limit Exceeded”.

При обработка TMG категоризира трафика като Low Priority (файлове, по-големи от 50 MB), Normal Priority (файлове между 1 и 50 MB), High Priority (файлове, по-малки от 1 MB) и ги поставя в съответните Low, Medium, High Priority Queue-та.

Стъпка 5. По време на сваляне на файла, TMG започва да връща части от съдържанието към клиента по един от следните начини в зависимост от разширението на файла или неговия MIME Type (тези настройки се конфигурират на глобално ниво):

  1. Standard Trickling или Fast Trickling – Това са методи, при които докато файлът се изтегля, TMG връща съдържание на малки порции забавено, като сканира всяка една от тях с цел да се избегне time-out от страна на клиента. Ако се открие вирус вирус в някоя порция, TMG прекратява препращането. В момента, в който TMG изтегли целия файл, той се сканира отново и ако е безвреден, се препраща с нормална скорост. Възможните настройки за Trickling методите можете да видите и да промените с съответните скриптове: ShowContentDeliveryTimes.vbs и SetContentDeliveryTimes.vbs.

Параметрите, които могат да се променят за Standard Trickling, са:

  • Delivery delay – Време в секунди за изчакване преди TMG да започне да изпраща съдържание към клиент, по подразбиране е 10 секунди.
  • Standard trickling initial size – Големината на първото парче информация, която се препраща към клиента, по подразбиране е 4096 Bytes.
  • Standard trickling size – Големината на всяко следващо парче информация, по подразбиране е 50 Bytes.
  • Standard trickling interval – Време в секунди между всяко парче информация, което се изпраща към клиента, по подразбиране е 50 секунди.

Fast Trickling сканира и препраща всяко едно парче колкото се може по бързо, като след като се изтегли и последната порция, TMG сканира целия файл отново и ако е безвреден, препраща и последното парче.

Добра практика е стандартният метод за препращане да бъде оставен на Standard Trickling, а за Fast Trickling да бъдат посочени само файлове, като медия файлове за гледане в реално време.

          2. Progress Notification – Изтегля се целият файл, като през това време на клиента се връща Web страница с Progress Bar. След като се изтегли целият файл, той се сканира и на клиента се връща Web страница с бутон за изтегляне.

Стъпка 6. Клиентът получава съдържанието, ако в него няма зловреден код и с това процесът приключва 🙂

Като допълнителни настройки на глобално ниво можете да опишете като изключения дестинации и източници, чийто трафик да не се сканира. За дестинациите могат да се използват и URL категории.

TMG автоматично изтегля последните вирусни дефиниции или от Microsoft Updates или от локален WSUS . Можете да го конфигурирате първо да опитва едния, след това – другия източник. Настройките се намират в графата Update Center.

TMG, за разлика от други антивирусни продукти на Майкрософт, може да работи само с един филтър за сканиране едновременно, като се поддържа изключването на Malware Inspection Filter-а и интеграцията на Third-Party филтър.

За наблюдение на Malware Inspection можете да използвате Forefront TMG Performance Counter-ите, коiто започват с Malware Inspection. На този линк  можете да намерите тяхното описание.

__________
Георги Иванов е технически инструктор в New Horizons, сертифициран MCT, MCSA, MCITP Exchange 2010, MCTS Exchange Server 2007, MCTS Windows 7.

Информация за предстоящи курсове за Microsoft Exchange Server / Lync / System Center / Forefront, водени от Георги Иванов, можете да получите на телефон: +359 2 4210040 или email: office (at) newhorizons.bg.

Интересувате се от темата? Пишете ни!

    Бързо запитване

    Вашите имена *

    Вашият Email *

    Вашето съобщение *

    captcha

    Добавете коментар

    Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *