Em caso de dúvida sobre o comportamento do bash: cite suas entradas não confiáveis.
Se você tiver uma linha com apenas um espaço no arquivo badips.db
, essa linha será igual a:
/sbin/iptables -A INPUT -i eth0 -s -j LOG --log-prefix " Drop BadIP "
A mensagem de erro não aponta o problema por causa da maneira como o iptables analisa os argumentos ignorando inicialmente o fato de que -j
não é um argumento válido para -s
e fica preso no próximo argumento.
O impacto atual de entradas maliciosas no seu badips.db
é "execução de código com privilégios de root", portanto, certifique-se de que seu script está lidando com ips / nets de origem inválida corretamente.