Todos os itens que você postou são porque em algum momento você ativou o ufw que é um front end para o iptables e fez todas aquelas tabelas customizadas.
A opção -F remove as regras de algumas, mas não de todas as regras de todas as tabelas, nem das cadeias vazias que você está vendo.
Você precisa de algumas opções adicionais:
De link conjunto completo de comandos para redefinir o iptables é:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
-
A opção
- -P reconfigura a política padrão das tabelas.
- O -t nat -F libera a tabela nat.
- O -t mangle -F libera mangle, que quase nunca é usado.
- -X exclui cadeias vazias.
Veja o link para IPv6 e o iptables para detalhes adicionais.
O "problema" é a opção -F, sem especificar uma cadeia, não libera todas as correntes, no seu caso você tem algumas correntes restantes criadas pelo UFW.
Para excluir essas cadeias, é necessário primeiro esvaziá-las (-X não as excluirá, a menos que estejam vazias)
Portanto, para cada cadeia, você primeiro precisa remover qualquer referência à cadeia, liberar a cadeia e excluí-la
Começando com "ufw-before-log-forward"
sudo iptables -D FORWARD -j ufw-before-logging-forward
sudo iptables -F ufw-before-logging-forward
sudo iptables -X ufw-before-logging-forward
e para todas as cadeias personalizadas ufw adicionadas.
É claro que, como você está usando o ufw, existe um método muito mais fácil:
sudo ufw disable
Alguns comentários gerais
-
Sugiro que você mantenha a política padrão ACCEPT em vez de REJECT ou DROP. Se você definir a política padrão como REJECT / DROP, poderá bloquear a sua se executar
iptables -F
-
Se você escrever manualmente as regras do iptables, não use o ufw ou outras ferramentas para alterar suas regras.
-
Eu sugiro REJEITAR em vez de DROP. Em uma casca de noz, o DROP é mais incômodo para legitimar o tráfego e, embora pareça legal, o DROP não atrasa nem engana nenhuma das ferramentas modernas de craqueamento. Como seu sistema reage a um pacote, os crackers sabem que você está funcionando no seu endereço IP e o DROP não oculta nada.
Veja link para detalhes.
- Use o iptables-persistent
A resposta principal Como salvar regras do iptables? analisa o uso básico, incluindo salvar e restaurar seu conjunto de regras. Veja a man page para detalhes adicionais.
Para ajuda na criação de regras, preciso de mais detalhes, que porta e qual tráfego você deseja limitar e como. Limitando o ping é diferente. Limitar um servidor da web é diferente de limitar as conexões ssh. Permitir mais, mas limitar alguns, é usar talvez uma lista negra. Limitar tudo e permitir que alguns sejam uma lista branca, etc.
Exemplos:
Tráfego da Web - Eu poderia usar a sintaxe geral de um servidor da Web se estivesse muito ocupado:
iptables -I INPUT -p tcp -m state --state NEW -m limit --limit 30/minute --limit-burst 5 -j ACCEPT
Você certamente pode adicionar a opção --dport 80
ao comando acima.
Isso limita a 30 conexões por minuto, o que é muito lento para o Apache. Se o servidor web não estivesse tão ocupado, você pode liberar até milhares de conexões / minuto.
SSH - Essas regras são ótimas para bloquear tentativas de força bruta
# This rule tracks incoming connections to port 22
iptables -A INPUT -p tcp -m tcp --dport 22 -m tcp -m state --state NEW -m recent --set --name SSH --rsource
# This command rejects any attempt to connect to ssh more than
# 8 times in 10 minutes
# After 10 minutes you can attempt again so not permanent ban
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 600 --hitcount 8 --rttl --name SSH --rsource -j REJECT --reject-with icmp-host-prohibited
# Finally this will accept the connections
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Se precisar de ajuda mais específica, atualize sua pergunta =)