З якихось причин, так історично склалося, що багатьом організаціям важко знайти вдале співвідношення між захистом передачі своїх даних і покриттям витрат, які будуть витрачені на підтримку такого захисту. На жаль, частіше за все, тільки адміністратори розуміють, що забезпечення і підтримка безпечної інфраструктури може спричинити витрати, що перевищують витрати на мережеве обладнання. Всі знають, що в свій час всесвітня мережа Інтернет була створена для відкритого спілкування між віддаленими комп'ютерами. Також всі знають, що за останній час багато чого змінилося і зараз Інтернет вважається досить таки небезпечною мережевим середовищем. У сфері безпеки більшість сценаріїв націлені на запобігання атак зловмисників, які блукають по просторах Інтернету. Комп'ютери, які мають доступ в мережу Інтернет потрібно належним чином захищати від різних зловмисників і шкідливих програм, які несанкціонованим чином намагаються отримати доступ до даних і ресурсів для користувача комп'ютерів. Зараз брандмауери, розташовані на клієнтських комп'ютерах і серверах, міжмережеві екрани, розташовані на периметрі мережі в демілітаризованій зоні, безпечні маршрутизатори і строгі політики перевірки автентичності для віддалених підключень практично бездоганно виконують свою роботу. Можливо, хтось із вас здивується, але зміцнення периметра мережі вашої організації є лише частиною забезпечення безпеки вашої організації, так як всі зазначені вище кошти не можуть спричиняти вас захистити від атак, вироблених усередині компанії.
Часом приватні інтрамережі можуть містити як свого роду зловмисників, так і шкідливі програми, через роботу яких ваша організація може втратити значно більше інформації, так як такі атаки змодельовані внутрішніми співробітниками вашої організації, причому, брандмауери та інші прикордонні пристрої ніяк не зможуть захистити вашу організацію від таких загроз. Корпорація Microsoft надає технологію IPSec, вбудовану в операційну систему Windows, яка дозволяє захищати мережу вашої організації, як від зовнішніх, так і від можливих внутрішніх атак.
Можливості протоколу IPSec
Протокол IPSec операційної системи Windows надає наступні можливості:
заголовки IPSec
- AH. Тема AH забезпечує перевірку автентичності, цілісність даних і захист від повторів для всього пакета, за винятком полів в заголовку IP, для яких дозволена зміна за допомогою обчислення хешу з ключем для кожного пакета. При використанні AH в хеш включається весь пакет і заголовок. Деякі поля, для яких дозволена зміна на шляху проходження, виключаються. Робота служби захисту повторення пакетів забезпечується включенням порядкового номера кожного пакета. Цей заголовок забезпечує конфіденційність даних без їх шифрування. Тобто, дані доступні для читання, але захищені від змін. На наступній ілюстрації зображена структура даного заголовка:
Мал. 1. Структура заголовка AH
Як видно на попередній ілюстрації, даний заголовок включає в себе наступні поля:
Наступний заголовок. Однобайтовое поле, яке використовується для визначення наступного заголовка корисних даних.
Довжина корисного навантаження. Однобайтовое поле, яке вказує кількість байт в попередньому полі довжини корисного навантаження AH в 32-бітових (чотирибайтових) блоках, не рахуючи перші два блоки.
Зарезервовано. Двухбайтовое поле, яке є зарезервованим і має дорівнювати 0. Зарезервоване поле включається в поле перевірки достовірності даних.
Порядковий номер. Чотирьохбайтове поле, що містить лічильник, який починається з 0 в разі створення зіставлення безпеки. Перший пакет зіставлення безпеки має порядковий номер 1. Поле «Порядковий номер» забезпечує захист від повтору, оскільки його значення захищає значення перевірки автентичності (ICV). Коли порядковий номер досягає максимального значення (4,294,967,295 або 232 - 1), нові зіставлення безпеки IPsec встановлюються для підтримки порядкового номера від повтору SA. Якщо встановлюються нові зіставлення безпеки IPSec, то порядковий номер для зіставлення безпеки знову починається з 0.
Мал. 2. Структура заголовка ESP
Тема ESP включає в себе наступні поля, причому, основними вважаються тільки перші два:
Порядковий номер. Чотирьохбайтове поле, яке містить той же поле, що і у поля «Порядковий номер» заголовка AH.
Заповнення. Поле змінної довжини (від 0 до 255 байт), яке використовується для заповнення корисних даних відповідної довжини, в залежності від використовуваного алгоритму шифрування, вирівнювання частини ESP пакета по 4 байта або навмисного приховування довжини зашифрованих корисних даних.
Довжина заповнення. Поле, довжиною в один байт, яке задає кількість байтів в поле заповнення.
Наступний заголовок. Однобайтовое поле, яке використовується для визначення наступного заголовка в корисних даних. Дане поле використовує ті ж значення, що і поле «Протокол» заголовка IP.
Перевірка достовірності даних. Поле змінної довжини, яке містить розрахунок ICV відправника, тобто значення HMAC MD5 або HMAC SHA1.
Так як використовується унікальний алгоритм ICV, який узгоджується до відправки даних заголовка ESP і індексу завершення, то кожен спеціальний робочий вузол знає розмір частини даних перевірки автентичності частини індексу завершення ESP і може визначити розташування закінчення ESP-інкапсулювання корисних даних.
компоненти IPSec
Протокол IPSec складається з трьох основних компонентів: служби агента політики IPSec, обміну ключами в Інтернеті, а також драйвера IPSec. Дані компоненти докладно розписані в наступних підрозділах.
Агент політики IPSec
Даний компонент призначений для завантаження відомостей політик IPSec, їх передачі в інші компоненти IPSec, а також для забезпечення роботи служб безпеки яких необхідні дані відомості. По суті, агент політики IPSec являє собою службу, яка розташована на кожному комп'ютері з операційною системою Windows і у відповідній оснащенні, відображається в списку служб як «Служба IPSec». і виконує наступні дії:
- Завантажує призначену політику IPSec з Active Directory в тому випадку, якщо даний комп'ютер є членом домену або, в тому випадку, якщо комп'ютер не є членом домену - з локального системного реєстру;
- Опитує про наявність змін в конфігурації самої політики;
- Відправляє відомості призначеної політики IPSec в драйвер IPSec.
Варто звернути увагу, що якщо комп'ютер є членом домену, то завантаження політики IPSec виконується безпосередньо при завантаженні операційної системи через інтерфейс опитування Winlogon, а також через інтервал, який задається в політиці IPSec.
Служба політики IPSec показана на наступній ілюстрації.
Мал. 3. Принцип роботи агента політики IPSec
Обмін ключами в Інтернеті
Як вже було сказано раніше, перед початком безпечного обміну даними, між двома комп'ютерами має бути усиновлено безпечне підключення. Для створення угоди між двома комп'ютерами існує метод зіставлення безпеки і дозволу обміну ключами, який називається обміном ключами в Інтернеті (Internet Key Exchange, IKE). Даний метод централізує управління зіставленням безпеки, тим самим скорочуючи час підключення, а також створює загальні секретні ключі, які використовуються для захисту і управління даними. Зіставлення безпеки являє собою поєднання узгодженого ключа, протоколу безпеки, а також індексу параметрів безпеки, в сукупності визначають механізми безпеки, які використовуються для захисту даних, що передаються між сторонами з'єднання. Цей процес не тільки захищає обмін даними між двома комп'ютерами, але також захищає і віддалені комп'ютери, які запитують безпечний доступ до внутрішньої мережі організації. Індекс параметра безпеки (Security Parameters Index, SPI) є унікальним визначальним значенням в зіставленні безпеки, яке використовується для декількох зіставлень безпеки на приймаючому комп'ютері.
Для забезпечення успішної та безпечної зв'язку IKE виконує операцію в два етапи. На першому етапі два комп'ютери створюють безпечний канал з перевіркою достовірності, який називається зіставленням безпечного режиму. Під час цього етапу спочатку виконується узгодження політики безпеки основного режиму за допомогою алгоритму шифрування (DES або 3DES), алгоритму перевірки цілісності (MD5 або SHA1), групи Діфі-Хелмана або методу перевірки автентичності (Kerberos, сертифікат або попередній ключ). Після цього на першому етапі здійснюється обмін інформацією, які необхідні алгоритму визначення ключа Діфі-Хелмана для створення загального секретного ключа. Після обміну на кожному комп'ютері створюється основний ключ, який використовується для захисту перевірки автентичності. Останнім кроком на даному етапі є перевірка справжності. У цей момент комп'ютери виконують перевірку справжності при обміні ключами Діфі-Хелмана. Всі відомості облікового запису хешіруются і шифруються за допомогою ключів, створених за результатами обміну відомостями про групу Діфі-Хелмана на попередньому кроці.
На другому етапі обміну ключами в Інтернеті зіставлення безпеки узгоджуються від імені драйвера IPSec. Під час даного етапу виконуються наступні кроки: йде узгодження політики, під час якого комп'ютери IPSec обмінюються такими вимогами до захисту передачі даних, як протокол IPSec, а саме AH або ESP, алгоритм хешування для перевірки автентичності (MD5 або SHA1), а також, якщо запитується, алгоритм шифрування (DES або 3DES). Далі відбувається оновлення або обмін матеріалом для створення ключа сеансу. В цей час IKE оновлює відомості про ключі, після чого відбувається створення нових спільних ключів для перевірки автентичності та шифрування пакетів. І, наостанок, йде процес зіставлення безпеки, після чого ключі передаються в драйвер IPSec разом з SPI.
Даний процес коротко зображений на наступній ілюстрації:
Мал. 4. Процес обміну ключами в Інтернеті
драйвер IPSec
Останній компонент, драйвер IPSec отримує список активних фільтрів від агента політики IPSec, а після чого звіряє всі вхідні і вихідні пакети з фільтрами в поточному списку. У тому випадку, якщо пакет повністю збігається з даними фільтром, то до нього застосовується дія самого фільтра. Якщо ж пакет не відповідає жодному доступному фільтру, то він повертається в драйвер TCP / IP для прийому або передачі без будь-яких змін. Як для обробки вхідного, так і вихідного трафіку застосовуються ключі і зіставлення безпеки швидкого режиму. У свою чергу, драйвер IPSec містить у своїй базі даних всі поточні зіставлення безпеки швидкого режиму і для правильного застосування зіставлень безпеки і пакетів використовує індекс параметрів безпеки.
Після того як узгодження безпеки буде завершено, драйвер IPSec на відправляє комп'ютері приймає від IKE зіставлення безпеки, яке містить ключ сеансу. Потім драйвер IPSec в базі даних знаходить виходить зіставлення безпеки і вставляє індекс параметрів безпеки в заголовок AH або ESP. Після цього він підписує пакети і відправляє їх на рівень IP для пересилки на комп'ютер призначення.
При отриманні IP-пакетів, які вважаються небезпечними, драйвер IPSec завжди їх звіряє зі списком фільтрів, що задає тунелі IPSec, а потім з усіма фільтрами передачі даних між сторонами підключення.
Мал. 5. Принцип роботи драйвера IPSec