Página 2 de 3 PrimeiroPrimeiro 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #6
    RicardoVS
    Depende, o IP que vc quer que passe direto pelo proxy eh 200.202.246.198?! Nao era 10.10.1.50?[/quote]

    é que agora vou mudar o IP do usuário...
    seria isso mesmo? Pois não deu certo!

    Meu firewall está assim:


    #!/bin/sh

    # Variaveis
    # -------------------------------------------------------

    IF_EXTERNA=eth0
    IF_LOJA=eth1
    IF_WIRELESS=eth3
    IF_LINUX=eth2

    # Ativa modulos
    # -------------------------------------------------------
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_REJECT
    /sbin/modprobe ipt_MASQUERADE


    # Ativa roteamento no kernel
    # -------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/ip_forward


    # Protecao contra IP spoofing
    # -------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter


    # Zera regras
    # -------------------------------------------------------
    iptables -F
    iptables -X
    iptables -F -t nat
    iptables -X -t nat
    iptables -F -t mangle
    iptables -X -t mangle


    # Determina a politica padrao
    # -------------------------------------------------------
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP


    #########################################################
    # Tabela FILTER
    #########################################################


    # Dropa pacotes TCP indesejaveis
    # -------------------------------------------------------

    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP


    # Dropa pacotes mal formados
    # -------------------------------------------------------

    iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP


    # Aceita os pacotes que realmente devem entrar
    # -------------------------------------------------------
    iptables -A INPUT -i ! $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT



    iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT



    # Protecao contra trinoo
    # -------------------------------------------------------
    iptables -N TRINOO

    iptables -A TRINOO -j DROP
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27444 -j TRINOO
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO


    # Protecao contra tronjans
    # -------------------------------------------------------
    iptables -N TROJAN

    iptables -A TROJAN -j DROP
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
    iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN


    # Protecao contra worms
    # -------------------------------------------------------
    iptables -A FORWARD -p tcp --dport 135 -i $IF_LOJA -j REJECT
    iptables -A FORWARD -p tcp --dport 135 -i $IF_WIRELESS -j REJECT
    iptables -A FORWARD -p tcp --dport 135 -i $IF_LINUX -j REJECT



    # Protecao contra syn-flood
    # -------------------------------------------------------
    iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT


    # Protecao contra ping da morte
    # -------------------------------------------------------


    # Aceita a requisição do PING
    iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


    # Protecao contra port scanners
    # -------------------------------------------------------
    iptables -N SCANNER

    iptables -A SCANNER -j DROP
    iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER

    # Libera acesso externo a determinadas portas
    # -------------------------------------------------------
    iptables -A INPUT -p tcp --dport 443 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p udp --dport 443 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 3306 -i $IF_WIRELESS -j ACCEPT
    iptables -A INPUT -p tcp --dport 3306 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 3306 -i $IF_LOJA -j ACCEPT
    iptables -A INPUT -p tcp --dport 5800 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 5900 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -i $IF_EXTERNA -j ACCEPT
    iptables -A INPUT -p tcp --dport 5800 -i $IF_LINUX -j ACCEPT
    iptables -A INPUT -p tcp --dport 5900 -i $IF_LINUX -j ACCEPT



    #########################################################
    # Tabela NAT
    #########################################################


    # Ativa mascaramento de saida
    # -------------------------------------------------------
    iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE


    # Libera o acesso para sair do Proxy Transparente
    # -------------------------------------------------------
    iptables -t nat -A PREROUTING -i $IF_WIRELESS -s 200.202.246.198 -d 0/0 -j ACCEPT


    # Proxy transparente
    # -------------------------------------------------------

    iptables -t nat -A PREROUTING -i $IF_LOJA -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -t nat -A PREROUTING -i $IF_WIRELESS -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -t nat -A PREROUTING -i $IF_LINUX -p tcp --dport 80 -j REDIRECT --to-port 3128


  2. Como vcs ja devem saber, o iptables faz um pacote passar por todos as regras de uma tabela até encontrar uma que obedeca a regra, caso nenhuma regra seja compativel, a politica padrao usada naquele tabela prevalece. O iptables tem uma funcao para retirar um pacote da tabela sem que ele seja validado ou bloqueado - RETURN

    Assim, se voce quer que apenas um ip nao sofre o redirecionamento na tabela NAT, voce tem que desvia ele sem fazer com que as demais regras dessa tabela venham a desvia-lo:

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -s 10.10.1.50 -j RETURN
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


    Assim, na regra: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -s 10.10.1.50 -j RETURN

    o pacote é passado para a proxima tabela de filtro sem passar pela regra:
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


    Patrick Brandão



  3. #8
    felco
    Hummmmmm eh verdade x)
    Mas acho que esta DROP no OUTPUT

  4. #9
    felco
    Ahhhh sabia que eu nao tava viajando -j ACCEPT funciona sim, pq ele manda o pacote pra tabela filter, ele esta na tabela NAT entao ele vai pra tabela filter porque o destino dele eh a internet ele vai para FORWARD eh depois pra OUTPUT

    # Ativa mascaramento de saida
    # -------------------------------------------------------
    iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE


    # Libera o acesso para sair do Proxy Transparente
    # -------------------------------------------------------
    iptables -t nat -A PREROUTING -i $IF_WIRELESS -s 200.202.246.198 -d 0/0 -j ACCEPT

    Eh isso mesmo POREM CONTUDO.... eu disse
    Coloque uma regra acima dessa dizendo que -s 10.10.1.50 com -d indefinido(0/0) eh -j ACCEPT
    Essa regra DEVE vir antes da regra que vc postou deve estar na mesma chain eh na mesma tabela
    eh vc coloquei embaixo



  5. #10
    felco
    Ta certo, foi mal, mas esse IP que vc colocou ai 200.x.y.z? Nao eh pra ser um IP privado?!






Tópicos Similares

  1. Respostas: 10
    Último Post: 10-09-2012, 17:18
  2. ajuda para não limitar tráfedo do proxy
    Por marcossaoleo no fórum Redes
    Respostas: 3
    Último Post: 08-09-2009, 23:53
  3. Respostas: 4
    Último Post: 12-10-2007, 16:47
  4. Liberar um Ip para acessar apenas uma pagina
    Por sbjunior no fórum Servidores de Rede
    Respostas: 2
    Último Post: 14-04-2005, 08:10
  5. acesso livre para apenas um IP
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 12-09-2003, 14:05

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L