Обзор бесплатного файрвола R-Firewall


Назначение продукта

В этом обзоре мы познакомимся с интерфейсом и возможностями бесплатного файрвола R-Firewall. Скачать его можно с официального сайта. Размер дистрибутива 3,7 мегабайт. Доступна только английская версия. Файрвол предназначен для ограничения доступа к компьютеру по сети, контролирует доступ приложений в сеть и препятствует несанкционированному проникновению злоумышленников, а также, заражению некоторыми типами вирусов. Несомненным плюсом данного продукта является его бесплатность.

К оглавлению

Установка

Установка R-Firewall выполняется мастером, который задаёт несколько стандартных вопросов. На одном из этапов установки можно выбрать компоненты, которые должны быть установлены.

Выбор компонентов для установки

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

Автоматическое создание правил для приложений

В тестовых целях я снял отметки со всех пунктов, то есть, мастер установки файрвола не создал ни одного правила для приложений.

Файрвол интегрируется в Центр обеспечения безопасности Windows.

Центр обеспечения безопасности

После перезагрузки компьютера можно приступать к настройке файрвола.

К оглавлению

Интерфейс

Главное окно программы показано на рисунке ниже.

Главное окно

На рисунке выше показан вид интерфейса по умолчанию. В этом представлении выводится минимальное количество настроек в виде ползунков, которыми можно изменять уровни безопасности. Переключение в расширенный режим выполняется при помощи пункта меню View - Advanced.

Расширенный режим интерфейса

К оглавлению

Правила и приложения

После переключения в расширенный режим, первой открывается вкладка Applications and Rules (Приложения и Правила). Её пример показан на рисунке выше. Сразу после установки файрвола созданы 3 правила: первое разрешает обмен данными с доверенными сетями (группа Trusted Network, будет описана ниже), второе правило блокирует обмен данными с запрещёнными сетями (Blocked Network), третье - выводит запрос к пользователю при попытке обмена данными с сетями (или компьютерами), которые не входят ни в доверенную, ни в запрещённую группы.

Выше этих трех правил находится группа NETBIOS, которая свернута по умолчанию и в которой созданы правила, разрешающие установку соединения между локальным компьютером и компьютерами (или подсетями), которые включены в группу NetBIOS Allowed (NetBIOS разрешён), в обоих направлениях.

Группа правил NETBIOS

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

В правом верхнем углу находится зеленая кнопка, нажатие на которую приводит к открытию панели со списком предопределённых правил для разрешения определённых сервисов.

Разрешение определённых сервисов

Двойной клик по предопределённому правилу в правой панели добавит его в список правил. На рисунке выше я добавил группу Time Synchronizer, которая разрешает операционной системе синхронизировать время с источниками в интернете.

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

В настройке файрвола есть три уровня безопасности: Low, Medium, High. Необходимо помнить, что правила настраиваются для каждого уровня безопасности раздельно, а затем уровень безопасности может быть быстро изменен при помощи ползунка, и файрвол начнет применять для фильтрации трафика правила, которые созданы для выбранного уровня безопасности.

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

Запрос на доступ приложения в сеть

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

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

Зафиксировано изменение компонентов приложения

Если причина, по которой изменились компоненты, не ясна, то можно заблокировать сетевую активность приложения и просканировать систему антишпионским и антивирусным программным обеспечением.

К оглавлению

Предустановки (Presets)

Пример вкладки Presets (Предустановки) показан на рисунке ниже.

Вкладка Presets

На этой вкладке перечислено множество самых распространённых служб, к которым может потребоваться установить подключение. Каждый пресет описывает протокол и порты, которые могут потребоваться для работы с определённой службой. Есть возможность добавлять свои пресеты и корректировать созданные по умолчанию. Пресеты, предлагаемые разработчиком, слишком общие, то есть, они разрешают устанавливать соединения с любыми серверами по определённым портам и протоколам. Правила можно ужесточить, создав зоны и указав их в пресете. В каждую зону можно включить определённые адреса серверов, на которых работают службы, например, можно создать зону «Сервера MySQL». Подробнее о зонах будет рассказано ниже.

К оглавлению

Группы портов (Port Groups)

Пример вкладки показан ниже.

Вкладка Port Groups

Из скриншота понятно назначение этой вкладки: здесь группируются номера портов, которые используются для работы с определёнными сервисами. Есть возможность создавать свои группы, в которых перечисляются конкретные порты, диапазоны портов или можно объединить в новой группе несколько существующих групп. В дальнейшем, можно будет использовать созданные группы при написании правил, что снимает необходимость перечислять в каждом поле «Порт» все порты, которые необходимы для настройки правила.

К оглавлению

Зоны узлов (Host Zones)

Пример вкладки Host Zones (Зоны узлов) показан ниже.

Вкладка Host Zones

Назначение этой вкладки аналогично назначению Port Groups, с тем лишь отличием, что здесь перечислены узлы, а не порты. В каждой записи можно указать доменное имя, IP-адрес, диапазон адресов, подсеть или сгруппировать в новой зоне существующие узлы. В дальнейшем, при создании правил файрвола, можно указывать созданные группы узлов, быстро разрешая или запрещая работу с определёнными серверами одним правилом без необходимости перечислять каждый раз все сервера.

К оглавлению

Соединения (Connections)

На вкладке Connections (Соединения) перечислены все соединения, активные в данный момент.

Вкладка Connections

К оглавлению

Фильтр содержимого (Content Filter)

Внешний вид вкладки показан на рисунке ниже.

Вкладка Content Filter

В этом разделе есть несколько подразделов:

  • Ad Blocker (блокиратор рекламы) - здесь уже перечислены все самые распространённые строки, которые используются для размещения на посещаемых страницах рекламных материалов. В этот же список добавлены адреса некоторых рекламных серверов. Пополняя этот список можно избавиться от рекламы на посещаемых сайтах.
  • Ad Picture Blocker (блокиратор графической рекламы) - на этой вкладке можно указать размеры рекламных изображений (баннеров). Загрузка изображений с такими размерами будет подавляться файрволом.
  • Host/Active Content Blocker (блокиратор узлов и активного содержимого) - здесь настраивается загрузка активного содержимого с определённых сайтов. Возможно изменить настройки загрузки такого содержимого по умолчанию для всех сайтов. Доступны три уровня: запретить, спросить или разрешить. Применяются эти уровни к узлам (сайтам), cookies, popup, javascript, java applets и activex.
  • Content Filter (фильтр по содержимому) - в этом списке можно указать слова, которые могут находиться на посещаемых страницах и загрузка таких страниц будет заблокирована.
  • Mail Filter (почтовый фильтр) - предназначен для настройки блокировки активного содержимого, которое может быть получено по почте (cookies, popup, javascript, java applets и activex).
  • Log (журналы) - на этой вкладке можно просмотреть журнал срабатывания всех фильтров, что бывает полезно сделать для тонкой настройки фильтров или для коррекции их неправильной настройки.

К оглавлению

Кэширование DNS-запросов (DNS Cache)

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

К оглавлению

Детектор атак (Attack Detection)

Пример вкладки Attack Detection показан на рисунке ниже.

Вкладка Attack Detection

На вкладке Trusted Hosts (доверенные узлы) можно перечислить список компьютеров или указать подсети, протоколы и порты, активность на которых не будет расцениваться как атака, то есть, исключить их из внимания детектора атак.

На вкладке Port (порт) можно указать «вес» определённого порта. Чем больше его вес, тем пристальнее детектор атак будет наблюдать за этим портом и раньше реагировать на возможную атаку.

На вкладке Log (журнал) можно просмотреть события, которые были зафиксированы детектором атак в ходе работы файрвола.

К оглавлению

Тестирование R-Firewall

Конфигурация тестового компьютера, программное обеспечение, используемое при тестировании

  • Celeron Tualatin 1000A на шине 133, т.е. частота процессора 1333 мегагерца.
  • Материнская плата Asus TUSL–2C, BIOS ревизии 1011.
  • 512 мегабайт оперативной памяти, работающей на частоте 133 мегагерца.
  • Винчестер Seagate Barracuda 4 80 гигабайт в режиме UDMA5.
  • Windows XP Pro Rus Service Pack 2.
  • 10 мегабитная сеть из двух компьютеров.
  • Сканер уязвимостей XSpider 7
  • Утилита для сетевого флуда по ICMP, IGMP, TCP, UDP.
  • Process Explorer от Sysinternals.
  • Утилита PCAudit2.

К оглавлению

Использование программой памяти и загрузка процессора

В ходе тестирования R-Firewall при помощи Process Explorer регулярно снимались показания об объеме занятой процессом программы памяти и о загрузке им процессора. Результаты приведены в таблице ниже.

Момент снятия показаний

Объем занятой памяти

Загрузка процессора

Физическая память (килобайт)

Виртуальная память (килобайт)

После загрузки ОС, настройки по умолчанию, простой

10 412

7 952

0%

Настройки по умолчанию, сканирование XSpider

10 316

7 452

0%–8%

Настройки по умолчанию, ICMP–флуд в течение 5 минут

12 838

8 508

67%–84%

Настройки по умолчанию, IGMP–флуд в течение 5 минут

12 936

8 704

92%–100%

Настройки по умолчанию, SYN–флуд в течение 5 минут

12 992

8 644

32%–57%

Настройки по умолчанию, UDP–флуд в течение 5 минут

13 080

8 744

4%–100%

Завершить работу файрвола можно щелкнув правой кнопкой мыши по его значку в трее и выбрав Exit. После закрытия файрвол полностью выгружается из памяти и освобождает все ресурсы, которые он занимал.

К оглавлению

Сканирование системы сканером уязвимостей XSpider

Тестовая машина была просканирована сканером уязвимостей XSpider 7. Настройки файрвола после его установки не менялись. Подсеть, в которой находилась тестовая машина под защитой файрвола, была удалена из группы доверенных подсетей.

Результаты сканирования

Полное сканирование всего диапазона портов выявило открытый порт 445 и уязвимость, описанную в соответствующей статье Базы знаний Microsoft.

Во время сканирования объем занятой файрволом памяти не изменялся, а загрузка процессора была практически равна нулю.

К оглавлению

Он–лайн тест файрвола

Для тестирования файрвола на качество контроля им приложений, пытающихся отправить информацию в интернет, была использована утилита PCAudit2. Эта утилита предлагает в любом приложении (например, в Блокноте) ввести несколько любых слов или зайти на любой сайт, требующий авторизации и ввести имя пользователя и пароль. Утилита перехватывает вводимые данные, делает скриншот с экрана, определяет имя пользователя, работающего в системе, IP–адрес и предпринимает попытку отправить собранную информацию на свой сервер. Затем утилита открывает с сервера динамически созданную страницу с отправленными данными и наглядно демонстрирует то, какая информация может быть получена хакером, взломавшим систему.

Первый запуск PCAudit был выполнен при настройках R-Firewall по умолчанию. Утилита перебирала все работающие в системе процессы, пытаясь отправить собранную информацию на свой сервер от их имени. Файрвол обнаруживал попытки выйти в сеть приложений, которым там делать нечего, и запрашивал действие, которое нужно предпринять. В результате утилита сообщила о неудаче, постигшей её при отправке собранных данных. Поскольку в повседневной работе, скорее всего, для браузера будет создано правило, разрешающее ему устанавливать соединения с любыми серверами, для IE было создано правило, разрешающее ему выход в сеть. После запуска утилиты, как того и следовало ожидать, она без проблем отправила всю собранную информацию на сервер и подтвердила это отчётом на открывшейся странице.

К оглавлению

Атака на тестовую машину по сети

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

Результаты тестирования приведены в таблице в разделе Использование программой памяти и загрузка процессора.

ICMP–флуд в течение пяти минут вызвал незначительное увеличение занятой файрволом памяти. Загрузка процессора держалась на уровне 70%.

IGMP–флуд вызвал практически постоянную загрузку процессора до значений, близких к 100%. Работать на компьютере во время проведения теста была невозможно. Объем занятой памяти увеличился незначительно.

SYN–флуд слабо отразился на производительности компьютера, объем занятой памяти увеличился не на много.

UDP–флуд вызвал загрузку процессора от 6% до 100%, объем занятой памяти практически не увеличился. Во время проведения теста было заметно значительное падение производительности системы.

После проведения всех тестов обнаружился неприятный баг: я не смог открыть главное окно файрвола. Щелчок по значку в трее привел лишь к появлению на экране splash-формы с названием файрвола, но открытия главного окна, которое должно было появиться следом, я так и не дождался. Чтобы открыть главное окно мне пришлось завершить процесс главного модуля программы при помощи Process Explorer, а затем запустить его вновь из меню Пуск. Эти действия никак не отразились на работе сервиса файрвола.

К оглавлению

Тестирование фильтров содержимого

R-Firewall без проблем справлялся с рекламой на посещаемых страницах: мне за все время проведения теста не удалось увидеть ни одного баннера, вместо них на страницах была ссылка [AD]. Блокиратор узлов и активного содержимого также без проблем справлялся с cookies, javascript и так далее. У фильтра содержимого (фильтр, по словам на посещаемых страницах) обнаружилась проблема при работе с кириллицей. Если добавление в фильтр слова, написанного латиницей в любом регистре, всегда приводило к блокировке просмотра страницы (содержимое страницы заменяется надписью о срабатывании фильтра огромным синим шрифтом), то добавление слов, написанных кириллицей, не приводило к срабатыванию фильтра никогда.

К оглавлению

Вывод

Тестирование выявило серьезную проблему в виде открытого 445 порта. Если на компьютере не установлено обновление, описанное в статье 896422 Базы знаний Microsoft, то злоумышленник может удалённо выполнить на компьютере произвольный код. Эта проблема сводит на нет все преимущества R-Firewall перед коммерческими продуктами: его полную бесплатность и скромные системные требования.

К оглавлению



Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.