configurando o firewalld da maneira correta

2

Desde que usei o Centos, estava usando o iptables com um script de firewall personalizado para analisar as regras. Mas desde Centos 7 firewalld é o novo padrão. O que é bom para mim, hora de seguir em frente.

Enfim, acho que os documentos do firewalld são mal escritos e com alguns exemplos.

Então, minha pergunta é bem simples, mas vou ilustrar o que quero alcançar.

Eu tenho um servidor com duas interfaces. Uma interface está conectada à internet e a outra é uma rede interna. Todo o tráfego na interface interna é permitido, então eu adicionei-o à zona confiável. Até aí tudo bem.

Minha maneira padrão de pensar é que todo o tráfego é bloqueado, exceto por sua finalidade de veiculação (http, https no meu caso). Para manutenção e backup, o ssh deve estar aberto para alguns endereços IP.

Eu estava pensando em usar um serviço personalizado para criar uma regra para o ssh, mas isso não funciona porque os serviços não aceitam uma tag de origem. Então, como devo proceder? Eu gostaria de criar um arquivo onde eu possa definir minhas exceções (ssh para um ip, http para todos, etc.) para que eu possa copiá-los para outros servidores.

Obrigado antecipadamente!

    
por Metalmini 29.07.2014 / 15:18

2 respostas

1

Também tenho esse problema recentemente, mas consegui adicionar acesso a serviços http e https. Mas eu tive o problema de serviços ssh limitando a um endereço de origem. Este é o meu trabalho.

Primeiro, adicione a interface à zona pública então

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" service name="ssh" log prefix="ssh" level="info" accept'
sudo firewall-cmd --reload

O endereço de origem pode ser um intervalo, basta especificar a sub-rede

Como o ssh não foi adicionado à zona pública, ele será bloqueado por padrão. A regra rich irá ativá-lo apenas para esse ip / range de origem.

Qualquer solução melhor, por favor adicione.

Eu respondi na minha pergunta em

Usando o Firewall- cmd para criar restrições específicas de endereço no centos 7

    
por 09.12.2014 / 08:59
0

Eu não sei se é a melhor maneira de fazer isso, mas eu adicionei uma nova zona. Você pode colocar endereços de origem em zonas. Portanto, crie uma zona de gerenciamento e adicione os endereços de origem, serviços e portas desejados. Desde que eu preciso fazer isso com bastante freqüência eu apenas manter o arquivo xml da zona e soltá-lo em cada novo servidor que eu giro.

Por exemplo. No diretório / etc / firewalld / zones, faça um arquivo chamado mgt.xml ou o que você quiser chamar sua zona. Então faça algo assim:

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Management</short>
  <description>The services to manage the server and the ip addressees to manage it from.</description>
  <source address="2001:0DB8::/64"/>
  <source address="192.168.0.5"/>
  <service name="ssh"/>
  <port protocol="tcp" port="10000"/>
</zone>

Você precisará reiniciar o firewalld.

Eu realmente uso esse mesmo método para modificar outras zonas também. Se você colocar um arquivo public.xml ou drop.xml nessa mesma pasta, você substituirá as configurações padrão da zona. Eu tenho 4 arquivos xml que eu deixo cair no firewalld como parte do meu procedimento de configuração para qualquer novo servidor para me dar um ponto de partida seguro para o firewall.

Apenas um FYI, você pode fazer tudo isso usando o firewall-cmd, mas acho que descartar os arquivos xml mais rápido ao criar novos servidores.

    
por 06.05.2016 / 17:27