Eu queria saber se alguém poderia me ajudar com a seguinte regra do iptables:
Gostaríamos de permitir QUALQUER e TODOS os locais de origem (como no servidor executando o iptables).
DNS, HTTP, etc ... tudo isso. Qualquer conexão iniciada pelo servidor executando iptables deve ser permitida.
Atualmente, estamos usando basicamente a política padrão OUTPUT, ACCEPT. Isso está correto? As entradas estão bloqueadas, portanto, suponho que isso signifique que as conexões (exceto aquelas que permitimos) não possam ser iniciadas porque serão descartadas antes que nosso lado atinja a política de SAÍDA?
Desculpe, minhas habilidades no iptables são fracas;)
Obrigado gentilmente.
-d 0.0.0.0/0
é redundante e não é necessário.Isso é suficiente para OUTPUT porque o Netfilter não precisa de regras especiais para iniciar o rastreamento de conexões com estado.
Mas se você deseja filtrar o tráfego de entrada de acordo com a política " negar padrão ", isso pode ser feito com a troca de
INPUT
cadeia paraDROP
:iptables -P INPUT DROP
Posteriormente, tudo seria definido com apenas 2 regras :
Preste atenção à regra que permite o tráfego de entrada na interface de loopback - como apontei na postagem do meu blog " Firewall mínimo para o usuário final ", a menos que seja permitido explicitamente, o tráfego de loopback não será tratado pela verificação de estado "estabelecida", em comparação com o retorno tráfego acabou, digamos
eth0
.Para garantir que esse conjunto de regras mínimo seja carregado " como está " sem interferir com as regras que já podem estar lá, é conveniente fazer uso
iptables-restore
na sessão SHELL:Antes de fazer isso, verifique se você não cortará sua própria conexão de rede 1 , embora as sessões SSH já abertas continuem funcionando normalmente, as tentativas de abrir novas não funcionarão.
__
-A INPUT -j ACCEPT -p tcp --dport 22
- não há necessidade de mexer-m state
aqui. Também não se esqueça delptables-restore
voltar aoiptables-restore
antes de tentar;)fonte