Problema com a liberação FTP no IPTables

1. Problema com a liberação FTP no IPTables

Marcos Guilherme Oliveira Da Silva
marcosguitj

(usa Debian)

Enviado em 01/12/2011 - 09:23h

Bom dia, pessoal.

Esse é meu primeiro pedido de ajuda aqui no fórum, pois não encontrei nada semelhante, pois sempre obtive a ajuda necessária nesse fórum maravilhoso.

Sem mais baba ovisse, ai vai o problema (problemásso pra mim):

Tenho um firewall, que funciona como um gateway, um debian lenny, pra ser mais exato. Esse firewall tá ligado à minha rede interna e à uma DMZ(rodando WEB e FTP). O meu firewall tá com 3 placas de rede: Uma pra rede interna, uma pra DMZ e uma pra internet. Daí, o que acontece: Eu consigo direcionar todas as conexões web e ftp externas para a DMZ, no FTP é que dá o problema: Abre lá a guia que pede usuario e senha, eu digito o anonymous lá, ou qualquer outro usuario que eu cadastrei, e ele fica lá, eternamente, até dar tempo limite de conexão atingido.

Já tentei de tudo, tudo mesmo, mas só funciona quando troco a politica padrão do firewall de DROP para ACCEPT, e tipo, a rede tem que rodar com DROP... Dá pra dar uma ajuda ae, pessoal?




  


2. Esse é meu IPtables...

Marcos Guilherme Oliveira Da Silva
marcosguitj

(usa Debian)

Enviado em 01/12/2011 - 09:25h

Define as regras padrões como DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Vamos limpar todas as regras existentes nas tabelas.
iptables -F
iptables -t nat -F
iptables -t mangle -F

É necessário mascarar todo tráfego proveniente da rede interna para traduzir o endereço privado em público.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

Essa regra é necessária para fazer o teste de conectividade (ping) entre as interfaces eth0 e eth1.
Permite que o firewall ping para fora
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT

Permite que a rede interna ping para fora
iptables -A OUTPUT -o eth1 -p icmp -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -j ACCEPT


Permite que a DMZ ping para fora
iptables -A OUTPUT -o eth2 -p icmp -j ACCEPT
iptables -A INPUT -i eth2 -p icmp -j ACCEPT

Regras para permitir a saída de tráfego DNS do firewall
iptables -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT

Regras para permitir a saida de tráfego HTTP do firewall
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT

Regra para permitir a entrada e passagem de tráfego DNS a partir da rede interna.
iptables -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -p udp --sport 53 -j ACCEPT

Regra para permitir a entrada e passagem de tráfego DNS a partir da DMZ.
iptables -A INPUT -i eth2 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -p udp --sport 53 -j ACCEPT




Permite entrada e passagem de trafego HTTP a partir da rede interna
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -p tcp --sport 80 -j ACCEPT

Permite entrada e passagem de trafego HTTP a partir da DMZ
iptables -A INPUT -i eth2 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -p tcp --sport 80 -j ACCEPT

Permite a entrada e saída de tráfego na porta 8080 do firewall
iptables -A INPUT -i eth1 -p tcp -d 172.16.0.1 --sport 8080 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -s 172.16.0.1 --dport 8080 -j ACCEPT

Redireciona o tráfego HTTP e FTP da rede interna para o servidor web/ftp (DMZ)
iptables -t nat -A PREROUTING -p tcp -d 172.16.0.1 -i eth1 -m multiport --dports 80,20,21 -j DNAT --to 192.168.100.10
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A OUTPUT -o eth2 -p tcp -m multiport --dports 80,20,21 ACCEPT
iptables -A INPUT -i eth2 -p tcp -m multiport--sports 80,20,21 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -p tcp -m multiport --sports 80,20,21 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -m multiport --sports 80,20,21 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.10 -o eth1 -m multiport --sports 80,20,21 -j SNAT --to 172.16.0.1



3. Re: Problema com a liberação FTP no IPTables

Paulo
phcmaia

(usa Fedora)

Enviado em 01/12/2011 - 10:49h

Provavelmente o ftp está entrando em modo passivo e faz-se nescessario liberar outras portas além da 20 e 21 , se não me engano o range de portas é dá 4000-65500 , mas é bom você confirmar pesquisando um poco .

Abcs ,


4. Re: Problema com a liberação FTP no IPTables

Marcos Guilherme Oliveira Da Silva
marcosguitj

(usa Debian)

Enviado em 01/12/2011 - 13:22h

Então, meu caro, esqueci de falar que nem em modo passivo ele conecta... Estou ficando doido, não sei mais o que fazer.


5. Re: Problema com a liberação FTP no IPTables

Paulo
phcmaia

(usa Fedora)

Enviado em 01/12/2011 - 13:28h

Sim , você tentou liberar as portas que citei na minha primeira resposta ?
Você esta fazendo com NAT ?

A liberação seria algo assim :
IPTABLES -A FORWARD -o ethX -m state --state NEW -p TCP --sport 1024:65535 --dport ftp -j ACCEPT
IPTABLES -A FORWARD -o ethX -m state --state NEW -p TCP --sport 1024:65535 --dport 1024:65535 -j ACCEPT

Abcs ,



6. Re: Problema com a liberação FTP no IPTables

Marcos Guilherme Oliveira Da Silva
marcosguitj

(usa Debian)

Enviado em 01/12/2011 - 13:32h

Não, não tentei assim não. Vou tentar e já já te posto o resultado, ok?

Muitissimo obrigado pela ajuda


7. Re: Problema com a liberação FTP no IPTables

Paulo
phcmaia

(usa Fedora)

Enviado em 01/12/2011 - 13:46h

Eu coloquei a regra so na forward , nao esqueci de liberar essas portas altas na INPUT
Abcs






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts