Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Защита снаружи и изнутри

(c)oded by Lame@pochta.ru

Спецвыпуск: Хакер, номер #048, стр. 048-096-1


Персональные межсетевые экраны

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

Однако, как любое средство защиты, фаервол делает только то, что в него заложил разработчик. Вот основные функции, которые реализуют персональные МСЭ:

- фильтрация трафика на сетевом уровне

- фильтрация содержимого прикладных протоколов

- ограничение сетевой активности приложений и контроль утечки данных

Фильтрация трафика на сетевом уровне

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

Более продвинутые межсетевые экраны (stateful) осуществляют фильтрацию в контексте соединения. Они не только анализируют дополнительные поля заголовков пакетов (такие, как состояние флагов SYN, ACK, FIN, RST и значения Sequence Number), но и помнят их значение для предыдущих пакетов. Поэтому могут отличить «подделанный» пакет от тех, которые принадлежат данному разрешенному соединению. Большинство персональных межсетевых экранов являются, как минимум, stateful МСЭ для TCP/UDP/ICMP. То есть умеют, по крайней мере, различать, кто и в каком направлении установил соединение, и считать Sequence Numbers пакетов.

Установив персональный межсетевой экран в «правильной» стандартной конфигурации, можешь не бояться злобных червей типа Sasser или MSBlast, стучащихся на открытые 445-й и 135-й порты. Хотя, если честно, непонятно, зачем оставлять на компьютере неиспользуемую сетевую службу. Не хочешь ты, чтобы CIFS/SMB/NetBIOS (порты 137, 138, 139, 445) светилось наружу – останови службу “Server”. Не нужен тебе 135-й порт – привяжи RPC к 127.0.0.1 утилитой rpccfg и не мучайся. Нормально настроенный пользовательский компьютер при сканировании nmap должен, максимум, отвечать на ping. И не потому что на нем стоит фаервол, а потому что на нем просто никто не слушает сеть. Но чтобы реализовать подобное стандартными средствами Windows, надо хотя бы знать, что за сетевой софт стоит на машине. В то время как персональные межсетевые экраны разбираются в этом сами.

Кстати, чтобы определить, какие программы слушают сеть на твоей машине, совершенно не обязательно устанавливать программы типа fport или activeport. В Windows для этого можно воспользоваться двумя командами: netstat и tasklist (в ранних версиях Windows). Команда netstat –ano выдает список сетевых соединений и открытых портов, указывая идентификатор процесса (PID), который это соединение использует. Чтобы узнать, какому процессу принадлежит этот PID, можно воспользоваться диспетчером задач или просто запустить tasklist. Программа tasklist, запущенная с ключом -svc, позволяет узнать, какие сетевые службы (сервисы) обслуживаются тем или иным процессом.

Содержание  Вперед на стр. 048-096-2