Главная

Monday, 21 September 2015

Оперативное сопровождение протокола IPSec.

Всем привет.

Сегодня также кратко, но английского не будет. Почти). Только на уровне командной строки. 

Итак, про семейство протоколов IPSec не слышал только ленивый, его поддержка есть на уровне командной строки (CLI) и ММС-оснастки начиная с Windows XP  и Windows Server 2003. Его правила реализует почти все оборудование Сisco и даже домашние модемы с функцией маршрутизатора типа Zyxеl. В общем штука гибкая но не простая.


Но сегодня я не про теорию алгоритмов защиты, я про оперативное сопровождение настроенного протокола IPSec. В сетевом оборудовании есть штатные способы бекапа и восстановления текущего профиля. Надо просто не забывать это регулярно делать. А вот в ОС типа MS Windows возможны варианты. 

Что я имею ввиду? Я по аналогии с firewall про то как мне быстро глянуть настроенный профиль политики, или как его импортировать чтобы в будущем сделать экспорт на новый сервер. Т.е. варианты извлечь/внедрить в удобочитаемом (text), или двоичном (binary) виде.

А поможет нам  в этом Netsh - мощная и полезная утилита командной строки, предназначенная для обновления и настройки параметров сети Windows.

Я лично активно использую перенаправление вывода в файл. Дело в том что в Netsh тоже есть внутренний журнал, но его на каждый сеанс надо включать. А я часто забываю это сделать.)


Поэтому делаем так:

- посмотреть политику IPSec подробно:
netsh ipsec static show all>ipsec_static.txt

- посмотреть действующие фильтры подробно:
netsh ipsec dynamic show all>ipsec_dynаmic.txt

-текстовый формат политики  в котором видны все команды для настройки
в виде таблицы (Очень удобно!) :
netsh ipsec static show policy name = <name of policy> level = verbose format = table wide = yes

Узнать имя действующий политики можно так:
netsh ipsec static show gpoassignedpolicy

Это были команды на просмотр. 
А теперь про парочку экспорт + импорт.

- вот экспорт политики в двоичном формате:
netsh ipsec static exportpolicy  file=binary.ipsec

- естественно в экспорте не было бы смысла если не было импорта. А вот и он:
netsh ipsec static importpolicy  file=binary.ipsec

Казалось бы все. Но есть хитрый ход, чтобы попробовать соединить и удобочитаемость всей политики и ее возможность экспорта с импортом.

Текстовый формат в котором видны все команды для настройки можно получить так:
netsh -c interface dump>dump.txt

Но оказывается dump.txt можно изменить и... втянуть обратно командой:
netsh exec dump.txt

Супер!

Идем дальше. Протокол настроен, бекап политики сделан, а фильтрация работает не так. Как включить журнал (протоколирование) IPSec? Как выполнить troubleshooting?

А просто, надо внести некоторые изменения  в реестр ОС. По умолчанию ОС считает что такой журнал вам не понадобится).

Вам могут понадобится разные журналы в зависимости от сложности ваших IPSec-настроек.

Первый:

Its possible to enable logging for IPSec which will result in logs being written to the %systemroot%\debug\oakley.log by performing the following registry change:

  1. Start the registry editor (regedit.exe)
  2. Move to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
  3. From the Edit menu select New - Key
  4. Enter a name of Oakley and click OK
  5. Select the Oakley key and select New - DWORD value from the Edit menu
  6. Enter a name of EnableLogging
  7. Double click the new value and set to 1
  8. Close the registry editor

Обязательно выполнить restart the policy agent
net stop policyagent и net start policyagent.


Второй:

События IKE (успех или отказ согласования) в журнале безопасности.
Установите для параметра реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Audit\DisableIKEAudits в значение 1. 

Параметр DisableIKEAudits по умолчанию не существует; его необходимо создать.

Обязательно выполнить restart the policy agent
net stop policyagent и net start policyagent.

И третий, самый популярный:

События изменения политики IPSec в журнале безопасности (7-й самый подробный).
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPSec\EnableDiagnostics DWORD значение 7. 

Или
netsh ipsec dynamic set config ipsecdiagnostics 7.

Чтобы изменить интервал (в секундах) записи событий пакетов драйвера IPSec путем изменения реестра, выполните следующие действия. 

Установите для параметра реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPSec\LogInterval DWORD десятичное значение 60. 

Или
netsh ipsec dynamic set config ipsecloginterval 60.

Третий журнал также пишет каждое событие в системный (System) журнал самой Windows.

Вот теперь все. 

Более подробно про IPSec читайте книгу  Уэнстрома М. Д. Организация защиты сетей Cisco /  М. Д. Уэнстром. – Пер. с англ. – М.: Издательский дом “ Вильямс”, СОЛОН-Р, 2005. – 768 с. – ISBN: 5-8459-0258-4.

No comments:

Post a Comment

А что вы думаете по этому поводу?