Gerenciar vários arquivos iptables com regras

2

Meu caso de uso é que eu implemente servidores arch-linux com serviços diferentes em execução, dependendo dos requisitos do cliente. Os serviços são específicos da aplicação em execução em portas personalizadas, mas para o argumento digamos que seus FTP, WEB e WEB SSL podem ser usados. Em qualquer combinação.

Para cada serviço, eu tenho um pacote personalizado que instala esse serviço específico e, para facilitar, eu gostaria que o pacote também instalasse uma regra do iptables, tornando possível usar o serviço.

Portanto, por padrão, quero ter uma regra que negue tudo, exceto o SSH. Então, quando eu instalar, por exemplo, o pacote WEB, eu quero que o pacote instale um arquivo contendo uma regra para abrir a porta 80. A porta do pacote FTP 21 e assim por diante.

No entanto, eu só posso ver que o iptables criou suporte para um arquivo no total através dos utilitários iptables-restore / save.

Eu poderia escrever meu próprio utilitário que lê vários arquivos e interage manualmente com o iptables. Mas eu sinto que este deve ser um caso de uso "bastante comum" e que tal utilidade certamente deve existir. No entanto, minhas habilidades no google não me fizeram nada de bom desta vez:)

Basicamente, o que eu quero é ter uma pasta, digamos /etc/iptables.d onde eu possa colocar arquivos 15-http, 10-ftp, 20-ssl. etc onde os arquivos e as regras são aplicadas de acordo com o número no nome do arquivo.

    
por tkarls 03.09.2016 / 20:27

1 resposta

1

Você pode instalar ufw em seus dispositivos. Ele tem suporte para definir aplicativos através de arquivos de configuração (você diz quais portas abrir no arquivo) e então você pode habilitá-los (faça o firewall levá-lo em conta) executando um comando.

Faça seus pacotes dependerem de ufw , descarte um arquivo em /etc/ufw/applications.d e, em seguida, use uma execução de gancho de pós-instalação ufw allow <app name> para ativar as regras.

O Shorewall parece ser um front-end avançado para IPtables e tenho certeza de que ele suportaria o que você está tentando fazer. Eu recomendo que você verifique sua documentação e veja se seria um ajuste melhor.

    
por 14.10.2016 / 08:38