Новий принцип міжмережевого екранування


Сучасні засоби захисту інформації досить складні і вимагають від споживача певного набору спеціальних знань. Дана обставина з урахуванням шаленого ритму сучасного життя змушує людей постійно відкладати «на потім» питання, пов'язані з безпекою даних, які практично весь час залишаються без захисту.

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

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

що користувач хоче від міжмережевого екрану?

Спробуємо сформулювати типові уявлення середньостатистичного користувача про міжмережевих екранах.

Зазвичай про міжмережеві екрани знають, що це пристрої, здатні захистити комп'ютер від несанкціонованого доступу і атак з мережі. Іншим загальнопоширеним знанням є те, що міжмережеві екрани очищають мережевий трафік, подібно фільтру, пропускающему легітимний і блокує шкідливий трафік. І, звичайно, при всьому при цьому важливо, щоб, використовуючи міжмережевий екран, він був захищений і міг працювати «як завжди», і йому не треба було б нічого налаштовувати і ні за чим стежити.

Таким чином, з точки зору користувача, міжмережевий екран повинен:

  1. Захищати комп'ютер від несанкціонованого доступу і атак з мережі (блокування шкідливого трафіку).
  2. Дозволяти працювати «як зазвичай» (пропуск легітимного трафіку).
  3. Не вимагати конфігурування та обслуговування.

Аналіз задачі

Як задовольнити дані потреби? Що вважати шкідливим, і що вважати легітимним трафіком? Що значить працювати «як завжди»?

Для початку проаналізуємо типову роботу користувача в корпоративній мережі. Кожен користувач створює на своєму комп'ютері електронні документи, передає їх колегам по електронній пошті, IM-мессенджерами, в системах електронного документообігу і т. д… Частина користувачів працює з серверами корпоративних інформаційних систем, і практично всі користуються корпоративних Інтернет-доступом.

Що поганого може статися з даними користувача в корпоративній мережі?
Їх можуть вкрасти не добропорядні колеги, використовуючи стандартні механізми мережевого доступу (спільний доступ до файлів, системи віддаленого адміністрування і т. д.). Комп'ютер, що містить вразливе програмне забезпечення, може бути атакований по мережі, в результаті чого важливі файли можуть бути знищені або вкрадені, причому атака може проводитися як колегами, так і хакерами або шкідливим ПЗ, що потрапили в корпоративну мережу.

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

Це спостереження дозволяє нам сформулювати схему фільтрації трафіку майбутнього міжмережевого екрану: дозволяти проходження трафіку тільки по з'єднаннях, ініційованим захищеним комп'ютером, і блокувати весь інший трафік.

Для того щоб міжмережевий екран міг зрозуміти, які з'єднання ініціюються захищеним комп'ютером, що в його налаштуваннях можна прописати адреса цього комп'ютера, але це відразу порушує принцип неконфигурируемости пристрою, тому такий варіант не підходить.

Альтернативою буде установка міжмережевого екрану в розрив між захищеним комп'ютером та іншою мережею, тоді бік, ініціює з'єднання, можна буде зіставити порту (мережного інтерфейсу), на який прийшли відповідні мережеві пакети.

Таким чином технічне завдання на пристрій буде звучати так. Міжмережевий екран повинен:

  1. Підключатися в розрив між захищеним комп'ютером та іншою мережею.
  2. Забезпечувати транзит мережевого трафіку тільки по з'єднаннях, ініційованим захищеним комп'ютером. Весь інший трафік повинен бути відкинутий.

Технічне рішення

Розглянемо один з можливих варіантів реалізації технічного завдання.
В нашому випадку це буде апаратний міжмережевий екран, що містить два порти (мережевих інтерфейсу):

  • «Зовнішній порт» – мережний інтерфейс, до якого підключається потенційно ворожа обчислювальна мережа.
  • «Внутрішній порт» – мережний інтерфейс, до якого підключається захистити комп'ютер.

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

З точки зору стека TCP/IP міжмережевий екран такого типу виглядає як некерований комутатор. Його порти, не мають IP і MAC адреси, логічно об'єднані в міст, що працює за алгоритмом IEEE 802.1 D (transparent bridge). Однак, на відміну від звичайного комутатора цей пристрій при прийнятті рішення про транзит мережевого пакету між портами застосовує алгоритм багаторівневої фільтрації, при якому проходження мережевого пакету можливо тільки в разі проходження всіх модулів фільтрації.

Подальший розгляд логіки роботи буде ґрунтуватися на тому, що міжмережевий екран побудований на базі Linux-box і володіє стандартними можливостями роботи зі стеком TCP/IP.

В модулі фільтрації канального рівня (L2) проводяться наступні дії:

  1. Для надійшов пристрій мережевого пакету за алгоритмом IEEE 802.1 D визначаються порти джерела і призначення.
  2. Мережевий пакет, який прийшов з порту, який ми раніше визначили як «Внутрішній порт», позначається як «ВНУТРІШНІЙ».
  3. Мережевий пакет, який прийшов з будь-якого з інтерфейсів і не містить в собі инкапсулированный IP — або ARP — пакет відкидається.
    Примітка. Модуль фільтрації L3 працює тільки з пакетами, що належать стеку TCP/IP. Для усунення можливих витоків мережеві пакети інших стеків відкидаються.
  4. Мережевий пакет передається на модуль фільтрації мережевого рівня (L3).
  5. Якщо мережевий пакет повернувся з модуля фільтрації мережевого рівня (L3), то він передається в порт призначення і залишає міжмережевий екран.
Модуль фільтрації мережевого рівня (L3) виконує наступні дії:

  1. На постійній основі веде таблицю активних мережних з'єднань, де для кожного з'єднання фіксується інформація про кінцевих точках (адреси, порти тощо), а також стани, що описують різні етапи життєвого циклу сполук «нове з'єднання», «встановлене з'єднання» та ін. (більш докладно про відстеження стану з'єднань в Linux можна подивитися тут).
    Для усвідомлення подальшого алгоритму важливо зрозуміти, що як тільки яка-небудь сторона надіслала запит на з'єднання, то стан записується як «нове з'єднання». Після того, як сторона, що отримала запит, посилає пакет у відповідь, стан з'єднання приймає значення «встановлене з'єднання».
  2. Повертає на модуль фільтрації канального рівня (L2) мережеві пакети, що задовольняють наступним вимогам:

    • мережевий пакет належить встановленим з'єднанню;
    • мережевий пакет має маркування «ВНУТРІШНІЙ».


  3. Всі інші пакети відкидаються.
Як ми бачимо, розглянутий алгоритм фільтрації не прив'язаний до мережевих адрес чи портів, а оперує лише напрямком трафіку і станом з'єднання, що дозволяє використовувати пристрій без конфігурування в IP-мережі з будь-адресацією.

Перші досліди і труднощі

Зібравши пристрій, що реалізує наведений алгоритм, отримали два результату: перший, і головний, що даний підхід працює; другий, не менш важливий, що недосвідчений користувач не зможе користуватися подібним пристроєм, оскільки були не доступні багато базові мережеві протоколи (DHCP, NetBIOS NS, WS-Discovery і ін), які використовують широкомовні адреси. Можливі два варіанти вирішення цієї проблеми:

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

Тому було вирішено не блокувати широкомовний трафік. Попутно був дозволений і трафік з груповою адресацією (multicast), оскільки даний тип трафіку також широко використовується, наприклад, в ОС Windows для виявлення конфліктів IP-адрес.

Захист підмережі

Враховуючи те, що міжмережевий екран не прив'язаний до конкретних мережевих адрес та портів, стало цікаво, чи можна за допомогою такого пристрою захистити підмережа. Для цього була зібрана наступна конфігурація:


Виявилося, що подібна схема працює. Міжмережевий екран захистив обидва комп'ютера від зв'язків із зовнішньої мережі. Після цього було вирішено спробувати зібрати міжмережевий екран, у якого кілька портів, віднесених до «внутрішніх портів».


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

Захист в бездротових мережах (WiFi)

В бездротових мережах в загальному випадку неможливо встановити міжмережевий екран розрив між двома вузлами, оскільки загальний радіоефір дозволять вузлам мережі звертатися один до одного безпосередньо. Інший нюанс в тому, що неможливо створити пристрій, який би взагалі не вимагало конфігурування при підключенні до безпроводової мережі, оскільки в зоні знаходження може перебувати кілька бездротових мереж, і в загальному випадку невідомо, яка саме потрібна користувачу.

Тому початковий принцип неконфигурируемости пристрою був скасований, і в експериментальний зразок була додана можливість налаштування бездротової мережі. З точки зору структури пристрою зміни вийшли досить невеликими, провідний інтерфейс, який раніше позначався як «Зовнішній порт», був замінений на бездротової інтерфейс, і в результаті вийшла наступна схема.


В іншому функціонування екрану і його захисні функції залишилися без змін.

Дослідна експлуатація

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

Після року дослідної експлуатації було встановлено, що практично всі типові офісні програми: MS Office, 1C: Підприємство, браузери, IM-месенджер, VoIP, електронна пошта, системи відеоспостереження і навіть ігри працюють через пристрій, що реалізує розглянутий принцип фільтрації, без проблем. Виняток склали ряд програм, що мають нестандартну систему захисту від копіювання ліцензійного, при якій сервер ліцензій вимагає підключення до захищеного комп'ютера.

Висновки

Наведений у статті принцип міжмережевого екранування дозволяє вирішити поставлені на початку статті завдання. Пристрій, побудований за цим принципом, не вимагає установки і може бути впроваджено некваліфікованим користувачем за лічені секунди. За рахунок того, що порти пристрою не мають мережевих адрес, пристрій «невидимо» (stealth) для решти мережі і не може бути віддалено деактивовано.

Безумовно наведений принцип міжмережевого екранування не є панацеєю від всіх атак, але в той же час він забезпечує базовий рівень безпеки, який тим або іншим чином має бути досягнуто практично в будь-яких сценаріїв. У той же час даний принцип мало застосуємо для захисту серверів та інших вузлів мережі, які потребують забезпечення вхідних підключень, але дані завдання виходять за рамки діяльності звичайних користувачів.

За великим рахунком наведений принцип міжмережевого екранування може бути реалізований
не тільки апаратно, але і у вигляді програмного брандмауера або навіть віртуальної машини.
Демо-відео до статті (RuTube)
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.