Estou atualizando para o CentOS 7 e aprendendo o firewalld.
Quando eu configuro um novo servidor, minha configuração padrão de iptable para melhor segurança foi (acredito que esta é uma configuração bastante padrão):
# IPv4
iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/service iptables save
iptables -L -v
# IPv6
ip6tables -F
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/service ip6tables save
ip6tables -L -v
Isso agora se tornou:
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone public --remove-service dhcpv6-client
firewall-cmd --zone=public --change-interface=em1
firewall-cmd --reload
Eu acredito que isso funciona, mas a segurança é menor. Tenho a impressão de que usar a zona BLOCK seria mais apropriado, mas o IPv6 quebra devido ao icmp. Alguma sugestão sobre qual seria a melhor configuração do firewalld para refletir melhor as regras antigas do iptable? Para manter essa questão genérica, estou interessado em apenas permitir o SSH - sem quebrar o IPv6 e não permitir mais nada.
Obrigado!