Как защитить контроллеры Wiren Board

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Как понять, что вы в зоне риска

Если вы сами или кто-то вам сделал удалённый доступ к контроллеру, чтобы с улицы или с работы включать дома лампочку/смотреть показания климата — вы в зоне риска.

Убедитесь, что удалённый доступ настроен через Wiren Board Cloud, Tailscale, VPN или аналоги.

Не можете разобраться сами:

  1. Отключите контролер от сети.
  2. Сделайте резервные копии.
  3. Напишите нам на support@wirenboard.com

Резервные копии

Кнопки резервного копирования

Чтобы в случае проблем можно настройки инсталляции можно было восстановить, сделайте резервную копию, для этого скачайте архив в разделе НастройкиСистема.

Подробнее о резервном копировании.

Безопасность

Программная

Контроллер Wiren Board выполняет функции устройства автоматизации, при этом работает под управлением полноценного Linux Debian, поэтому при работе в недоверенных сетях к нему могут по усмотрению заказчика применяться механизмы защиты, аналогичные настройке персональных компьютеров и серверов с Linux, включая настройку файрволов, IDS и т.д.

В заводской конфигурации на контроллере открыты:

  • Wi-Fi точка доступа;
  • SSH со стандартными логином и паролем;
  • веб-интерфейс;
  • MQTT-брокер.

Если вы устанавливаете сторонний софт, он тоже открывает порты, номера портов смотрите в документации на софт. Например — настройка пароля на Node-RED

Всё это позволяет злоумышленнику получить доступ к вашим данным, украсть или удалить их. Например, через MQTT-брокер или веб-интерфейс можно загрузить скрипт на wb-rules, который пропишет ключ доступа злоумышленника в контроллер, а ваш пароль сменит.

Сразу после первого включения:

  1. Закройте стандартную точку доступа Wi-Fi паролем или отключите, если она не нужна.
  2. Смените пароль на 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:

  1. Отключите этот контроллер от сети.
  2. Сделайте дамп памяти контроллера по инструкции.
  3. Выложите дамп в любое облачное хранилище и пришлите ссылку нам на support@wirenboard.com. Это поможет нам больше узнать о способе взлома и принять меры в будущем. К сожалению, ваших настроек и скриптов там скорее всего не окажется - злоумышленник обычно их удаляет.
  4. Сбросьте контроллер на заводские настройки тем же образом, что снимали дамп раньше.
  5. Если контроллер был соединён MQTT-мостом с другим MQTT-брокером, смените там логин и пароль.

Если контроллер имел доступ в локальную сеть, скорее всего злоумышленники получили доступ и к другим устройствам локальной сети. Если это были контроллеры Wiren Board — выполните рекомендации выше. На других устройствах смените пароли и проверьте антивирусом.

Часто задаваемые вопросы

  1. Что случилось?
    Были случаи, когда пользователи жаловались, что вместо веб-интерфейса контроллера у них стал показываться текст от вымогателя. Работа контроллера также была нарушена: были удалены конфигурационные файлы и правила. Во всех известных нам случаях перед этим пользователь самостоятельно открывал доступ из интернета как минимум к одному из компонентов контроллера:
    • SSH;
    • веб-интерфейс;
    • MQTT / MQTT over WebSocket.
  2. Что значит «открыть доступ к контроллеру из интернета»? Я пользуюсь Wiren Board Cloud, значит я тоже в зоне риска?
    Как раз нет. Те, кто организовывали доступ к контроллеру только через Wiren Board Cloud, а также VPN, Tailscale и их аналоги не затронуты.
  3. Кого коснулась проблема?
    Тех, кто сделал контроллер доступным по белому IP-адресу. Это можно было сделать в том числе так:
    1. Если контроллер подключен к интернету через установленную в контроллер SIM-карту: заказать у сотового оператора услугу Real IP (меняющийся белый IP-адрес) или Статический IP-адрес (фиксированный белый IP-адрес) и подобные.
    2. Если контроллер подключен к интернету через провод: подключить контроллер напрямую (без промежуточного роутера) к кабелю от провайдера, а у провайдера купить услугу Real IP, Статический IP-адрес и подобные.
    3. Если ваш контроллер был подключен к интернету через роутер, и вы специально настраивали проброс портов контроллера на роутере.
    4. Если вы пользуетесь сервисом Dynamic DNS (DDNS) для подключения к контроллеру. Само по себе это не является проблемой, но обычно значит, что вы используете один из методов из п. 1–3.
    5. Еще один способ проверить себя: если вы могли подключиться к контроллеру через интернет (а не только из локальной сети), просто введя в адресную строку браузера IP-адрес контроллера (и, возможно, порт), или выполнив команду ssh root@128.141.201.74 (разумеется, с вашим IP-адресом) – вы в зоне риска.
  4. Кого не коснулась проблема?
    Тех, кто подключал контроллер к интернету самым стандартным образом – через роутер (проводом или по Wi-Fi – неважно), либо с помощью SIM-карты с серым IP (не заказывая дополнительных услуг у оператора), и не выполнял специально действий из предыдущего ответа. В таком случае злоумышленник из интернета не может подключиться напрямую к вашему контроллеру – ему не дает это сделать ваш роутер. При этом вы могли подключаться к контроллеру удаленно через Wiren Board Cloud, а также VPN, Tailscale и их аналоги – эти способы безопасны.
  5. Я настраивал прямой доступ к контроллеру из интернета, но менял пароль SSH по умолчанию. Я в безопасности?
    К сожалению, нет. Мы знаем случай, когда был взломан контроллер с нестандартным (хотя и довольно простым) паролем. Пароль к SSH, особенно короткий, можно перебрать. А если был открыт доступ к веб-интерфейсу или MQTT, то у злоумышленника появляются другие способы пробраться на контроллер.
  6. У меня контроллер Wiren Board 6 (Wiren Board 7, Wiren Board 8). Моей версии контроллера это касается?
    Проблема касается всех версий контроллера.
  7. Кажется, я могу быть в группе риска. Что делать?
    1. Поймите, что угроза реальна. Мы знаем нескольких пользователей, которые на наше предупреждение ответили «мой контроллер никому не интересен, никто не будет его ломать» и в итоге оказались взломаны и лишились файлов на контроллере.
    2. Немедленно выключите контроллер.
    3. Относитесь к контроллеру как к потенциально взломанному. Проверьте безопасность всех устройств, находившихся с контроллером в одной сети.
    4. Перечитайте опасные варианты организации доступа к контроллеру выше и поймите, какие из них вы могли применять. Отключите их.
    5. Мы подготовили специальный образ, который сохранит данные из контроллера, а после этого выполнит полный сброс. Для его использования:
      1. До включения контроллера полностью отключите его от локальной сети и интернета: отключите кабель Ethernet, открутите антенну Wi-Fi и вынесите контроллер из зоны действия роутера, достаньте SIM-карту.
      2. Единственное подключение, которое должно быть у контроллера – USB-кабель от порта Debug Console (не путать с Debug Network) к вашему компьютеру.
      3. Выполните инструкцию DumpFiles.
      4. После сброса на заводские настройки вы можете пользоваться контроллером как обычно. С помощью дампа вы сможете восстановить настройки и файлы – но проверьте их содержимое перед копированием на контроллер!
  8. Я могу задать вопрос или попросить помочь?
    Да, напишите на support@wirenboard.com, и мы будем рады помочь. На обращения, связанные со взломом или его угрозой, мы отвечаем в приоритетном порядке.
  9. Судя по описанию, я не в зоне риска, но хочу быть максимально защищен. Что можно сделать?
    1. Не выставляйте никакой из компонентов вашего контроллера в интернет.
    2. Для удалённого доступа используйте Wiren Board Cloud.
    3. Регулярно обновляйте ваш контроллер.
    4. Делайте бэкапы. Мы добавили в веб-интерфейс контроллера кнопку для скачивания резервной копии, она доступна c релиза wb-2404.

Полезные ссылки