Налаштування правил міжмережевого екрану з інтерфейсу командного рядка

NOTE: Ця стаття призначена для досвідчених користувачів.

Ця інструкція описує конфігурацію правил міжмережевого екрану з інтерфейсу командного рядка (CLI) маршрутизатора. У статті детально наведена теорія: 'Як працює міжмережевий екран?'. Інформацію про обмеження налаштування правил міжмережевого екрану з веб-інтерфейсу див. статтю Міжмережевий екран.

CLI надає додаткові можливості для налаштування міжмережевого екрану Keenetic порівняно з веб-інтерфейсом. Детальний опис команд CLI для кожної моделі Keenetic можна знайти в Довідковому посібнику з команд, доступному в Центрі завантаження.

Міжмережевий екран пристрою Keenetic виконує правила фільтрації, записані в списку контролю доступу (ACL) на кожному інтерфейсі, до якого прив’язаний цей список. До одного інтерфейсу можна прив’язати кілька списків.

Наступні команди доступні для налаштування брандмауера:

access-list {ACL_name}надає доступ до керування правилами у вказаному списку доступу. Якщо списку не існує, він буде створений.

no access-list {ACL_name} — видаляє вказаний список доступу, якщо він існує.

До прикладу, для переходу до редагування списку доступа MyList1, використовується наступна команда:

(config)> access-list MyList1
(config-acl)>


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

NOTE: Важливо! Кожне правило може містити фільтр лише для одного з підтримуваних протоколів.

Декілька прикладів правил:

a. Команда, яка вмикає фільтр, щоб пакети TCP із хоста 192.168.1.33 могли передаватись на будь-яку адресу:

(config-acl)> permit tcp 192.168.1.33/32 0.0.0.0/32


b. Команда для заборони пінгування з усіх хостів підмережі 192.168.1.0/24 до будь-якої іншої підмережі:

(config-acl)> deny icmp 192.168.1.0/24 0.0.0.0/32


c. Команда, яка блокує IP-пакети від 192.168.1.0/24 до будь-якого хосту:

(config-acl)> deny ip 192.168.1.0/24 0.0.0.0/32


Команда (permit|deny ip) без вказівки типу протоколу об’єднує протоколи TCP і UDP в одну загальну конфігурацію (ip).

d. Команда, що дозволяє підключитися до веб-інтерфейсу маршрутизатора (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


e. Щоб видалити правило зі списку, вам потрібно повторити команду, яка його встановлює, але з 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


Команда 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 {ACL_name} {direction in|out}.

Пам’ятайте, що інтерфейс також визначає напрямок потоку трафіку для кожного списку, до якого будуть застосовані ці правила. Напрямок визначається відносно інтерфейсу (вхідний напрямок - in — завжди на пристрій, а вихідний - out — з нього). Ця інформація докладно описана в статті Як працює міжмережевий екран?.

Наприклад, прив’яжіть створені правила до зовнішнього інтерфейсу ISP:

(config)> interface ISP
(config-if)> ip access-group MyList1 out
Network::Acl: Output "MyList1" access list added to "ISP".


У вихідному (out) напрямку інтерфейсу ISP (це напрямок від маршрутизатора до мережі цього інтерфейсу) передача будь-якого трафіку на будь-які адреси буде заборонена.

Список правил, подібних до нашого прикладу, може бути корисним, коли вам потрібно заборонити доступ до Інтернету через зовнішній інтерфейс усім хостам у вашій локальній мережі, крім одного. У нашому прикладі доступ і пінг заборонені для всіх хостів на 192.168.1.0, крім хоста з IP-адресою 192.168.1.33.

На інтерфейсах Keenetic застосовуються налаштування рівня доступу (security-level), які визначають логіку роботи мережевого екрану:

— private (локальний);
— public (зовнішній);
— protected (безпечний, локальний).

Схема дозволених і заборонених напрямків даних у маршрутизаторах Keenetic представлена на наступній діаграмі:

Firewall-diagram_en.png

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

Між інтерфейсами private та між private і protected інтерфейсами за замовчуванням заборонено встановлювати з’єднання, але доступ можна дозволити за необхідності. Цей параметр залежить від налаштування параметра isolate-private. Якщо вам потрібно дозволити з’єднання між private інтерфейсами або між private і protected інтерфейсом (тобто не ізолювати доступ), виконайте команду no isolate-private.

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

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

За допомогою команди security-level public|private|protected, ви можете змінювати рівень доступу інтерфейсів маршрутизатора.

Наприклад:

(config)> interface Bridge3
(config-if)> security-level protected
Network::Interface::IP: "Bridge3": security level set to "protected".


Ви можете визначити рівень доступу зазначеного інтерфейсу, виконавши команду show interface {interface_name}.

Наприклад:

(config)> show interface ISP

               id: GigabitEthernet1
            index: 1
             type: GigabitEthernet
      description: Broadband connection
   interface-name: ISP
             link: up
        connected: yes
            state: up
              mtu: 1500
         tx-queue: 2000
          address: 193.0.174.199
             mask: 255.255.255.0
           uptime: 12433
           global: yes
        defaultgw: yes
         priority: 700
   security-level: public
              mac: 50:ff:20:2d:ed:ea
        auth-type: none


Рядок security-level line визначає рівень безпеки, відповідно до якого працює попередньо визначена політика міжмережевого екрану.

NOTE: Важливо! За замовчуванням усім створеним за допомогою командного рядка інтерфейсам призначається рівень доступу public.

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

interface-cli.png

TIP:Примітка

1. Маршрутизатор Keenetic підтримує протоколи IPv6 і IPv4. Для керування міжмережевим екраном IPv6 доступні лише мінімальні налаштування: увімкнути або вимкнути.

Ви может зробити це за допомогою команд ipv6 firewall (увімкнути), та no ipv6 firewall (вимкнути).

За замовчування міжмережевий екран для IPv6 увімкнений.

2. В маршрутизаторах Keenetic є рівень доступу protected.  Цей рівень доступу аналогічний рівню доступу private але без доступу до маршрутизатора.

Тип protected встановлюється для інтерфейсу гостьової мережі Wi-Fi, коли параметр «Доступ до налаштувань інтернет-центру » вимкнено у веб-інтерфейсі на сторінці «Гостьовий сегмент» у розділі «Обмеження для пристроїв сегменту». За замовчуванням доступ до Keenetic заборонено з гостьової мережі. Якщо ви надасьте доступ до налаштувань, цей інтерфейс буде встановлено на  рівень private .

mceclip0.png

3. Якщо вам потрібно застосувати велику кількість правил брандмауера, ви можете налаштувати правила, відредагувавши файл конфігурації  startup-config.txt у будь якому текстовому редакторі. Після збереження змін необхідно завантажити файл назад на пристрій і перезавантажити його. Але редагувати конфігураційний файл слід дуже обережно, оскільки це може призвести до неможливості керування пристроєм, втрати працездатності окремих функцій, некоректного відображення налаштувань у веб-інтерфейсі.

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

 

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

9 з 11 вважають статтю корисною