IPSec, скорочення від Internet Protocol Security, — це набір криптографічних протоколів, які захищають трафік даних через мережі Інтернет-протоколу (IP).
IP-мережі, включаючи Всесвітню павутину, не мають шифрування та захисту конфіденційності. IPSec VPN усуває цю слабкість, забезпечуючи структуру для зашифрованого та приватного спілкування в Інтернеті.
Ось детальніше про IPSec і його роботу з тунелями VPN для захисту даних у незахищених мережах.
Коротка історія IPSec
Коли на початку 80-х розроблявся Інтернет-протокол, безпека не була пріоритетною. Однак, оскільки кількість користувачів Інтернету продовжує зростати, потреба у високому рівні безпеки також зростає.
Щоб задовольнити цю потребу, Агентство національної безпеки спонсорувало розробку протоколів безпеки в середині 80-х років у рамках програми Secure Data Network Systems. Це призвело до розробки протоколу безпеки рівня 3 і, зрештою, протоколу безпеки мережевого рівня. Багато інженерів працювали над цим проектом протягом 90-х років, і IPSec виріс із цих зусиль. Тепер IPSec є стандартом з відкритим кодом і є частиною IPv4.
Як працює IPSec

IPSec працює з VPN-тунелями для встановлення приватних двосторонніх з’єднань між пристроями
Коли два комп’ютери встановлюють VPN- з’єднання , вони повинні узгодити набір протоколів безпеки та алгоритмів шифрування, а також обмінятися криптографічними ключами для розблокування та перегляду зашифрованих даних.
Тут у гру вступає IPSec. IPSec працює з VPN-тунелями для встановлення приватних двосторонніх з’єднань між пристроями. IPSec не є єдиним протоколом; натомість це повний набір протоколів і стандартів, які працюють разом, щоб забезпечити конфіденційність, цілісність і автентичність пакетів даних Інтернету, що проходять через тунель VPN.
Ось як IPSec створює захищений VPN-тунель:
- IPSec перевіряє автентичність даних, щоб забезпечити цілісність пакетів під час передачі.
- IPSec шифрує Інтернет-трафік через VPN-тунелі, тому дані неможливо переглянути.
- IPSec захищає дані від атак повторного відтворення, які можуть призвести до неавторизованого входу.
- IPSec забезпечує безпечний обмін криптографічними ключами між комп’ютерами.
- IPSec забезпечує два режими безпеки: тунельний і транспортний.
IPSec VPN захищає дані, що передаються від хоста до хосту, мережі до мережі, хоста до мережі та шлюзу до шлюзу (називається тунельним режимом, коли весь IP-пакет шифрується й автентифікується).
Протоколи IPSec і допоміжні компоненти
Стандарт IPSec розділений на кілька основних протоколів і допоміжних компонентів.
Основний протокол IPSec
- Заголовок автентифікації IPSec (AH) : Цей протокол захищає IP-адреси комп’ютерів, які беруть участь у процесі обміну даними, щоб гарантувати, що біти даних не будуть втрачені, змінені чи пошкоджені під час процесу передачі. AH також перевіряє, що особа, яка надсилає дані, справді їх надіслала, захищаючи тунель від вторгнення неавторизованих користувачів.
- Encapsulating Security Payload (ESP) : протокол ESP забезпечує частину шифрування IPSec, забезпечуючи безпеку трафіку даних між пристроями. ESP шифрує пакети даних/корисне навантаження, автентифікує корисне навантаження та його джерело в наборі протоколів IPSec. Цей протокол ефективно шифрує інтернет-трафік, так що будь-хто, хто дивиться в тунель, нічого в ньому не бачить.
ESP одночасно шифрує та перевіряє справжність даних, тоді як AH лише перевіряє справжність даних.
Компоненти, що підтримують IPSec
- Асоціації безпеки (SA) : Асоціації та політики безпеки встановлюють різні угоди безпеки, які використовуються в обмінах. Ці угоди можуть визначати тип шифрування та хеш-алгоритм, який буде використовуватися. Ці політики часто гнучкі, дозволяючи пристроям вирішувати, як вони хочуть обробляти речі.
- Обмін ключами в Інтернеті (IKE) : щоб шифрування працювало, комп’ютери, задіяні в обміні приватними повідомленнями, повинні спільно використовувати ключ шифрування. IKE дозволяє двом комп’ютерам безпечно обмінюватися ключами шифрування під час встановлення VPN-з’єднання.
- Алгоритми шифрування та хешування : криптографічні ключі працюють із використанням хеш-значень, згенерованих за допомогою хеш-алгоритму. AH і ESP дуже загальні, вони не вказують конкретний тип кодування. Однак IPsec часто використовує для шифрування Message Digest 5 або Secure Hash Algorithm 1.
- Захист від атак повторного відтворення : IPSec також містить стандарти для запобігання повторному відтворенню будь-яких пакетів даних, які є частиною успішного процесу входу. Цей стандарт запобігає використанню хакерами відтвореної інформації для самостійного копіювання інформації для входу.
IPSec — це повне рішення протоколу VPN, яке також може служити протоколом шифрування в L2TP і IKEv2.
Режими проходження тунелів: Тунель і Транспорт

IPSec надсилає дані в тунельному або транспортному режимі
IPSec надсилає дані в тунельному або транспортному режимі. Ці режими тісно пов’язані з типом використовуваного протоколу, AH або ESP.
- Режим тунелю : у режимі тунелю захищено весь пакет. IPSec загортає пакет даних у новий пакет, шифрує його та додає новий IP-заголовок. Він зазвичай використовується в налаштуваннях VPN типу "сайт-сайт".
- Режим транспортування : у режимі транспортування вихідний IP-заголовок залишається та не шифрується. Зашифровано лише корисне навантаження та трейлер ESP. Транспортний режим зазвичай використовується в налаштуваннях VPN клієнт-сайт.
Для VPN найпоширенішою конфігурацією IPSec, яку ви побачите, є ESP з автентифікацією в режимі тунелю. Ця структура допомагає Інтернет-трафіку безпечно та анонімно переміщатися всередині VPN-тунелю через незахищені мережі.
Отже, яка різниця між тунельним і транспортним режимами в IPsec?
Режим тунелю в IPsec використовується між двома виділеними маршрутизаторами, причому кожен маршрутизатор діє як один кінець віртуального «тунелю» через мережу загального користування. У режимі тунелю початковий IP-заголовок містить кінцевий пункт призначення зашифрованого пакета разом із корисним навантаженням пакета. Щоб дозволити проміжним маршрутизаторам знати, куди пересилати пакети, IPsec додає новий IP-заголовок. На кожному кінці тунелю маршрутизатори декодують IP-заголовки, щоб доставити пакети до місця призначення.
У транспортному режимі корисне навантаження кожного пакета зашифровано, але початковий IP-заголовок – ні. Таким чином, проміжні маршрутизатори можуть бачити кінцеве призначення кожного пакету, якщо не використовується окремий тунельний протокол (наприклад, GRE).
Який порт використовує IPsec?
Мережевий порт — це віртуальне місце, куди надходять дані всередині комп’ютера. Порти — це те, як комп’ютер відстежує різні процеси та з’єднання. Якщо дані надходять на певний порт, операційна система комп’ютера знає, до якого процесу вони належать. IPsec зазвичай використовує порт 500.
Як IPsec впливає на MSS і MTU?
MSS і MTU є двома вимірюваннями розміру пакета. Пакети можуть досягати лише певного розміру (у байтах), перш ніж комп’ютери, маршрутизатори та комутатори не зможуть їх обробити. MSS вимірює розмір корисного навантаження кожного пакета, тоді як MTU вимірює весь пакет, включаючи заголовки. Пакети, які перевищують мережевий MTU, можуть бути фрагментовані, тобто розбиті на менші пакети, а потім знову зібрані. Пакети, які перевищують MSS, просто відкидаються.
Протокол IPsec додає кілька заголовків і трейлерів до пакетів, кожен з яких займає кілька байтів. Для мереж, які використовують IPsec, MSS і MTU необхідно налаштувати відповідно, інакше пакети будуть фрагментованими та з невеликою затримкою. Зазвичай MTU для мережі становить 1500 байт. Звичайний IP-заголовок має 20 байтів, а TCP-заголовок також має 20 байт, тобто кожен пак��т може містити 1460 байт корисного навантаження. Однак IPsec додає заголовок автентифікації, заголовок ESP і відповідні трейлери. Вони додають 50-60 байт до пакета або більше.