Каковы наилучшие методы обеспечения безопасности для удаленной камеры IoT?

27

Я немного поработал над домашней автоматизацией, такой как создание удаленной камеры, которую можно включить через SSH локально, и публикую изображения на сервере Raspberry Pi, работающем под Linux.

Мне любопытно, однако, какие протоколы лучше всего соблюдать, когда ваша безопасность находится за маршрутизатором. Я использовал такие вещи, как Putty и открытые порты, чтобы я мог туннелировать, но я не думаю, что это самые безопасные методы.

Мне интересно, какие протоколы / инструменты лучше всего использовать при удаленном доступе к системе домашнего сервера.

Тревор Дж. Смит
источник
У вас есть возможность зашифровать поток изображений?
tbm0115
@ tbm0115 У меня есть физический доступ к устройству. Технических ноу-хау не так уж много. Я все еще учусь.
Тревор Дж. Смит
4
В идеале я думаю, что ваша камера будет шифровать поток изображений, а приложение на защищенном устройстве в сети расшифровывает его. В качестве альтернативы / дополнения вы можете настроить отдельную сеть или подсеть в своей сети, чтобы запускать устройства IoT и повышать уровень безопасности в этой области сети.
tbm0115
Это имеет большой смысл. Определенно стоит выполнить, если я хочу добавить еще несколько устройств к миксу. Спасибо.
Тревор Дж. Смит
1
Этот вопрос невероятно широк. Особенно ваш титул - учитывая тело, я думаю, вы особенно обеспокоены сетевой безопасностью? Тем не менее, это зависит от того, какой тип сетевого подключения требуется вашему приложению.
Жиль "ТАК - перестань быть злым"

Ответы:

18

PuTTY на самом деле довольно безопасен - сам сеанс зашифрован. Это часть того, что SSH дает вам «из коробки». Я сам много такого рода делаю, и вот несколько хитпоинтов, которые я бы предложил:

  • Не открывайте порт 22 для всего мира - настройте ваш SSH-сервер на прослушивание нестандартного порта (например, 22022 или 2222) на вашем интерфейсе WAN
  • Требовать аутентификацию, чтобы попасть на любые веб-страницы с вашими изображениями безопасности. Даже если это простой HTTP-AUTH с использованием файлов .htaccess, это лучше, чем ничего.
  • Используйте SSL для общения с веб-серверами, даже если они находятся за вашим маршрутизатором
  • Используйте OpenVPN или другую технологию VPN, чтобы получить доступ к вашим домашним машинам с любого устройства за пределами вашего маршрутизатора. Это устраняет необходимость прямого доступа по SSH, хотя я обычно предпочитаю поддерживать прямой доступ по SSH в случае сбоя служб VPN.
Джон
источник
Это предполагает, что OP использует Windows.
Кенорб
1
Нет, это не так. Приведенные выше рекомендации относятся к любой ОС, а не только к Windows.
Джон
Putty - это SSH-клиент только для Windows. Если вы можете перефразировать его в SSH и привести Putty в качестве примера SSH-клиента, звучит лучше.
Кенорб
1
Единственное упоминание PuTTY - это первое предложение. Все остальное ссылается на SSH, как я и имел в виду.
Джон
14

Другие ответы охватывают множество технологий, которые вы можете использовать для защиты вашей системы. Вот некоторые более общие мысли / философии.

  1. DMZ - ваш друг. Практически во всех случаях, когда у вас есть служба, работающая с внешней сетью, DMZ (см. А.) Будет очень полезной. В этом случае это минимизирует поверхность атаки и минимизирует урон. Ограничивая количество устройств в демилитаризованной зоне только теми, которые требуют внешнего доступа, вы ограничиваете поверхность атаки. Кроме того, DMZ значительно затруднит доступ к вашей базовой сети, что минимизирует ущерб.
  2. Белый список, не черный список - по умолчанию каждый отдельный протокол, порт и внутреннее соединение должны быть заблокированы по умолчанию. Эта блокировка должна быть настроена в устройстве (если возможно), межсетевом экране и маршрутизаторе. Включайте только те опции, которые вы активно используете, и только для тех устройств, которые в них нуждаются. Если вы знаете и должны использовать протокол для слабого устройства IoT (например, устройства, на которые влияет Mirai), вам следует настроить устройство (например, RaspberryPi), которое будет действовать в качестве реле. Вы полностью изолируете устройство от сети и взаимодействуете с ним только по безопасному протоколу (ssh, vpn и т. Д.), Который RaspberryPi преобразует в протокол, который необходим устройству.

AstroDan
источник
2

SSH - разумная отправная точка, важно, чтобы вы использовали шифрование TLS, а использование замазки для доступа по ssh - один из способов достижения этого. VPN это другое. Что действительно важно, так это то, что вы используете надежные фразы или ключи для доступа к устройствам в вашей сети, и что вы постоянно обновляете устройства шлюза.

Использование нестандартного порта разумно, но ничего не делает для защиты сети, если вы оставляете устройство с паролем по умолчанию (или общим).

Если вам нужен удаленный доступ, вам нужен открытый порт для пересылки SSH (или что-то очень похожее). Если вы не доверяете реализации безопасности на камере (т. Е. Последнее обновление прошивки прошло около 6 месяцев назад), то вам нужно использовать VPN для создания для нее изолированного сегмента сети. Если у него есть WiFi и старая прошивка, он также может быть широко открытым и общедоступным (по крайней мере, для тех, кто находится в непосредственной близости).

Шон Хулихейн
источник