Por que eu precisaria de um firewall se meu servidor estivesse bem configurado?

57

Eu administro um punhado de servidores baseados em nuvem (VPS) para a empresa em que trabalho.

Os servidores são instalações ubuntu mínimas que executam bits de pilhas LAMP / coleta de dados de entrada (rsync). Os dados são grandes, mas não pessoais, financeiros ou qualquer coisa assim (ou seja, não tão interessante)

É evidente que as pessoas estão sempre perguntando sobre como configurar firewalls e coisas do tipo.

Eu uso um monte de abordagens para proteger os servidores, por exemplo (mas não restrito a)

  • ssh em portas não padrão; sem digitar senhas, somente chaves ssh conhecidas de ips conhecidos para login etc.
  • link
  • os servidores são mínimos, atualizados e corrigidos regularmente
  • use coisas como rkhunter, cfengine, lynis denyhosts etc para monitorar

Eu tenho uma vasta experiência com o unix sys admin. Estou confiante de que sei o que estou fazendo nas minhas configurações. Eu configuro arquivos / etc. Eu nunca senti uma necessidade de instalar coisas como firewalls: iptables etc.

Ponha de lado por um momento as questões de segurança física do VPS.

Q? Não consigo decidir se estou sendo ingênuo ou se a proteção incremental que um fw oferece pode valer o esforço de aprendizado / instalação e a complexidade adicional (pacotes, arquivos de configuração, suporte possível, etc.) nos servidores.

Até hoje (toque em madeira) Eu nunca tive problemas com segurança, mas também não sou complacente com isso.

    
por Aitch 08.02.2011 / 13:50

8 respostas

85

Eu notei que você fez um ótimo trabalho de amarrar vários daemons diferentes, e pelo que você disse, acho improvável que você se exponha a problemas através dos serviços que você já garantiu. Isso ainda deixa você em um estado "tudo é permitido, exceto o que eu proibi", e você não pode sair desse estado caçando o daemon após o daemon e assegurando-os um por um.

Um firewall configurado para NEGAR QUALQUER por padrão move você para um modo de operação "tudo é proibido, exceto aquele que é permitido", e descobri por muitos anos que eles são melhores.

Neste momento, dado um usuário legítimo com um shell legítimo em seu sistema, ela pode decidir executar algum daemon sem privilégios local para fazer proxy de solicitações da web para a Internet ou iniciar o compartilhamento de arquivos na porta 4662 ou abrir acidentalmente um ouvinte por usando -g com tunelamento de portas ssh, não entendendo o que faz; ou uma instalação do sendmail pode deixar você executando um MUA na porta 587 que foi configurado incorretamente, apesar de todo o trabalho que você fez para proteger o sendail do MTA na porta 25; ou cento e uma coisas poderiam acontecer que contornassem sua segurança cuidadosa e pensativa simplesmente porque eles não estavam por perto quando você estava pensando cuidadosamente sobre o que proibir.

Você vê meu ponto? No momento, você se esforçou muito para garantir todas as coisas que você sabe, e parece que elas não vão te morder. O que pode te morder são as coisas que você não conhece, ou que nem estão lá, agora mesmo.

Um firewall cujo padrão é DENY ANY ANY é a maneira sysadmin de dizer que se algo novo aparece e abre um ouvinte de rede neste servidor, ninguém poderá falar com até que eu tenha dado permissão explícita .

    
por 08.02.2011 / 14:07
13

Princípio do menor privilégio. Um firewall ajuda você a chegar lá. Princípio da Defesa em Profundidade. Um firewall ajuda você a chegar lá também. Qualquer configuração bem projetada depende explicitamente desses dois de uma maneira ou de outra.

Outra coisa é que seus servidores provavelmente serão hardware comum ou hardware específico para manipulação de software de servidor em execução em um sistema operacional de servidor padrão (Unix, NT, Linux). Ou seja, eles não possuem hardware especializado para manipular e filtrar o tráfego de entrada de maneira eficiente. Você quer que o seu servidor lide com todos os pacotes multicast, ICMP ou de portas possíveis?

O mais provável é que seus servidores manipulem fisicamente as solicitações apenas para algumas portas (80, 443, sua porta ssl, sua porta 1521 típica do oracle, sua porta rsync etc.). Sim, é claro que você configurou o software firewalls em seus servidores para ouvir apenas essas portas. Mas suas NICs ainda sofrerão o impacto do tráfego indesejado (seja maligno ou normal em sua organização). Se suas NICs estão sendo prejudicadas, os caminhos de rede estão passando por seus servidores (e possivelmente entre seus servidores e clientes internos e conexões para outros servidores e serviços internos.)

Não apenas suas NICs são marteladas, seu firewall de software também será ativado, já que tem que inspecionar cada pacote ou datagrama que recebe.

Os firewalls, por outro lado, especialmente aqueles nas bordas das sub-redes (ou separando suas sub-redes do mundo externo) tendem a ser um hardware especializado criado especificamente para lidar com esse tipo de volume.

Você pode cercar o número N de servidores com o número M de firewalls (com N > > M). E você define seu hardware de firewall para despejar qualquer coisa que não seja direcionada para portas específicas. Varreduras de porta, ICMPs e outras porcarias estão fora. Então você ajusta o firewall do software em seus servidores de acordo com sua função específica.

Agora você acabou de reduzir (mas não eliminou) a probabilidade de um apagão total, reduzindo-o a um particionamento da rede ou falha parcial na pior das hipóteses. E assim, você aumentou a capacidade de seus sistemas de sobreviver a um ataque ou a um erro de configuração.

Não ter um firewall porque seus servidores têm um é como se sentir seguro em ter seu cinto de segurança enquanto dirige a 120 mph sob visibilidade zero devido ao nevoeiro. Não funciona assim.

    
por 08.02.2011 / 22:08
4

Existem muitos ataques em que você pode ser aceito se você não tiver um firewall que faça algum tipo de inspeção no nível do pacote:

Exemplo é o Pacote de Árvore de Natal

link

Os ataques de DDOS podem ser executados no seu sistema, um firewall (talvez externo, antes de qualquer um dos seus servidores) pararia / retardaria / mataria o tráfego antes que ele destruísse seus servidores.

Apenas porque você não tem dados financeiros ou pessoais nos servidores, não significa que você não vai ficar 'magoado'. Tenho certeza de que você paga pela largura de banda, pelo uso da CPU ou por uma taxa de medição. Imagine ao longo de uma noite (enquanto você está dormindo) alguém sobe o seu medidor (eu vi isso acontecer com provedores VOIP Switch, bateu na noite por milhões de minutos de tráfego, que eles têm que pagar a conta).

Portanto, seja esperto, use a proteção se estiver lá, você NÃO É PERFEITO, nem o software. Só é seguro até a próxima exploração ser encontrada. ;)

    
por 08.02.2011 / 20:27
2

Se você puder impor um princípio de privilégio mínimo sem usar um firewall, provavelmente não precisará dele. Do meu ponto de vista, construir um sistema seguro sem usar um firewall exige mais esforço e sou bastante preguiçoso. Por que eu deveria incomodar a restrição de conexões TCP usando outras ferramentas e provavelmente muitos arquivos de configuração quando posso separar privilégios em um nível de transporte usando uma única configuração.

    
por 08.02.2011 / 14:01
1

Um firewall também pode interceptar pacotes indesejados de alcançar seus servidores. Em vez de lidar com eles no nível de servidor individual, você pode lidar com eles no firewall. Você pode manter toda essa atividade de configuração no único firewall em vez de vários servidores.

Por exemplo, se um atacante ganhou o controle de um IP externo e está inundando seus servidores com pacotes indesejados e você deseja mitigar os efeitos que ele tem em seus servidores ... você pode configurar cada um dos seus servidores afetados para soltar os pacotes maliciosos ou simplesmente faça a alteração no seu firewall e todos os seus servidores estão protegidos. Ter o firewall diminuiu seu tempo de reação.

    
por 08.02.2011 / 18:37
1

Você ou alguém pode cometer um erro na configuração do seu servidor um dia, um firewall oferece uma segunda chance de impedir que alguém entre. Não somos perfeitos, cometemos erros e, portanto, um pouco de seguro "desnecessário" pode valer a pena.

(Tente não executar o seu firewall no mesmo sistema operacional como seus servidores, caso contrário, um único bug no sistema operacional .... Eu considero que todas as versões do Unix sejam o mesmo sistema operacional, como eles têm muito em comum)

    
por 08.02.2011 / 23:26
0

Firewalls são espalhados na manipulação de tráfego. Eles fazem isso rápido e têm recursos. E você não desperdiça recursos do servidor para filtrar o tráfego (disk io / proc time / etc). Você deve configurar alguma segurança no ambiente do servidor, mas toda inspeção de tráfego e verificação de vírus e assim por diante deve fazer servidores especializados.

    
por 19.04.2011 / 10:50
-2

Eu ficaria preocupado se você fosse hackeado e não tivesse um firewall. Os hackers poderiam abrir outras portas em seus servidores. Além disso, se um consultor for contratado para fazer alguma limpeza e auditoria, a primeira coisa que eles dirão é: "O quê?!?! Você não tem um firewall!" Então você pode ser queimado.

    
por 08.02.2011 / 16:21