Возможности программных и аппаратных файрволов

Создание защищенной системы - задача комплексная. Одна из мер обеспечения безопасности - использование межсетевых экранов (они же брандмауэры и файрволы). Как все мы знаем, брандмауэры бывают программными и аппаратными. Возможности и первых, и вторых - не безграничны. В этой статье мы попробуем разобраться, что могут брандмауэры обоих типов, а что им не под силу.


Программные и аппаратные файрволы

Первым делом нужно поговорить, что является программным, а что - аппаратным решением. Все мы привыкли, что если покупается какая-то "железка", то это решение называется аппаратным, а если коробочка с ПО, то это признак программного решения. На наш взгляд, разница между аппаратным и программным решением довольно условна. Что представляет собой железная коробочка? По сути, это тот же компьютер, пусть с другой архитектурой, пусть с немного ограниченными возможностями (к нему нельзя подключить клавиатуру и монитор, он "заточен" под выполнение одной функции), на который установлено ПО. ПО - это какой-то вариант UNIX-системы с "веб-мордой". Функции аппаратного брандмауэра зависят от используемого фильтра пакетов (опять-таки - это ПО) и самой "веб-морды". Все аппаратные брандмауэры можно "перепрошить", то есть по сути, просто заменить ПО. Да и с настоящей прошивкой (которая в старые-добрые времена выполнялась с помощью программатора) процесс обновления "прошивки" на современных устройствах имеет мало что общего. Просто на "флешку" внутри "железки" записывается новое ПО. Программный брандмауэр - это ПО, которое устанавливается на уже имеющийся самый обычный компьютер, но в случае с аппаратным брандмауэром - без ПО никак, а в случае с программным - без "железа" никак. Именно поэтому грань между данными типами межсетевых экранов весьма условная. Наибольшая разница между программным и аппаратным брандмауэром даже отнюдь не функциональность. Никто не мешает выбрать аппаратный брандмауэр с нужными функциями. Разница в способе использования. Как правило, программный брандмауэр устанавливается на каждый ПК сети (на каждый сервер и на каждую рабочую станцию), а аппаратный брандмауэр обеспечивает защиту не отдельного ПК, а всей сети сразу. Конечно, никто не помешает вам установить аппаратный брандмауэр для каждого ПК, но все упирается в деньги. Учитывая стоимость "железок", вряд ли вам захочется защищать каждый ПК аппаратный брандмауэром.

Преимущества аппаратных брандмауэров

У "железных" межсетевых экранов наблюдаются следующие преимущества:
  • Относительная простота развертывания и использования. Подключил, включил, задал параметры через веб-интерфейс и забыл о его существовании. Впрочем, современные программные межсетевые экраны поддерживают развертывание через ActiveDirectory, на которое тоже не уйдет много времени. Но, во-первых, не все брандмауэры поддерживают ActiveDirectory, и, во-вторых, не всегда на предприятии используется Windows.
  • Размеры и энергопотребление. Как правило, аппаратные брандмауэры имеют более скромные размеры и меньшее энергопотребление. Не всегда, правда, энергопотребление играет роль, а вот размеры важны. Одно дело небольшая компактная коробочка, другое - огромный "системник".
  • Производительность. Обычно производительность у аппаратного решения выше. Хотя бы потому, что аппаратный межсетевой экран занимается только своей непосредственной функцией - фильтрацией пакетов. На нем не запущены какие-либо сторонние процессы и службы, как это часто бывает в случае с программными брандмауэрами. Вот представьте, что вы организовали программный шлюз (с функциями межсетевого экрана и NAT) на базе сервера с Windows Server. Вряд ли вы будете выделять целый сервер только под брандмауэр и NAT. Это нерационально. Скорее всего, на нем будут запущены и другие службы - тот же AD, DNS и т.д. Уже молчу про СУБД и почтовые службы.
  • Надежность. Считается, что аппаратные решения более надежны (именно по причине того, что на них редко когда выполняются сторонние службы). Но никто вам не мешает выделить отдельный системник (пусть даже не самый современный), установить на него ту же FreeBSD (одна из самых надежных в мире операционных систем) и настроить правила брандмауэра. Думаю, надежность такого решения будет не ниже, чем в случае с аппаратным файрволом. Но такая задача требует повышенной квалификации администратора, именно поэтому ранее было отмечено, что аппаратные решения более просты в использовании.

Преимущества программных межсетевых экранов

К преимуществам программных решений относятся:
  • Стоимость. Цена программного межсетевого экрана обычно ниже "железки". За цену среднего аппаратного решения можно защитить всю сеть программным брандмауэром.
  • Возможность защиты сети изнутри. Не всегда угрозы исходят извне. Внутри локальной сети есть множество угроз. Атаки могут исходить с внутренних компьютеров. Инициировать атаку может любой пользователь LAN, например, недовольный компанией. Как уже отмечалось, можно, конечно, использовать отдельный аппаратный маршрутизатор для защиты каждого отдельного узла, но на практике нам таких решений не встречались. Уж больно они нерациональны.
  • Возможность разграничения сегментов локальной сети без выделения подсетей. В большинстве случаев к локальной сети подключаются компьютеры разных отделов, например, бухгалтерии, финансового отдела, IT-отдела и т.д. Не всегда эти компьютеры должны взаимодействовать между собой. Как выполнить разграничение ИСПДн? Первое решение заключается в создании нескольких подсетей (например, 192.168.1.0, 192.168.2.0 и т.д.) и настройке надлежащим образом маршрутизации между этими подсетями. Нельзя сказать, что решение очень сложное, но все же сложнее, чем использование программного файрвола. Да и не всегда можно выделить подсети по тем или иным причинам. Второе решение заключается в использовании межсетевого экрана, предназначенного именно для защиты ИСПДн (не во всех программных межсетевых экранах легко разграничить ИСПДн). В этом случае даже в самой большой сети вы выполните разграничение ИСПДн за считанные минуты, и вам не придется возиться с настройкой маршрутизации.
  • Возможность развертывания на существующих серверах. Нет смысла покупать еще одну "железку", если есть достаточный компьютерный парк. Достаточно на одном из серверов развернуть межсетевой экран и настроить NAT и машрутизацию. Обычно обе эти операции выполняются посредством графического интерфейса межсетевого экрана и реализуются посредством нескольких щелчков мышью в нужных местах.
  • Расширенный функционал. Как правило, функционал программных межсетевых экранов шире, чем у их аппаратных собратьев. Так, некоторые межсетевые экраны предоставляют функции балансировки нагрузки, IDS/IPS и тому подобные полезные вещи, позволяющие повысить общую безопасность системы обработки данных. Да, такие функции есть не у всех программных брандмауэров, но ничто и никто не мешает вам выбрать межсетевой экран, соответствующий вашим нуждам. Конечно, такие функции есть и у некоторых аппаратных комплексов. Например, StoneGate IPS - предоставляет функционал системы предотвращения вторжений, но стоимость таких решений не всегда понравится руководству предприятия. Также есть и аппаратные балансировщики нагрузки, но они стоят еще дороже, чем аппаратные IPS.
О недостатках писать не станем - они следуют из преимуществ. Преимущества одного вида брандмауэров обычно являются недостатками другого вида. Например, к недостаткам аппаратных решений можно отнести стоимость и невозможность защиты локальной сети изнутри, а к недостаткам программных - сложность развертывания и использования (хотя, как было отмечено, все относительно). Правда, есть один недостаток аппаратных межсетевых экранов, о котором стоит упомянуть. Как правило, у всех аппаратных межсетевых экранов есть кнопка сброса, нажав которую можно вернуть параметры по умолчанию. Для нажатия этой кнопки не нужно обладать какой-то особой квалификацией. А вот, чтобы изменить параметры программного межсетевого экрана, нужно, как минимум, получить права администратора. Нажав одну кнопку, недовольный сотрудник может нарушить безопасность всего предприятия (или оставить предприятие без доступа к Интернету, что даже лучше). Поэтому при использовании аппаратных решений нужно более ответственно подойти к вопросам физической безопасности самих устройств.

Битва брандмауэров

Далее мы попытаемся понять, какой брандмауэр обеспечивает лучшую защиту: программный или аппаратный. В качестве аппаратного будет выступать встроенный в маршрутизатор от TP-Link межсетевой экран. В качестве программного - Киберсейф Межсетевой экран. Для теста брандмауэров мы будем использовать утилиты с сайта www.testmypcsecurity.com, а именно Jumper, DNStester и CPIL Suite (разработка компании Comodo). Сразу предупреждаем: в отличие от сертифицированных инструментов вроде XSpider эти утилиты используют те же методы, что и вредоносные программы, работу которых они симулируют. Именно поэтому на время тестирования (если вы хотите повторить результаты) все средства антивирусной защиты должны быть деактивированы. Можно было бы, конечно, рассмотреть XSpider, но данный тест был бы слишком скучным и неинтересным для конечного читателя. Да и кто может представить себе злоумышленника, который использует сертифицированный сканер? Вкратце об утилитах:
  • Jumper - позволяет обойти брандмауэр, используя методы «DLL injection» и «thread injection».
  • DNS Tester - использует рекурсивный DNS-запрос, чтобы обойти брандмауэр.
  • CPIL Suite - набор тестов (3 теста) от компании Comodo.
Все эти утилиты будут запускаться изнутри, то есть непосредственно с тестируемых компьютеров. А вот снаружи мы будем сканировать старым-добрым nmap. Итак, у нас есть два компьютера. Оба подключены к Интернету. Один подключается через аппаратный межсетевой экран (работающий на базе маршрутизатора TP-Link) и на нем не установлены ни программный брандмауэр, ни антивирус. Второй компьютер подключен к Интернету непосредственно и защищен программным межсетевым экраном КиберСейф. На первом компьютере установлена Windows 7, на втором - Windows Server 2008 R2.

Тест 1: Jumper

Jumper, запущенный с правами администратора (чего греха таить, с такими правами работают множество пользователей), успешно выполнил свою задачу в Windows 7 (рис. 1). Ничто не могло ему помешать - ведь на нашей системе не было установлено ни одно средство защиты, ни антивирус, ни брандмауэр, ни IDS/IPS, а аппаратному брандмауэру все равно, что происходит на клиентских компьютерах. Он никак не может повлиять на происходящее.


Рис. 1. Jumper в Windows 7 Ради справедливости нужно отметить, что если бы пользователь работал не справами администратора, то у Jumper ничего бы не вышло. В Windows Server 2008 Jumper даже не запустился, но это не заслуга межсетевого экрана, а самой операционной системы. Поэтому здесь между межсетевыми экранами - паритет, поскольку защита от данной уязвимости может быть обеспечена средствами самой операционной системы.

Тест 2. DNStester

Цель данного теста - отправить рекурсивный DNS-запрос. По умолчанию, начиная с Windows 2000, служба Windows DNS Client принимает обращения по всем запросам DNS и управляет ими. Таким образом, все DNS-запросы от всех приложений в системе будут отправлены клиенту DNS (SVCHOST.EXE). Сам DNS-запрос делает непосредственно DNS-клиент. DNStester использует рекурсивный запрос DNS, чтобы обойти брандмауэр, другими словами, служба обращается сама к себе.


Рис. 2. Тест не пройден Если настройки брандмауэра оставить по умолчанию, то с данным тестом не справились, ни программный, ни аппаратный брандмауэр. Понятно, что аппаратному брандмауэру все равно, что происходит на рабочей станции, поэтому рассчитывать, что он защитит систему от этой уязвимости, не приходится. Во всяком случае, с дефолтными настройками (а они практически не изменялись). Но это не говорит о том, что Киберсейф Межсетевой экран - плохой брандмауэр. При повышении уровня безопасности до третьего, тест был полностью пройден (см. рис. 3). Программа сообщила об ошибке в DNS-запросе. Чтобы убедиться, что это не заслуга Windows Server 2008 тест был повторен на машине с Windows 7.


Рис. 3. Тест пройден (DNStest) Ради справедливости нужно отметить, что если на компьютере установлен антивирус, то, скорее всего, данное приложение будет помещено в карантин, но все же один запрос оно успеет отправить (рис. 4).


Рис. 4. Антивирус Comodo заблокировал нежелательное приложение

Тест 3. Набор тестов от Comodo (CPIL)

Итак, аппаратный брандмауэр с дефолтными настройками провалил все три теста CPIL (если щелкнуть по надписи Tell me more about Test, появится окошко, объясняющее принцип теста). Но провалил он их как-то странно. Прохождение теста подразумевает такую последовательность действий:
  1. Нужно ввести передаваемые данные. Нами вводились значения 1, 2, 3 для тестов 1, 2 и 3 соответственно.
  2. Затем нажать одну из кнопок вызова теста (рис. 5)


Рис. 5. CPIL Test Suite После этого должен был открыться браузер с результатами теста. Кроме сообщения о том, что тест провален, страница результатов должна была отображать введенное нами значение, которое передавалось сценарию в качестве GET-параметра (см. рис. 6). Видно, что значение (2 в адресной строке) таки было передано, но сценарий его не отобразил. Ошибка в сценарии Comodo? Ошибаются, конечно, все, но доверия к этому тесту у нас поубавилось.


Рис. 6. Результат теста (аппаратный брандмауэр) А вот при использовании программного брандмауэра тесты CPIL даже не запустились. При нажатии кнопок 1 - 3 ничего не произошло (рис. 7). Неужели это заслуга Windows Server 2008, а не брандмауэра? Мы решили это проверить. Поэтому на компьютер с Windows 7, защищенный аппаратным брандмауэром, был установлен Киберсейф Межсетевой экран. А вот в Windows 7 утилите удалось-таки прорвать оборону файрвола. Первый и третий тест были пройдены, а вот при нажатии кнопки Test 2 нам пришлось созерцать окно браузера Chrome, подобное изображенному на рис. 6.


Рис. 7. При нажатии на кнопку ничего не происходит (видно, что антивирус отключен)


Рис. 8. Тесты 1 и 3 пройдены

Тест 4. Сканирование извне

До этого мы пытались прорваться через брандмауэр изнутри. Сейчас же попробуем просканировать защищаемые брандмауэром системы. Сканировать будем сканером nmap. В результатах аппаратного брандмауэра никто не сомневался - все закрыто и невозможно даже определить тип тестируемой системы (рис. 9 и 10). На всех последующих иллюстрациях IP-адреса скрыты, поскольку являются постоянными - дабы ни у кого не было желания повторить тест на наших адресах.


Рис. 9. Сканирование аппаратного брандмауэра


Рис. 10. Сканирование аппаратного брандмауэра (детали хоста) Теперь попробуем просканировать систему, защищенную программным межсетевым экраном. Понятное дело, по умолчанию программный межсетевой экран будет пропускать все и вся (рис. 11).


Рис. 11. Открытые порты (программный межсетевой экран, настройки по умолчанию)


Рис. 12. Определен тип системы (программный межсетевой экран, настройки по умолчанию) Когда же настраиваются правила, то все встает на свои места (рис. 13). Как видите, программный брандмауэр обеспечивает безопасность защищаемой системы ничем не хуже, чем его "железный" коллега.


Рис. 13. Открытых портов нет

Атаки по локальной сети

Почему так важно обеспечить защиту внутри локальной сети? Многие администраторы ошибочно не уделяют внимание защите изнутри, а зря. Ведь внутри локальной сети можно реализовать множество атак. Рассмотрим некоторые из них.

ARP-атака

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

DoS-атаки, в том числе различные флуд-атаки

DoS-атаки (атаки на отказ) возможны не только в Интернете, но и в локальных сетях. Отличаются лишь методы таких атак. Природа DoS-атак может быть любой, однако, бороться с ними без брандмауэра, который был бы установлен на каждой машине локальной сети, невозможно. Один из видов DoS-атаки, который может с успехом применяться в локальной сети - это ICMP-флуд. Брандмауэр КиберСейф Межсетевой экран содержит выделенные средства для борьбы с этим видом атак (рис. 14). Также он содержит средства балансировки нагрузки на сервер, что также может помочь в борьбе с DoS-атаками.


Рис. 14. ICMP безопасность (КиберСейф Межсетевой экран) Подробнее о DOS-атаках вы можете прочитать в статье "Как защитить себя от DoS/DDoS-атак".

Смена MAC-адреса

В локальной сети компьютеры идентифицируются не только по IP-адресу, но и по MAC-адресу. Некоторые администраторы разрешают доступ к определенным ресурсам по MAC-адресу, поскольку IP-адреса, как правило, динамические и выдаются DHCP. Такое решение не очень себя оправдывает, поскольку MAC-адрес очень легко сменить. К сожалению, защититься от смены MAC-адреса с помощью брандмауэра не всегда возможно. Не каждый брандмауэр отслеживает изменение MAC-адреса, поскольку обычно привязан к IP-адресам. Здесь самое эффективное решение - использование коммутатора, позволяющего сделать привязку MAC-адреса к конкретному физическому порту коммутатора. Обмануть такую защиту практически невозможно, но и стоит она немало. Правда, есть и программные способы борьбы со сменой MAC-адреса, но они менее эффективны. Если вам интересен брандмауэр, который умеет распознавать подмену MAC-адреса, то обратите внимание на Kaspersky Internet Security 8.0. Правда, последний умеет распознавать подмену MAC-адреса только шлюза. Но зато он полноценно распознает подмену IP-адреса компьютера и IP-флуд.

Подмена IP-адреса

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

Routing-атаки

Данный вид атак основан на отправке жертве "фальшивых" ICMP-пакетов. Суть этой атаки в подмене адреса шлюза - жертве отправляется ICMP-пакет, сообщающий более короткий маршрут. Но на самом деле пакеты будут проходить не через новый маршрутизатор, а через компьютер злоумышленника. Как уже было отмечено ранее, Киберсейф Межсетевой экран обеспечивает безопасность ICMP. Аналогично, можно использовать и другие межсетевые экраны. Существует и множество других атак в локальных сетях - и снифферы, и различные атаки с использованием DNS. Как бы там ни было, а использование программных брандмауэров, установленных на каждой рабочей станции, позволяет существенно повысить безопасность.

Выводы

Защита информационной системы должна быть комплексной - это и программные, и аппаратные брандмауэры, и антивирусы, и правильная настройка самой системы. Что же касается нашего противостояния между программными и аппаратными брандмауэрами, то первые эффективно использовать для защиты каждого узла сети, а последние - для защиты всей сети в целом. Аппаратный брандмауэр не может обеспечить защиту каждой отдельной рабочей станции, бессилен при атаках внутри сети, а также не может выполнить разграничение ИСПДн, которое необходимо выполнять в контексте защиты персональных данных.