+ Responder ao Tópico



  1. #1

    Padrão Redirecionamento Para Exchange

    Olá pessoal, dentro do ambiente que dou suporte, tenho firewall e proxy em linux, e servidor de e-mail em Exchange até ontem eu estava sem tempo de configurar corretamente meu firewall e ele estava de um jeito que eu costumo dizer "firewall perna aberta", resolvi ajeitar, estudei aqui no forum postei, tirei dúvidas o pessoal me ajudou foi ótimo, testei em casa, agora porcausa de um pentelhinho de nada de configuração, não ficou 100% a menssagem só chega quando na chain FORWARD eu seto como ACCEPT quando seto DROP não entra e-mail e ainda tive que fazer uma regra DNAT, essa:
    DNAT all -- anywhere 192.168.66.101 to:192.168.0.2
    e abrir chain FORWARD pra entrar.
    obs: o e-mail sai com a chain setada como DROP.

    A dúvida:
    Será que o e-mail entra por uma porta alta? Qual porta devo liberar em FORWARD para setar a chain padrão para DROP?

    Meu Firewall está assim:

    Chain INPUT (policy DROP)
    target prot opt source destination
    ACCEPT all -- 127.0.0.0/8 127.0.0.0/8
    ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
    ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:3128
    ACCEPT tcp -- anywhere anywhere tcp dpt:telnet

    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT udp -- anywhere anywhere udp dpt:domain
    ACCEPT udp -- anywhere anywhere udp dpt:https
    ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:smtp
    ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:3389
    ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
    ACCEPT tcp -- anywhere anywhere tcp dpt:telnet

  2. #2

    Padrão

    Olha, meu conselho é que você faça o procedimento de enviar/receber e-mail sniffando a rede no gateway, para saber ao certo o quê ele faz e o quê você tem que liberar. Utilize o iptraf para isso que pode te dar uma ajuda.


    Abraços!

  3. #3

    Padrão

    prezado amigo Xstefanox eu fiz isso mas eu não consegui enxergar nehuma atividade relativa a isso ou eu não soube usar. Vc teria como me passar mais alguma dica com iptraf ou algum outro modo?

  4. #4
    wrochal
    Visitante

    Padrão

    Caro,

    Para receber/enviar emails basta você liberar o DNS e SMTP, no firewall.

    Abraços,

  5. #5

    Padrão

    Perfeito, concordo plenamente contigo mas o que eu não to conseguindo com sucesso é setar a chain FORWARD em DROP e liberar só que eu quero.

    por exemplo tenho servidor exchange microsoft, e ele também é servidor web IIS as menssagens saem mas não entra.

    Eu tenho 2 DNATS

    Todo mundo que quiser acessar o site da empresa bate nessa regra

    1º PREROUTING -d if_wan -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80

    Todo mundo que mandar e-mail pra mim vai mandar para o meu exchange

    1º PREROUTING -d if_wan -p tcp --dport 25 -j DNAT --to-destination 192.168.0.2:25

    com a política FORWARD em DROP não entra e-mail e nem dá pra entrar no site da empresa de fora eu gostaria de saber se preciso liberar outras portas em FORWARD para esses serviços funionarem.

    Chain FORWARD (policy DROP)
    target prot opt source destination
    ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT udp -- anywhere anywhere udp dpt:domain
    ACCEPT udp -- anywhere anywhere udp dpt:https
    ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:smtp
    ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:3389
    ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
    ACCEPT tcp -- anywhere anywhere tcp dpt:telnet

  6. #6

    Padrão

    Fora isso, já pensou em utilizar - -j LOG do iptables? Pode ser útil também...

  7. #7

    Padrão

    Boa amigo, essa é uma ótima idéia eu sou iniciante nessa parada to implementando na marra num tá afetando a empresa porque se der pau eu seto pra ACCEPT e vo testando até ficar legal, mas você poderia me passar a syntaxe dessa regra e onde eu acesso o arquivo de LOG.

    Obrigado

  8. #8
    wrochal
    Visitante

    Padrão

    Caro,

    Tenho vários clientes usando Firewall em Linux e Exchange, normalmente eu uso este script

    Código :
    #!/bin/bash
    # Firewall desenvolvido por William da Rocha Lima
    # qualquer dúvida envie e-mail para [email protected]
    # Sobre a Licença GPL
    # Data: 22/02/2006
     
     
    # Programas
    IPT=/sbin/iptables
    MODP=/sbin/modprobe
     
    # Configuracao Rede
    IFWAN=eth0
    IFLAN=eth1
    IPWAN=200.X.123.X
    LAN=192.168.5.0/24
    IFINT=192.168.5.0/24
    ANY=0/0
     
    # Servidor de Terminal Service
    SERVER=192.168.5.43
     
    # IPS Liberados para NET
    IPS_ALLOW="192.168.5.1 192.168.5.2 192.168.5.43 192.168.5.56 192.168.5.196 192.168.5.63"
     
    # Portas LIBERADAS (INPUT TCP/UDP)
    INPUT_TCP="53 22 80 9022 20 21 3456 3389 3390 1723"
    INPUT_UDP="53 67 80"
     
    # PORTAS LIBERADAS (FORWARD)
    FORWARD_TCP="20 22 21 25 47 53 80 110 143 1723 1863 3422 3456 3389 3390 3391 3392 3393 443 9022 9023 5800 5900"
    FORWARD_UDP="20 22 21 25 47 53 80 110 143 1723 1863 3456"
     
    # MODULOS A CARREGAR
    for module in ip_tables ipt_REDIRECT ipt_MASQUERADE ipt_MARK ipt_REJECT \
            ipt_TOS ipt_LOG iptable_mangle iptable_filter iptable_nat ip_nat_ftp \
            ip_conntrack ip_conntrack_ftp ip_conntrack_irc \
            ip_nat_irc ipt_mac ipt_state ipt_mark; do
            $MODP $module
    done
     
    # ATIVANDO MASCARAMENTO NO KERNEL
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    # Protecao de ICMP e Spoofing
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
     
    # Inicio das Regras
    echo -n "Iniciando o Firewall   "
     
    # Limpando as Regras
    echo -n "Limpando as Regras	" 
    $IPT -F
    $IPT -Z
    $IPT -X
    $IPT -t nat -F
    $IPT -t nat -X
    $IPT -t nat -Z
    echo -n "Ativando Compartilhamento	"
    # Compartilhamento
    $IPT -t nat -A POSTROUTING -s 192.168.5.0/24 -d $ANY -p ALL -o $IFWAN -j MASQUERADE
     
    echo -n "Configurando Chain INPUT"
    # LoopBack Livre
    $IPT -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
    $IPT -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT
    $IPT -A INPUT -i $IFLAN -m state --state NEW -j ACCEPT
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # INPUT LIBERADAS
    for servico in $INPUT_TCP; do
      $IPT -A INPUT -p tcp --dport $servico -j ACCEPT
    done
     
    for servico in $INPUT_UDP; do
      $IPT -A INPUT -p udp --dport $servico -j ACCEPT
    done
     
    echo -n "Configurando Chain FORWARD"
    # Estacao para Internet
    for FORWARD in $FORWARD_TCP; do
      $IPT -A FORWARD -p tcp --dport $FORWARD -j ACCEPT
    done
     
    for FORWARD in $FORWARD_UDP; do
      $IPT -A FORWARD -p udp --dport $FORWARD -j ACCEPT
    done
     
    # Liberando Suporte
    for ALLOW_FORWARDS in $IPS_ALLOW; do
    $IPT -A FORWARD -s $ALLOW_FORWARDS -j ACCEPT
    done
     
    # Bloqueando o Resto
     
    echo -n "Configurando Prioridades de Pacotes"
     
    # Priorizando os Liberados
     
    for OUTPUT in $IPS_ALLOW; do
      $IPT -t mangle -A OUTPUT -s $OUTPUT -o $IFWAN -p tcp --dport 0:65535 -j TOS --set-tos 16
      $IPT -t mangle -A OUTPUT -s $OUTPUT -o $IFWAN -p udp --dport 0:65535 -j TOS --set-tos 16
    done
     
    # Prioridade ALTA RDP
    $IPT -t mangle -A OUTPUT -o $IFWAN -p tcp --dport 3389:3390 -j TOS --set-tos 16
    $IPT -t mangle -A PREROUTING -i $IFLAN -p tcp --sport 3389:3390 -j TOS --set-tos 0x10
     
    # Entrada
    $IPT -t mangle -A PREROUTING -i $IFLAN -p udp --sport 0:65535 -j TOS --set-tos 0x00
    $IPT -t mangle -A PREROUTING -i $IFLAN -p tcp --sport 0:65535 -j TOS --set-tos 0x00
     
    # SAIDA
    $IPT -t mangle -A OUTPUT -o $IFWAN -p tcp --dport 10:65535 -j TOS --set-tos 0x00
    $IPT -t mangle -A OUTPUT -o $IFWAN -p udp --dport 10:65535 -j TOS --set-tos 0x00
     
     
    echo -n "Configurando Redirecionamento de Portas"
    # Redirecionamento do Proxy
    $IPT -t nat -A PREROUTING -i $IFLAN -p tcp --dport 80 -j REDIRECT --to-port 3128
     
    # Servidor RDP
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 3389 -j DNAT --to-destination 192.168.5.43
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 9009 -j DNAT --to-destination 192.168.5.196
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 21 -j DNAT --to-destination 192.168.5.1:21
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 20 -j DNAT --to-destination 192.168.5.1:20
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 80 -j DNAT --to-destination 192.168.5.2
    $IPT -t nat -A PREROUTING -d $IPWAN -p tcp --dport 80 -j DNAT --to-destination 192.168.5.1
     
    echo -n "Ativando Segurança"
     
    # Bloqueando PINGS, Spoofings
    $IPT -A INPUT -p icmp --icmp-type time-exceeded -j DROP
    $IPT -A FORWARD -p icmp --icmp-type time-exceeded -j DROP
     
    # Fechando o RESTO
    $IPT -A INPUT -i $IFWAN -j DROP
    $IPT -A FORWARD -s $LAN -j DROP
     
    echo "                  [  OK  ]"

  9. #9

    Padrão

    Olha, aqui tem um bom guia sobre iptables em geral (Que é o Focalinux). Aqui tá o link direto para o alvo LOG

    Guia Foca GNU/Linux - Firewall iptables

    É até legal você aprender isso aí e dar uma lida, porque o seu firewall vai ficando grande e você com certeza vai trombar com essa situação de novo na vida, só que como o seu firewall já vai estar maior, logo vai ser um pouco mais difícil de diagnosticar o problema.


    Um abraço!

  10. #10

    Padrão

    eu testei seu script muito bom, só uma pergunta nesse script vc não seta a chain padrão FORWARD para DROP né? fecha tudo no final é isso?

  11. #11
    wrochal
    Visitante

    Padrão

    Então no meu caso prefiro fazer assim, o bom do iptables que vc faz da forma que quiser...

    abs,

  12. #12

    Padrão

    Valeu então amigão abraço, suas informações foram muito importantes. Vo ver lá a melhor forma.