removido
(usa Nenhuma)
Enviado em 06/08/2011 - 23:54h
Ola Amigo,
Primeiramente
As politicas das cadeias são feitas assim:
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
Sempre especifique a tabela (-t filter ou -t nat, etc..) em questão para ficar mais claro a aplicação dos filtros.
Sendo assim qualquer pacote que tente entrar, sair ou atravessar o firewall linux será barrado exceto se houver alguma regra que case com o pacote. Sendo assim coloca-se as regras de liberação considerando os estados como você disse e o que não casar com estas regras vai para politica padrão que no caso e tudo DROP. Costumo usar para liberação assim:
# LIBERAÇÃO DA REDE LAN
iptables -t filter -A INPUT -i $IFACE_LAN -m state --state NEW -j ACCEPT
# ESTA REGRA ABAIXO E PARA PERMITIR QUE O PACOTE COMPLETE OS CICLOS DE ESTADOS , ACIMA JA LIBEREI QUANDO A CONEXÃO E NOVA AGORA, LIBERO QUANDO E ESTABELECIDA OU RELACIONADA ASSIM:
iptables -t filter -A INPUT -m state --state RELATED.ESTABLISHED -j ACCEPT
Você deverá realizar este procedimento, para todas as cadeias afim de liberar os acessos.
Você poderá criar as regras mais explicitas também tipo, na cadeia Forward:
# LIBERAÇÃO DE ACESSO AO TERMINAL SERVICE E SSH EXTERNO
iptables -t filter -A FORWARD -p tcp -m multiport --dports 22,3389 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Ou seja Neste caso eu libereio acesso externo somente para o SSH e o Terminal Service.
O Conceito e este e fica mais seguro com as politicas em DROP.
ATT
Tiago Eduardo Zacarias
LPIC-1
Viva o Linux!!!