FTP pelo firewall

1. FTP pelo firewall

Thiago Araujo
thiagomgt

(usa Debian)

Enviado em 12/09/2007 - 13:17h

Boa tarde galera, + uma duvida qye gostaria de contar com a ajuda de vcs..
configurei corretamento o ftp (proftpd), e está funcionando normal, porem qndo rodo o meu firewall, ao digitar o endereço do ftp (que é na mesma maq onde está o firewall), aparece a tela de login, porem ao colocar o login e a senha da erro de permissão. + se parar o firewall funciona normal.
no meu firewall coloquei a seguinte regra:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT #FTP

(precisa de + alguma para funcionar?)

segue o firewall completo..

###########################
## VARIAVEIS DO SISTEMA ###
###########################

# rede local e internet
WAN="eth0" # internet
LAN="eth1" #local

# Diretorio de arquivos do firewall
DIR="/etc/firewall"
# arquivos do firewall
BLOCKALL="ips_block_all"
ALLOWALL="ips_allow_all"

# Comando CAT
CAT="/bin/cat"


############################
# Iniciar - Valores TCP/IP #
############################

inicio() {
# Filtra Pacotes "Spoofados"
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Não Aceita Pacotes Redirecionados
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Desativa Redirecionamentos
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Não Loga Ips Impossiveis
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
# Ignora Pacotes ICMP de Broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Ignora Pacotes ICMP de Erro
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Tempo Maximo de Espera da Conexao sem Resposta
echo 45 > /proc/sys/net/ipv4/tcp_fin_timeout
# Tempo Maximo de Conexão KeepAlive
echo 90 > /proc/sys/net/ipv4/tcp_keepalive_intvl
# Habilita Redirecionamento de Pacotes (Necessario para NAT)
echo 1 > /proc/sys/net/ipv4/ip_forward
# Protege Contra Ataques Syn Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies


}

####################
# Limpar as regras #
####################

limpa(){
iptables -F # Limpa todas as regras da tabela Filter
iptables -X # Deleta todas as cadeias da tabela Filter
iptables -Z # Zera contador da tablea Filter
iptables -P INPUT ACCEPT # Habilita regra default de entrada de pacotes com ACEITAR
iptables -P FORWARD ACCEPT # Habilita regra default de passagem de pacotes com ACEITAR
iptables -P OUTPUT ACCEPT # Habilita regra default de saida de pacotes com ACEITAR
iptables -t nat -F # Limpa todas as regras da tabela NAT
iptables -t nat -X # Deleta todas as cadeias da tabela NAT
iptables -t nat -Z # Zera os contadores da tabela NAT
}

######################
## REGRAS DE ACESSO ##
######################

firewall_start(){

# liberar portas - conexoes primarias (ACESSAR O SERVIDOR)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #FTP
iptables -A INPUT -p tcp --dport 53 -j ACCEPT #DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT #DNS
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT # APACHE

# Fim das portas primarias

#############################
# Regra para Bloqueio Total #
#############################

# Laco de repeticao para pegar os ips dos PC com bloq total
for n in `$CAT $DIR/$BLOCKALL`
do
iptables -A FORWARD -s $n -j DROP
iptables -A FORWARD -d $n -j DROP

# Bloq direto no navegador
iptables -A INPUT -s $n -p tcp --dport 3128 -j DROP

done

#############################
## Regra para Acesso Total ##
#############################
# laco de repeticao para pegar os ips dos PC com permissao total
for n in `$CAT $DIR/$ALLOWALL`
do
iptables -A FORWARD -s $n -m state --state NEW -j ACCEPT
iptables -A FORWARD -d $n -m state --state NEW -j ACCEPT

done

####################################
######## ACESSO A INTERNET #########
####################################

iptables -A INPUT -i $LAN -p tcp --dport 3128 --syn -j ACCEPT # Permitir acesso ao squid
iptables -A INPUT -i $LAN -p tcp --dport 25 -j ACCEPT #SMTP (email)
iptables -A INPUT -i $LAN -p tcp --dport 587 -j ACCEPT #SMTP (locaweb)
iptables -A INPUT -i $LAN -p tcp --dport 110 -j ACCEPT # POP (locaweb)
iptables -A FORWARD -i $LAN -p tcp --dport 443 --syn -j ACCEPT # HTTPS
iptables -A FORWARD -i $LAN -p tcp --dport 80 --syn -j ACCEPT # HTTP

# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A INPUT -m state --state INVALID -j DROP

# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
iptables -A INPUT -i lo -j ACCEPT


# Fecha as portas udp de 1 a 1024
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP

# Bloqueia porta de saida do MENSSENGER, tanto local quanto forward
iptables -A OUTPUT -p tcp --dport 1863 -j DROP
iptables -A FORWARD -p tcp --dport 1863 -j DROP
iptables -A OUTPUT -p udp --dport 1863 -j DROP
iptables -A FORWARD -p udp --dport 1863 -j DROP


######################################
## Redirecinamento para SQUID - NAT ##
######################################
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE

# Esta regra é o coração do firewall
# ela bloqueia qualquer conexão que não tenha sido permitida acima, justamente por isso ela é a última da cadeia.
iptables -A INPUT -p tcp --syn -j DROP

echo "O Firewall está sendo carregado..."
sleep 1
echo "Firewall OK!"
sleep 1
}


###################################
## Comando de inicio do firewall ##
###################################

case "$1" in
"start")
inicio; limpa; firewall_start
;;
"stop")
inicio; limpa
echo "O firewall está sendo desativado"
sleep 2
echo "ok."
;;
"restart")
echo "O firewall está sendo reiniciado"
sleep 1
echo "ok."
inicio; limpa; firewall_start
;;
*)
iptables -L -n
esac




  


2. Re: FTP pelo firewall

Thiago Fernandes de Melo
m4tri_x

(usa Ubuntu)

Enviado em 12/09/2007 - 15:15h

coloca ali no inicio do firewall e ve se funciona.

iptables -A INPUT -p tcp --dport 20 -j ACCEPT

iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 20 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 21 -j ACCEPT


Acho q eh isso, []´s



3. FTP

Juno Kim
juno

(usa Linux Mint)

Enviado em 14/09/2007 - 12:41h

Cara,
é isso aí o ftp tem que ter liberado as portas 20 e 21 .

Falou =)


4. modprobe ip_conntrack_ftp

Jeronimo
tricolorpoa

(usa Debian)

Enviado em 18/12/2008 - 00:16h

Amigo,

Tem que liberar conexoes ESTABLISHED e RELATED.
Primeiro carrega o modulo que monitora as conexoes e o kernel saber quais sao as conexoes relacionadas ao ftp
modprobe ip_conntrack_ftp

Depois libera elas no chain INPUT
iptables -A INPUT -i ethx -m state --state ESTABLISHED,RELATED -j ACCEPT

Resolveu pra mim!! =]


5. Re: FTP pelo firewall

Bruno Silva
brunotool

(usa Ubuntu)

Enviado em 03/02/2012 - 12:03h

Dias,
To com esse problema no FTPD, ja liberei as portas 20,21,80,53,8080, todo tipo de porta seu eu liberar todo meu firewall funciona normal.

Alguém tem alguma ideia?

Obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts