Caramba, pessoal! :-) .
Preciso de (vários?) conselhos seus sobre a configuração do meu iptables. Sou muito novo no iptables e esta é a primeira vez que configuro um servidor com iptables SOMENTE como firewall (não temos dinheiro nem tempo para definir um firewall "verdadeiro" antecipadamente).
Gostaria de me conectar ao meu servidor via SSH apenas em specific.location.com.
Portanto, configurei as seguintes regras em INPUT :
target in out source destination
ACCEPT lo any localhost anywhere
ACCEPT any any specific.location.com myserver.local tcp dpt:ssh
Minhas políticas padrão são:
INPUT DROP
FORWARD DROP
OUTPUT ACCEPT
Com essa primeira configuração, consegui me conectar ao meu servidor, mas não consegui acessar fora (como google.com), e a conexão ficou muito lenta.
Entendi que meu firewall não tinha nenhuma regra incluindo o estado "ESTABELECIDO" de um pacote. Na verdade, acho que meus pacotes conseguiram sair, mas não foram autorizados a voltar...
Então adicionei esta regra:
target in out source destination
ACCEPT any any anywhere anywhere state ESTABLISHED
Agora tudo funciona perfeitamente, posso acessar fora do servidor, a conexão é muito rápida como antes, e só consigo acessar meu servidor em SSH de specific.location.com!
Minha única pergunta é que preciso de seus conselhos. Essa configuração é limpa? Não encontro nenhum exemplo como este na internet, então estou me perguntando ...
Ou acabei de cometer uma falha de segurança ENORME?!
Obrigado pela ajuda pessoal :-)
Responder1
Canonicamente, essa regra ESTABELECIDA é na verdade RELACIONADA,ESTABELECIDA. Porém, isso não afetará SSH ou HTTP(S - a diferença é que RELATED também abrange o que sãotecnicamentenovas conexões, mas estão relacionadas a uma existente, como em comunicações de canal de dados FTP ou respostas de eco ICMP.
No geral, o que você fez aqui está ótimo.