+ Responder ao Tópico



  1. #1
    cleyton
    Visitante

    Padrão Dificuldade para liberar FTP

    Bom dia, amigos eu estou com dificulde em fazer uma das maquinas da minha rede interna acessar FTP. minha conexao é adsl de 512K, uso um servidor debiam com proxy squid. gostaria se fosse possiel uma ajuda de vc´s nesse problema. vou postar as regras do meu firewall pra ficar melhor de analisar o problema.



    #! /bin/bash

    echo "iniciando protecao da rede"

    # Ports for IRC-Connection-Tracking
    IRCPORT="6661,6662,6663,6664,6665,6666,6667,6668"

    # Variaveis gerais
    REDMASQ=192.168.2.0/24
    INT_EXT=eth0
    INT_INT=eth1
    END_INT=`ifconfig | grep P-t-P | awk '{print $2}' | cut -d: -f2`

    # Habilita a protecao conta "TCP SYN Cookie"
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies

    # Ocultando a rota de origem dos pacotes (evita spoof)
    #for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo 0 > $i

    # Evitando ataques de spoof (na rede interna)
    #for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $i

    # Habilita o acesso a maquinas solares
    #echo 0 > /proc/sys/net/ipv4/tcp_ecn

    # Habilita o roteamento
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Limpa cadeias
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X

    # Carrega modulos
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
    modprobe ip_conntrack_irc ports=$IRCPORT
    modprobe ip_nat_irc ports=$IRCPORT

    # Muda politica para negar ou permitir tudo
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    # Cria rules
    iptables -N ext-fw
    iptables -N ext-int
    iptables -N int-fw
    iptables -N int-ext

    # Configura NAT
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
    iptables -t nat -A POSTROUTING -s $REDMASQ -o $INT_EXT -j MASQUERADE

    # Aceita todas as conexõde localhost para localhost
    iptables -A INPUT -i lo -j ACCEPT

    # Aceita conexoes de INPUT permitidas
    iptables -A INPUT -i $INT_EXT -j ext-fw
    iptables -A INPUT -i $INT_INT -j int-fw

    # Conexõestabelecidas, relacionadas
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Regras de rotemento
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i $INT_EXT -o $INT_INT -j ext-int
    iptables -A FORWARD -s $REDMASQ -o $INT_EXT -j int-ext
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
    iptables -A FORWARD -m unclean -j DROP
    iptables -A FORWARD -j LOG --log-level 6 --log-prefix "[FORWARD.] "
    iptables -A FORWARD -j DROP

    # Regras da rede externa para o firewall
    iptables -A ext-fw -p tcp --dport 22 -j ACCEPT
    iptables -A ext-fw -p tcp ! --syn --dport 1024:65535 -j ACCEPT
    iptables -A ext-fw -p udp --dport 53 -j ACCEPT
    iptables -A ext-fw -p udp --sport 53 -j ACCEPT
    iptables -A ext-fw -p udp --dport 123 -j ACCEPT
    iptables -A ext-fw -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A ext-fw -j LOG --log-level 6 --log-prefix "[ext-fw..] "
    iptables -A ext-fw -j DROP

    # Regras da rede externa para rede interna
    iptables -A ext-int -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A ext-int -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A ext-int -j LOG --log-level 6 --log-prefix "[ext-int.] "


    # Regras da rede interna para externa
    iptables -A int-ext -p udp --dport 53 -j ACCEPT
    iptables -A int-ext -p tcp --dport 22 -j ACCEPT
    iptables -A int-ext -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A int-ext -p tcp -m multiport --dports ftp,ssh,telnet,smtp,http,pop3,https,1414,5900,7777 -j ACCEPT

    iptables -A int-ext -j ACCEPT
    iptables -A int-ext -j LOG --log-level 6 --log-prefix "[int-ext.] "
    iptables -A int-ext -j DROP

    # Regras da rede interna para o firewall
    iptables -A int-fw -p tcp --sport 22 --dport 1024:65535 ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT

    iptables -A int-fw -p tcp --dport 22 -j ACCEPT
    iptables -A int-fw -p udp --dport 53 -j ACCEPT
    iptables -A int-fw -p tcp -s $REDMASQ --dport 137:139 -j ACCEPT
    iptables -A int-fw -p udp -s $REDMASQ --dport 137:139 -j ACCEPT
    iptables -A int-fw -p tcp -s $REDMASQ --dport 1024:65535 -j ACCEPT
    iptables -A int-fw -p icmp --icmp-type echo-request -j ACCEPT
    #iptables -A int-fw -d 255.255.255.255 -p udp --sport 68 --dport 67 -j ACCEPT
    iptables -A int-fw -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT

    iptables -A int-fw -j LOG --log-level 6 --log-prefix "[int-fw..] "
    iptables -A int-fw -j DROP



    echo "protecao concluida com exito"

    Desculpa por deixar o post tão grande, agurdo uma resposta dos amigos que puderem ajudar, e agradeço desde já o espaço disponibilizado.

  2. #2
    gmlinux
    Visitante

    Padrão Dificuldade para liberar FTP

    Não teria como configurar proxy nesta máquina? Dai usa o squid.
    Mais provávelmente seu problema é só subir os módulos de ip_conntrack_ftp e ip_nat_ftp assim

    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp