ftp tls com firewall :(

2

Meu (s) FTP (s) não está funcionando quando o firewall está habilitado. Eu sempre tive o meu iptables configurado para mim no passado, aprendi mais ou menos como configurar um ontem, mas eu perdi uma regra que isso exige. Aqui está o meu iptables.rules

# Generated by iptables-save v1.4.4 on Tue Nov 16 23:23:50 2010
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT
-A INPUT -m state -i eth0 --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 989:990 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 10000 -j ACCEPT
-A INPUT -p icmp -i eth0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable


COMMIT
# Completed on Tue Nov 16 23:23:50 2010
# Generated by iptables-save v1.4.4 on Tue Nov 16 23:23:50 2010
*mangle
:PREROUTING ACCEPT [95811:65665815]
:INPUT ACCEPT [92355:65212126]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [55795:22371752]
:POSTROUTING ACCEPT [55795:22371752]
COMMIT
# Completed on Tue Nov 16 23:23:50 2010
# Generated by iptables-save v1.4.4 on Tue Nov 16 23:23:50 2010
*nat
:PREROUTING ACCEPT [5132:543438]
:POSTROUTING ACCEPT [953:67517]
:OUTPUT ACCEPT [953:67517]
COMMIT
# Completed on Tue Nov 16 23:23:50 2010

Então, para resumir, meu FTP se conectará, mas não mostrará nenhum arquivo com o firewall ativado. com o firewall desativado, tudo está perfeito.

EDIT: o único outro caminho que eu tenho para trabalhar com o firewall é desabilitar o ipv6, desabilitando o TLS e adicionando uma regra ao firewall que permite a conexão da minha rede doméstica (o servidor está em outro lugar)

    
por Juddling 17.11.2010 / 23:04

3 respostas

7

No modo Passivo, quando o cliente deseja obter um arquivo do servidor ou enviar um arquivo para o servidor, o servidor FTP selecionará uma porta aleatória e a enviará para o cliente FTP.

Quando você não estiver usando criptografia, um firewall configurado adequadamente (usando o módulo do kernel ip_conntrack_ftp helper, que pode ser o que está faltando para conexões não-TLS) "escutará" a conexão e marcará esses dados. conexões como RELATED . Com a criptografia, o firewall não pode ouvir.

A solução rápida e suja para isso é configurar o servidor FTP para escolher um pequeno intervalo de portas para conexões passivas e, em seguida, permitir o acesso a todas essas portas. Por exemplo, em vsftpd :

pasv_min_port=12000
pasv_max_port=12049

Em seguida, no iptables:

iptables -A INPUT -p tcp -m tcp -i eth0 --dport 12000:12049 -j ACCEPT

Permitir que qualquer pessoa acesse essas portas abre uma possível exploração: se alguém as examinasse várias vezes, elas poderiam ter sorte e conseguir "bater" o usuário real na porta de dados e pegar o arquivo. Idealmente, seu servidor de FTP verificaria se a conexão está vindo do mesmo lugar da conexão original, mas graças a coisas como "FXP" (transferência de arquivos de um servidor para outro, convencendo-se a estabelecer uma conexão ativa com o outro). porta de dados passiva) alguns servidores não verificam a conexão por padrão. Você deve verificar seu arquivo de configuração e ver se há uma opção para desabilitar o FXP e usá-lo. (vsftpd chama isso de "promíscuo" e está desativado por padrão).

    
por 18.11.2010 / 01:39
0

se a conexão FTP iniciar, mas nenhum arquivo puder ser visto / transferido, tente usar o modo passivo (basta digitar PASV em um cliente ftp de linha de comando). Sem o modo passivo, o servidor tentará configurar uma conexão de volta à sua máquina em uma porta anônima. Pelo menos, é o que acontece com o FTP simples - não sei como é feito com o FTPS: S

HTH

JJK

    
por 17.11.2010 / 23:31
0

Não tenho experiência direta com FTPS, mas é possível que, como o canal de controle está criptografado, o código de rastreamento de conexão do netfilter não consegue aprender a porta apropriada a ser aberta para permitir a conexão de dados de entrada do cliente. modo). Isso pode explicar porque "tudo está perfeito" quando o firewall está desativado. Se possível, tente usar o modo ativo. Infelizmente, suspeito que, se o cliente também estiver atrás de um firewall, o modo ativo provavelmente também será bloqueado, pelo mesmo motivo!

    
por 18.11.2010 / 01:07