Підвищення безпеки й стабільності роутерів за допомогою прошивки OpenWRT
Вступ
У зв’язку з переходом на віддалену роботу в епоху карантину корпоративні ризики інформаційної безпеки змінили свою структуру. Наприклад, підвищилися ризики соціальної інженерії та фішингу, про захист від яких ми писали раніше, як тільки почався карантин у березні 2020 року.
Одним із найслабших місць в ІТ-безпеці виявилися домашні роутери (маршрутизатори й точки доступу). Згідно оцінкам Symantec, до 75% атак в IoT виконуються зараженими роутерами. Уразливості в них виявляються й виправляються набагато рідше, ніж в корпоративному мережевому обладнанні. Виробники дешевого мережевого обладнання не приділяють достатньо уваги його безпеці.
Оскільки співробітники організацій просто переносять всю свою роботу й усі конфіденційні дані на домашні комп’ютери, ціна питання при компрометації домашнього пристрою сильно зросла. Один із прогнозів найкритичніших загроз інформаційної безпеки на 2022 рік – це ймовірні витоки медичних даних із домашніх комп’ютерів лікарів та інших медпрацівників. Критично важливі персональні дані, фінансова інформація, комерційна таємниця, конфіденційні вихідні коди – все це зараз масово обробляється вдома.
Навіть якщо користувачі працюють вдома на захищених, централізовано керованих корпоративних ноутбуках або десктопах, ці комп’ютери в домашній обстановці часто позбавлені корпоративного захисту у вигляді NIPS, UTM, моніторингу подій, управління латками безпеки в мережевому обладнанні та інших корпоративних мережевих сервісів безпеки.
У той самий час, заміна домашніх роутерів на більш захищені пристрої пов’язана із зайвими витратами та інвестиціями. Усвідомлюючи соціальну місію із забезпечення безпеки корпоративних і домашніх користувачів у звичайних домашніх середовищах, ми пропонуємо підхід до підвищення безпеки й стабільності невеликих маршрутизаторів, що використовуються в дрібному бізнесі й вдома, за допомогою прошивки OpenWRT.
Що таке OpenWRT, і як це може підвищити безпеку?
Як ви скоріш за все знаєте, ваш роутер – це маленький комп’ютер. Він має програмне забезпечення, так звану “прошивку” або “firmware”. Прошивку розробляє виробник роутера. Однак існують також альтернативні рішення – проекти з відкритим вихідним кодом: OpenWRT, DD-WRT, Tomato.
Що нам дає використання OpenWRT?
- Оновлення (безпека й нові фішки) випускаються в рази частіше, й підтримка зберігається в рази довше, ніж у більшості виробників. Особливо актуально це стало в умовах карантину. Вразлива “прошивка” роутера – одна з найчастіших причин інцидентів при віддаленій роботі.
- “Рідні” прошивки бувають нестабільними, особливо у дешевих роутерів. Наприклад, багато моделей TP-Link зависали після кількох днів безперервної роботи.
- Ви звикаєте до одного інтерфейсу користувача й при подальшій зміні/апгрейде роутера, навіть від іншого виробника, відчуваєте себе “як вдома”.
- Вам не обов’язково купувати дорогий роутер для реалізації просунутих “фішок”, таких як IPv6, батьківський контроль, блокування реклами, VPN, гостьовий WiFi, шифрування DNS, динамічний DNS (DDNS) тощо.
- Є активна спільнота, яка допоможе оперативніше, ніж навіть підтримка великого виробника, та й багато рішень проблем вже описано.
- Переваги відкритого рішення на базі Linux: можливість підключатися через SSH, автоматизувати й керувати роутером за допомогою скриптів, налаштування зберігаються в текстових файлах (автоматизація, контроль версій), можна використовувати роутер для інших завдань (розумний будинок, сервер SFTP/Web, закачування торрентів тощо).
Детальніше ці та інші переваги описані на сайті проекту.
Ця стаття допоможе вам налаштувати базові функції OpenWRT. Завдяки цьому ви зможете швидко й безболісно перейти на це рішення. Ось перелік цих функцій:
- Встановити пароль користувача root.
- Обмежити доступ по SSH тільки для інтерфейсу LAN.
- Налаштувати підключення PPPoE по WAN.
- Налаштувати WiFi.
- Додати гостьовий WiFi (без доступу в локальну мережу).
- Налаштувати динамічний DNS NoIP.
- Налаштувати переадресацію портів (port forwarding).
- Зберегти конфігурацію в архівний файл.
Пункти 6 і 7 потрібні, наприклад, для того, щоб підключатися з Інтернету до домашнього комп’ютера по SSH або SFTP (наприклад, для синхронізації файлів із ноутбуком), а також для прямого підключення по Anydesk, яке працює швидше, ніж звичайне.
Процес “перепрошивки” на OpenWRT залежить від моделі вашого роутера. Слід знайти його в списку пристроїв, що підтримуються і дотримуватися наведених там рекомендацій.
Налаштування можна робити за допомогою SSH-підключення та скриптів. Ми розглянемо веб-інтерфейс (який називається LuCI) як більш наочний і стійкий до змін варіант.
1. Встановити пароль користувача root.
Перейти до меню System > Administration.
2. Обмежити доступ через SSH тільки для інтерфейсу LAN.
Перейти до меню System > Administration > SSH Access.
Interface = lan
Після цього кроку є сенс зробити Logout і війти знову, щоб прибрати попередження у верхній частині екрану.
3. Налаштувати підключення PPPoE через WAN.
Перейти до меню Network > Interfaces.
Натиснути кнопку “Edit” в рядку “WAN”.
Protocol = PPPoE + натисніть кнопку "Switch protocol"
PAP/CHAP username = ваш_логін_у_провайдера
PAP/CHAP password = ваш_пароль_у_провайдера
4. Налаштувати WiFi.
Перейти до меню Network > Wireless.
4.1 Натиснути на кнопку “Edit” під “radio0 802.11nac”.
Channel = Auto
ESSID = і'мя_вашого_wifi_5GHz
Перейти до вкладки Wireless Security.
Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашого_wifi_5GHz
4.2 Натиснути на кнопку “Edit” під “radio1 802.11bgn”.
Channel = Auto
ESSID = і'мя_вашого_wifi_2.4GHz
Перейти до вкладки Wireless Security.
Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашого_wifi_2.4GHz
Натиснути кнопки “Enable” (зліва від “Edit”) на обох підключених.
5. Додати гостьовий WiFi.
Взято звідси, плюс стиснуто й оновлено під новий інтерфейс.
Робимо для 2.4 ГГц. Аналогічно можна зробити й для 5ГГц.
5.1 Перейти до меню Network > Wireless.
5.1.1 Натиснути кнопку “Add” в “radio1 802.11bgn”.
Channel = Auto
ESSID = і'мя_вашого_гостьового_wifi
network = вибрати "- custom -" і ввести "guest"
5.1.2 Перейти до вкладки Wireless Security.
Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашого_гостьового_wifi
5.2 Перейти до меню Network > Interfaces.
5.2.1 Натиснути на кнопку “Edit” в інтерфейсі “GUEST”.
Protocol = Static address + натиснути кнопку "Switch protocol"
IPv4 address = 192.168.3.1
IPv4 netmask = 255.255.255.0
5.2.2 Перейти до вкладки “Firewall settings”.
Create/Assign firewall-zone = вибрати "- custom -" і ввести "guest"
5.2.3 Перейти до вкладки “DHCP server”.
Натиснути на кнопку "Setup DHCP server" і далі Save
5.3 Перейти до меню Network > Firewall.
5.3.1 Натиснути на кнопку “Edit” в зоні “guest”.
Input = reject
Allow forward to destination zones = WAN
5.3.2 Перейти до вкладки Traffic rules.
Натиснути на кнопку “Add” внизу.
Name = Guest DNS
Protocol = TCP+UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 53
Save
Натиснути на кнопку “Add” внизу.
Name = Guest DHCP
Protocol = UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 67
Save
6. Налаштувати динамічний DNS NoIP.
6.1 Перейти до меню System > Software.
Натиснути кнопку “Update lists …”
Набрати “ddns” у полі “Filter”.
Встановити пакети “ddns-scripts”, “ddns-scripts-noip”, “luci-app-ddns”.
Зробити Logout і потім увійти знову.
6.2 Перейти до меню Services > Dynamic DNS.
6.2.1 Натиснути кнопку “Edit” в рядку “myddns_ipv4”.
Lookup Hostname = your.dyndns.domain.com
DDNS Service provider = no-ip.com + натиснути кнопку "Switch service"
Domain = your.dyndns.domain.com
Username = your_username
Password = your_password
6.2.2 Натиснути кнопку “Reload” у рядку “myddns_ipv4”.
6.2.3 Натиснути кнопку “Delete” в рядку “myddns_ipv6” – якщо вам достатньо IPv4.
7. Налаштувати переадресацію портів (port forwarding).
Перейти до меню Network > Firewall > Port Forwards.
Натиснути кнопку “Add” внизу:
Name = SSH
Protocol = TCP+UDP
External port = 22
Internal IP address = 192.168.1.2
Save
Натиснути кнопку “Add” внизу:
Name = Anydesk
Protocol = TCP+UDP
External port = 7070
Internal IP address = 192.168.1.2
Save
8. Зберегти конфігурацію в архівний файл.
Перейти до меню System > Backup.
Натиснути кнопку “Generate archive”.
Зберегти скачаний файл у надійному місці.
В цьому ж пункті меню можна завантажувати оновлення прошивки – кнопка “Flash image…”.
Висновок.
Таким чином, ми розглянули недорогі в застосуванні заходи підвищення безпеки й стабільності роботи домашніх роутерів. У той самий час слід зауважити, що жодна разова міра безпеки, включаючи впровадження дорогого устаткування й програмного забезпечення, не дасть гарантій відсутності інцидентів безпеки. Якщо вам потрібен дійсно високий рівень захищеності, то потрібен комплексний системний підхід, починаючи з аудиту вашої ІТ-інфраструктури, в тому числі, домашнього оточення.