Повышение безопасности и стабильности роутеров с помощью прошивки 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…”.
Заключение.
Таким образом, мы рассмотрели недорогие в применении меры повышения безопасности и стабильности работы домашних роутеров. В то же время, следует заметить, что ни одна разовая мера безопасности, включая внедрение дорогого оборудования и программного обеспечения, не даст гарантий отсутствия инцидентов безопасности. Если вам нужен действительно высокий уровень защищённости, то необходим комплексный системный подход, начиная с аудита вашей ИТ-инфраструктуры, в том числе, домашнего окружения.