Вот стоит файрвол, неприступный как скала. Наивный юзер свято верит, что никакой червь, троян или хакер через этот файрвол не перелезет. Фиг там! Файры блокируют лишь единичные вторжения, и шанс подцепить заразу от наличия/отсутствия файрвола не зависит. Точнее, практически не зависит, поскольку большинство юзеров даже не пытаются сконфигурировать свой файрвол, а на все его вопросы не задумываясь отвечают «Да». Возможности файров, конечно же, не безграничны, но в умелых руках они превращаются в мощное оружие, отражающее значительный процент атак.

Файр (от английского firewall – «огненная стена», точнее, «огнезащитная стена», разделяющая смежные здания от распространения пожара, ведь в былые времена зачастую выгорали целые города), он же брандмауэр (от немецкого brandmauer: brand – «пожар», mauer – «стена»), он же межсетевой экран, если говорить совсем по-русски. Но что же это все-таки такое? А ничего… Удачный маркетинговый трюк, впаривающий нам многофункциональный «швейцарский нож», вместо того чтобы позволить покупать эти программные продукты по отдельности.

Персональные файры берут на себя функции:

  • марштутизаторов, определяя политику перемещений пакетов между узлами;
  • proxy-серверов, громко называемых «брандмауэрами уровня приложений»;
  • систем обнаружения вторжений (они же IDS – Intruder Detection System);
  • антивирусов, ищущих в трафике известные сигнатуры;
  • ревизоров, контролирующих целостность файлов, и многие другие.

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

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

На самом деле все не так уж и сложно. Файрвол - относительно бесхитростная вещь и конфигурируется с полпинка. Главное - владеть базовыми понятиями, которые автор сейчас и растолкует.

 

Обзор персональных брандмауэров

Файров куча. Какой из них выбрать? Или, может быть, ничего выбирать не нужно и выбор уже сделан за нас? В XP SP2 встроена какая-то пародия на персональный брандмауэр, которая делает вид, что работает и страшно нервничает при всякой попытке ее отключения, популярно объясняя пользователю, что его компьютер находится в ужасной опасности и вот-вот падет жертвой хакерской атаки или другой крупной трагедии.

На сайте www.firewallleaktester.com можно найти перечень персональных брандмауэров вместе с результатами тестирования их стойкости к различным видам проникновения. Последнее тестирование состоялось в 2006 году, то есть больше года назад. Для компьютерной индустрии это огромный срок, но… ядра персональных брандмауэров не переписываются каждый день, да и методики атак совершенствуются довольно медленно, поэтому представленным результатам вполне можно верить.

Первое место занял компактный и к тому же бесплатный файрвол Jetico Personal Firewall, созданный одноименной компанией (www.jetico.com/jpfirewall.htm). На втором месте оказался популярный отечественный брандмауэр Outpost Firewall Pro от компании Agnitum, ожидающей 40 убитых енотов за каждый компьютер, на котором он будет установлен. Возможно, Outpost - действительно хороший персональный брандмауэр (лично меня, как разработчика, прельщает возможность создания подключаемых модулей и наличие SDK, но отпугивает откровенно кривая реализация перехвата системных функций), однако отдавать свои кровные не каждый захочет. Windows
Firewall вообще провалил тестирование и вместо награды получил жирный красный крест.

По результатам другого тестирования (смотри Personal Firewall Software Reviews 2007), самым лучшим файром признан ZoneAlarm Pro (золото), Outpost занимает свое «законное» второе место (серебро), а вот SyGate Personal Firewall, которым пользуется мыщъх, не получил даже бронзы, попав на восьмое место.

С другой стороны: Файрвол Outpost Firewall Pro 2008, разработанный питерской компанией Agnitum, занял первое место в результатах тестирования брандмауэров, проведенного Matousec. Победу с ним разделил зарубежный Online Armor Personal Firewall - оба продукта набрали максимальное количество баллов.

Какой из этого напрашивается вывод? Качество персонального брандмауэра - весьма относительная величина, слагающаяся из множества критериев, каждому из которых присваивается свой вес. Но, чтобы получить объективную (или претендующую на роль таковой) оценку, необходимо поставить всех пользователей в одинаковые условия, навязав им свои понятия о том, что такое «хорошо» и что такое «плохо». Например, лично мне плевать на удобство интерфейса, гибкую систему формирования отчетов и т.д. Достаточно, чтобы брандмауэр вел мониторинг сетевой активности, писал логи и позволял открывать/закрывать доступ к определенным портам с указанных IP-адресов, что умеет практически любой персональный брандмауэр,
за исключением разве что недоразумения под названием Windows Firewall.

Короче, заканчиваем сидеть над обзорами. Берем любой файр и начинаем его настраивать.

В этой статье в качестве подопытной крысы использован SyGate Personal Firewall 4.2. Это бесплатная версия, остальные уже распространялись как shareware (либо с деньгами и полным функционалом, либо без денег и возможности ведения логов).

 

Что может и чего не может брандмауэр

То, что брандмауэрами закрывают порты, все знают. Но далеко не каждый пользователь догадывается, что… у него нет тех портов, которые следовало бы закрыть. Перефразируя кота Мурзика, можно сказать: чтобы закрыть какой-то порт, его прежде нужно открыть, а чтобы открыть порт, у нас денег нет. В прямом смысле. Вот допустим, у кого-то имеется локальная сеть с SQL-сервером, который должен быть виден только изнутри и недоступен снаружи. В таких случаях умные администраторы просто объясняют маршрутизатору, что SQL не вправе получать пакеты, приходящие из внешнего мира, равно как и отправлять их. Аналогичным образом порты SQL-сервера закрываются и на брандмауэре.

Ах! У нас нет SQL-сервера! Какая жалость! А что у нас есть?! Ну… если хорошо поискать… Вот черт, ничего не находится! Ну, это на Linux ничего не находится, а вот коварная Windows открывает ряд портов для своих служебных целей, даже если нас эти цели не интересуют. В частности, известный червь MSBlast распространялся через дыру в службе DCOM RPC, а точнее, через открытый ей 135-й порт. Что такое DCOM RPC? Ну… если у нас намного больше одного компьютера и проснувшись мы решили разбить их на домены, то… ну то есть на фиг эту DCOM RPC, если короче.

Существовало три пути предотвращения вторжения червя. Первый - установить заплатку, которая, если мне не изменяет память, вышла за год или полгода до эпидемии. Второй - отключить саму службу DCOM RPC, благо 99,9% пользователей она нужна как автору панталоны. Штатными средствами этого было не сделать, но в сети тут же появились «выключалки» от сторонних разработчиков. Наконец, третий путь: закрыть этот зловредный 135-й порт на брандмауэре, что в свое время и сделал мыщъх, которому было лень качать заплатку.

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

Основное назначение персонального брандмауэра - это разделение интра- и интернета, то есть возведение защитной стены между локальной сетью (как правило, домашней) и враждебным интернетом. Допустим, у нас имеются расшаренные файлы/папки и принтеры, доступные без всякий паролей (ведь пароли - это такой геморрой!), и, чтобы нас не поимели, как молодых, брандмауэр позволяет заблокировать всякие попытки обращения к расшаренным ресурсам извне, ну или открыть к ним доступ только с определенных адресов (например, из корпоративной сети той организации, где ты работаешь). В большинстве брандмауэров это делается одним взмахом мыши: просто сбрасываем/устанавливаем галочку напротив пункта «…shared
flies/folders/printers».

Насколько надежна такая защита? Может ли хакер пробить брандмауэр?! Независимо от конструктивных особенностей реализации брандмауэра, непосредственный обмен данными с закрытым портом извне невозможен. И хотя имеется ряд узких мест (например, при сильной фрагментации TCP-пакета порт назначения не вмещается в TCP-заголовок и некоторые брандмауэры его спокойно пропускают), мы можем, не заморачиваясь и не садясь на измену, чувствовать себя в безопасности, поскольку вероятностью быть атакованным через скачанный варез несравненно выше.

Еще брандмауэр может (и должен) следить за сетевой активностью честных приложений, показывая кто из них ломится в сеть, на какой порт и по каким адресам. Например, если мы запускаем Горящего Лиса и он ломится на Home Page, ранее прописанную нами, то это нормально. Если же Лис лезет на fxfeeds.mozilla.org, то это тоже нормально, хотя уже весьма подозрительно, но, вообще говоря, программа подобного уровня вправе обращаться к своему сайту, и никакого криминала здесь нет. А вот если игра типа тетриса пытается открыть какой-то порт (например, порт 666), то с вероятностью, близкой к единице, в ней запрятана закладка и от такой программы можно ожидать всего чего угодно, так что лучше стереть ее
на хрен или ограничиться тем, что на вопрос брандмауэра ответить «Нет».

Вообще говоря, пробить брандмауэр изнутри очень просто. Зловредная программа имеет в своем арсенале массу способов установки канала связи с удаленным узлом, и брандмауэр ей не помеха. Тем не менее основная масса малвари написана пионерами, которые ни хрена не шарят в теме, и потому попытки открытия back-door портов (через которые хакеры и рулят захаченными компьютерами) отлавливаются брандмауэрами молниеносно. Более грамотная малварь внедряется в процессы доверенных приложений (например, в IE, Горящего Лиса, Outlook Express, The Bat, etc), осуществляя обмен данными от их имени. Большинство брандмауэров устанавливает факт внедрения (хотя и не обязаны это делать), однако если малварь уже
находится на компьютере, то у нее есть все шансы обломать брандмауэр, каким бы крутым он ни был. Впрочем, учитывая качество нынешней малвари, брандмауэры побеждают чаще.

 

Приступаем к настройке брандмауэра

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

Начнем с портов. Вернее сказать, вернемся к нем. Ох уж эти порты… Некоторые руководства смело предлагают раз и навсегда закрыть порты, используемые троянскими лошадьми, устанавливающими back-door'ы. Списки таких портов выглядят довольно внушительно. Троянцев сейчас много, и все они используют различные порты. Ну, положим, закроем мы их. Что это нам даст?! А ничего! Эти порты и так закрыты по умолчанию. Проникнуть сквозь них малварь не сможет, и, чтобы установить back-door, ей придется либо прикинуться полезным варезом, который установит на компьютер сам пользователь, либо же заюзать какую-нибудь незалатанную дыру. Естественно, после того как малварь обоснуется на компьютере, она
попытается открыть порт, ожидая поступления дальнейших инструкций от хакера. И, если этот порт закрыт на брандмауэре, малварь обломается, а брандмауэр выдаст предупреждение, дескать, вот такая тут зараза…

Интернет буквально кишит подобными статьями, от непроходимой тупости которых мыщъх уже устал. Короче. Внятно, доступно и на пальцах. Малварь уже давно не использует фиксированные порты, а выбирает их случайным (или псевдослучайным) образом. Это раз. А теперь два: при установке любого TCP/IP-соединения на самом деле используется не один, а два порта: заранее известный фиксированный порт удаленного узла (например, в случае WWW это порт 80) и локальный порт, автоматически открываемый операционной системой на нашей машине и выбираемый произвольным образом (естественно, из числа свободных). Существует вероятность (причем большая), что при установке легального TCP/IP-соединения нормальной
программой операционная система назначит троянский локальный порт, который закрыт брандмауэром! Это приведет к тому, что: а) соединение не будет установлено; б) брандмауэр поднимет визг, а пользователь, хватаясь за сердце, начнет искать несуществующего трояна, скачивая самые последние версии антивирусов, но так и не найдет его, поскольку… тревога была ложной.

По той же причине нельзя закрыть все неиспользуемые порты, как советуют некоторые авторы, поскольку при этом мы вообще не сможем установить ни одного TCP/IP-соединения! В таком случае какие же порты нужно закрывать?! Ответ: если (допустим) у тебя домашняя локальная сеть и proxy-сервер на 8080-м порту, через который выходят в интернет остальные домочадцы, то точно таким же образом через него могут выходить в Сеть и все другие обитатели интернета. Зачем? Ну мало ли… Даже если proxy не анонимный (то есть не подходит для атак от чужого имени), то внутрисетевой трафик у большинства провайдеров обычно значительно дешевле или вовсе бесплатный. Вот юные хакеры и рыщут в поисках халявы. Вообще-то,
большинство proxy-программ позволяет установить пароль на вход, но… далеко не все утилиты, работающие через proxy, поддерживают такой режим.

ОК. Другой ход. В настойках proxy должен быть список разрешенных интерфейсов, с которыми он может работать. Обмен пакетами со всеми остальными интерфейсами запрещен. Интерфейс в данном случае - это (в грубом приближении) идентификатор сетевого устройства. Сетевая карта, модем - все они имеют свои интерфейсы. Короче, выбираем интерфейс сетевой карты, подключенной к домашней локальной сети, и запрещаем все остальные. Красота! Ну да… красота. Местами. А местами безобразие сплошное. Если DSL-модем имеет Ethernet-порт, воткнутый в свитч (вполне типичная конфигурация домашней локальной сети), то у нас имеется всего один интерфейс как для интернета, так и для локальной сети.

Или вот, мыщъх использует Etlin HTTP Proxy, позволяющий использовать всего один интерфейс для работы. А ему необходимо выбрать два: интерфейс домашней локальной сети и интерфейс виртуальной сети VM Ware, которой тоже нужен доступ в интернет. Можно, конечно, выбрать другой proxy-сервер, но проще в настройках брандмауэра указать список IP-адресов домашней локальной сети (и виртуальной сети), с которых разрешен доступ к порту proxy-сервера (в данном случае это 8080-й порт). Если же у тебя нет proxy-сервера, то просто не морочь себе голову этим вопросом. Примечание: модемы с Ethernet-портами обычно имеют встроенный брандмауэр, позволяющий разграничить доступ к локальной сети; на предмет его
настройки кури прилагающиеся к модему мануалы.

Теперь перейдем к расшаренным ресурсам, о которых мы уже говорили. Брандмауэры в массе своей не блокируют к ним доступ из интернета по умолчанию, благодаря чему атаки осуществляются ударными темпами и компьютеры ложатся стройными могильными рядами. Лучше вообще не иметь никаких расшаренных ресурсов, используя персональные FTP-серверы, которые как раз и предназначены для обмена файлами, но… объяснить среднестатистическому пользователю типа «жена», что такое FTP намного сложнее, чем найти копию Windows без багов. Так что приходится шарить. Ну и шарь себе на здоровье, только в настройках брандмауэра найди пункт, касающийся доступа к шарам из интернета, и распорядись с ним по обстоятельствам.

И последнее (но самое важное). Практически все брандмауэры поддерживают список доверенных приложений, а при выводе запроса на подтверждение имеют галочку «Не показывать это сообщение в дальнейшем». Так вот! Настоятельно рекомендуется эту галочку не трогать! Конечно, частые запросы на подтверждение очень раздражают, но зато позволяют держать ситуацию под контролем. То же самое относится и к списку доверенных приложений. Допустим, заносим туда IE, чтобы брандмауэр не задалбливал нас дурацкими вопросами. Теперь запускаем какое-нибудь приложение, которое неожиданно вызывает браузер по умолчанию (в данном случае IE) и передает через него некоторую информацию на удаленный узел, например
серийный номер для подтверждения его (не)валидности. А вот если при каждом запуске IE будет выпрыгивать запрос от брандмауэра, этот фокус уже не пройдет!

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

 

Последний совет

Брандмауэр (даже персональный) - это все-таки не IE, и даже не Горящий Лис, а программный пакет совсем другого порядка, требующий знания и понимания протоколов, на которых держится интернет. Поэтому надо хорошо разобраться в стеках сетевых протоколов. В противном случае навряд ли можно ожидать осмысленного ответа на вопрос, заданный пользователю брандмауэром. Человеческий фактор - самое слабое звено, и никакими техническими ухищрениями его не усилишь. Банальность, конечно, но с каждым годом она все актуальнее и актуальнее.

 

WARNING

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


Полную версию статьи
читай в сентябрьском номере
Хакера, коллекция брандмауэров на диске тебе в помощь.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии