Parece bom para a maior parte. A principal coisa é que você provavelmente deve usar o iptables-save e o iptables-restore em vez de executar repetições do iptables. O método iptables-save / restore fornece atualizações em massa atômicas (como uma transação de banco de dados), para que você saiba que nada pode entrar (ou NÃO entrar) porque suas alterações no iptables foram concluídas pela metade quando os pacotes de rede chegaram. Essa alteração também permitirá que você elimine as políticas ACCEPT iniciais, de modo que apenas defina a política preferencial (preferencialmente para DENY) e, em seguida, as regras individuais (exceções que são ACEITAS).
Além disso, você pode querer olhar um pouco mais para o ICMP (em vez de permitir tudo). Ouvi dizer que alguns aspectos do ICMP são bastante duvidosos nos dias de hoje. Pessoalmente, não acho que valha a pena, já que muitas coisas de gerenciamento de tráfego e diagnóstico dependem do ICMP.
Sobre o comentário de womble "don't use iptables": Eu não iria tão longe a ponto de dizer que você não deveria usar o iptables (ou iptables-save / restore) diretamente, mas eu recomendaria olhar para o FERM. É essencialmente apenas iptables, com uma linguagem mais expressiva e menos repetitiva, além de suporte variável. Por exemplo, seus comandos do iptables:
iptables -P INPUT ACCEPT
...
# Allow ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Allow httpd
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Allow SSL
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Ficaria mais parecido com isso no ferm:
# allow some incoming TCP
chain INPUT {
policy ACCEPT;
proto tcp dport (ssh httpd https) ACCEPT;
}
Muito melhor, né? ;)
Por fim, NÃO execute o SSH na porta padrão de 22. Mova-o para outro endereço (edite o arquivo de configuração e recarregue o sshd). Você pode fazer isso mesmo enquanto estiver conectado através de ssh, mas é melhor ter outro método de acesso ao mexer com regras de ssh ou firewall (baseadas em console, como fornecidas por hosts virtuais dedicados). Além disso, procure configurar algo como fail2ban eventualmente. Mas eu não usaria isso sem um IP fixo (do meu lado) e regras de firewall específicas para permitir acesso, não importando o quê, antes de qualquer bloqueio que o fail2ban faz.