Bom dia a todos!
Com o advento da IOT e da proliferação dos ambientes de PME/SOHO, têm me perguntado quais os issues de segurança que tenho tido, e como pode a minha experiência ajudar no tema.
De uma forma muito simples, escrevi este post para desmistificar algumas das soluções simples que tenho vindo a referir para se protegerem a vós e aos vossos ambientes.
No meu caso especifico, como utilizo primariamente Linux em plataformas criticas, implementei um simples framework c/ guidelines transversal entre sistemas e ativos de rede que me tem livrado de alguns dissabores:
- Root login desativado em todas as máquinas. Se necessário e totalmente imprescindível desativar acesso por credencial (password) e apenas utilizar chave partilhada com uma whitelist de IP.
Notem que esta regra não se aplica a sistemas que estejam na DMZ. Sistemas na DMZ estão com root completamente bloqueado e alem disso estão defendidos por um sistema fail2ban ou equivalente. - Completamente desativar o UPNP em todos os equipamentos.
- Nunca efetuar portforward para outra rede alem da DMZ.
- Nunca confiar na DMZ, para ter sistemas ou dados críticos.
- Política de atualização e patching efetiva, de 0 day para plataformas e serviços expostos a internet ou a redes inseguras (por exemplo a redes de wifi de faculdade).
- Firewall de perímetro, com IDS built-in, com suporte de configuração reativa a ataques e suporte de country block (por exemplo pfsense com Snort IPS w/ ET signatures. Security base policy).
Nota: Em relação ao country block existem países que neste momento são efetivamente um problema de segurança e não vejo necessidade de permitir acessos desde eles a nenhum serviço que esteja em execução.
Em relação ao resto, e ao que existir em assinatura, o IDS irá detetar ataques e os irá bloquear em tempo real. - Consciencialização que o router de ISP não defende de praticamente nada.
- Caso tenham como eu webservices que necessitam de aceder de fora (ou a dar serviço para fora) utilizem um reverse proxy colocado na DMZ, preferencialmente uma máquina separada.
Todos os pedidos http/https irão ser encaminhados para o reverse proxy, e apenas o reverse proxy.
O reverse proxy, será o único residente na DMZ que será permitido aceder aos serviços aplicacionais que irão estar a correr na vossa rede interna.
Nos servidores aplicacionais, restringir TODO o tráfego a HTTPS/SSL.
Filtrar ao nível do reverse proxy, os acessos a webservices internos com componentes de gestão como por exemplo wp-admin :).
Apenas acessos da vossa rede interna (não DMZ) deverá poder aceder aos links administrativos. - Configurem o acesso interno a vossa rede quando vindos da internet por VPN, preferencialmente numa VLAN diferente da vossa rede interna – conheço quem use para o efetivo a DMZ.
- Se possível, utilizar uma máquina de salto (conhecido como session host ou bastion host), para da VPN aceder a ela e em seguida efetuar um salto para os sistemas internos que desejam aceder.Nota que um bastion host é um host que apenas corre serviço de salto (no meu caso ssh), com credenciais separadas das habituais, e num sistema preferencialmente BSD based.
- Utilizar OTP / Dual auth factor na vossa VPN e sistemas de perímetro, no que trata de efetuar acessos a sistemas, com uma lista de credenciais diferente das usadas nos sistemas críticos.
- Nos restantes sistemas utilizar um conjunto de credenciais de administração segregadas (no meu caso utilizo um IPA/IDM (por exemplo da RedHat) que causa lockout quando as minhas credenciais foram introduzidas mais que uma vez.
Para unlock é enviado um SMS de unlock para o meu telefone ). - Negar o NAT automático para fora da vossa rede, e todos os acessos http/https tem de passar via um Squid proxy. Apenas uma máquina pode enviar email.
- Obscuridade sobre especificidades do o que tem montado e o como :).
Em relação a sistemas IOT a solução ainda é mais simples:
- VLAN segregada para todas as classes de IOT que tenho.
- Pé da firewall nesta rede, sendo que os sistemas IOT irão SEMPRE ter que passar pela firewall e IDS até chegarem a Internet.
- VLAN’s de IOT por defeito não tem permissões para chegar a lado nenhum.
Esta é uma aproximação muito high level do tipo de segurança que devem ter caso tenham um ambiente SOHO / de testes.
A este tipo de regras básicas, muitas mais se podem agregar e melhorar, como por exemplo separação em vlan’s de redes distintas plataformas distintas, por exemplo rede de tomcat, e a vossa rede de servidor de email.
A regra mais importante de todas é manter uma copia dos vossos dados, através do tempo, porque não é uma questão de se vão ter problemas, mas sim de quando os irão ter.
Até para a semana que vem! Caso tenham duvidas já sabem onde me encontrar!
Abraço!
Nuno