Покращення безпеки OpenWrt

Хороші новини: OpenWrt має хороші параметри безпеки за замовчуванням.

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

...з одним важливим винятком:

Ви повинні встановити пароль для root-акаунта.
Це обліковий запис адміністратора в OpenWrt.
У наступному розділі ви дізнаєтесь, як це зробити.

Ця сторінка також містить загальні поради щодо безпеки в OpenWrt та рекомендації для підтримки маршрутизатора в надійному стані.

Встановіть пароль через веб-інтерфейс:

  1. Перейдіть у LuCI → System → Administration → Router Password.
  2. Введіть новий пароль у полі Router Password.
  3. Натисніть Save & Apply внизу сторінки.

Або встановіть пароль через командний рядок:

passwd

Увімкніть запит пароля при доступі через TTY та серійну консоль:

uci set system.@system[0].ttylogin="1"
uci commit system
service system restart

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

Режим одного користувача дозволяє завантажити систему без пароля через завантажувач.
Зловмисник може змінити пароль root і перезавантажити пристрій.
Щоб цього уникнути, потрібно заблокувати доступ до завантажувача. Цей процес ще не задокументовано.

Якщо у вас пристрій з ≥8MB flash і ви ділите мережу з іншими людьми, рекомендується увімкнути HTTPS для LuCI.

Якщо ви не використовуєте LuCI, можна вимкнути uHTTPd вебсервер.

...і це дуже погана ідея.

Порада: Поводьтесь із root-акаунтом так, як це роблять професіонали:

  • Не заходьте як root без потреби.
  • Завжди виходьте із сесії після завершення.
  • Не діліться паролем root ні з ким.
  • Навіть якщо вам пообіцяли гарячі фото пінгвінів на скейтборді :)

Помилка.
Навіть якщо ви одні в мережі, встановіть пароль.

Інакше зловмисний вебсайт у вашій локальній мережі може використати CSRF для зміни налаштувань вашого маршрутизатора без вашого відома.

Порада: З обережністю відкривайте порти:

  • Не відкривайте сервіси у WAN-інтерфейсі без розуміння ризиків.
  • Краще використовуйте VPN (наприклад, WireGuard) для доступу ззовні.
  • Не довіряйте порадам онлайн-ігор щодо відкриття цілих діапазонів портів — перевірте, чи проблема не в подвійному NAT.
  • Підписуйте свої правила фаєрволу коментарями (навіть якщо це: “хтось в інтернеті обіцяв гарячих пінгвінів на скейті”).

На жаль, ні.

OpenWrt також потребує оновлень.

Слідкуйте за новими релізами і регулярно оновлюйте прошивку.
Використовуйте резервне копіювання, щоб не втратити налаштування.

Сторонні пакети також треба оновлювати вручну.

Рекомендується:
opkg update
opkg list-upgradable
opkg upgrade <назва_пакету>

Примітка: не всі оновлення — це патчі безпеки. Часто — це виправлення помилок або нові функції. Перед оновленням створіть резервну копію налаштувань.

Сліпе оновлення пакетів (вручну або через скрипт) може призвести до серйозних проблем.

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


Є два способи керування пакетами в OpenWrt: через веб-інтерфейс LuCI (System → Software) або через командний рядок (CLI). Обидва способи використовують ту саму команду opkg.

Починаючи з OpenWrt 19.07.0, у LuCI з’явилась вкладка Updates зі списком пакетів, які мають доступні оновлення. Кнопка Upgrade… виконує ту ж команду opkg upgrade, що й через CLI.

Однакові попередження стосуються оновлення пакетів як у LuCI, так і через CLI.


Загалом, використання opkg upgrade дуже не рекомендується. Його слід уникати майже в усіх випадках. Масове оновлення майже гарантовано призведе до серйозних проблем, але навіть оновлення окремих пакетів може викликати збої.

Важливо: це не те саме, що оновлення прошивки OpenWrt через sysupgrade. Команда opkg upgrade не оновлює саму систему OpenWrt — лише окремі пакети. Для оновлення OpenWrt використовуйте sysupgrade.

На відміну від «великих» дистрибутивів Linux, OpenWrt оптимізовано для пристроїв із обмеженими ресурсами. Менеджер пакетів opkg:

  • не перевіряє сумісність ABI (Application Binary Interface)
  • не враховує залежність від версії ядра

Оновлення може призвести до конфліктів, які складно діагностувати, або навіть зробити пристрій нестабільним. Крім того, процес opkg upgrade споживає flash-пам'ять, оскільки не може перезаписати ROM-версію пакета і зберігає нову версію в RW-overlay.

У більшості випадків важливі патчі безпеки оперативно включаються до стабільних релізів і оновлюються через систему sysupgrade — це рекомендований спосіб залишатися в безпеці.

Користувачі, які хочуть мати найновіше — можуть використовувати snapshot-збірки або створювати власні образи з потрібними оновленими пакетами.

Якщо ви все ж вирішили використовувати opkg upgrade, оновлюйте лише обрані окремі пакети, не робіть масових оновлень і будьте готові до того, що доведеться скинути налаштування до заводських.

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

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

OpenWrt зазвичай має 2–4 сервіси, які становлять інтерес для зловмисників:

  • Вебсервер LuCI (Lua)
  • Dropbear (SSH)
  • SFTP (якщо увімкнено вручну)
  • Samba (SMB спільні папки, також вмикається вручну)

Захист:

  • Встановіть пароль root
  • Оновлюйте прошивку
  • Якщо використовуєте Samba або SFTP — регулярно перевіряйте наявність оновлень відповідних пакетів
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/25 09:34
  • by vazaz