Ter dezenas de milhares de Raspberry Pi conectados à Internet acabará por atrair o interesse de algumas pessoas que gostariam de fazer coisas desagradáveis para os pequenos computadores, especialmente quando muitas pessoas estão usando o Pi para fazer servidores de rede. O Linux é um sistema operacional sólido e pronto para uso, mas além de alterar a senha, o que deve ser feito para "fortalecer" o Raspberry Pi se eu pretender hospedar serviços voltados para a Internet no dispositivo?
Apenas para apoiar minha piada de "dezenas de milhares", Eben Upton disse que "o Raspberry Pi vendeu mais de 200.000 de seus módulos básicos de computador e atualmente está vendendo 4.000 unidades por dia" . Provavelmente, é seguro assumir que dezenas de milhares desses 200.000 foram conectados à Internet. É menos seguro supor que dezenas de milhares daqueles Raspberry Pis conectados à Internet estão hospedando um serviço da Web voltado para o público, mas ainda existe o potencial de entusiasmo por hackers.
Respostas:
Proteger um computador não é um processo simples, livros inteiros são escritos sobre o assunto. O tamanho do Pi não reduz a ameaça à segurança ou a superfície de ataque apresentada a um possível invasor. Como resultado, descreverei as etapas envolvidas e fornecerei links para instruções e tutoriais mais detalhados.
Como você não mencionou a distribuição que está usando, assumirei a distribuição Raspbian recomendada.
Vi que a distribuição Raspbian recomendada inclui o servidor da web Apache e o habilita na inicialização (alguém pode confirmar isso). Você realmente precisa de um servidor web em execução? Caso contrário, desative-o. Se você precisar executar o Apache, certifique-se de protegê-lo e faça o mesmo com outros serviços (por exemplo, FTP, NGINX, MySQL etc.), uma pesquisa no Google deve exibir vários recursos.Algumas coisas adicionais que você pode querer considerar:
Você também deve ler esta pergunta relacionada Como posso proteger contra invasões e malware antes de conectá-lo à Internet (especialmente em um endereço IP público)? .
Essas são apenas as etapas mínimas necessárias para proteger seu Pi. Para mais informações, você pode ler o Manual de Segurança do Debian .
fonte
Tendo analisado o RPi, parece um dispositivo bastante seguro, desde que você faça algumas coisas.
As necessidades padrão de usuário / passe foram alteradas. No mínimo, altere a senha. Para melhorar a segurança novamente, altere também o nome de usuário. (Adicione um novo usuário e desative o PI. Verifique se o ROOT também está desabilitado no logon SSH, embora eu ache que seja por padrão).
A varredura do RPi retorna apenas uma porta aberta, 22, que é a conexão SSH, e mesmo isso precisa ser ativada antes de aparecer (embora a maioria das pessoas o utilize em vez de um monitor, teclado e mouse, espero, especialmente em um servidor {web})
Você pode alterar o número da porta SSH, mas isso não fará muito, pois pode ser verificado com facilidade. Em vez disso, ative a autenticação de chave SSH.
Agora você não tem como alguém entrar em sua máquina sem a chave SSH, nome de usuário e senha corretos.
Em seguida, configure seu servidor da web. O Apache está praticamente onde está. Isso servirá para monitorar a porta 80 como padrão e responder automaticamente às conexões dos navegadores, servindo suas páginas da web.
Se você tiver um firewall ou roteador, poderá alterar as portas RPi e fazer com que o roteador direcione o tráfego de uma porta para a outra. Por exemplo, o tráfego da porta 80 no roteador é redirecionado para a porta 75 no RPi e o SSH na 22 é redirecionado para a porta 72. Isso adicionaria outra camada de proteção, mas é um pouco mais complexo.
Mantenha tudo atualizado e atualizado, obviamente.
Isso não irá protegê-lo de ataques que exploram java, flash, servidores SQL, etc, que você pode adicionar mais tarde, mas é isso mesmo o básico.
Você também pode adicionar um firewall, o que impedirá qualquer pessoa que entre no seu sistema de sair por uma porta diferente se instalar um novo serviço. Seu roteador deve lidar com isso, mas se estiver diretamente conectado, configure-o e, por quanto tempo leva, você também pode executá-lo de qualquer maneira - ele não adicionará muito em termos de recursos do sistema.
Outra coisa que você pode querer adicionar é fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), que adiciona uma regra de firewall para bloquear várias tentativas de login, impedindo ataques de dicionário. Embora eles não funcionem no sistema se você seguiu o procedimento acima, se por algum motivo precisar deixar apenas a autenticação SSH por senha (você faz logon remoto de muitas máquinas diferentes, por exemplo), isso impedirá um ataque de dicionário de trabalhar. Após o número de tentativas que você especificar, ele bloqueará por mais um tempo as tentativas desse endereço IP. (Apenas tome cuidado para que ele não veja nenhum endereço IP do roteador / local e proíba muito cedo ou por muito tempo!)
Editado para adicionar: Depois de configurar tudo bem, use uma ferramenta como dd ou Win32DiskImager para fazer um backup completo em bits do seu cartão SD. Dessa forma, se algo der errado, você poderá restaurá-lo no mesmo cartão ou gravá-lo em um novo cartão e continuar independentemente. (Mas, se hackeado, você gostaria de descobrir qual buraco foi encontrado e fechar primeiro, talvez!)
fonte
O linode possui um excelente guia para proteger um servidor linux: http://library.linode.com/securing-your-server . as mesmas regras podem ser aplicadas ao raspberry pi
fonte
Além de proteger o sistema operacional, você também pode considerar o uso de um serviço de monitoramento de segurança baseado em nuvem para monitorar a atividade de / para / no seu dispositivo e receber alertas se algo indesejável for detectado. Atualmente, existem algumas ferramentas SIEM baseadas em nuvem disponíveis e algumas (como a siemless) operam um modelo freemium para que os usuários domésticos não precisem pagar um centavo. Para usar esse serviço, você precisará se familiarizar com coisas como rsyslog / syslog, que é uma parte padrão de todas as distribuições de SO Linux.
fonte