Налаштування фільтрації трафіку на mikrotik

"Мережева безпека буває хай і нехай".
Фраза, знайдена в мережі Інтернет

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

Особливості роботи файрвола

Для базового розуміння роботи файрвола, необхідно ознайомитися з поняттями ланцюжка (chain), стану з'єднання (connection state), умови та дії (action).

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

  • input вхідний трафік призначений для маршрутизатора. Наприклад, коли ви підключаєтеся до маршрутизатора за допомогою додатка winbox, трафік як раз потрапляє в цей ланцюжок.
  • output Вихідний трафік. Трафік, що створюється самим маршрутизатором. Наприклад, якщо ви виконаєте команду ping безпосередньо з самого маршрутизатора, трафік потрапить в цей ланцюжок.
  • forward Трафік, що йде через маршрутизатор. Наприклад, якщо комп'ютер з локальної мережі, встановив з'єднання з зовнішнім сайтом, даний трафік потрапляє в ланцюжок forward.

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

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

Стан з'єднання (connection state)

Кожне з мережевих з'єднань MikroTik відносить до одного з 4 станів:

  • New - Нове з'єднання. Пакет, що відкриває нове з'єднання, ніяк не пов'язане з уже наявними мережевими з'єднаннями, що обробляються в даний момент маршрутизатором.
  • Established - Існуюче з'єднання. Пакет відноситься у вже встановленому з'єднанню, що обробляється в даний момент маршрутизатором.
  • Related - Пов'язане з'єднання. Пакет, який пов'язаний з існуючим з'єднанням, але не є його частиною. Наприклад, пакет, який починає з'єднання передачі даних в FTP-сесії (він буде пов'язаний з керуючим з'єднанням FTP), або пакет ICMP, що містить помилку, що відправляється у відповідь на іншу сполуку.
  • Invalid - Маршрутизатор не може співвіднести пакет ні з одним з перерахованих вище станів сполуки.

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

  1. Обробляти нові сполуки (connection state = new), приймаючи рішення про пропуск або блокування трафіку.
  2. Завжди пропускати з'єднання в стані established і related, так як рішення про пропуск цього трафіку було прийнято на етапі обробки нового з'єднання.
  3. Завжди блокувати трафік, для якого стан з'єднання одно invalid, тому що цей трафік не відноситься ні до одного із з'єднань і фактично є паразитних.

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

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

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

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

Не можу сказати, що якась із стратегій є правильною, а якась неправильною. Обидві стратегії мають право на життя, але кожна - в певних умовах.

Тепер докладніше розпишемо всі варіанти умов, на підставі яких ми можемо приймати рішення про дії.