Брандмауер Windows 7 в режимі підвищеної безпеки “Частина 3, Windows, Операційні системи, статті

У попередніх частинах статті докладно розглядалися загальне опису терміна брандмауер і команд контексту netsh advfirewall. У цій частині статті будуть детально описані методи створення і зміни правил безпеки для брандмауера Windows у режимі підвищеної безпеки засобами контексту Netsh advfirewall consec. Команди Netsh advfirewall consec еквівалентні командам “Правилам безпеки підключень” оснастки “Брандмауер Windows в режимі підвищеної безпеки”. Контекст Netsh advfirewall consec підтримує п’ять команд, які описані в наступних розділах. Команда dump розглядатися в рамках цієї частини статті не буде, так як ця команда ідентична команді dump контексту Netsh advfirewall.



Add


У контексті Netsh Advfirewall Consec, Команда Add призначена тільки для створення правил безпеки підключення за допомогою Add rule. Правила безпеки підключення для захисту даних, переданих по мережі, використовують протокол IPsec. Правила безпеки підключення дозволяють вказати, що з’єднання між двома комп’ютерами повинні проходити перевірку автентичності або шифруватися. Синтаксис команди наступний:


Netsh Advfirewall Consec Add rule name = ІмяПравіла


де:


Name = Ім’я правила. За допомогою цього параметра ви можете вказати ім’я нового правила безпеки підключення. Ім’я правила повинно бути унікальним і не може мати значення “all”.


endpoint1 = Адреси. За допомогою цього параметра ви можете вказати комп’ютери, на які поширюються умови поточного правила. Комп’ютери, зазначені в endpoint1 можуть зв’язуватися з комп’ютерами, зазначеними в параметрі endpoint2 тільки в тому випадку, коли виконуються вимоги поточного правила. При вказівці конкретних IP-адрес, вони повинні ставитися до однієї і тієї ж версії протоколу IP. Крім цього, при налаштуванні динамічних тунелів, кінцеві точки тунелів можуть задаватися як any. Локальну тунельну кінцеву точку задавати для клієнтської політики необов’язково. Також необов’язково вказувати видалені кінцеві точки тунелів для політики шлюзу. Для параметрів endpoint1 і endpoint2 доступні наступні значення:



endpoint2 = Адреси. Значення цього параметра ідентичні параметру Endpoint1. Адреси або діапазони endpoint1 і endpoint2 повинні бути вказані через кому.


action = { requireinrequestout / requestinrequestout / requireinrequireout / requireinclearout / noauthentication }. За допомогою цього параметри ви можете вказати перевірку справжності, яка буде застосовуватися до створеного правилу. З детальною інформацією про алгоритми і методи перевірки автентичності ви можете ознайомитися в наступному ресурсі: IPsec Algorithms and Methods Supported in Windows. У цього параметра є п’ять можливих значень:



description = Опис правила. За допомогою цього параметра ви можете вказати докладний опис для створеного правила.


mode = { transport / tunnel }. За допомогою цього параметра вказується режим підключення для правила безпеки підключень IPSec. Значеннями цього параметра можуть бути transport, Або tunnel. Якщо параметр mode не зазначений, то режимом, встановленим за умовчанням, є transport. Значення requireinclearout параметра action неприпустимо в режимі mode=Transport.


enable = { yes / no }. За допомогою цього параметра можна вказати, чи повинно бути включено правило після його створення. Значення за замовчуванням – yes.


profile = { public / private / domain / any } [ , …]. За допомогою цього параметра ви можете вказати профілі, на які буде поширюватися поточне правило. Правило буде застосовуватися тільки в тому випадку, якщо зазначений в правилі профіль буде активним.


type = { dynamic / static }. За допомогою цього параметра ви можете вказати, як буде застосовуватися правило для поточної сесії, і де воно буде зберігатися. Для цього параметра є два значення:



За замовчуванням встановлено параметр static.


localtunnelendpoint = { IPAddress / any }. Для використання цього параметра необхідно, щоб значенням параметра mode було tunnel. Локальна кінцева точка тунелю – це шлюз, в який комп’ютер в кінцевій точці 1 передає мережні пакети, адресовані комп’ютера в кінцевій точці 2. Локальна кінцева точка отримує мережевий пакет від комп’ютера в кінцевій точці 1, інкапсулює його в новий мережевий пакет і пересилає в віддалену кінцеву точку тунелю. Трафік передається з IP-адреси, вказаної в цьому параметрі на адресу, визначену в параметрі remotetunnelendpoint.


remotetunnelendpoint = { IPAddress / any }. Для використання цього параметра необхідно, щоб значенням параметра mode було tunnel. Дистанційна кінцева точка тунелю витягує інкапсульований вихідний пакет, поміщає його в мережу, з’єднану з комп’ютерами в кінцевій точці 2, і пересилає пакет в місце призначення.



Якщо вказати значення any, То комп’ютер в кінцевій точці 1 також буде локальної кінцевою точкою тунелю для даного підключення. Комп’ютер в кінцевій точці 1 інкапсулює його власні мережеві пакети і пересилає їх в віддалену кінцеву точку тунелю, яка витягує і пересилає дані комп’ютера призначення в кінцевій точці 2. Версія протоколу IP для адрес кінцевих точок тунелю повинна бути однією і тією ж. Наприклад, якщо задано адресу IPv4 для одного кінця, для іншого кінця також повинен бути заданий адресу IPv4. Можна вказати обидва протоколи – і IPv4, і IPv6.


port1 = { any / Integer or Range } [ ,… ]. Цей параметр доступний в тому випадку, якщо обраний протокол TCP або UDP. Використовуйте цей параметр для того, щоб вказати номер порту комп’ютера, який є частиною кінцевої точки 1. Ви можете вказати як певний порт, наприклад 80, діапазон портів, наприклад 5000 – 5200, так і кілька певних портів і діапазонів, розділених комами. Якщо вибрати параметр any, То весь мережевий трафік для обраного протоколу буде задовольняти даним правилом безпеки підключення. Діапазон портів можна вказувати від 0 до 65535.


port2 = { any / Integer or Range } [ ,… ]. Значення цього параметра ідентичні параметру port1.


protocol = { any / tcp / udp / icmpv4 / icmpv6 / Integer }. За допомогою цього параметра ви можете вибрати протокол, мережевий трафік якого необхідно захищати за допомогою даного правила брандмауера. Для того щоб можна було вказувати порти, виберіть протокол TCP або UDP, Мережевий трафік якого необхідно захищати за допомогою даного правила брандмауера. Також для створення правил доступні значення ICMPv4 і ICMPv6. За умовчанням встановлено значення any.


interfacetype = { any / wireless / lan / ras }. За допомогою цього параметра ви можете вказати, що з урахуванням вимог поточного правила, мережеві підключення встановлюються тільки засобами обраних інтерфейсів. Для цього параметра існує чотири значення:



auth1 = { computerkerb / computercert / computercertecdsap256 / computercertecdsap384 / computerpsk / computerntlm / anonymous / [ , …] }. Цей параметр відповідає за використання перевірки автентичності комп’ютера IPSec для основного режиму на основі сертифікату комп’ютера. Можна вказувати декілька значень, розділених комами без пробілів. Для того щоб за допомогою створеного правила комп’ютери могли між собою спілкуватися, перевірка справжності повинна пройти успішно. Обов’язково повинен бути вказаний як мінімум один метод перевірки автентичності. Методи computerpsk і computerntlm не можна вказувати спільно з auth1. Для цього параметра доступні наступні значення:



auth1psk = PreSharedKey. Даний параметр можна використовувати тільки в тому випадку, якщо в значеннях параметра auth1 присутній computerpsk. За допомогою цього параметра можна поставити додаткові значення ключа, який використовується для перевірки автентичності. Це значення зберігається в незашифрованому вигляді.


auth1ca = “CAName [ certmapping: { yes / no } ] [ excludecaname: { yes / no } ] [ catype: { root / intermediate } ] [ / … ]”. За допомогою цього параметра ви можете вказати сертифікат, підписаний за допомогою алгоритму шифрування з відкритим ключем RSA. Цей параметр може бути активним тільки в тому випадку, якщо у параметра auth1 було встановлено значення computercert. Ви можете вказати декілька сертифікатів, розділивши їх символом /. Всі значення параметра повинні бути укладені в лапки. Для цього параметра є кілька значень:



auth1healthcert = { yes / no }. Цей параметр обмежує використовувані сертифікати комп’ютерів, які позначені як сертифікати працездатності. Сертифікати працездатності публікуються центром сертифікації для підтримки розгортання захисту доступу до мережі (NAP). Служба захисту доступу до мережі (NAP) допомагає визначати і застосовувати політики працездатності, щоб забезпечити мінімальну ймовірність доступу в мережу комп’ютерів, що не відповідає мережевим вимогам (наприклад, комп’ютерів без антивірусних програм або на яких не встановлені останні оновлення програмного забезпечення). Цей параметр може бути активним тільки в тому випадку, якщо у параметра auth1 було встановлено на computercert.


auth1ecdsap256ca = “CAName [ certmapping: { yes / no } ] [ excludecaname: { yes / no } ] [ catype: { root / intermediate } [ / … ]”. За допомогою цього параметра ви можете вказати сертифікат, підписаний за допомогою алгоритму цифрового підпису на еліптичних кривих з 256-бітовим рівнем криптостійкості ключа. Цей параметр може бути активним тільки в тому випадку, якщо у параметра auth1 було встановлено значення computercertecdsap256.


auth1ecdsap256healthcert = { yes / no }. Цей параметр за своїм призначенням і значенням ідентичний параметру auth1healthcert.


auth1ecdsap384ca = “CAName [ certmapping: { yes / no } ] [ excludecaname: { yes / no } ] [ catype: { root / intermediate } [ / … ]”. За допомогою цього параметра ви можете вказати сертифікат, підписаний за допомогою алгоритму цифрового підпису на еліптичних кривих з 384-бітовим рівнем криптостійкості ключа. Цей параметр може бути активним тільки в тому випадку, якщо у параметра auth1 було встановлено значення computercertecdsap384.


auth1ecdsap384healthcert = { yes / no }. Цей параметр за своїм призначенням і значенням ідентичний параметру auth1healthcert.


auth2 = { userkerb / userntlm / usercert / usercertecdsap256 / usercertecdsap384 / computercert / computercertecdsap256 / computercertecdsap384 / anonymous / [ ,… ] }. По суті, значення цієї команди незначно відрізняється від команди auth1, Але у поточній команди є кілька додаткових параметрів:



Значення команд auth2ca, auth2ecdsap256ca і auth2ecdsap384ca не відрізняються від ідентичних команд для auth1, auth1 і auth2, Вони можуть задаватися у вигляді списків параметрів, розділених комами. Метод computercert не можна вказувати з обліковими даними користувача.


qmpfs = { dhgroup1 / dhgroup2 / dhgroup14 / ecdhp256 / ecdhp384 / mainmode / none }. Цей параметр використовується для створення швидкої пересилки. Режим qmpfs=mainmode використовує параметр обміну ключами основного режиму для PFS. Не рекомендується використовувати DES, MD5 і DHGroup1. Ці криптографічні алгоритми надаються виключно для забезпечення сумісності.


qmsecmethods = [ authnoencap:integrity [ +Lifemin ] [ +datakb ] ; ] ah:Integrity+esp:Integrity-Encryption+[Lifemin]+[Datakb] / default. За допомогою цього параметра можна вказати один або декілька швидких режимів безпеки, розділених комами без вказівки прогалин. Доступні наступні параметри:



exemptipsecprotectedconnections = { yes / no }. Цей параметр можна вказувати тільки для правил тунельного режиму. Привласнивши цим параметром значення “Yes”, можна виключити ESP-трафік з тунелю. Трафік, що відноситься тільки до AH, не буде виключатися з тунелю.


applyauthz = { yes / no }. Цей параметр можна вказувати тільки для правил тунельного режиму. Параметр вказує на те, що тільки користувачі і комп’ютери, яким дозволено використовувати тунель можуть встановити з’єднання з використанням цього правила.


У цьому прикладі створюється правило з одними припущеннями швидкого режиму:


add rule name = “Правило швидкого режиму” endpoint1 = 195.38.1.1 endpoint2 = 195.68.255.255 qmsecmethods = authnoencap: sha1, ah: aesgmac256 + esp: aesgmac256-none action = requireinrequestout

Причому, якщо перейти в настройки цього правила в оснащенні брандмауера Windows в режимі підвищеної безпеки, можна побачити, що воно містить властивості, які не підтримуються графічним інтерфейсом:



У цьому прикладі створюється правило для ізоляції домена, де не потрібен захист за допомогою протоколу IPsec:


add rule name = “Ізоляція домену” endpoint1 = any endpoint2 = any action = noauthentication

У цьому прикладі створюється правило, де для вхідних підключень потрібна перевірка справжності на основі одного з двох сертифікатів. Також перевірка справжності запитується для вихідних підключень, але підключення буде дозволено, навіть якщо перевірка справжності не буде пройдена. Якщо вказується кілька сертифікатів, то вони повинні розділятися вертикальної рисою (/):


add rule name = “Перевірка автентичності з використанням сертифіката” endpoint1 = any endpoint2 = any action = requireinrequestout auth1 = computercert auth1ca = “C = US, O = MSFT, CN =” Microsoft Root Authority “/ C = US, O = MYORG, CN = “TestCompany Trusted Certificate””

Створити правило тунельного режиму з підмережі A (10.1.1.0, зовнішній IP-адреса = 192.157.15.1) в підмережа B (22.1.1.0, зовнішній IP-адрес = 192.168.0.1) можна наступним чином:


add rule name = “Тунельні підключення” mode = tunnel endpoint1 = 10.1.1.0/16 endpoint2 = 22.1.1.0/16 remotetunnelendpoint = 192.168.0.1 localtunnelendpoint = 195.57.15.1 action = requireinrequireout



Delete


За допомогою команди Delete контексту Netsh Advfirewall Consec ви можете видалити всі правила або окремі їх параметри. При вказівці команди без параметрів, команда delete видалить всі створені раніше правила безпеки підключення. При виявленні кількох збігів видаляються всі правила, що задовольняють умові. Синтаксис команди наступний:


Netsh Advfirewall Consec Delete Rule Параметр Значення


Всі параметри, які доступні для цієї команди, ідентичні деякими параметрами команди Add. Для цієї команди доступні наступні параметри:


name = {all / RuleName}, type = {dynamic / static}, profile = {public / private / domain / any / [, … ]}, Endpoint1 = Адреса, endpoint2 = Адреса, port1 = {any / Integer or Range} [, …], port2 = { any / Integer or Range } [ ,… ], protocol = { any / tcp / udp / icmpv4 / icmpv6 / Integer }.


У наступному прикладі спробуємо видалити всі правила, типом яких зазначено значення dynamic:


delete rule name=all type=dynamic



Set


За допомогою команди Set контексту Netsh Advfirewall Consec ви можете змінювати і додавати будь-які параметри і значення в заздалегідь створених правилах. Для того щоб додати до існуючого правило безпеки підключення новий параметр, перед зазначенням параметрів введіть set rule new. Якщо таких значень немає, або ж параметр new відсутня, зміни не вносяться. Якщо правила не існує, команда завершується помилкою. Для створення правил використовується команда add, Яка детально описувалася в розділі Add. Синтаксис команди наступний:


set rule name = ІмяПравіла Параметр Значення


У тому випадку, якщо критерії відповідають декільком правилам, всі відповідні правила будуть оновлені. У наступному списку відображено всі параметри, які ви можете задавати без параметра new:



Разом з параметром new можна використовувати всі параметри, які розглядалися в розділі Add.


У першому прикладі спробуємо перейменувати одну з правил:


set rule name = “Правило швидкого режиму” new name = “відкоригувати правила швидкого режиму”

У цьому прикладі змінюється перевірка справжності правила швидкого режиму:


netsh advfirewall consec> set rule name = “відкоригувати правила швидкого режиму” new endpoint1 = any endpoint2 = any qmsecmethods = authnoencap: aesgmac256, ah: aesgmac256 + esp: aesgmac256-none



Show


За допомогою команди Show контексту Netsh Advfirewall Consec ви можете відобразити всі примірники правил безпеки підключень, відповідних вказаному імені і, при необхідності, профілями і типу. При бажанні ви можете зробити вибірку правил по імені, використовуючи параметр name = {all / ІмяПравіла}; За профілями, використовуючи параметр profile = { public / private / domain / any } [ ,… ]; По типу: type = { dynamic / static }, А також відобразити детальну інформацію, використовуючи параметр verbose.


Наприклад, для того щоб відобразити всі правила безпеки підключень, які були створені виконайте наступне:


show rule name=all

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*