Опис роботи з міжмережевим екраном

Розкажіть про роботу міжмережевого екрану в інтернет-центрах Keenetic. Які функції він виконує, які завдання можна вирішити з його допомогою?


Міжмережевий екран (Firewall, брендмауер) призначений для захисту пристроїв локальної мережі від атак ззовні. За замовчуванням всі комп'ютери домашньої мережі приховані від користувачів Інтернету вбудованим міжмережевим екраном і транслятором адрес NAT.
Механізм трансляції мережевих адрес NAT маскує адреси комп'ютерів локальної мережі за єдиною адресою зовнішнього інтерфейсу, і працює безпосередньо з вмістом кадрів, підміняючи адреси джерела і призначення.
Міжмережевий екран діє на трафік вже після трансляції адрес і маршрутизації, і здійснює контроль і фільтрацію трафіку, відповідно до заданих правил на основі IP-адрес.
Вбудований брандмауер інтернет-центру дозволяє встановлювати з'єднання з домашніх інтерфейсів (LAN) мережі в публічні (WAN), і забороняє в зворотню сторону. Призначеними для користувача налаштуваннями можна змінювати параметри безпеки: дозволяти або, навпаки, забороняти доступ до конкретних хостів або сервісів мережі.
 
У попередньо встановлених налаштуваннях за замовчуванням публічним (зовнішнім, public) є інтерфейс, призначений для з'єднання з зовнішніми мережами або для доступу в Інтернет. Наприклад, такими інтерфейсами є:
- підключення по виділеній лінії Ethernet;
- бездротове підключення через USB-модем мобільного Інтернету 3G / 4G / LTE;
- підключення з авторизацією на основі протоколів PPPoE / PPTP / L2TP.
Домашніми (локальними, private) є інтерфейси домашньої мережі (клієнти підключені до інтернет-центру по Ethernet і по Wi-Fi) і гостьової бездротової мережі.
За замовчуванням Keenetic приймає мережеві підключення тільки з локальних інтерфейсів. З домашніх інтерфейсів дозволено встановлювати з'єднання в публічні інтерфейси, і на сам пристрій для керування і доступу до сервісів, які включені на інтернет-центрі (FTP, Transmission, мережеве використання USB-накопичувачів і т.п.). Для клієнтів гостьовій мережі закритий доступ для керування інтернет-центром і до його сервісів.
Між локальними інтерфейсами встановлювати з'єднання заборонено за замовчуванням, але при необхідності, доступ можна дозволити.
З публічних інтерфейсів заборонено встановлювати з'єднання на будь-які інші інтерфейси, а також на сам пристрій.
Увага! За замовчуванням доступ до керування інтернет-центром (до веб-конфігуратору) із зовнішньої мережі заблокований.
 
1. Як реалізований міжмережевий екран?
 
Спрощено, міжмережевий екран можна уявити як набір попередньо налаштованих і призначених для користувача фільтрів, причому, правила, налаштовані користувачем, мають більш високий пріоритет виконання.
 
Міжмережевий екран оперує наступними налаштуваннями:
- IP-параметри (основні критерії правил фільтрації): IP-адреса / Підмережа, Протокол, Номер порту;
- дії цих правил (Заборонити або Дозволити) на пакети мережевого трафіку;
- прив'язка правил до конкретного інтерфейсу.
 
Призначена для користувача частина міжмережевого екрану Keenetic виконує правила фільтрації, створені для конкретного інтерфейсу. При створенні правила міжмережевого екрану дуже важливо вірно визначити інтерфейс, для якого воно буде створено. Справа в тому, що в прив'язці правил до інтерфейсу також задається напрям потоку трафіку, до якого чинні правила будуть застосовані. Правила можуть виконуватися для вхідного або вихідного потоку WAN- або LAN-інтерфейсу.
Вхідне напрямок (in) - завжди до пристрою, що виходить (out) - від нього.
Щодо інтерфейсу, напрямок потоку визначається як:
- входить (in) для трафіку з зовнішньої мережі в локальну на WAN-порту, для LAN-інтерфейсів цей напрям виходить (out);
- потік з локальної мережі в зовнішню для WAN-інтерфейсів є вихідним (out), а для інтерфейсів LAN вхідним (in).
Згідно з наведеної схемою, пакет, що входить з зовнішньої мережі в локальну на WAN-інтерфейсі - це вхідний напрямок для правила мережевого екрану, але на LAN-інтерфейсі правило для контролю цього трафіку - вже вихідне (out).
 
Важливо! В інтернет-центрах серії Keenetic правила міжмережевого екрану діють не «по-пакетно», а в рамках сесії (з'єднання). Тому при блокуванні доступу куди-небудь потрібно забороняти проходження пакетів з боку ініціатора запиту, а не відповіді на ці запити.
Наприклад, для заборони доступу по протоколу HTTP з локальних хостів на зовнішню адресу 77.88.99.10 потрібно створити одне правило на локальному інтерфейсі LAN, тому що ініціатор установки сесії (вхідний трафік) знаходиться в локальній мережі.
Також варто відзначити, що в разі коли сесія вже встановлена, а ПІСЛЯ цього застосоване налаштування правила міжмережевого екрану, що стосується трафіку в цій сесії, то цю, вже існуючу сесію, міжмережевий екран не контролюватиме. Правило почне діяти після розриву поточної сесії - примусового або після закінчення часу життя сесії.
Для коректної роботи новоствореного правила (для скидання поточних / активних сполук), інтерфейс інтернет-центру, до якого воно застосовується, слід вимкнути і увімкнути знову.
У пристроях професійного класу (таких як апаратні шлюзи доступу корпоративного застосування), міжмережевий екран має ширші можливості, в тому числі і скиданням поточних / активних з'еднань при зміні правила мережевого екрану.
 
2. Налаштування правил міжмережевого екрану
 
Правила міжмережевого екрану виконуються в порядку їх зазначення за списком: перше верхнє і далі вниз. Для будь-якого правила (точніше, для їх групи або списку керування доступом) повинен бути визначений інтерфейс, на якому вони будуть виконуватися.
 
У кожному з правил повинні бути вказані:
- мережі джерела трафіку і його призначення (IP-адреси хостів або підмереж);
- протокол, для якого діятиме настройка (TCP, UDP, ICMP);
- для протоколів TCP і UDP обов'язково повинен бути вказаний номер порту;
- дія, яку потрібно виконати над пакетом: Заборонити (deny) або Дозволити (permit).
 
Увага! У Keenetic правила міжмережевого екрану обробляються після правил Трансляції мережевих адрес (NAT). Тому при створенні правил мережевого екрану необхідно вказувати IP-адресу хоста вже після трансляції адрес.
 
2.1. Налаштування правил через веб-конфігуратор
 
Веб-інтерфейс інтернет-центру пропонує найбільш зручний спосіб керування правилами міжмережевого екрану. Але він має обмеження: створені через веб-конфігуратор правила застосовуються тільки до вхідного (in) напрямку, налаштувати вихідний (out) напрямок неможливо! Через інтерфейс командного рядка (CLI) інтернет-центру можливо створювати правила для будь-якого напрямку.
 
Налаштування правил міжмережевого екрану провдщится у розділі Безпека на вкладинці Міжмережевий екран.
 
Для налаштування правил слід вибрати інтерфейс, на вхідному напрямку якого ці правила будуть застосовуватися. Для керування правилами зі списку є можливість копіювати їх в список іншого інтерфейсу, переміщувати вгору і вниз по списку (змінювати послідовність виконання) і видаляти.
При натисканні кнопки Видалити всі правила з конфігурації буде повністю вилучений список правил, що відповідає чинному інтерфейсу. 
 
При додаванні або редагуванні правила у вікні наслаштування вибирається дія - Дозволити проходження трафіку або Заборонити, і далі вказуються критерії-умови, при збігу яких ці дії будуть виконуватися.
 
Звертаємо вашу увагу на такі особливості:
- правила слід створювати для інтерфейсу, на якому трафік, що фільтрується, є таким, який ініціює сесію;
- при створенні відсіювачих  фільтрів, правила які дозволяють (permit) повинні розташовуватися вище заборонячих правил(deny);
- при налаштуванні правил можна використовувати тільки IP-адреси (в адресі джерела або призначення не можна використовувати доменні імена). Діапазони адрес потрібно вказувати за допомогою масок. Якщо необхідно створити фільтр для різних діапазонів мереж, то буде потрібно створити кілька правил для кожного діапазону.
 
На скріншоті нижче показаний приклад правила на зовнішньому інтерфейсі (WAN), що дозволяє керування інтернет-центром по протоколу HTTP з Інтернету.
 
2.2. Винятки в роботі міжмережевого екрану
 
Деякі додатки (сервіси), що доступні в інтернет-центрах серії Keenetic, самостійно змінюють політики безпеки для своєї роботи. До них відносяться, наприклад, Сервер VPN, FTP, налаштування перекидання  портів в NAT з зовнішнього інтерфейсу на комп'ютер в локальній мережі або служба UPnP (механізм автоматичного відкриття портів на хости в локальній мережі). З боку користувача при їх використанні не потрібно ніяких додаткових налаштувань, потрібні дозволи додаються автоматично (наприклад, під час налаштування перекидання портів в NAT, створення додаткових правил в межсетевом екрані не потрібно, дозволи для доступу створюються автоматично).
Але при необхідності за допомогою призначених для користувача правил можна обмежити трафік, який надходить через автоматично відкриті напрямки, залишивши тільки необхідний. Загальна логіка настройки таких обмежень - «дозволивши потрібне, заборонимо все інше».
Наприклад, увімкнений сервер VPN відкриває вхідний порт tcp / 1 723 на кожному з активних інтерфейсів пристрою. Якщо потрібно обмежити можливість підключення для звернень з певних адрес в мережі Інтернет, на зовнішньому інтерфейсі слід створити правила, які дозволяють проходження протоколу TCP на порт призначення 1723 від необхідних адрес-джерел, а потім - що забороняє протокол TCP на порт 1723 від будь-яких інших вузлів.
Обмежимо на зовнішньому інтерфейсі ISP цю можливість лише для адреси 9.20.165.170.
Для цього, створимо через веб-інтерфейс спочатку правило, що дозволяє для вхідного трафіку з адресою джерела 9.20.165.170 на порт tcp / 1723.
Наступним правилом, заборонимо будь-які інші звернення на порт 1723 на цьому інтерфейсі.
Ці два прості правила забороняють будь-які PPTP-підключення на інтерфейсі ISP, крім як з адреси 9.20.165.170.
 
2.3. Чинний розділ призначений тільки для досвідчених користувачів!
Налаштування правил брандмауера з інтерфейсу командного рядка (CLI) інтернет-центру
 
CLI надає більш розширені і гнучкі можливості налаштування міжмережвого екрану Keenetic, в порівнянні з можливостями веб-конфігуратора. Детальний опис команд інтерфейсу CLI для кожної моделі Keenetic можна знайти в Довіднику команд, який розміщений на сайті в розділі Файли для завантаження.
 
Міжмережевий екран інтернет-центру Keenetic виконує правила фільтрації, записані в список правил доступу (Access Control List, access-list), на кожному інтерфейсі, до якого прив'язаний цей список. До одного інтерфейсу може бути прив'язане кілька списків.
 
Для налаштування міжмережевого екрану доступні наступні команди:
access-list {Ім'я_списку_правил} - здійснює перехід до керування правилами в зазначеному списку доступу. Якщо списку не існує, він буде створений.
no access-list {Ім'я_списку_правил} - видаляє вказаний список, якщо він існує.
Наприклад, для переходу до редагування списку MyList1 використовується команда:
(Config)> access-list MyList1
(Config-acl)>
 
Після створення списку доступу можна приступати до створення його правил. Для цього використовуються команди deny і permit, відповідні до правил фільтрації, що забороняють і дозволяють. Формат цих команд однаковий і приведений в Довіднику команд.
Важливо! Кожне правило може містити фільтр тільки для одного з підтримуваних протоколів.
 
Далі наведемо приклади деяких правил:
 
а. Команда, що вмикає фільтр, щоб дозволити надсилання TCP-пакетів з хосту 192.168.1.33 на будь-які адреси:
(Config-acl)> permit tcp 192.168.1.33/32 0.0.0.0/32
ACL rule added
 
б. Команда для заборони пінга з усіх хостів підмережі 192.168.1.0/24 в будь-яку іншу підмережу:
(Config-acl)> deny icmp 192.168.1.0/24 0.0.0.0/32
ACL rule added
 
в. Команда, що викає фільтр для заборони передачі IP-пакетів з підмережі 192.168.1.0/24 на будь-які вузли:
(Config-acl)> deny ip 192.168.1.0/24 0.0.0.0/32
ACL rule added
 
Звертаємо вашу увагу, що команда (permit | deny ip) без вказівки типу протоколу доступна тільки для версій мікропрограм V2.06 і вище. Вона об'єднує протоколи TCP і UDP в одне загальне налаштування (ip).
Для версій нижче V2.06 необхідно вказувати правила для TCP і UDP окремо. Наприклад: deny tcp 192.168.1.0/24 0.0.0.0/32 і deny udp 192.168.1.0/24 0.0.0.0/32
 
г. Команда для дозволу підключення до веб-конфігуратору інтернет-центру (192.168.1.1) по протоколу HTTP (tcp порт 80) з будь-яких хостів з Інтернету:
(Config-acl)> permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80
ACL rule added
 
д. Щоб видалити правило зі списку, потрібно повторити команду, яка його створила, але перед нею вказати no
наприклад:
(Config-acl)> no permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80
ACL rule deleted
 
Для виходу з редагування списку доступу використовується команда exit
 
Сформований список правил, за допомогою наведених вище команд, в файлі конфігурації інтернет-центру буде виглядати наступним чином:
access-list MyList1
     permit tcp 192.168.1.33/32 0.0.0.0/32
     deny icmp 192.168.1.0/24 0.0.0.0/32
     deny ip 192.168.1.0/24 0.0.0.0/32
 
Підготувавши список правил доступу, потрібно виконати його прив'язку до необхідного інтерфейсу пристрою. Для цього служить команда ip access-group {Ім'я_Списку_Доступу} {напрямок in | out} в налаштуваннях кожного інтерфейсу.
 
Нагадуємо, що для кожного списку на інтерфейсі також задається напрямок потоку трафіку, до якого чинні правила будуть застосовані. Напрямок визначається щодо інтерфейсу (вхідний напрямок in - завжди до пристрою, а вихідний out - від нього). Ця інформація детально була розглянута в пункті 1 «Як реалізований міжмережевий екран?» цієї інструкції.
 
Наприклад, прив'яжемо створені правила до зовнішнього інтерфейсу ISP:
(Config)> interface ISP
(Config-if)> ip access-group MyList1 out
access group applied
У вихідному (out) напрямку інтерфейсу ISP (цей напрямок від інтернет-центру в мережу чинного інтерфейсу) буде заборонена передача будь-якого трафіку на будь-які адреси.
Список правил, подібний до нашого прикладу, може бути корисним, коли потрібно заборонити доступ в Інтернет через зовнішній інтерфейс всім хостам локальної мережі, крім одного. У нашому прикладі доступ і пінг заборонений всім хостам підмережі 192.168.1.0, крім хоста з IP-адресою 192.168.1.33.
 
На інтерфейсах інтернет-центру передбачені налаштування рівня доступу (security-level), які визначають рівень безпеки (логіку роботи мережевого екрану).
Для версії прошивки V2.06 їх три:
 - private (приватний, локальний);
 - public (зовнішній, публічний);
 - protected (захищений, локальний).
Рівень protected доступний тільки у версії V2.06, а private і public є у всіх версіях.
 
Схему дозволених та заборонених напрямків передачі даних в інтернет-центрі серії Keenetic можна представити наступною діаграмою:
Firewall-diagram.png
За замовчуванням Keenetic приймає мережеві підключення тільки з інтерфейсів private. Інтерфейсам типу private дозволено встановлювати з'єднання в інтерфейси public, і на сам пристрій для керування і доступу до сервісів, що працюють на інтернет-центрі. Для інтерфейсу гостьової мережі  доступ для керування інтернет-центром і до його сервісів закритий.
Між інтерфейсами private та з private в protected встановлювати з'єднання заборонено за замовчуванням, але при необхідності, доступ можна дозволити. Чинне налаштування залежить від встановлення параметра isolate-private. Якщо Вам потрібно дозволити з'єднання між інтерфейсами типу private (тобто не ізолювати доступ), для цього виконайте команду no isolate-private
 
З інтерфейсів типу public заборонено встановлювати з'єднання на будь-які інтерфейси, в тому числі на інші інтерфейси типу public, а також на сам пристрій.
 
З інтерфейсів типу protected дозволено встановлювати з'єднання лише на інтерфейси public. Доступ заборонений до пристроїв інтерфейсів private і інших protected, а також до керування пристроєм.
 
За допомогою команди security-level public | private | protected можна керувати рівнями доступу на інтерфейсах інтернет-центру.
наприклад:
(Config)> interface Bridge3
(Config-if)> security-level protected
Interface set as protected
 
Визначити діючий для інтерфейсу рівень безпеки, а також локальний це інтерфейс або публічний, можна за результатами виконання команди show interface {Ім'я_Інтерфейсу}, яка відображає дані зазначеного інтерфейсу.
Наприклад:
(config)> show interface ISP
 
           id: GigabitEthernet1
       index: 1
          type: GigabitEthernet
      description: Broadband connection
           link: up
        connected: yes
           state: up
           mtu: 1500
          tx-queue: 1000
          address: 192.168.128.35
          mask: 255.255.255.0
          uptime: 41701
          global: yes
      defaultgw: no
          priority: 700
          security-level: public
          mac: 58:8b:f3:65:85:ed
          auth-type: none
 
В рядку security-level вказано рівень безпеки, відповідно до якого працює  попреденьо налаштована політика міжмережвого екрану.
 
Важливо! За замовчуванням всім новоствореним через командний рядок інтерфейсам присвоюється рівень безпеки public.
 
Список назв інтерфейсів пристрою і їх системні ідентифікатори можна знайти наступним чином: впишіть команду show interface і потім натисніть клавішу TAB на клавіатурі. На екран буде виведено список всіх наявних на поточний момент інтерфейсів пристрою, включаючи встановлені службові.
 

Примітка
 
1. Інтернет-центир серії Keenetic під керуванням ОС NDMS V2 підтримують роботу з протоколами IPv6 і IPv4. Для керування фаєрволом IPv6 передбачені тільки мінімальні налаштування: увімкнути або вимкнути.
Зробити це можна через CLI: ipv6 firewall (увімкнути) і no ipv6 firewall (вимкнути).
За замовчуванням міжмережевий екран для протоколу IPv6 увімкнений.
 
2. В інтернет-центрах Keenetic з мікропрограмою NDMS V2.06 присутній рівень доступу protected. Чинний рівень доступу є аналогом рівня private, але без доступу до інтернет-центру.
Тип protected встановлюється для інтерфейсу гостьової мережі Wi-Fi, якщо в веб-інтерфейсі в меню Домашня мережа> Сегменти в налаштуваннях інтерфейсу GuestWiFi прибрати галочку в полі Дозволити доступ до інтернет-центру. За замовчуванням доступ з гостьової мережі до інтернет-центру дозволений і для чинного інтерфейсу встановлено рівень private.
 
3. Інформація для досвідчених користувачів!
У разі коли необхідно застосувати велику кількість правил міжмережевого екрану, можна виконувати налаштування правил шляхом редагування файлу конфігурації інтернет-центру startup-config.txt за допомогою будь-якого текстового редактора. Після збереження змін потрібно завантажити файл на пристрій і перезавантажити його. Але редагувати файл конфігурації слід вкрай обережно, тому що це може привести до втрати керування пристроєм, втрати працездатності окремих функцій, некоректного відображення налаштувань в веб-інтерфейсі.
Якщо ваш пристрій після завантаження відредагованого файлу конфігурації перестав коректно працювати, радимо скинути призначені для користувача налаштування кнопкою СБРОС(СКИДАННЯ) і налаштувати інтернет-центр заново стандартними методами: за допомогою майстра швидкого налаштування, через веб-інтерфейс або командний рядок, або завантажити заздалегідь робочий резервний конфігураційний файл.
 
4. Правила міжмережевого екрану, налаштовані через веб-інтерфейс, записуються в файлі конфігурації інтернет-центру в списках доступу з іменами виду: _WEBADMIN_ {Ім'я_Інтерфейсу}
Наприклад, для інтерфейсу домашньої мережі: _WEBADMIN_Home
Не рекомендується переналаштовувати такі списки за допомогою команд CLI, натомість при необхідності виконати додаткові налаштування слід створювати списки доступу з унікальними іменами.
 
5. Різні приклади використання правил брандмауера представлені в статті: «Використання правил міжмережевого екрану»
Приклад налаштування правил міжмережевого екрану, в яких використовується діапазон IP-адрес або портів, представлений в статті: «Налаштування правил міжмержевого екрану, в яких використвується діапазон IP-адрес або портів»

 

KB-4937

Чи була ця стаття корисною?

27 з 33 вважають статтю корисною