О пользе файерволов::Журнал СА 3.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Книжная полка  

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6457
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7150
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4431
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3096
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3894
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3910
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6397
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3244
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3540
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7379
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10735
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12454
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14122
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9205
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7151
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5457
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4691
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3506
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3218
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3457
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3101
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 О пользе файерволов

Архив номеров / 2008 / Выпуск №3 (64) / О пользе файерволов

Рубрика: Администрирование /  Администрирование

Сергей Супрунов

О пользе файерволов

Среди начинающих системных администраторов зачастую бытует мнение, что файервол способен решить многие (если не все) проблемы безопасности любого компьютера – от настольной машины до выделенного сервера DNS, и потому его использование обязательно. Как следствие – поголовная «файерволизация» всех систем без исключения... На самом деле файервол – это всего лишь специализированная подсистема, решающая строго определённые задачи.

Узел противоречий, или Замечание о терминах

На российских IT-просторах «имеют хождение» несколько терминов, обозначающих предмет нашего сегодняшнего разговора: файервол (в различных синтаксических начертаниях), брандмауэр (наивная попытка перевести английский термин firewall наиболее подходящим «отечественным» словом), пакетный фильтр, межсетевой экран.

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

Ну, файервол и брандмауэр – по сути, одно и то же (см. врезку «Для справки: брандмауэр»), а смысла для русскоговорящих людей они не несут никакого – весь смысл закладывается исключительно разношёрстными определениями. (Можно проследить некоторую тенденцию термином «файервол» именовать программный пакетный фильтр, а словом «брандмауэр» – аппаратный межсетевой экран или выделенный компьютер-шлюз, выполняющий функции МСЭ. Впрочем, тенденция довольно слабенькая.) А вот словосочетания «пакетный фильтр» и «межсетевой экран» уже обладают и определёнными лексическими значениями, на основе которых можно найти некоторые различия этих терминов.

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

Из термина же «пакетный фильтр» (ПФ) следует, что задача оного – фильтрация отдельных пакетов (как правило, речь идёт о пакетах стека TCP/IP). Поскольку межсетевое экранирование частенько ограничивается фильтрацией пакетов на шлюзе между сетями, то термины МСЭ и ПФ нередко используются как синонимы. Но нужно иметь в виду, что фильтровать пакеты можно не только между сетями, а межсетевое экранирование может осуществляться и на основе других принципов (например, с помощью прокси-сервера или технологии NAT). Кроме того, понятие МСЭ в широком смысле охватывает все уровни сетевой модели OSI, в то время как зона действия ПФ обычно ограничивается сетевым и транспортным уровнями (иногда «дотягиваясь» до канального и прикладного).

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

В дальнейшем мы будем говорить в основном о пакетных фильтрах (используя термин «файервол» в этом смысле). Некоторые особенности МСЭ укажем отдельно.

Один в поле не воин?

Итак, зачем же нужен файервол? Если говорить упрощённо, то его основное назначение – защита сети или отдельного хоста от внешних соединений путём фильтрации нежелательных пакетов, а в некоторых случаях и блокирование внутреннего трафика, пытающегося выйти за пределы локальной сети. Посмотрим, когда же такая защита действительно необходима. Начнём со случая отдельного хоста, не выполняющего роль маршрутизатора между несколькими сетями (например, это может быть рабочая станция пользователя или веб-сервер в «демилитаризованной зоне» (DMZ)).

«Незащищённая» система и система с пакетным фильтром

«Незащищённая» система и система с пакетным фильтром

На рисунке на схеме 1-а условно изображена операционная система, на которой ни одна из сетевых служб не запущена. Что произойдёт при попытке извне обратиться, скажем, к 25-му порту такой системы? Соединение будет отклонено, поскольку на указанном порту никакая программа, способная это соединение обработать, не функционирует.

По какой-то надобности мы решили защитить эту систему с помощью «закрытого» файервола (см. рисунок, схема 1-б). Теперь при обращении к 25-му порту соединение также будет отклонено (хотя и несколько иначе), но уже не сетевым стеком операционной системы, а пакетным фильтром. Получается, что мы ничего не приобрели в плане функциональности, но зато обзавелись дополнительной подсистемой, которая требует вычислительных ресурсов и внимания со стороны администратора. (Я уже чувствую, как некоторых читателей начинает переполнять праведный гнев от такой неслыханной некомпетентности. Прошу у них некоторого терпения – чуть позже будут раскрыты и отличия первого и второго случаев. Сейчас же нам важен общий принцип без излишних деталей.)

Теперь предположим, что нам нужно запустить на данном хосте публичный веб-сервер. В первом случае мы просто запускаем Apache (или кому что больше нравится), который приступает к обслуживанию запросов на 80-м порту TCP. Любые соединения на другие порты по-прежнему будут отклоняться операционной системой (см. рисунок, схема 2-а). При использовании ПФ мы будем вынуждены открывать в нём «дырку» для доступа к 80-му порту (см. рисунок, схема 2-б). То есть опять получается, что в обоих случаях мы приобретаем одинаковую функциональность – доступ возможен только на 80-й порт, и если работающий там Apache содержит уязвимость, то ПФ никакой защиты от взлома не обеспечивает (хотя, как будет показано ниже, может в ряде случаев усложнить дальнейшее развитие атаки).

Кто-то наверняка уже подумал, что схема 2-б более гибка, поскольку ПФ позволяет пропускать не все соединения, а лишь с тех IP-адресов, с которых нужно. В общем случае это действительно так (более того, есть и другие «сопутствующие» функции ПФ, о которых будет сказано далее). Но с учётом того, что и Apache прекрасно справляется с ограничением доступа, используя правила Allow и Deny (да ещё и на уровне отдельных каталогов и даже файлов, а не только всего сайта в целом), в данном конкретном примере особой пользы от ПФ тоже не видно. Тем более, что речь мы сейчас ведём о «публичном» веб-сервере, то есть службе, которая должна быть доступна всем желающим.

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

Граница на замке

А вот если рассматриваемый узел выполняет роль маршрутизатора, будучи включённым несколькими своими интерфейсами в различные сети, то здесь файервол уже приобретает действительную ценность. Безусловно, можно по-прежнему обойтись и без него – за счёт грамотного администрирования сетевых служб на всех хостах сети. Но что проще – закрыть доступ к 69-му порту в правилах ПФ на шлюзе, или же на каждой машине сети, использующей TFTP, прописывать, с каких IP-адресов на этот порт доступ открыт, а с каких должен блокироваться, и затем отслеживать добавление/удаление машин, смену их IP-адресов и так далее?

Так что в полезности файервола в его функции межсетевого экрана сомнений, думаю, ни у кого не возникает, и это применение подробно расписано в самой различной документации и литературе.

Однако здесь нужно заметить, что указанная польза от файервола на шлюзе имеет место быть лишь в том случае, когда внутри локальной сети используются реальные IP-адреса (то есть к которым возможен непосредственный доступ из Интернета). Если же вы используете «частные» адреса, описанные в RFC1918 (а именно так в большинстве случаев и бывает, по крайней мере, в России, не избалованной избытком свободных IP-адресов), то ваша локальная сеть уже отделена от Глобальной сети, и для решения проблем контроля за транзитом трафика через шлюз может оказаться достаточно таких средств как NAT- или прокси-серверы.

Долой дискриминацию файерволов!

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

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

Во-вторых, в некоторых «закрытых» операционных системах администратору довольно сложно контролировать, какие сетевые службы запущены, для чего они предназначаются, какими программами обслуживаются и т. д. В таком случае бывает проще «отгородить» операционную систему от остального мира пакетным фильтром, чтобы получить некоторый уровень контроля над её сетевой активностью. Здесь же заметим, что и на всех остальных системах нельзя быть на 100% уверенным в том, какие программы и на каких портах работают, если система будет взломана – в этом случае файервол, делающий невозможным работу программ на произвольных сетевых портах, может существенно усложнить жизнь злоумышленнику (правда, лишь в случае, если в результате взлома не получены права суперпользователя; иначе любые правила фильтрации можно легко изменить).

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

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

Быть или не быть?

Таким образом, использование файервола весьма желательно, но всё же не является таким уж бесспорным вопросом. Фильтрация трафика не всегда имеет смысл, и уж тем более не является панацеей от любых проблем безопасности. Хотя всегда можно сказать, что хуже от использования файервола не будет (и это по большому счёту действительно так), лучше всё же более взвешенно оценивать необходимость в нём, чтобы избежать дополнительной работы (как для себя, так и для своих коллег).

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

Приложение

Для справки: брандмауэр

На Руси термином «брандмауэр», позаимствованным из немецкого языка (die Brandmauer, противопожарная стена), в пожарном деле некогда называли огнеупорную стену, разделяющую здание и призванную защитить всё строение в целом в случае возгорания в одной из его частей. Поскольку слово «firewall» означает у пожарных Туманного Альбиона то же самое, то некоторые российские переводчики решили использовать именно термин «брандмауэр» как более интегрированный в русский язык.

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


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru