что делает программный брандмауэр
Возможности программных и аппаратных файрволов
Создание защищенной системы — задача комплексная. Одна из мер обеспечения безопасности — использование межсетевых экранов (они же брандмауэры и файрволы). Как все мы знаем, брандмауэры бывают программными и аппаратными. Возможности и первых, и вторых — не безграничны. В этой статье мы попробуем разобраться, что могут брандмауэры обоих типов, а что им не под силу.
Программные и аппаратные файрволы
Первым делом нужно поговорить, что является программным, а что — аппаратным решением. Все мы привыкли, что если покупается какая-то «железка», то это решение называется аппаратным, а если коробочка с ПО, то это признак программного решения. На наш взгляд, разница между аппаратным и программным решением довольно условна. Что представляет собой железная коробочка? По сути, это тот же компьютер, пусть с другой архитектурой, пусть с немного ограниченными возможностями (к нему нельзя подключить клавиатуру и монитор, он «заточен» под выполнение одной функции), на который установлено ПО. ПО — это какой-то вариант UNIX-системы с «веб-мордой». Функции аппаратного брандмауэра зависят от используемого фильтра пакетов (опять-таки — это ПО) и самой «веб-морды». Все аппаратные брандмауэры можно «перепрошить», то есть по сути, просто заменить ПО. Да и с настоящей прошивкой (которая в старые-добрые времена выполнялась с помощью программатора) процесс обновления «прошивки» на современных устройствах имеет мало что общего. Просто на «флешку» внутри «железки» записывается новое ПО. Программный брандмауэр — это ПО, которое устанавливается на уже имеющийся самый обычный компьютер, но в случае с аппаратным брандмауэром — без ПО никак, а в случае с программным — без «железа» никак. Именно поэтому грань между данными типами межсетевых экранов весьма условная.
Наибольшая разница между программным и аппаратным брандмауэром даже отнюдь не функциональность. Никто не мешает выбрать аппаратный брандмауэр с нужными функциями. Разница в способе использования. Как правило, программный брандмауэр устанавливается на каждый ПК сети (на каждый сервер и на каждую рабочую станцию), а аппаратный брандмауэр обеспечивает защиту не отдельного ПК, а всей сети сразу. Конечно, никто не помешает вам установить аппаратный брандмауэр для каждого ПК, но все упирается в деньги. Учитывая стоимость «железок», вряд ли вам захочется защищать каждый ПК аппаратный брандмауэром.
Преимущества аппаратных брандмауэров
Преимущества программных межсетевых экранов
Битва брандмауэров
Все эти утилиты будут запускаться изнутри, то есть непосредственно с тестируемых компьютеров. А вот снаружи мы будем сканировать старым-добрым 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)
Рис. 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. Как бы там ни было, а использование программных брандмауэров, установленных на каждой рабочей станции, позволяет существенно повысить безопасность.
Что такое брандмауэр
Брандмауэр (или Firewall) – это программный комплекс, который служит для защиты компьютера от взлома хакерами, а также всевозможных вирусов и «троянов». Благодаря данной системе повышается степень безопасности работы в сети и отражаются многие атаки на компьютер за счёт фильтрации некоторых информационных пакетов. Именно поэтому настоятельно рекомендуется не отключать брандмауэр. Если пользователя не устраивает стандартный брандмауэр, то его в любой момент можно поменять на сторонний. Однако полностью отключать его весьма опасно.
Firewall отслеживает и блокирует все потенциально опасные подключения, тем самым эффективно защищая личные данные пользователя. Но не стоит путать брандмауэр с антивирусными приложениями, которые предназначены для борьбы с угрозами, уже расположенными на компьютере или на съёмных носителях. Против сетевых атак антивирусы бессильны. А что такое брандмауэр и чем он занимается? Он не следит за тем, какие действия выполняются на самом компьютере (разумеется, если не передаётся информация в сеть). Главной задачей брандмауэра является наблюдение именно за сетевым трафиком. Только совместное использование антивируса и firewall может гарантировать полную безопасность компьютера.
Для чего нужен брандмауэр
Брандмауэр на компьютере должен выполнять следующие задачи:
Как показывает статистика, компьютер, на котором не установлен брандмауэр и который находится в интернете, остаётся незаражённым максимум пару минут. По истечении этого времени пользователь непременно получит порцию вредоносных программ.
Брандмауэр Windows
В операционной системе Windows есть встроенный брандмауэр и он обладает достаточно большим количеством функций, хотя его интерфейс не совсем удобен.
В Windows встроен расширенный интерфейс настройки брандмауэра, в котором можно создать для него дополнительные правила. Например, блокировать соединение с интернетом определённых программ или позволить приложению связываться только с конкретными адресами.
Пользователь может использовать программу стороннего производителя для расширения функции брандмауэра Windows, тем самым заставляя его каждый раз запрашивать разрешение при попытке новой программы соединиться с интернетом. Среди программ, которые успешно работают в паре с брандмауэром, можно выделить Windows Firewall Control.
Рассмотрим на примере операционной системы Windows 10, как производятся основные операции со встроенным брандмауэром. Во всех последних версиях Windows эти действия практически идентичны.
Включение и отключение брандмауэра Windows
Для включения или отключения брандмауэра Windows необходимо зайти в «Панель управления > Система и безопасность > Брандмауэр Windows > Включение и отключение брандмауэра Windows». А потом для разделов «Параметры для частной сети» и «Параметры для общественной сети» нужно переместить указатель в положение «Включить брандмауэр Windows», и подтвердить действие нажатием кнопки «Ok».
Также вы можете открыть настройки брандмауэра в «Панели управления» при помощи команды «firewall.cpl». Для этого нужно открыть меню «Выполнить» при помощи комбинации клавиш Win+R, ввести команду «firewall.cpl» и нажать на кнопку «Ok».
Добавление исключений
Если Брандмауэр Windows блокирует работу нужного вам приложения, то вы можете добавить его в список исключений. Делается это следующим образом:
После выполнения описаных выше действий не забудьте сохранить настройки нажатием на кнопку «Ok».
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Вы говорите только о приложениях. А что если брандмауэр блокирует работу отдельного сайта? В моём случае это именно так. И что тогда делать?
Что такое брандмауэр и как он работает?
Брандмауэр, или файрвол – это система, обеспечивающая сетевую безопасность путём фильтрации входящего и исходящего трафика, руководствуясь установленными пользователем правилами. Основной задачей брандмауэра является устранение нежелательных сетевых коммуникаций или уменьшение их количества. В большинстве серверных инфраструктур брандмауэры обеспечивают основной уровень безопасности, который в сочетании с другими мерами предосторожности позволяет предотвратить атаки злоумышленников.
В данной статье рассказывается о том, как работают брандмауэры, в частности программные фаерволы с сохранением состояния (такие как IPTables и FirewallD), поскольку они относятся к облачным серверам. Статья охватывает пакеты TCP, различные типы брандмауэров, а такж множество других тем, связанных с брандмауэрами с сохранением состояния. Кроме того, в конце руководства можно найти много полезных ссылок на мануалы, которые помогут настроить брандмауэр на вашем сервере.
Сетевые пакеты TCP
Прежде чем приступить к обсуждению различных типов фаерволов, ознакомьтесь с трафиком Transport Control Protocol (TCP).
Сетевой трафик TCP перемещается по сети в виде пакетов-контейнеров, содержащих заголовки, в которых находится управляющая информация (адреса исходника и назначения, последовательность пакетов информации) и данных (что называется полезной нагрузкой). Управляющая информация в каждом пакете гарантирует, что его данные доставляются должным образом, и что его элементы также поддерживают брандмауэры.
Важно отметить, что для успешного получения входящего TCP-пакета получателю нужно отправить в ответ отправителю пакеты подтверждения. Комбинация управляющей информации во входящем и исходящем пакетах может использоваться для определения состояния подключения.
Типы фаерволов
Существует три базовых типа брандмауэров:
Фильтры пакетов сетевого уровня работают путём анализа отдельных пакетов. Они не знают о состоянии соединения и могут только разрешить или запретить пакеты, исходя из их индивидуальных заголовков.
Фаерволы с сохранением состояния могут определить состояние соединения пакета, что делает их более гибкими. Они собирают пакеты, пока не определят состояние соединения до того, как к трафику будут применены правила брандмауэра.
Брандмауэры прикладного уровня анализируют передаваемые данные, что позволяет пропускать сетевой трафик через правила брандмауэра, индивидуальные для отдельных сервисов и приложений. Они также известны как прокси-фаерволы.
Кроме программного обеспечения фаерволов, доступного во всех современных операционных системах, функциональность брандмауэра также может предоставляться аппаратными устройствами (например, маршрутизаторами или аппаратными фаерволами).
Правила фаерволов
Как упоминалось выше, сетевой трафик, который проходит брандмауэр, проверяется при помощи наборов правил, чтобы определить, разрешен этот трафик или нет. Проще всего объяснить правила брандмауэра на примерах.
Предположим, у вас есть сервер со списком правил для входящего трафика:
Обратите внимание на слова «accept» и «drop» в этих примерах. С их помощью задаётся действие, которое фаервол должен выполнить в случае, если трафик отвечает правилу.
Далее правило должно содержать условия, с которыми сопоставляется каждый пакет трафика.
Сетевой трафик проходит список правил брандмауэра в определённой последовательности, которая называется цепочкой правил. Как только фаервол обнаруживает правило, которому отвечает трафик, он выполняет соответствующее действие для этого трафика. В данном примере согласно правилам брандмауэра сотрудник офиса, пытающийся установить SSH-соединение с сервером, будет заблокирован согласно правилу 2 и к правилу 3 не будет допущен. Системный администратор же пройдёт фаервол, поскольку отвечает правилу 3.
Политика фаервола по умолчанию
Как правило, цепочки правил брандмауэра не охватывают все возможные условия явно. Потому цепочки всегда должны иметь политику по умолчанию, которая состоит только действия (accept, reject или drop).
К примеру, политика по умолчанию одной из ранее упомянутых цепочек – drop. Если любой компьютер вне офиса попытается установить SSH-соединение к серверу, трафик будет сброшен, так как он не соответствует ни одному правилу.
Если задана политика по умолчанию accept, то любой пользователь (кроме нетехнических сотрудников офиса) сможет становить соединение с любым открытым сервисом данного сервера. Конечно, это пример очень плохо настроенного брандмауэра, потому что он защищает сервисы только от нетехнических сотрудников.
Входящий и исходящий трафик
Сетевой трафик, с точки зрения сервера, может быть либо входящим, либо исходящим; брандмауэр поддерживает отдельный набор правил для каждого вида трафика.
Трафик, который происходит из любой точки сети называется входящим трафиком. Он воспринимается не так, как исходящий трафик, который отправляется сервером. Как правило, сервер разрешает исходящий трафик, потому что считает себя заслуживающим доверия. Однако набор правил для исходящего трафика может использоваться для предотвращения нежелательной коммуникации в случае, если сервер взломан злоумышленником или вредоносным исполняемым файлом.
Чтобы использовать преимущества безопасности брандмауэра по максимуму, нужно определить все способы взаимодействия других систем с вашим сервером, создать правила, которые явно позволяют такое взаимодействие, а затем сбросить весь оставшийся трафик. Имейте в виду, что также нужно создать соответствующие правила для исходящего трафика, чтобы сервер мог отправлять подтверждения для разрешенных входящих соединений. Кроме того следует учитывать, что серверу, как правило, нужно инициировать свой исходящий трафик (например, для загрузки обновлений или подключения к базе данных), а потому важно продумать эти случаи и создать для них набор правил.
Создание правил исходящего трафика
Предположим, фаервол сбрасывает исходящий трафик по умолчанию (политика drop). Следовательно, правила accept для входящего трафика будут бесполезны без дополнительных правил исходящего трафика.
Чтобы дополнить ранее упомянутые правила входящего трафика (1 и 3) и обеспечить правильное взаимодействие с этими адресами и портами, можно использовать следующие правила брандмауэра для исходящего трафика:
Обратите внимание, явно задавать правило для сброшенного входящего трафика (правило 2) не нужно, так как сервер не будет устанавливать или подтверждать это соединение.
Программы и инструменты
Итак, теперь вы знаете, как работает фаервол, и пришло время ознакомиться с основными пакетами, позволяющими настроить фаервол. Далее можно прочесть о самых распространённых пакетах для настройки брандмауэра.
IPTables
IPTables – это стандартный фаервол, который по умолчанию входит в большинство дистрибутивов Linux
Примечание: Более современный вариант называется nftables и в скором времени он заменит этот пакет.
На самом деле IPTables является фронт-эндом для хуков netfilter на уровне ядра, при помощи которых можно управлять сетевым стеком Linux. Он работает путем сопоставления каждого пакета, пересекающего сетевой интерфейс, с набором правил.
Инструкции по настройке фаервола IPTables можно найти в следующих статьях:
UFW расшифровывается как Uncomplicated Firewall (то есть, незамысловатый фаервол). Это интерфейс для iptables, упрощающий процесс настройки фаервола.
FirewallD
FirewallD – это полноценное решение, доступное по умолчанию на серверах CentOS 7. Кстати, для настройки netfilter брандмауэр FirewallD использует iptables.
Чтобы перейти с FirewallD на более привычный iptables, читайте это руководство.
Fail2ban
Fail2ban – это программа для предотвращения вторжений, которая может автоматически настроить брандмауэр, чтобы заблокировать атаки brute force и DDOS.
Заключение
Теперь вы знакомы с принципами работы фаерволов и можете самостоятельно подобрать подходящее решение согласно требованиям сервера.