Одна из самых надежных моделей защиты используемая во многих продуктах такова:
1. Разрешать любому пользователю локальной сети доступ к любому ресурсу в Internet;
2. Разрешать каждому компьютеру в сети иметь доступ к административным утилитам системы защиты, при условии, что он предоставляет верный пароль доступа;
3. Никому из Internet не разрешать доступ в локальную сеть и к системе защиты банковской сети.
Несмотря на кажущуюся тривиальность, такая схема является наиболее надежной. Система защиты и компьютеры локальной сети защищены от неавторизованного доступа в основном третьим правилом. Это правило говорит, что любой пакет из Internet отвергается, если не выполняется следующее:
1. Пакет не должен являться попыткой инициировать соединение с системой защиты или с компьютером в локальной сети.
2. Пакет не должен иметь активизированный блок маршрутизации от источника.
3. Пакет не может быть направлен к какому-либо TCP/IP порту приложения любого компьютера в сети.
4. Пакет не может быть перенаправлен к любому компьютеру в сети до тех пор, пока не приняты все его фрагменты и все они проверены по правилам защиты.
5. Пакет всегда должен быть ответом на запрос любого текущего соединения инициированного системой защиты или компьютеров из вашей локальной сети.
Брандмауэр - это система или комбинация систем, позволяющие разделить сеть на две или более частей и реализовать набор правил, определяющих условия прохождения пакетов из одной части в другую (см рис.2.1). Как правило, эта граница проводится между банковской сетью и INTERNET, хотя ее можно провести и внутри локальной сети банка. Брандмауэр, таким образом пропускает через себя весь трафик. Для каждого проходящего пакета брандмауэр принимает решение пропускать его или отбросить. Для того чтобы брандмауэр мог принимать эти решения, ему необходимо определить набор правил.
Брандмауэр
Банковская сеть
Рисунок 2.1 - Деление сети на несколько частей
Как правило, брандмауэры функционируют на какой-либо UNIX платформе - чаще всего это BSDI, SunOS, AIX, IRIX и т.д., реже - DOS, VMS, WNT, Windows NT. Из аппаратных платформ встречаются INTEL, Sun SPARC, RS6000, Alpha, HP PA-RISC, семейство RISC процессоров R4400-R5000. Помимо Ethernet, многие брандмауэры поддерживают FDDI, Token Ring, 100Base-T, 100VG-AnyLan, различные серийные устройства. Требования к оперативной памяти и объему жесткого диска зависят от количества машин в защищаемом сегменте сети, но чаще всего рекомендуется иметь не менее 32Мб ОЗУ и 500 Мб на жестком диске.
Как правило, в операционную систему, под управлением которой работает брандмауэр вносятся изменения, цель которых - повышение защиты самого брандмауэра. Эти изменения затрагивают как ядро ОС, так и соответствующие файлы конфигурации. На самом брандмауэре не разрешается иметь счетов пользователей (а значит и потенциальных дыр), только счет администратора. Некоторые брандмауэры работают только в однопользовательском режиме. Многие брандмауэры имеют систему проверки целостности программных кодов. При этом контрольные суммы программных кодов хранятся в защищенном месте и сравниваются при старте программы во избежание подмены программного обеспечения.
Все брандмауэры можно разделить на три типа:
пакетные фильтры (packet filter)
сервера прикладного уровня (application gateways)
сервера уровня соединения (circuit gateways)
Все типы могут одновременно встретиться в одном брандмауэре.
Пакетные фильтры.
Брандмауэры с пакетными фильтрами принимают решение о том, пропускать пакет или отбросить, просматривая IP-адреса, флаги или номера TCP портов в заголовке этого пакета. IP-адрес и номер порта - это информация сетевого и транспортного уровней соответственно, но пакетные фильтры используют и информацию прикладного уровня, т.к все стандартные сервисы в TCP/IP ассоциируются с определенным номером порта.
Для описания правил прохождения пакетов составляются таблицы типа (см. табл.2.1):
Таблица 2.1
Описания правил прохождения пакетов
Действие | тип пакета | адрес источн. | порт источн. | адрес назнач. | порт назнач. | флаги |
Поле "действие" может принимать значения пропустить или отбросить.
Тип пакета - TCP, UDP или ICMP.
Флаги - флаги из заголовка IP-пакета.
Поля "порт источника" и "порт назначения" имеют смысл только для TCP и UDP пакетов.
Сервера прикладного уровня
Брандмауэры с серверами прикладного уровня используют сервера конкретных сервисов - TELNET, FTP и т.д. (proxy server), запускаемые на брандмауэре и пропускающие через себя весь трафик, относящийся к данному сервису. Таким образом, между клиентом и сервером образуются два соединения: от клиента до брандмауэра и от брандмауэра до места назначения.
Полный набор поддерживаемых серверов различается для каждого конкретного брандмауэра, однако чаще всего встречаются сервера для следующих сервисов:
терминалы (Telnet, Rlogin)
передача файлов (Ftp)
электронная почта (SMTP, POP3)
WWW (HTTP)
Gopher
Wais
X Window System (X11)
Принтер
Rsh
Finger
новости (NNTP) и т.д.
Использование серверов прикладного уровня позволяет решить важную задачу - скрыть от внешних пользователей структуру локальной сети, включая информацию в заголовках почтовых пакетов или службы доменных имен (DNS). Другим положительным качеством является возможность аутентификации на пользовательском уровне (аутентификация - процесс подтверждения идентичности чего-либо; в данном случае это процесс подтверждения, действительно ли пользователь является тем, за кого он себя выдает). Немного подробнее об аутентификации будет сказано ниже.
При описании правил доступа используются такие параметры как название сервиса, имя пользователя, допустимый временной диапазон использования сервиса, компьютеры, с которых можно пользоваться сервисом, схемы аутентификации. Сервера протоколов прикладного уровня позволяют обеспечить наиболее высокий уровень защиты - взаимодействие с внешним миров реализуется через небольшое число прикладных программ, полностью контролирующих весь входящий и выходящий трафик.
Сервер уровня соединения представляет из себя транслятор TCP соединения. Пользователь образует соединение с определенным портом на брандмауэре, после чего последний производит соединение с местом назначения по другую сторону от брандмауэра. Во время сеанса этот транслятор копирует байты в обоих направлениях, действуя как провод.
Как правило, пункт назначения задается заранее, в то время как источников может быть много (соединение типа один - много). Используя различные порты, можно создавать различные конфигурации.
Такой тип сервера позволяет создавать транслятор для любого определенного пользователем сервиса, базирующегося на TCP, осуществлять контроль доступа к этому сервису, сбор статистики по его использованию.
Ниже приведены основные преимущества и недостатки пакетных фильтров и серверов прикладного уровня относительно друг друга.
К положительным качествам пакетных фильтров следует отнести следующие:
относительно невысокая стоимость
гибкость в определении правил фильтрации
небольшая задержка при прохождении пакетов
Недостатки у данного типа брандмауэров следующие:
локальная сеть видна (маршрутизируется) из INTERNET
правила фильтрации пакетов трудны в описании, требуются очень хорошие знания технологий TCP и UDP
при нарушении работоспособности брандмауэра все компьютеры за ним становятся полностью незащищенными либо недоступными
аутентификацию с использованием IP-адреса можно обмануть использованием IP-спуфинга (атакующая система выдает себя за другую, используя ее IP-адрес)
отсутствует аутентификация на пользовательском уровне
К преимуществам серверов прикладного уровня следует отнести следующие:
локальная сеть невидима из INTERNET
при нарушении работоспособности брандмауэра пакеты перестают проходить через брандмауэр, тем самым не возникает угрозы для защищаемых им машин
защита на уровне приложений позволяет осуществлять большое количество дополнительных проверок, снижая тем самым вероятность взлома с использованием дыр в программном обеспечении
аутентификация на пользовательском уровне может быть реализована система немедленного предупреждения о попытке взлома.
Недостатками этого типа являются:
более высокая, чем для пакетных фильтров стоимость;
невозможность использовании протоколов RPC и UDP;
производительность ниже, чем для пакетных фильтров.
Ряд брандмауэров позволяет также организовывать виртуальные корпоративные сети (Virtual Private Network), т.е. объединить несколько локальных сетей, включенных в INTERNET в одну виртуальную сеть. VPN позволяют организовать прозрачное для пользователей соединение локальных сетей, сохраняя секретность и целостность передаваемой информации с помощью шифрования. При этом при передаче по INTERNET шифруются не только данные пользователя, но и сетевая информация - сетевые адреса, номера портов и т.д.
Для подключения брандмауэров используются различные схемы. Брандмауэр может использоваться в качестве внешнего роутера, используя поддерживаемые типы устройств для подключения к внешней сети (см рис.2.1). Иногда используется схема, изображенная на рис.2.2, однако пользоваться ей следует только в крайнем случае, поскольку требуется очень аккуратная настройка роутеров и небольшие ошибки могут образовать серьезные дыры в защите.