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

5

Como eu crio uma regra de firewall usando a ferramenta firewall-cmd (new firewalld) de tal forma que limitarei uma rede específica para acessar apenas um serviço e permitir tudo em todos os serviços em uma zona.

Por exemplo:

Eu tenho apenas uma interface eno1 e está associada à zona pública. Os serviços HTTP e https estão ativados nessa zona. Eu quero ativar o acesso ssh nessa zona, mas mas eu quero limitar o acesso ssh a uma rede (por exemplo, 100.0.0.0/8)

Qual é a melhor maneira de fazer isso?

    
por lawrence Da 08.12.2014 / 13:52

1 resposta

6

Procurei a resposta, mas encontrei muitas perguntas relacionadas à minha, sem respostas.

Depois de muito estudo, cheguei com uma solução alternativa. Aqui está o que eu fiz

Eu adicionei 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
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x/x" service name="ssh" log prefix="ssh" level="info" accept' 
sudo firewall-cmd --reload

Nota: o endereço de origem pode ser um intervalo. Basta especificar a máscara de 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 de origem.

Qualquer solução melhor, por favor adicione.

    
por 09.12.2014 / 08:57