Шрифт:
Интервал:
Закладка:
Единственное, что можно предложить для повышения надежности работы системы, подвергаемой данной атаке, – использовать как можно более мощные компьютеры. Чем больше число и частота работы процессоров, чем больше объем оперативной памяти, тем более надежной будет работа сетевой ОС, когда на нее обрушится направленный шторм ложных запросов на создание соединения. Кроме того, необходимо использование соответствующих вашим вычислительным мощностям операционных систем с внутренней очередью, способной вместить большое число запросов на подключение. Ведь если вы, например, установите на суперкомпьютер операционную систему Windows NT, у которой средняя длина очереди для одновременно обрабатываемых запросов около 50, а тайм-аут очистки очереди равен 9 секундам, то, несмотря на все вычислительные мощности компьютера, ОС будет полностью парализована атакующим (см. главу 4).
Общий вывод по противодействию данной атаки в существующем стандарте IPv4 следующий: просто расслабьтесь и надейтесь на то, что вы ни для кого не представляете интереса, или купите мощный компьютер с соответствующей сетевой ОС.
Защита от подмены одной из сторон
Как отмечалось ранее, единственным базовым протоколом семейства TCP/ IP, в котором изначально предусмотрена функция обеспечения безопасности соединения и его абонентов, является протокол транспортного уровня – протокол TCP. Что касается базовых протоколов прикладного уровня (FTP, TELNET, r-служба, NFS, HTTP, DNS, SMTP), то ни один из них не предусматривает дополнительной защиты соединения на своем уровне, и решение всех проблем по обеспечению безопасности соединения останется за протоколом более низкого транспортного уровня – TCP. Однако, вспомнив о возможных атаках на TCP-соединение, рассмотренных в разделе «Подмена одного из субъектов TCP-соединения в сети Internet», несложно сделать вывод: при использовании базовых протоколов семейства TCP/IP обеспечить безопасность соединения практически невозможно. Это происходит из-за того, что, к сожалению, все базовые протоколы сети Internet сильно устарели с точки зрения обеспечения информационной безопасности.
Единственное, что можно порекомендовать сетевым администраторам для защиты только от межсегментных атак на соединения, – в качестве базового «защищенного» протокола использовать протокол TCP и сетевые ОС, в которых начальное значение идентификатора TCP-соединения действительно генерируется случайным образом (неплохой псевдослучайный алгоритм генерации используется в последних версиях ОС FreeBSD). Подчеркнем, что здесь говорилось только о базовых протоколах семейства TCP/IP, а все защищенные протоколы типа SSL, S-HTTP, Kerberos и т. д. не являются базовыми.
Программно-аппаратные методы защиты от удаленных атак
К программно-аппаратным средствам обеспечения информационной безопасности средств связи в вычислительных сетях относятся:
• программно-аппаратные шифраторы сетевого трафика;
• методика Firewall, реализуемая на базе программно-аппаратных средств;
• защищенные сетевые криптопротоколы;
• программные средства обнаружения атак (IDS – Intrusion Detection Systеms) (см. главу 9);
• программные средства анализа защищенности (см. главу 9);
• защищенные сетевые ОС.
Существует огромное количество литературы, посвященной средствам защиты для использования в сети Internet (за последние несколько лет практически в любом номере компьютерного журнала встречаются статьи на эту тему).
Эти средства мы опишем по возможности кратко, чтобы не повторять хорошо известную всем информацию. При этом мы преследуем следующие цели: во-первых, еще раз вернуться к мифу об «абсолютной защите», которую якобы обеспечивают системы Firewall; во-вторых, сравнить существующие версии криптопротоколов, применяемых в Internet, и дать оценку критическому, по сути, положению в этой области.
Методика Firewall
В общем случае методика Firewall как основное программно-аппаратное средство осуществления сетевой политики безопасности в выделенном сегменте IP-сети реализует следующие основные функции.
1. Многоуровневая фильтрация сетевого трафика
Фильтрация обычно происходит на четырех уровнях OSI:
1. Канальном (Ethernet).
2. Сетевом (IP).
3. Транспортном (TCP, UDP).
4. Прикладном (FTP, TELNET, HTTP, SMTP и т. д.).
Фильтрация сетевого трафика является основной функцией систем Firewall и позволяет администратору безопасности сети централизованно осуществлять необходимую сетевую политику в выделенном сегменте IP-сети, то есть, настроив соответствующим образом Firewall, можно разрешить или запретить пользователям как доступ из внешней сети к соответствующим службам хостов или к хостам, находящимся в защищаемом сегменте, так и доступ пользователей из внутренней сети к соответствующим ресурсам внешней сети. Можно провести аналогию с администратором локальной ОС, который для осуществления политики безопасности в системе назначает необходимым образом соответствующие отношения между субъектами (пользователями) и объектами системы (файлами, например), что позволяет разграничить доступ субъектов системы к ее объектам в соответствии с заданными администратором правами доступа. Те же рассуждения применимы к Firewall-фильтрации: в качестве субъектов взаимодействия будут выступать IP-адреса хостов пользователей, а в качестве объектов, доступ к которым необходимо разграничить, – IP-адреса хостов, используемые транспортные протоколы и службы предоставления удаленного доступа.
2. Proxy-схема с дополнительной идентификацией и аутентификацией пользователей на Firewall-хосте
Proxy-схема позволяет, во-первых, при доступе к защищенному Firewall сегменту сети осуществить на нем дополнительную идентификацию и аутентификацию удаленного пользователя и, во-вторых, является основой для создания приватных сетей с виртуальными IP-адресами. Смысл proxy-схемы заключается в создании соединения с конечным адресатом через промежуточный proxy-сервер (в переводе с англ. «proxy» – полномочный) на хосте Firewall.
3. Создание приватных сетей с «виртуальными» IP-адресами
Если администратор безопасности сети считает целесообразным скрыть истинную топологию своей внутренней IP-сети, то ему можно порекомендовать использовать системы Firewall для создания виртуальных сетей с применением технологии NAT (Network Address Translation). Для адресации во внешнюю сеть через Firewall необходимо либо использовать на хосте Firewall описанные выше proxy-серверы, либо применять только специальные системы маршрутизации (через которые и возможна внешняя адресация). Это происходит из-за того, что используемый во внутренней приватной сети «виртуальный» IP-адрес, очевидно, непригоден для внешней адресации, то есть адресации к абонентам, находящимся за ее пределами. Поэтому proxy-сервер должен осуществлять связь с абонентами из внешней сети со своего настоящего IP-адреса. Кстати, эта схема удобна в том случае, если вам для создания IP-сети выделили недостаточное количество IP-адресов: в стандарте IPv4 это случается сплошь и рядом, поэтому для полноценной IP-сети с использованием proxy-схемы достаточно одного выделенного IP-адреса для proxy-сервера.
Итак, любое устройство, реализующее хотя бы одну из этих функций Firewall-методики, и является Firewall-устройством. Например, ничто не мешает вам использовать в качестве Firewall-хоста компьютер с обычной ОС FreeBSD или Linux, у которой соответствующим образом нужно скомпилировать ядро ОС. Firewall такого типа будет обеспечивать только многоуровневую фильтрацию IP-трафика. Другое дело – предлагаемые на рынке мощные Firewall-комплексы, созданные на базе ЭВМ или мини-ЭВМ, обычно реализуют все функции Firewall-методики и являются полнофункциональными системами Firewall.
Но Firewall не является гарантией абсолютной защиты от удаленных атак в Internet. Эта система – не столько средство обеспечения безопасности, сколько возможность централизованно осуществлять сетевую политику разграничения удаленного доступа к ресурсам вашей сети. Да, в том случае, если, например, к данному хосту запрещен удаленный TELNET-доступ, Firewall однозначно предотвратит возможность такого доступа. Однако большинство удаленных атак имеют совершенно другие цели (бессмысленно пытаться получить определенный вид доступа, если он запрещен системой Firewall). Действительно, зададим себе вопрос, а какие из рассмотренных удаленных атак может предотвратить Firewall? Анализ сетевого трафика? Очевидно, нет! Ложный ARP-сервер? И да, и нет (для защиты вовсе не обязательно использовать Firewall). Ложный DNS-сервер? Нет, к сожалению, Firewall вам тут не помощник. Навязывание ложного маршрута при помощи протокола ICMP? Да, эту атаку путем фильтрации ICMP-сообщений Firewall легко отразит (хотя достаточно будет фильтрующего маршрутизатора, например Cisco). Подмена одного из субъектов TCP-соединения? Ответ отрицательный – Firewall тут абсолютно ни при чем. Нарушение работоспособности хоста путем создания направленного шторма ложных запросов или переполнения очереди запросов? В этом случае применение Firewall только ухудшит дело. Взломщику достаточно атаковать только один Firewall, а не несколько хостов (это легко объясняется тем, что связь внутренних хостов с внешним миром возможна лишь через Firewall), чтобы вывести из строя (отрезать от внешнего мира) все хосты внутри защищенного Firewall-системой сегмента.