Qual é a desvantagem de excluir uma regra iptables como uma tentativa de verificar se ela existe?

1

Eu quero adicionar uma regra usando iptables , mas somente se ela ainda não existir.

Há a opção -C , que nos permitirá verificar se uma especificação de regra já existe. A opção é descrita em este Q & A também.

A partir dessa pergunta, esta resposta específica diz como é possível usar a opção -D (delete), qual excluirá a regra se existir, ou sairá com o código 1 se não existir. (O que é exatamente o que o -C faz se a regra não existir, por isso não será um problema).

E para mim parece mais conveniente fazer

ip6tables -D OUTPUT -p icmpv6 --icmpv6-type destination-unreachable -j DROP
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type destination-unreachable -j DROP

Em vez de verificar se existe, excluí-lo, se houver, e somente depois adicionar a nova regra.

No entanto, alguém no comentário mencionou que ele abre um buraco no firewall e não consigo ver como.

Conclusão: por que não devo excluir e anexar a regra às cegas em vez de verificar antes de excluir & adicionando?

    
por Adelin 03.10.2018 / 13:59

2 respostas

3

Bem, o problema com essa abordagem (excluir, depois adicionar) é que essas duas operações não acontecem de uma vez, elas têm algum tempo entre elas e, durante esse tempo, o sistema é exposto ao tráfego indesejado que sua regra DROP foi prevenção. Isso pode parecer inofensivo no seu caso com ipv6 inacessíveis, mas considere que você está sendo atingido pelo tráfego que faz com que alguns aplicativos ou dispositivos não respondam - pela minha experiência, às vezes, até uma pequena fração da regra de firewall que impedia isso poderia ter algum tempo consequências duradouras.

    
por 03.10.2018 / 17:00
0

O fato de a regra de bloqueio poder ser excluída e abrir algo para tráfego indesejado poderia ser um problema menor, excluindo a regra que realmente permite que você entre. Nesse caso, você não terá a chance de restaurá-la.

    
por 03.10.2018 / 20:10