+ Responder ao Tópico



  1. #1

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    Galera!

    Já tenho o proxy funcionando no Conectiva 8.0; queria implementar um firewall com iptables

    para transformar o meu proxy em proxy transparente e poder habilitar o envio e recebimento

    de e-mails (pop3 - smtp).

    Tenho a seguinte estrutura de rede:
    range: 172.16.64.0 - 172.16.64.255 (Vou distribuir a internet, smtp e ´pop3 somente para

    esta rede)
    netmask: 255.255.248.0
    roteador cisco: integra a minha rede com a minha mantenedora - FrameRaley (estou integrado

    a uma Wan)
    ip do meu server proxy: 172.16.64.206

    Como deve ser o meu arquivo firewall?
    Fiz um assim:
    /etc/iptables (Dei #chmod 775 iptables - para transformar o arquivo em executável);

    Coloquei o arquivo iptables no /etc/rc.d/init.d - para ser executado durante a

    inicialização do sistema.


    Conteúdo do arquivo /etc/rc.d/init.d/iptables

    #Início
    #!/bin/bash
    # Script de Firewall e Compartilhamento
    # Apagando as regras antigas
    iptables -F
    #Setando o kernel para dinamico IP masquerado
    if [ -e /proc/sys/net/ipv4/ip_dynaddr ]
    then
    echo 1 > /proc/sys/net/ipv4/ip_dynaddr
    fi
    #
    # Carrega os módulos
    modprobe iptables
    modprobe iptable_nat
    # Compartilha a conexão
    modprobe iptable_nat
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward
    #>Protege contra pacotes danificados
    iptables -A INPUT -m unclean -j DROP
    iptables -A FORWARD -m unclean -j DROP
    # Porta de SSH # LOG --> /var/log/messages
    iptables -A INPUT -p tcp --destination-port 22 -j LOG --log-prefix
    iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
    # Abre para a rede local
    iptables -A INPUT -p tcp --syn -s 172.16.64.0/255.255.248.0 -j ACCEPT
    #Transferindo da 80 para a 3128
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #Fim do script


    Alterei as seguintes linhas no meu squid.conf (Coloquei exatamente como está abaixo):



    # HTTPD-ACCELERATOR OPTIONS
    # ---------------------------------------
    #
    #
    #
    httpd_accel_port 80
    httpd_accel_host virtual

    E o Seguinte Grupo:

    #
    # TAG: httpd_accel_with_proxy
    # --------------------------------------
    #
    #
    httpd_accel_with_proxy on
    #
    #
    # TAG: httpd_accel_uses_host_header on|off
    #
    #
    httpd_accel_uses_host_header on

    Observações:
    - se eu seto na estação de trabalho o meu server proxy como gateway ...na rola navegação;
    - se eu seto no brouser (se é proxy transparente pra que eu tenho que fazer isto?) a

    navegação funciona normalmente;
    - Como eu sei se o firewall (as regras que eu coloquei estão funcionando)?
    - Se houver erros no script, onde estão localizados?
    - como testar o firewall?
    - como transformar o proxy em proxy transparente e habilitar o envio e recebimento de e-mail?

    Agradeço todas as dicas.

    Obrigado.

  2. #2
    Visitante

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    Cara, eu acho que vc ta esquecendo de informar a origem(rede) dos pacotes na sua regra do firewall, embora que vc tenha informado a saida mas não deu a origem, e isso pode ocasionar problemas, veja:

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

    faca o seguinte

    iptables -t nat -A POSTROUTING -s 172.16.64.0/255.255.248.0 -j MASQUERADE

    Esqueça isso

    iptables -A INPUT -m unclean -j DROP
    iptables -A FORWARD -m unclean -j DROP

    Estes pacotes "unclean" ainda estão em fase de teste cheio de bugs, que ao inves de ajudar pode prejudicar o desempenho de sua lan. E tente fazer a seguinte instrução no iptables pra saber se sua regra esta funcionando

    iptables -t nat -L

    iptables -L

    se sua regra não for listada, ela não tara funcionando. Outra coisa ao inves de vc criar um script como vc fez, digite todas as regras na linha de comando e depois save usando o "iptables-save > fire" e depois edit o rc.local e insira suas linhas principais tipo:

    modprobe iptables
    modprobe iptable_nat
    iptables -F
    iptables-restore < /home/fire

    Outro ponto importante é politica do seu firewall veja se ela esta em DENY ou ACCEPT. quanto ao squid ta normal a configuração. Vc tem razão vc nãp precisa colocar configuração nenhuma de proxy no seu navegador, ja que que sua rede ta mascarada. Qual coisa posta ae.




  3. #3

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    Obrigado pelas dicas anônimo.....infelizmente só vou conseguir testar isso na segunda-feira (18/0<IMG SRC="images/forum/icons/icon_cool.gif">, pois estou com diversos problemas com um cliente no interior e me escalaram pra ir pra lá...mas tudo bem.....as demais dúvidas eu posto aqui....


    Obrigado, é de gente como vc que a comunidade Linux precisa....
    .!!!! <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif">

  4. #4

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    Mudei algumas coisas no meu firewall!! (mas ainda não está funcionando)!!!
    ficou assim:

    no final do arquivo "/etc/rc.d/rc.local" inclui as seguintes linhas:

    modprobe ip_conntrack
    modprobe ipt_MASQUERADE
    modprobe ipt_LOG
    modprobe iptable_nat
    modprobe iptable_nat_ftp
    modprobe iptable_filter
    iptable-restore < /etc/iptables



    Conteúdo do arquivo iptables:

    iptables -F
    iptables -Z
    iptables -t nat -F

    iptables -t filter -P FORWARD DROP
    iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT

    iptables -t filter -A INPUT -i eth1 -m state --state NEW -j ACCEPT
    iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -t filter -A FORWARD -d 0/0 -s 172.16.64.0/32 -o eth0 -j ACCEPT
    iptables -t filter -A FORWARD -d 172.16.64.0./32 -s 0/0 -i eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t filter -A INPUT -s 172.16.64.0./32 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -s 172.16.64.0/32 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -p icmp -s 192.168.0.0/24 -d 0/0 -j ACCEPT
    iptables -t filter -A INPUT -p tcp -s 0/0 -d 0/0 --dport 22 -j ACCEPT
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 3128


    Observações:
    - quando digito "#iptables -L" as regras do arquivo iptables estão ativas.
    - A Configuração das estações de trabalho estão assim: na placa de rede eu coloco o ip do meu

    servidor como gateway; coloco os dois dns do meu provedor + 0 ip do server; no brouser falo para

    ele procurar automaticamente; mas quando vou navegar não navega......falta configurar mais alguma

    coisa? Tentei navegar só com ips, pois pensei que não estava resolvendo nomes, mas também não funcionou!!!
    O que fazer? O que falta configurar? Está faltando alguma regra?

    - se eu seto no brouser o ip do server e porta 3128 a navegação está normal; mas assim eu não quero!!!! pois o objetivo de implantação desse firewall, inicialmente é transformar o meu proxy em proxy transparente e depois que estiver funcionando assim, liberar o envio e recebimento de e-mails (smtp - pop3);

    O que está faltando? Eu tenho que configurar um servidor de DNS?

    Ajudem-me por favor....

    Grato pelas respostas!!!

  5. #5

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    GALERA HELP-ME!!

    ESTOU NA MESMA DA ANTERIOR!!! NÃO TÁ FUNCIONANDO.

    obrigado.

  6. #6

    Padrão PROXY + FIREWALL + CONECTIVA 8.0 + SMTP + POP3

    Quando listo as minhas regras elas ficam assim, mas não está funcionando!!!

    Chain INPUT (policy ACCEPT)
    target prot opt source destination ACCEPT all -- anywhere anywhere
    ACCEPT all -- anywhere anywhere state NEW
    ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT all -- 172.16.64.0 anywhere LOG tcp -- anywhere anywhere tcp dpt:ssh LOG level warning
    ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

    Chain FORWARD (policy DROP)
    target prot opt source destination
    ACCEPT all -- 172.16.64.0 anywhere
    ACCEPT all -- anywhere 172.16.64.0

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    ACCEPT all -- anywhere anywhere
    ACCEPT all -- 172.16.64.0 anywhere
    ACCEPT icmp -- 172.16.64.0 anywhere

    HELP-ME!!!