Diede
(usa Debian)
Enviado em 04/08/2009 - 10:09h
Quanto ao ponto da excludência das regras:
A política default é diferente das outras regras (afinal ela é uma política, não uma regra).
Em regras padrões, você pode adicionar infinitas regras iguais, e todas seriam carregadas pelo kernel.
Como esta:
iptables -A INPUT -p tcp -j ACCEPT
Se você copiar e adicionar esta regra mais 1000 vezes, perceberá com um "iptables-save" que existirão 1000 delas, apesar de só a primeira ser processada, por conta do modo linear de processamento das regras.
Agora, como a tabela padrão do iptables é a filter, "iptables -P INPUT ACCEPT" é o mesmo que "iptables -t filter -P INPUT ACCEPT"
O fato é que ao definir uma política padrão pela segunda vez, a segunda substitui a primeira, e por ela ser uma política, não importa em qual lugar do script ela esteja, será sempre a última regra a ser "testada".
O que tentei dizer é que se você colocar:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
e depois:
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
As políticas que entrarão em vigor serão as 3 últimas, de ACCEPT, pois políticas se substituem.
Agora, quanto a estrutura do firewall:
Se as políticas padrões estiverem em DROP, você deve basear as regras em ACCEPT.
E vice-versa (se as políticas forem ACCEPT, você deve basear as regras em DROP).
Se você mantiver as regras "iptables -P INPUT DROP" "iptables -P OUTPUT DROP" "iptables -P FORWARD DROP", adicione as seguintes para liberar acesso:
#SSH:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
#SWAT:
iptables -A INPUT -p tcp --dport 901 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 901 -j ACCEPT
#SAMBA:
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A OUTPUT -p udp --dport 137 -j ACCEPT
iptables -A OUTPUT -p udp --dport 138 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 445 -j ACCEPT
Se ainda houver qualquer impossibilidade de conexão, poste a saída do seu "iptables-save"