Специальная публикация NIST 800-10

         

Большое количество остающихся уязвимых мест


Во-вторых, брандмауэры не защищают от черных входов(люков) в сети. Например, если можно осуществить неограниченный доступ по модему в сеть, защищенную брандмауэром, атакующие могут эффективно обойти брандмауэр [Iiaf91] . Сейчас скорости модемов достаточны для того, чтобы сделать возможным использование SLIP (Serial Line IP) и PPP(Point-to-Point Protocol); SLIP или PPP-соединение внутри защищенной сети по сути является еще одним соединением с сетью и потенциальным уязвимым местом. Зачем нужен брандмауэр, если разрешен неограниченный доступ по модему?



Другие проблемы


С брандмауэром также связан ряд других проблем:

WWW, gopher - новые информационные сервера и клиенты, такие как WWW, gopher, WAIS и ряд других не рассчитаны на совместную работу с брандмауэром, и из-за их новизны вообще достаточно рискованны. Имеется потенциальная возможность атак с помощью передачи специальных данных, при которых данные, обрабатываемые клиентом, могут содержать команды клиенту, эти команды могут заставлять клиента изменить параметры средств управления доступом или модифицировать важные файлы, связанные с защитой машины клиента. MBONE - групповые передачи с помощью IP(MBONE), содержащие речь и изображение, инкапсулируются в других пакетах; брандмауэры обычно пропускают эти пакеты, не проверяя их содержимое. Передачи типа MBONE представляют потенциальную угрозу, если пакеты содержат команды, изменяющие параметры работы средств защиты и позволяющие злоумышленникам получить доступ. Вирусы - брандмауэры не защищают от пользователей, загружающих программы для ПЭВМ, зараженные вирусами, из Интернетовских архивов или передачи таких программ в качестве приложений к письму. Так как эти программы могут быть закодированы или сжаты большим числом способов, брандмауэр не может сканировать такие программы на предмет обнаружения сигнатур вирусов. Проблема вирусов будет оставаться и должна быть решена с помощью других антивирусных мер защиты. Пропускная способность - брандмауэры являются потенциально узким местом, так как все соединения должны проходить через брандмауэр и, в некоторых случаях, изучаться брандмауэром. Тем не менее, сегодня это не является проблемой, так как брандмауэры могут обрабатывать данные со скоростями 1.5 Мбита/с, а большинство сетей, подключенных к Интернету, имеют подключение со скоростью меньшей или равной этой. "Все яйца в одной корзине" - система брандмауэра концентрирует безопасность в одном месте, а не распределяет ее среди группы систем. Компрометация брандмауэра может быть ужасной для плохо защищенных систем в подсети. Этому тезису можно противопоставить контраргумент, что при увеличении подсети возрастают шансы того, что в ней появятся уязвимые места в безопасности.

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

| |



Фильтрация пакетов


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

IP-адрес отправителя IP-адрес получателя TCP/UDP-порт отправителя TCP/UDP-порт получателя

Не все фильтрующие маршрутизаторы сейчас фильтруют по TCP/UDP-порту отправителя, но многие производители начали включать такую возможность. Некоторые маршрутизаторы проверяют, с какого сетевого интерфейса маршрутизатора пришел пакет, и затем используют эту информацию как дополнительный критерий фильтрации. Некоторые версии Unix имеют возможность фильтрации пакетов, но далеко не все.

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

Добавление фильтрации по портам TCP и UDP к фильтрации по IP-адресам дает большую гибкость. Напомним главу 1, в которой говорилось, что сервера, такие как демон TELNET, связаны обычно с конкретными портами, такими как порт 23 для TELNET. Если брандмауэр может блокировать соединения TCP или UDP к или от определенных портов, то можно реализовать политику, при которой определенные виды соединений могут быть осуществлены только с конкретными хостами, но не с другими. Например, организация может захотеть блокировать все входящие соединения для всех хостов, кроме нескольких систем, входящих в состав брандмауэра. Для этих систем могут быть разрешены только определенные сервисы, такие как SMTP для одной системы, и TELNET или FTP для другой. При фильтрации по портам TCP и UDP эта политика может быть легко реализована маршрутизатором с фильтрацией пакетов или хостом с возможностью фильтрации пакетов.


Рисунок 2. 3 Пример фильтрации пакетов для TELNET и SMTP

Для примера рассмотрим политику, в которой разрешаются только определенные соединения с сетью с адресом 123.4.*.* Соединения TELNET разрешаются только с одним хостом, 123.4.5.6, который может быть прикладным TELNET-шлюзом сети, а SMTP-соединения разрешаются только с двумя хостами, 123.4.5.7 и 123.4.5.8, которые могут быть двумя почтовыми шлюзами сети. NNTP(Network News Transfer Protocol) разрешается только от взаимодействующего с сетью сервера новостей, 129.6.48.254, и только с NNTP-сервером сети, 123.4.5.9, а протокол NTP(сетевого времени) разрешен для всех хостов. Все другие сервисы и пакеты блокируются. Пример набора правил приведен ниже:

Тип Адрес отправителя Адрес получателя Порт источника Порт получателя Действие

tcp * 123.4.5.6 >1023 23 разрешить
tcp * 123.4.5.7 >1023 25 разрешить
tcp * 123.4.5.8 >1023 25 разрешить
tcp 129.6.48.254 123.4.5.9 >1023 119 разрешить
udp * 123.4.*.* >1023 123 разрешить
* * * * * запретить
Первое правило позволяет пропускать пакеты TCP из Интернета от любого источника, имеющие порт отправителя больше чем 1023, к адресу 123.4.5.6, если соединение устанавливается с портом 23. Порт 23 - это порт, связанный с сервером TELNETa, а все клиенты TELNETа должны использовать непривилегированные порты больше, чем 1024. Второе и третье правило работают аналогично, кроме того, что разрешаются адреса назначения 123.4.5.7 и 123.4.5.8 и порт 25 - SMTP. Четвертое правило пропускает пакеты к NNTP-серверу сети, но только от адреса 129.6.48.254 к адресу 123.4.5.9 с портом назначения 119( 129.6.48.254 - единственный NNTP-сервер, от которого сеть получает новости, поэтому доступ к сети в отношении NNTP ограничен только этой системой). Пятое правило разрешает траффик NTP, который использует UDP, а не TCP, от любого источника к любой системе в сети. Наконец, шестое правило блокирует все остальные пакеты - если этого правила не было бы, маршрутизатор мог блокировать, а мог и не блокировать другие тиы пакетов. Это очень простой пример фильтрации пакетов. Настоящие правила позволяют осуществить более сложную фильтрацию и являются более гибкими.


Введение в брандмауэры


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

Рисунок 2.1 Пример брандмауэра с маршрутизатором и прикладным шлюзом

| |



Какие протоколы фильтровать


Решение о том, какие протоколы или группы портов фильтровать, зависит от политики сетевого доступа, то есть от того, какие системы должны иметь доступ к Интернету и какие типы доступа разрешены. Описанные ниже сервисы потенциально уязвимы к атакам и обычно блокируются на брандмауэре при входе в сеть или выходе из нее[Chap92],[Garf92].

Tftp, порт 69, упрощенный FTP, используемый для загрузки ОС на бездисковых рабочих станциях, терминальных серверах и маршрутизаторах, может также быть использован для чтения любого файла в системе при его неправильной установке. X Windows, Open Windows , порты 6000+, порт 2000, может использоваться для перехвата изображения окон X-окон, а также вводимых символов. RPC , порт 111, службы вызова удаленных процедур, включая NIS и NFS, которые могут использоваться для кражи системной информации, включая пароли, а также чтения и записи файлов rlogin, rsh, rexec, порты 513, 514, 512, службы, которые могут при их неправильной конфигурации привести к неавторизованному доступу в систему

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

TELNET, порт 23, часто разрешается только для отдельных систем FTP, порты 20 и 21, аналогично TELNET его использование разрешено только для отдельных систем SMTP, порт 25, часто разрешается только для центрального почтового сервера RIP, порт 520, протокол передачи информации о маршрутизации пакетов, может быть фальсифицирован для перенаправления пакетов DNS, порт 53 UUCP, порт 540, UNIX-to-UNIX CoPy, при неправильной конфигурации может быть использован для получения неавторизованного доступа NNTP, порт 119, протокол передачи сетевых новостей, для доступа и чтения сетевых новостей Gopher, http, порты 70 и 80,

Хотя некоторые из этих служб, такие как TELNET и FTP, являются опасными по своей сути, полное блокирование доступа к другим может оказаться неприемлемым для многих организаций. Тем не менее, не все системы требуют доступа ко всем службам. Например, разрешение доступа по TELNET и FTP из Интернета только к тем системам, которым нужен этот вид доступа, может улучшить безопасность, не причиняя неудобства пользователям. Такие службы, как NNTP, на первый взгляд не представляют особой опасности, но разрешение этих служб только для тех систем, которым они нужны, поможет создать более упорядоченную сетевую среду и уменьшит вероятность их использования атакующими из-за еще неизвестных уязвимых мест.



Компоненты брандмауэра


Основными компонентами брандмауэра являются:

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

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



Концентрированная безопасность


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

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



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


Самым очевидным недостатком брандмауэра является то, что он может блокировать ряд служб, которые используют пользователи, такие как TELNET, FTP, X Windows, NFS и др. Тем не менее, эти недостатки не присущи только брандмауэрам; сетевой доступ также может ограничиваться при защите на уровне хостов в соответствии с политикой безопасности. Хорошо продуманная политика безопасности, в которой найден баланс между требованиями безопасности и потребностями пользователей, может сильно помочь при решении проблем из-за ограничений в доступе к службам.

Некоторые сети могут иметь топологию, которая не позволяет применить брандмауэр, или использовать службы, такие как NFS, таким образом, что использование брандмауэра потребует серьезных ограничений при работе в сети. Например, в сети может требоваться использование NFS и NIS через основные маршрутизаторы. В такой ситуации стоимость установки брандмауэра нужно сравнить с ущербом, который понесет организация от атаки, использующей уязвимые места, защищаемые брандмауэром, то есть провести анализ риска, а затем принять решение на основании его результатов. Могут оказаться более уместными другие решения, такие как Керберос, но эти решения также имеют свои недостатки. [NIST94c] содержит дополнительную информацию о Керберос и других потенциальных решениях.



Плохая защита от атак своих сотрудников


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



Почему именно брандмауэры?


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

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



Политика доступа к сервисам


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

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



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


Она специфична для конкретного брандмауэра. Она определяет правила, используемые для реализации политики доступа к сервисам. Нельзя разрабатывать эту политику, не понимая такие вопросы, как возможности и ограничения брандмауэра, и угрозы и узявимые места, связанные с TCP/IP. Как правило, реализуется одна из двух базовых политик проекта:

разрешить доступ для сервиса, если он явно не запрещен запретить доступ для сервиса, если он явно не разрешен

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

Первая политика менее желательна, так как она предоставляет больше способов обойти брандмауэр, например, пользователи могут получить доступ к новым сервисам, не запрещаемым политикой( или даже не указанных в политике), или запустить запрещенные сервисы на нестандартных портах TCP/UDP, которые не запрещены политикой. Определенные сервисы, такие как X Windows , FTP, ARCHIE и RPC, сложно фильтровать [Chap92],[Ches94], и для них лучше подходит брандмауэр, реализующий первую политику. Вторая политика строже и безопаснее, но ее тяжелее реализовать и она может повлиять на работу пользователей в том отношении, что ряд сервисов, такие, как описанные выше, могут оказаться блокированными или использование их будет ограничено.

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

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



Политика сетевого доступа


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



Понятие брандмауэра


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

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

| |



Повышенная конфиденциальность


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

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



Претворение в жизнь политики


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

| |



Прикладные шлюзы


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

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

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

Рисунок 2.4 Виртуальные соединения, реализуемые с помощью прикладного шлюза и прокси-средств

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

Другим преимуществом использования прокси-служб является то, что может быть осуществлена фильтрация протоколов. Например, некоторые брандмауэры, могут фильтровать ftp-соединения и запрещать использование команды FTP put, что было бы полезно для получения гарантий того, что пользователи не могут, например, писать на анонимный FTP-сервер.

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


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

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

Помимо TELNET, обычно прикладные шлюзы используются для FTP и электронной почты, а также X Windows и ряда других служб. Некоторые прикладные шлюзы FTP имеют возможности блокирования команд get и put для некоторых хостов. Например, внешний пользователь, установивший FTP-сеанс(через прикладной шлюз FTP) с внутренней системой, такой, как анонимный FTP-сервер, может попытаться скопировать файлы на сервер. Прикладной шлюз может фильтровать FTP-протокол и блокировать все команды put для анонимного FTP-сервера; это позволит гарантировать, что никто не сможет загрузить на сервер чего-либо, и даст большие гарантии, чем простая уверенность в том, что права доступа к файлам на анонимном FTP-сервере установлены корректно( некоторые организации ввели политики, в которых запрещаются команды get и put для определенных директорий; наличие брандмауэра, фильтрующего FTP-команды, было бы особенно полезно в этой ситуации. Некоторые места запретили команды get для внешних хостов, чтобы пользователи не могли считать информацию или программы с внешних хостов. В других же сетях запрещена команда put для внешних хостов, чтобы пользователи не могли сохранить локальную информацию на внешних FTP-серверах. Но типовым является вариант. Когда запрещаются входящие команды put, чтобы внешние пользователи не могли писать на FTP-сервера в сети)

Прикладной шлюз для электронной почты служит для централизованного сбора электронной почты и распространения ее по внутренним хостам и пользователям. Для внешних пользователей все внутренние пользователи будут иметь адрес вида пользователь@почтовый_хост, где почтовый хост - имя шлюза для почты. Шлюз должен принимать почту от внешних пользователей, а затем переправлять ее на другие внутренние системы. Пользователи, посылающие электронные письма с внутренних систем, могут посылать их напрямую с внутренних систем, или, если внутренние имена систем не известны снаружи сети, письмо должно быть послано на прикладной шлюз, который затем переправит его к хосту назначения. Некоторые почтовые шлюзы используют более безопасную версию программы sendmail для приема почты.


Проблемы с маршрутизаторами с фильтрацией пакетов


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

Часто требуется сделать исключения из правил, чтобы разрешить определенные виды доступа, которые обычно блокируются. Но исключения из правил фильтрации иногда могут сделать правила фильтрации такими сложными, что они станут неконтролируемыми. Например, достаточно просто написать правило для блокирования всех входящих соединений к порту 23( серверу TELNETa). Если же делаются исключения, то есть если с некоторыми системами сети разрешается иметь прямые соединения по TELNET, то должно быть добавлено правило для каждой такой системы. Иногда добавление определенных правил может усложнить всю схему фильтрации. Как было уже сказано, тестирование сложного набора правил на их корректность может оказаться очень трудным.

Некоторые маршрутизаторы с фильтрацией пакетов не фильтруют по порту TCP/UDP отправителя, что может сделать набор правил фильтрации очень сложным и создать "дыры" в схеме фильтрации. [Chap92] описывает подобные проблемы с сетями, в которых были разрешены входящие и исходящие SMTP-соединения . Согласно пункту 1.2.5, TCP-соединения имеют порт отправителя и порт получателя. Если система инициирует SMTP-соединение с сервером, портом источника будет случайно выбранный порт с номером больше 1024, а портом получателя будет будет порт с номером 25, порт, который слушает сервер SMTP. Сервер будет возвращать пакеты с номером порта отправителя 25, и номером порта получателя, равным случайно выбранному клиентом номеру порта. Если в сети разрешены входящие и исходящие SMTP-соединения, то маршрутизатор должен разрешать соединения с портами отправителя и получателя, большими 1023, в обоих направлениях. Если маршрутизатор может фильтровать по порту отправителя, он может блокировать все пакеты, входящие в сеть организации, у которых порт получателя больше 1023, а порт отправителя не равен 25. Если он не может фильтровать пакеты по порту отправителя, маршрутизатор должен разрешить соединения, которые используют порты отправителя и получателя больше 1024. Пользователи иногда могут специально запустить сервера на портах, больших 1023, и обходить таким образом политику фильтрации( то есть обычно сервер telnet в системе слушает порт 23, но может быть сконфигурирован так, что будет слушать вместо этого порт 9876; и пользователи в Интернете смогут организовать telnet-сеанс с этим сервером даже, если маршрутизатор блокирует соединения с портом назначения 23).

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

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

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

Читателям рекомендуется прочитать [Chap92], в котором дано более детально описание фильтрации пакетов и связанных с ней проблем. Хотя фильтрация пакетов очень важна, нужно знать существующие проблемы и пути их решения.



Проблемы, возникающие из-за брандмауэров


Помимо описанных выше преимуществ использования брандмауэров, имеет место ряд недостатков при их использовании и ряд проблем, от которых брандмауэры не могут защитить. Брандмауэр не является панацеей от всех проблем безопасности, связанных с Интернетом.



Протоколирование и статистика использования сети и попыток проникновения


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

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



Шлюзы транспортного уровня


[Ches94] описывает другую компоненту брандмауэра, которую другие авторы иногда включают в категорию прикладных шлюзов. Шлюз транспортного уровня пропускает через себя TCP-соединения, но не делает никакой фильтрации протокола. Например, описанный выше пример прикладного шлюза TELNET может служить примером шлюза транспортного уровня, так как после установления соединения между источником и назначением брандмауэр просто передает поток данных между этими двумя системами. Другим примером шлюза транспортного уровня может быть шлюз для NNTP, в котором NNTP-сервер соединяется с брандмауэром, а затем - с внутренней системой через брандмауэр. Здесь брандмауэр просто передает поток данных.

| |



Управляемый доступ к систем сети


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

Эти свойства брандмауэров требуются при политике управления доступом, построенной по принципу: не предоставлять доступ к хостам или службам, к которым доступ не требуется. Другими словами, зачем давать доступ к хостам и службам, которые могут использоваться атакующими, когда на самом деле он не нужен или не требуется? Если, например, пользователю не нужно, чтобы кто-то в сети мог получить доступ к его рабочей станции, то брандмауэр как раз и может реализовать этот вид политики.



Усиленная аутентификация


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

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

Ряд наиболее популярных устройств усиленной аутентификации, используемых сегодня, называются системами с одноразовыми паролями. Смарт-карта, например, генерирует ответ, который хост использует вместо традиционного пароля. Так как смарт-карта работает совместно с программой или оборудованием на хосте, генерируемые ответы уникальны для каждого установления сеанса. Результатом является одноразовый пароль, который, если перехватывается, не может быть использован злоумышленником для установления сеанса с хостом под видом пользователя. [NIST94a] и [NIST91a] более детально описывают устройства усиленной аутентификации и средства защиты на их основе.

Рисунок 2.2 Использование усиленной аутентификации в брандмауэре для предварительной аутентификации трафика TELNET, FTP

Так как брандмауэры могут централизовать управление доступом в сети, они являются логичным местом для установки программ или устройств усиленной аутентификации. Хотя меры усиленной аутентификации могут использоваться на каждом хосте, более практичным является их размещение на брандмауэре. Рисунок 2.2 показывает, что в сети без брандмауэра, использующего меры усиленной аутентификации, неаутентифицированный траффик таких приложений как TELNET или FTP, может напрямую проходить к системам в сети. Если хосты не используют мер усиленной аутентификации, злоумышленник может попытаться взломать пароли или перехватывать сетевой трафик с целью найти в нем сеансы, в ходе которых передаются пароли. Рисунок 2.2 также показывает сеть с брандмауэром, использующим усиленную аутентификацию, при которой сеансы TELNET или FTP, устанавливаемые со стороны Интернета с системами сети, должны проходить проверку с помощью усиленной аутентификации перед началом работы. Сами системы сети могут продолжать требовать статические пароли перед доступом к себе, но эти пароли нельзя будет использовать, даже если их перехватить, так как меры усиленной аутентификации и другие компоненты брандмауэра не позволят злоумышленнику проникнуть или обойти брандмауэр.

Части и содержат дополнительную информацию об использовании мер усиленной аутентификации с брандмауэрами. Смотри [NIST94b] для получения более подробной информации об использовании мер усиленной аутентификации на хостах.



Защита от уязвимых мест в службах


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

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

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