Também preciso configurar outras regras do iptables para o ipv6 se eu apenas usar o iptables?

21

Digamos que eu tenha uma configuração de firewall no meu servidor Linux com iptables, para que eu só aceite o tráfego das portas 22 e 80 e bloqueie o acesso a todas as outras portas.

Essas regras funcionam apenas se a máquina cliente estiver usando um endereço IPv4? Portanto, se um endereço ipv6 for usado, o cliente poderá acessar as portas que eu não quero? (ou seja, portas que não sejam as portas 22 e 80)

user230779
fonte
Você não marcou nenhuma das respostas como útil. Você deveria fazer isso. ;-)
Anders

Respostas:

21

iptablesfunciona para IPv4, mas não para IPv6. ip6tablesé o firewall IPv6 equivalente e é instalado com iptables.

Em última análise, porém, iptablesé para conexões IPv4, ip6tablesé para conexões IPv6. Se você deseja que suas iptablesregras também se apliquem ao IPv6, também é necessário adicioná-las ip6tables.


Se você tentar replicar seu iptablesconjunto de regras ip6tables, nem todas as regras que iptablespodem ser executadas serão portadas de maneira ordenada ip6tables, mas a maioria delas.

Consulte a página de manual paraip6tables se você quiser ter certeza de que os comandos que você usa no seu iptablesserão portados corretamente.


Se desejar, podemos ajudá-lo a criar ip6tablesconjuntos de regras equivalentes para corresponder às suas iptablesregras, se você fornecer sua lista de regras de firewall (removendo qualquer informação que possa identificar o sistema de coruse). Caso contrário, só podemos responder à sua pergunta geral.

Thomas Ward
fonte
10
Não é esse tipo de ridículo, então? Para esclarecer, então, agora, todas as minhas portas no servidor estão totalmente abertas para quem se conectar com um endereço IPv6?
precisa saber é o seguinte
3
@ user230779 Concordo que é "ridículo", mas é por isso que, ufwe existem outros gerenciadores de firewall, eles adicionam as regras a ambos, de acordo. O problema em questão aqui, no entanto, não é "Alguém com IPv6 pode ver meu site?" o problema maior é se o seu sistema possui endereços IPv6. A maioria das conexões tem IPv4 e IPv6 de computadores clientes como o meu. Mas se o servidor remoto não tiver um IPv6 voltado para o público, o IPv4 estará conectado. Pelo que entendi, no entanto, se você tiver IPv6, deverá adicionar as regras ip6tablestambém.
Thomas Ward
11
@ user230779 eu poderia criar um script que iria executar o mesmo comando para iptablesE ip6tables, e as regras gerais, como -p tcp --dportcontinuará a funcionar, mas as regras mais complexas talvez não ... (como -j REJECT --reject-with [something])
Thomas Ward
Thomas, você pode me vincular a um exemplo seguro de ip6tables para um servidor web apache?
precisa saber é o seguinte
11
@Braiam nunca disse nada sobre as bandeiras. Alguns dos comandos não funcionam ( -j REJECT --reject-with icmp-host-prohibitedpor exemplo, porque o pacote rejeitado é um nome diferente no IPv6)
Thomas Ward
3

Como outros já disseram, existem tabelas de firewall diferentes para IPv4 e IPv6. Você pode configurar regras para o IPv6 como para o IPv4, mas há um grande risco de que você estrague tudo, se não souber o IPv6. Assim, você não pode optar ICMPpelo IPv6, pois existem partes essenciais do handshake. Como dizer ao remetente que os quadros são grandes demais etc. Sem essas coisas, o IPv6 pode parar de funcionar para alguns usuários.

Portanto, seria altamente recomendável o uso ufwou o pacote shorewall6junto com shorewall. O iptablesfront-end ufwsuporta IPv4 e IPv6 e funciona muito bem em servidores com uma ou duas interfaces, mas não direciona o tráfego (funciona como um roteador ou gateway). Se você direcionar o tráfego, precisará de algo melhor, como shorewalladicionar manualmente algumas regras para encaminhar com iptablese ip6tables.

Não esqueça que você pode ter mais de um endereço IPv6 em suas interfaces. Alguns são apenas locais de link, outros são globalmente estáticos e dinâmicos. Portanto, você deve configurar as regras adequadamente e os servidores ouvindo apenas os endereços corretos.

Anders
fonte