Пятница, 2024-11-08, 1:33 PM
 
Начало Форум Регистрация Вход
Вы вошли как Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: denix  
Неизвестный IPSec
denixДата: Среда, 2006-06-07, 1:34 AM | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 531
Репутация: 0
Статус: Offline
С момента своего появления в 1999 году протокол IPSec вызывает большой интерес специалистов в области информационной безопасности. В отличие от других протоколов защиты данных при передаче по сети, работающих на канальном, сеансовом или прикладном уровне модели OSI, IPSec защищает сетевой уровень, что является более универсальным подходом, поскольку вне зависимости от вышележащих протоколов, физической среды передачи и технологии канального уровня транспортировка данных по сети невозможна в обход протокола IP. Таким образом, на сетевом уровне обеспечивается защита передаваемых данных на всех вышележащих уровнях. При этом от защищаемых приложений не требуется поддержки дополнительных возможностей, как например в случае с SSL/TLS.

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

Немного теории
Политика IPSec в Windows состоит из набора Security Policy Database (SPD). Только одна из них может применяться к компьютеру и, соответственно, использоваться драйвером IPSec. База SPD содержит набор правил, которые, в свою очередь, состоят из двух частей: селектора и правила. Селектор представляет собой фильтр, на основе которого правило применяется к тому или иному пакету. В роли параметров фильтра могут выступать IP-адреса, адреса сети или FQDN отправителя и получателя пакета, тип IP-протокола (ICMP, TCP, UDP и т. д.), номера TCP и UDP портов отправителя и получателя. Правило определяет реакцию драйвера на пакет, соответствующий тому или иному селектору. Существует три типа реакции: пакет может быть отброшен (Block), передан без применения IPSec (Permit) и передан с применением IPSec (Negotiate Security).

Если пакет соответствует правилу, требующему установления безопасного соединения, запускается процесс получения метки безопасной ассоциации (Security Association, SA). Компьютеры — участники соединения — должны пройти взаимную аутентификацию, согласовать типы и параметры используемых протоколов защиты и сформировать общий ключ, применяемый для шифрования и контроля целостности данных.

Реализация IPSec в Windows поддерживает три способа взаимной аутентификации: Preshared Key, Kerberos и Certificates. В случае использования Preshared Key для успешного согласования параметров оба компьютера должны обладать разделяемым ключом, который задает администратор. Во втором случае оба компьютера должны принадлежать к одной области (realm) Kerberos или находиться в областях, связанных доверительными отношениями. И в случае применения третьего способа оба компьютера должны иметь действующий сертификат стандарта X.509, выданный центром сертификации, которому доверяет вторая сторона.

В IPSec определены два протокола защиты передаваемых данных — Authentication Header (AH) и Encapsulated Security Payload (ESP). Протокол AH гарантирует целостность и аутентичность данных, т. е. принимающая сторона может быть уверена, что пакет отправлен именно указанным лицом и не был искажен в процессе передачи. Подобная функциональность достигается путем добавления в пакет дайджеста пакета, вычисляемого на основе его содержимого и общего секретного ключа. Протокол AH защищает весь исходный пакет, включая заголовок IP. Для шифрования передаваемых данных используется протокол ESP, зашифровывающий содержимое пакета (все данные, начиная с заголовков транспортного уровня). Кроме того, ESP добавляет в пакет дайджест, обеспечивающий целостность данных. При расчете дайджеста заголовок IP не применяется. Возможно совместное использование AH и ESP в тех случаях, когда требуется обеспечить целостность заголовка IP и конфиденциальность данных.

Для шифрования данных в протоколе IPSec можно задействовать алгоритмы DES, 3DES и Null (только контроль целостности), а для обеспечения целостности — MD5 и SHA1.

В Windows 2000/2003 реализована поддержка двух режимов функционирования IPSec: транспортный (Transport Mode) и туннельный (Tunnel Mode). В транспортном режиме пакет, соответствующий фильтру IPSec, защищается при помощи протокола AH или ESP и пересылается в адрес, указанный в заголовке IP. В туннельном режиме к пакету добавляется новый заголовок IP, где в качестве IP-адреса отправителя указывается адрес данного компьютера, а в качестве адреса получателя — адрес, указанный в правиле; это вторая конечная точка туннеля. Затем пакет защищается при помощи AH или ESP. Использование транспортного режима позволяет защищать коммуникации между двумя компьютерами (схема «точка-точка»). Туннельный режим позволяет защищать коммуникации двух сетей (схема «шлюз-шлюз»).

Подробнее о принципах работы IPSec можно узнать из документов RFC, опубликованных на сервере Internet Engineering Task Force (http://www.ietf.org).

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

Таким образом, политика IPSec, даже без настройки защищенного соединения, может использоваться для повышения безопасности узла. Создавая политику IPSec, разрешающую трафик применяемых на узле сетевых служб и запрещающую весь остальной трафик, мы повышаем уровень защиты от атак через неиспользуемые сетевые службы, а также ограничиваем возможности злоумышленника в случае компрометации существующих приложений. Яркими примерами подобных атак являются эпидемии сетевых «червей» Code Red и Slammer. Первый из них использовал устанавливаемую по умолчанию в Windows 2000 Server службу Internet Information Server, а второй — уязвимые места в Microsoft SQL Server и MSDE.

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

Настраивать политику фильтрации можно при помощи оснастки консоли управления IP security policies или утилит командной строки. В Windows 2000 для настройки IPSec из командной строки применяется утилита из состава Resource Kit ip-secpol (данный подход описан в статье «Защита приложений пользователя», Windows & .NET Magazine № 4 за 2003 год).

При использовании оснастки можно предварительно создать набор фильтров, а потом уже осуществить привязку фильтров к правилам. Для этого в оснастке редактирования объекта групповой политики следует щелкнуть правой кнопкой мыши на пункте IP Security Policies и выбрать Manage IP filter lists and filter actions. В появившемся диалоговом окне нужно нажать Add и указать название и параметры фильтра. Создавать фильтр можно в двух режимах — в режиме мастера и в режиме диалога. Мне лично удобнее работать в режиме диалога, для использования которого в окне IP filter list необходимо очистить флажок Use Add Wizard.

Некоторым администраторам может показаться более удобной возможность настройки фильтров через интерфейс командной строки при помощи утилиты netsh. Эта функция появилась в Windows Server 2003.

В Листинге 1 приведен пример использования утилиты netsh для добавления набора фильтров, описывающих обращение клиента к серверу DNS. Предварительно список правил очищается.

Обратите внимание на способ указания IP-адресов источника и получателя пакета. Зарезервированные слова Me и DNS указывают на IP-адрес компьютера и серверов DNS, сконфигурированных в настройках стека TCP/IP. Поддерживаются также ключевые слова gateway, WINS и DHCP, указывающие на IP-адреса шлюзов по умолчанию, серверов WINS и DHCP, установленных вручную или полученных от сервера DHCP.

После описания всех видов трафика, используемых компьютером, необходимо создать политику IPSec, разрешающую прохождение пакетов, описанных в фильтрах, и запрещающую передачу всех остальных (см. Листинг 2).

В первой строке мы формируем список правил, описывающий весь IP-трафик. Во второй создается правило Block, запрещающее прохождение трафика, в третьей — правило Permit, разрешающее его прохождение без применения IPSec. Далее создается политика IP filter, в которую включаются фильтры DNS client и All traffic, причем первому из них назначается разрешающее правило Permit, а второму запрещающее Block.

Если выполнить команду netsh, в появившемся приглашении указать контекст ipsec static, а затем последовательно ввести команды из первого и второго сценариев, то компьютер перестанет принимать и обрабатывать любой трафик, кроме запросов DNS и ответов на них.

Листинг 1. Команды утилиты netsh для добавления фильтров
delete all
add filter filterlist="DNS client" srcaddr=Me
dstaddr=DNS protocol=TCP mirrored=YES dstport=53
add filter filterlist="DNS client" srcaddr=Me
dstaddr=DNS protocol=UDP mirrored=YES dstport=53

Листинг 2. Создание политики прохождения пакетов
add filter filterlist="All traffic" srcaddr=Any
dstaddr=Any protocol=ANY mirrored=YES
add filteraction name=Block action=block
add filteraction name=Permit action=Permit
add policy name="Ip filter" assign=yes
add rule name="Permit DNS" policy="Ip filter"
filterlist="DNS client" filteraction=Permit
add rule name="Block All" policy="Ip filter"
filterlist="All traffic" filteraction=Block
Источник: http://www.winzone.ru

 
  • Страница 1 из 1
  • 1
Поиск:


Бесплатный хостинг uCoz