Negar temporariamente todo o tráfego de entrada com firewalld

Negar temporariamente todo o tráfego de entrada com firewalld

Estou procurando um equivalente ufw default denypara firewalld; a ideia é que, depois de fazer login por meio de SSH em meu novo servidor, eu queira bloquear todas as novas conexões de entrada para ter tempo de atualizar e proteger o sistema. Eu uso CentOS7 com firewalld.

Responder1

Parece dissopostagem de falha no servidorque limitar o tráfego neste nível superiorrequer regras "ricas".

Para implementar uma regra avançada que seja promulgada na zona padrão que elimina todo e qualquer tráfego IPv4:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 drop'

Isso emula o ufw default denycomportamento; para enviar uma mensagem de rejeição ICMP, altere droppara reject. A regra acima é específica para IPv4; para IPv6, use:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv6 source address=::/0 drop'

Após investigação, isso adiciona uma entrada ao iptables que vemdepoisas conexões "aceitar RELATED e ESTABLISHED", para que não interrompa sua sessão ssh existente. Nos meus testes, a "cadeia" resultante de iptables vai (para uma zona padrão de 'pública'):

INPUT -> INPUT_ZONES -> IN_public -> IN_public_deny

Se você espera reinicializar como parte das atualizações, adicione o --permanentsinalizador.

Se você não espera reinicializar como parte das atualizações, poderá usar o --timeoutsinalizador, que aceita valores como 5s, 10mou 15hpara "5 segundos", "10 minutos" ou "15 horas", respectivamente. Tal regra será excluída após esse período de tempo limite.

Quando você quiser remover a regra que adicionou, simplesmente execute o mesmo firewall-cmdque antes, mas substituindo --add-rich-rulepor --remove-rich-rule; para um exemplo de IPv4:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --remove-rich-rule='rule family=ipv4 source address=0.0.0.0/0 accept'

Referência:http://www.firewalld.org/documentation/man-pages/firewalld.richlanguage.html

informação relacionada