Как защитить контроллеры Wiren Board
Как понять, что вы в зоне риска
Если вы сами или кто-то вам сделал удалённый доступ к контроллеру, чтобы с улицы или с работы включать дома лампочку/смотреть показания климата — вы в зоне риска.
Убедитесь, что удалённый доступ настроен через Wiren Board Cloud, Tailscale, VPN или аналоги.
Не можете разобраться сами:
- Отключите контролер от сети.
- Сделайте резервные копии.
- Напишите нам на support@wirenboard.com
Резервные копии
Чтобы в случае проблем можно настройки инсталляции можно было восстановить, сделайте резервную копию, для этого скачайте архив в разделе Настройки → Система.
Подробнее о резервном копировании.
Безопасность
Программная
Контроллер Wiren Board выполняет функции устройства автоматизации, при этом работает под управлением полноценного Linux Debian, поэтому при работе в недоверенных сетях к нему могут по усмотрению заказчика применяться механизмы защиты, аналогичные настройке персональных компьютеров и серверов с Linux, включая настройку файрволов, IDS и т.д.
В заводской конфигурации на контроллере открыты:
- Wi-Fi точка доступа;
- SSH со стандартными логином и паролем;
- веб-интерфейс;
- MQTT-брокер.
Если вы устанавливаете сторонний софт, он тоже открывает порты, номера портов смотрите в документации на софт. Например — настройка пароля на Node-RED
Всё это позволяет злоумышленнику получить доступ к вашим данным, украсть или удалить их. Например, через MQTT-брокер или веб-интерфейс можно загрузить скрипт на wb-rules, который пропишет ключ доступа злоумышленника в контроллер, а ваш пароль сменит.
Сразу после первого включения:
- Закройте стандартную точку доступа Wi-Fi паролем или отключите, если она не нужна.
- Смените пароль на SSH, а лучше используйте авторизацию по ключу. Инструкции.
Если контроллер в корпоративной сети или к нему есть доступ по VPN — к нему могут получить доступ другие пользователи сети. Чтобы этого избежать, установите пароль на веб-интерфейс и заблокируйте доступ к MQTT-брокеру.
Используйте для удаленного доступа Wiren Board Cloud, Tailscale, OpenVPN или аналоги.
Если контроллеру нужно назначить внешний IP-адрес. Выполните все рекомендации выше и позовите системного администратора, который дополнительно настроит контроллер для противодействия угрозам: переключит веб-интерфейс на https, закроет лишние порты и т.п.
Физическая
Злоумышленник с физическим доступом к контроллеру может подключиться к его портам Debug USB (Debug Console, Debug Network) и Ethernet. В установках с проводными шинами (RS-485, KNX, Bus77 и т.п.) он способен нарушить работу, подключившись к любой точке шины. Поэтому необходимо контролировать физическое расположение контроллера и участков шины.
Проверка открытых портов и стандартных паролей
В ПО контролера есть возможность определять популярные проблемы безопасности:
- стандартный пароль к SSH на портах 22, 25, 23, 2222, 8022, 9002, 9022;
- открытый MQTT-брокер на стандартном порту 1883;
- открытый веб-интерфейс на популярных портах 80, 8080, 443 и порт, по которому пользователь зашёл в веб-интерфейс контролера.
Если контроллер доступен из интернета и в нём есть одна из проблем — в его веб-интерфейсе появится предупреждение и ссылка на эту инструкцию.
Как работает
Когда вы открываете веб-интерфейс контроллера, специальный сервис отправляет запрос на https://probe.wirenboard.com/ и сервер пытается подключиться по списку популярных портов и стандартных протоколов. Используется IP-адрес с которого пришёл запрос к нам на сервер, а также IP-адрес по которому пользователь зашёл в веб-интерфейс. Локальные адреса и дубли игнорируются.
Если ему это удаётся, он отдаёт назад на контроллер список проблем, которые отображаются пользователю в веб-интерфейсе. После устранения проблем, нажмите в браузере на странице веб-интерфейса контроллера F5. Сервис отправит повторный запрос и сообщение исчезнет если проблемы устранены.
Чтобы сократить нагрузку на сервер и сеть, запросы на проверку при отсутствии известных проблем отправляются не чаще одного раза в сутки. Если проблемы не найдены, сообщений не будет.
Это не панацея
Важно понимать, что сервис не сканирует ваш контроллер целиком, а проверяет популярные ошибки безопасности, которые допускают пользователи. Например, если вы пробросили SSH наружу через порт 3000, то мы его не найдём, а злоумышленники рано или поздно найдут.
Также процедура не проверяет открытую точку доступа Wi-Fi.
Что делать, если контроллер скомпрометирован
Контроллер Wiren Board:
- Отключите этот контроллер от сети.
- Сделайте дамп памяти контроллера по инструкции.
- Выложите дамп в любое облачное хранилище и пришлите ссылку нам на support@wirenboard.com. Это поможет нам больше узнать о способе взлома и принять меры в будущем. К сожалению, ваших настроек и скриптов там скорее всего не окажется - злоумышленник обычно их удаляет.
- Сбросьте контроллер на заводские настройки тем же образом, что снимали дамп раньше.
- Если контроллер был соединён MQTT-мостом с другим MQTT-брокером, смените там логин и пароль.
Если контроллер имел доступ в локальную сеть, скорее всего злоумышленники получили доступ и к другим устройствам локальной сети. Если это были контроллеры Wiren Board — выполните рекомендации выше. На других устройствах смените пароли и проверьте антивирусом.
Часто задаваемые вопросы
- Что случилось?
- Были случаи, когда пользователи жаловались, что вместо веб-интерфейса контроллера у них стал показываться текст от вымогателя. Работа контроллера также была нарушена: были удалены конфигурационные файлы и правила. Во всех известных нам случаях перед этим пользователь самостоятельно открывал доступ из интернета как минимум к одному из компонентов контроллера:
- SSH;
- веб-интерфейс;
- MQTT / MQTT over WebSocket.
- Были случаи, когда пользователи жаловались, что вместо веб-интерфейса контроллера у них стал показываться текст от вымогателя. Работа контроллера также была нарушена: были удалены конфигурационные файлы и правила. Во всех известных нам случаях перед этим пользователь самостоятельно открывал доступ из интернета как минимум к одному из компонентов контроллера:
- Что значит «открыть доступ к контроллеру из интернета»? Я пользуюсь Wiren Board Cloud, значит я тоже в зоне риска?
- Как раз нет. Те, кто организовывали доступ к контроллеру только через Wiren Board Cloud, а также VPN, Tailscale и их аналоги не затронуты.
- Кого коснулась проблема?
- Тех, кто сделал контроллер доступным по белому IP-адресу. Это можно было сделать в том числе так:
- Если контроллер подключен к интернету через установленную в контроллер SIM-карту: заказать у сотового оператора услугу Real IP (меняющийся белый IP-адрес) или Статический IP-адрес (фиксированный белый IP-адрес) и подобные.
- Если контроллер подключен к интернету через провод: подключить контроллер напрямую (без промежуточного роутера) к кабелю от провайдера, а у провайдера купить услугу Real IP, Статический IP-адрес и подобные.
- Если ваш контроллер был подключен к интернету через роутер, и вы специально настраивали проброс портов контроллера на роутере.
- Если вы пользуетесь сервисом Dynamic DNS (DDNS) для подключения к контроллеру. Само по себе это не является проблемой, но обычно значит, что вы используете один из методов из п. 1–3.
- Еще один способ проверить себя: если вы могли подключиться к контроллеру через интернет (а не только из локальной сети), просто введя в адресную строку браузера IP-адрес контроллера (и, возможно, порт), или выполнив команду
ssh root@128.141.201.74(разумеется, с вашим IP-адресом) – вы в зоне риска.
- Кого не коснулась проблема?
- Тех, кто подключал контроллер к интернету самым стандартным образом – через роутер (проводом или по Wi-Fi – неважно), либо с помощью SIM-карты с серым IP (не заказывая дополнительных услуг у оператора), и не выполнял специально действий из предыдущего ответа. В таком случае злоумышленник из интернета не может подключиться напрямую к вашему контроллеру – ему не дает это сделать ваш роутер. При этом вы могли подключаться к контроллеру удаленно через Wiren Board Cloud, а также VPN, Tailscale и их аналоги – эти способы безопасны.
- Я настраивал прямой доступ к контроллеру из интернета, но менял пароль SSH по умолчанию. Я в безопасности?
- К сожалению, нет. Мы знаем случай, когда был взломан контроллер с нестандартным (хотя и довольно простым) паролем. Пароль к SSH, особенно короткий, можно перебрать. А если был открыт доступ к веб-интерфейсу или MQTT, то у злоумышленника появляются другие способы пробраться на контроллер.
- У меня контроллер Wiren Board 6 (Wiren Board 7, Wiren Board 8). Моей версии контроллера это касается?
- Проблема касается всех версий контроллера.
- Кажется, я могу быть в группе риска. Что делать?
- Поймите, что угроза реальна. Мы знаем нескольких пользователей, которые на наше предупреждение ответили «мой контроллер никому не интересен, никто не будет его ломать» и в итоге оказались взломаны и лишились файлов на контроллере.
- Немедленно выключите контроллер.
- Относитесь к контроллеру как к потенциально взломанному. Проверьте безопасность всех устройств, находившихся с контроллером в одной сети.
- Перечитайте опасные варианты организации доступа к контроллеру выше и поймите, какие из них вы могли применять. Отключите их.
- Мы подготовили специальный образ, который сохранит данные из контроллера, а после этого выполнит полный сброс. Для его использования:
- До включения контроллера полностью отключите его от локальной сети и интернета: отключите кабель Ethernet, открутите антенну Wi-Fi и вынесите контроллер из зоны действия роутера, достаньте SIM-карту.
- Единственное подключение, которое должно быть у контроллера – USB-кабель от порта Debug Console (не путать с Debug Network) к вашему компьютеру.
- Выполните инструкцию DumpFiles.
- После сброса на заводские настройки вы можете пользоваться контроллером как обычно. С помощью дампа вы сможете восстановить настройки и файлы – но проверьте их содержимое перед копированием на контроллер!
- Я могу задать вопрос или попросить помочь?
- Да, напишите на support@wirenboard.com, и мы будем рады помочь. На обращения, связанные со взломом или его угрозой, мы отвечаем в приоритетном порядке.
- Судя по описанию, я не в зоне риска, но хочу быть максимально защищен. Что можно сделать?
- Не выставляйте никакой из компонентов вашего контроллера в интернет.
- Для удалённого доступа используйте Wiren Board Cloud.
- Регулярно обновляйте ваш контроллер.
- Делайте бэкапы. Мы добавили в веб-интерфейс контроллера кнопку для скачивания резервной копии, она доступна c релиза wb-2404.
Полезные ссылки
- Статья члена сообщества — Wiren Board по SSH: запрещаем root-доступ