Quais são as melhores práticas de segurança para proteger uma câmera IoT remota?

27

Fiz um pouco de automação residencial, como a construção de uma câmera remota que pode ser ativada via SSH localmente e publica imagens em um servidor Linux com Raspberry Pi.

No entanto, estou curioso para saber quais protocolos são melhor seguidos quando sua segurança está atrás de um roteador. Eu usei coisas como Putty e abri portas para que eu possa entrar no túnel, mas não imagino que esses sejam os métodos mais seguros.

Eu estou querendo saber quais protocolos / ferramentas são melhor utilizados ao acessar um sistema de servidor doméstico remotamente.

Trevor J. Smith
fonte
Você tem a capacidade de criptografar o fluxo de imagens?
Tbm0115
@ tbm0115 Tenho acesso físico ao dispositivo. O conhecimento técnico, nem tanto. Eu ainda estou aprendendo.
Trevor J. Smith
4
Idealmente, acho que sua câmera criptografaria o fluxo de imagens e um aplicativo em um dispositivo seguro na rede descriptografaria. Alternativamente / Além disso, você pode configurar uma rede ou sub-rede separada para executar seus dispositivos IoT e adicionar segurança adicional a essa área da rede.
Tbm0115
Isso faz muito sentido. Definitivamente vale a pena realizar se eu quiser adicionar mais alguns dispositivos à mistura. Obrigado.
Trevor J. Smith
11
Essa pergunta é incrivelmente ampla. Especialmente o seu título - dado o corpo, acho que você está especificamente preocupado com a segurança da rede ? Mesmo assim, depende do tipo de conectividade de rede que seu aplicativo requer.
Gilles 'SO- stop be evil'

Respostas:

18

PuTTY é realmente bastante seguro - a sessão em si é criptografada. Isso faz parte do que o SSH oferece "fora da caixa". Eu mesmo faço muito esse tipo de coisa, e aqui estão alguns pontos de impacto que eu sugeriria:

  • Não abra a porta 22 para o mundo - configure seu servidor SSH para escutar uma porta não padrão (por exemplo, 22022 ou 2222) na sua interface WAN
  • Exija autenticação para acessar qualquer página da web com suas imagens de segurança. Mesmo que seja HTTP-AUTH simples usando arquivos .htaccess, é melhor que nada.
  • Use SSL para conversar com servidores da Web, mesmo se eles estiverem atrás do seu roteador
  • Use o OpenVPN ou outra tecnologia VPN para acessar as máquinas domésticas de qualquer coisa fora do roteador. Isso evita a necessidade de acesso direto ao SSH, embora eu normalmente goste de manter o SSH direto disponível caso os serviços VPN falhem.
John
fonte
Isso pressupõe que o OP esteja usando o Windows.
kenorb
11
Não, não faz. As recomendações acima são para qualquer sistema operacional, não apenas para o Windows.
John
O Putty é um cliente SSH apenas para Windows. Se você puder reformulá-lo para SSH e fornecer Putty como um cliente SSH de exemplo, soaria melhor.
kenorb
11
A única referência ao PuTTY é a primeira frase. Todo o resto faz referência ao SSH, como eu quis dizer.
John
14

As outras respostas abrangem muitas das tecnologias que você pode usar para proteger seu sistema. Aqui estão alguns pensamentos / filosofias mais gerais.

  1. Uma DMZ é sua amiga - em quase todos os casos em que você tem um serviço voltado para uma rede externa, uma DMZ (consulte a.) Será muito benéfica. Nesse caso, ele minimiza a superfície de ataque e minimiza o dano. Ao limitar o número de dispositivos na DMZ apenas aos que precisam de acesso externo, você limita a superfície de ataque. Além disso, a DMZ dificultará o acesso de qualquer pessoa à sua rede principal, minimizando os danos.
  2. Lista de permissões, lista negra - Por padrão, todos os protocolos, portas e conexões internas devem ser bloqueadas por padrão. Esse bloqueio deve ser configurado no dispositivo (se possível), no firewall e no roteador. Ative apenas as opções que você está usando ativamente e apenas para os dispositivos que precisam de um. Se você conhece e precisa usar um protocolo para um dispositivo IoT fraco (por exemplo, dispositivos afetados pelo Mirai), configure um dispositivo (como um RaspberryPi) para atuar como retransmissão. Você isola completamente o dispositivo da rede e só se comunica com ele através de um protocolo seguro (ssh, vpn etc.) que o RaspberryPi transforma no protocolo necessário ao dispositivo.

AstroDan
fonte
2

O SSH é um ponto de partida razoável, é essencial que você use a criptografia TLS e o uso de massa para acesso ssh é uma maneira de conseguir isso. Uma VPN é outra. O que é realmente importante é que você use frases-chave ou chaves fortes para acessar os dispositivos em sua rede e mantenha os dispositivos de gateway atualizados.

O uso de uma porta não padrão é sensato, mas não faz nada para proteger sua rede se você deixar o dispositivo com uma senha padrão (ou comum).

Se você deseja acesso remoto, precisa de uma porta aberta para encaminhar o SSH (ou algo muito semelhante). Se você não confia na implementação de segurança da câmera (ou seja, a última atualização de firmware foi feita há cerca de 6 meses), você precisa usar uma VPN para criar um segmento de rede isolado para ela. Se tiver Wi-Fi e firmware antigo, também poderá ser aberto e público (pelo menos para quem estiver próximo).

Sean Houlihane
fonte