Контроль за апплетами на корпоративном уровне.

В свое время мы обращались к теме защиты рабочих станций от попадания на настольный ПК вредоносных исполняемых модулей в процессе работы в Internet и, как тогда казалось, тему эту закрыли. По здравому размышлению мы вновь к ней возвращаемся, потому что защита своего личного компьютера — одно дело, а реализация политики защиты в масштабе компании — совсем другое, так как в последнем случае администратору приходится заботиться обо всех имеющихся в компании рабочих станциях. Для этого защиту требуется организовать уже на уровне брандмауэра.

ОТ ВОРОТ ПОВОРОТ

Вновь героем нашей рубрики становится компания Finjan Software (http://www.finjan.com). На этот раз мы рассмотрим ее ПО SurfinGate. Это серверное приложение выполняется как сервис Windows NT (как на Server, так и на Workstation 4.0) "в связке" с корпоративным брандмауэром. Разумеется, работать оно может и на отдельном сервере (что мы рекомендовали бы), причем совсем автономно с точки зрения функционирования. SurfinGate работает как дополнительный proxy-сервер, фильтрующий в соответствии с заданными правилами незаметно для пользователя загружаемую из Internet всякую всячину — от "плюшек" (cookies) до модулей ActiveX. ПО может интегрироваться с MS Proxy Server и Check Point FireWall-1 (тогда об его существовании пользователи вряд ли будут даже подозревать) или указывается как proxy-сервер в браузерах пользователей. Для надежности сразу после начала работы SurfinGate локальный кэш браузера следует очистить, чтобы избавиться от загруженных ранее модулей и кода. В принципе, SurfinGate может устанавливаться перед другим proxy-сервером, но это чревато следующими осложнениями. Во-первых, кэш proxy-сервера может сохранять "беспризорное" наследство со времен, предшествовавших установке SurfinGate, а, во-вторых, маскирование адресов пользователей может помешать проведению дифференцированной политики защиты рабочих станций. Дело в том, что строгость и правила блокирования подозрительного и вредоносного кода в SurfinGate можно централизованно устанавливать для отдельных лиц или групп пользователей, исходя из требований момента. Например, части пользователей можно запретить использование модулей расширения (большинство из которых — мультимедийные приложения), тем самым лишив их возможности смотреть видеоклипы в рабочее время.


"Этот апплет не пройдет!" Панель консоли, окно настроек и журнал событий SurfinGate.

В базе данных SurfinGate содержится список апплетов и модулей ActiveX с "подмоченной репутацией", а весь новый исполняемый код, проходя через систему, автоматически регистрируется с указанием, на какую рабочую станцию и откуда он попал, и присвоением ему цифровой подписи. Если апплет использует разные классы Java, то они регистрируются по отдельности. Прежде чем передавать или не передавать новый код браузеру, SurfinGate исследует его поведение на предмет обращения к системным ресурсам и системным функциям, передачи информации по сети и выполнения потенциально опасных операций. Критерии отбора допускаемого в систему кода гибко настраиваются так же, как и действия SurfinGate по отношению к ним — от крайностей (безоговорочное блокирование или допуск) до допуска при наличии сертификата или проверки поведения в каждом случае (плюс комбинация последних двух условий). Все данные SurfinGate хранит в собственной базе данных, однако он может использовать для этих целей и СУБД Oracle, и Microsoft Access.

SurfinGate управляется с помощью программного обеспечения консоли, устанавливаемого отдельно. Консоль можно, в принципе, установить на тот же сервер, но в этом случае ею лучше пользоваться как можно реже, поскольку при запуске консоли работа самого сервера заметно замедляется. Для пассивного наблюдения за работой SurfinGate непосредственно на сервере имеется нехитрая программа-монитор системных событий — окно с "бегущими" по нему строками. Все системные события заносятся в журнал, ознакомиться с содержимым которого (или подготовить выборочный отчет) можно с консоли.

Системные требования SurfinGate особенно в том, что касается оперативной памяти, весьма высоки. Наш тест показал, что при использовании в качестве сервера рабочей станции с 64 Мбайт RAM приложение задействует практически всю память (включая виртуальную дисковую) — и это несмотря на то, что испытание проводилось только с одним клиентским рабочим местом.

ЗАКЛЮЧЕНИЕ

SurfinGate — весьма развитое приложение, по сложности близкое к корпоративному брандмауэру, поэтому подробный рассказ об его возможностях выходит за рамки данной рубрики. Впрочем, это и не было нашей целью, поскольку мы стремились прежде всего обратить внимание читателя на саму идею реализации корпоративной политики контроля за апплетами и модулями ActiveX.

С Александром Авдуевским можно связаться по адресу: shura@lanmag.ru.