como automatizar a criação de regras de firewall?

2

Existe um sistema complexo ao vivo - poucas vlans. Em cada um deles existem servidores linux, e em todos os servidores existem serviços. Os serviços se conectam juntos - por exemplo, serviço http no host A connect to service mysql no host B para a porta 3306 / tcp.

Gostaria de mapear automaticamente esse tipo de configuração para um banco de dados e criar regras de firewall para cada servidor - para permitir apenas as conexões necessárias entre os hosts.

Eu pensei sobre:

  • obtendo lista de conexões usando o netstat em cada servidor (ou registrando conexões do iptables?), e então colocando-as no banco de dados,
  • visualize usando graphvis ou algo parecido,
  • crie regras de firewall baseadas em regras do banco de dados
  • crie a regra iptables para registrar conexões que não se ajustam às regras anteriores e avisar sobre elas.

É algo que pode ser melhor / mais rápido / mais automatizado? Talvez não seja necessário reinventar a roda?

update: parte "hard" não está criando regras de firewall, mas criando de forma automatizada, e então gerenciando uma lista de conexões necessárias.

    
por undefine 30.03.2015 / 10:23

3 respostas

3

Na minha opinião, sua melhor aposta será usar uma ferramenta gerenciamento de configuração como Puppet , Chef , CFEngine ou Ansible para que você possa definir suas políticas com base no tipo de host e aplicá-las a qualquer novo host .

    
por 30.03.2015 / 10:30
2

Algum tempo atrás eu usei o ferm e um script personalizado e simples para gerar conjuntos de regras e inseri-lo na ordem correta vía diretiva "include" em ferm.

Se você quiser logar conexões, etc ... você pode usar ulog-mysql , e salvar dados específicos combinados com uma regra específica do iptables no mysql e grafar o que você quiser a partir deste ponto. / p>

Outra possibilidade é usar um papel iptables em ansible , provavelmente você encontrará o melhor papel para o seu cenário.

    
por 30.03.2015 / 10:53
1

Considere usar o fwbuilder ( link ). É uma ferramenta opensource que gerencia uma espécie de firewall.

    
por 31.03.2015 / 14:33