+ Responder ao Tópico



  1. #1
    PRISCILASCHU
    Visitante

    Padrão Alguem pode analisar o meu IPTables?

    O que eu quero é ter um servidor Linux para distribuir a internet para uma rede com máquinas Windows, bloqueando os acessos a MSN, ICQ...e através de minha máquina de casa(Servidor Amigo), por Terminal Server eu gostaria de acessar uma máquina da rede interna chamada IPJoc.

    !/bin/bash

    RedeLocal="192.168.1.1/24"
    IPJoc="192.168.1.5"
    Servidoramigo="201.38.23.1"
    MSN1="207.46.104.20"
    MSN2="207.46.107.141"
    MSN3="207.46.110.100"
    MSN4="207.68.177.126"
    ICQ1="64.12.164.248"
    ICQ2="64.12.202.217"
    ICQ3="205.188.251.88"
    ICQ4="205.188.248.121"

    Bloqueando os pacotes que saem da rede local com destino ao MSN
    ==========================================
    iptables -A FORWARD -s $RedeLocal -d $MSN1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN4 -j DROP

    Bloqueando os pacotes que saem do MSN com destino ao servidor Linux(Porta de IP dinâmico)
    ==========================================
    iptables -A INPUT -s $MSN1 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN2 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN3 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN4 -i ppp+ -j DROP

    Bloqueando os pacotes que saem da rede local com destino ao ICQ
    =======================================
    iptables -A FORWARD -s $RedeLocal -d $ICQ1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ4 -j DROP

    Bloqueando os pacotes que saem do ICQ com destino ao servidor Linux(Porta de IP dinâmico)
    ==========================================
    iptables -A INPUT -s $ICQ1 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ2 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ3 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ4 -i ppp+ -j DROP

    Limpando os chains (pra que serve isso??)
    ==========================================
    iptables -F #Esvazia as regras da tabela padrão filter
    iptables -t nat -F #Esvazia as regras da tabela nat
    iptables -X #Apaga chains criadas pelo usuário na tabela filter
    iptables -t nat -X #Apaga chains criadas pelo usuário na tabela nat

    isso está certo? Para que serve definir uma política padrão para uma chain ?
    ==========================================
    iptables -P INPUT ACCEPT #Determina pol.padrão-chain Input da tab filter p/aceitar
    iptables -P OUTPUT ACCEPT #Determina pol.padrão-chain Output da tab filter p/aceitar
    iptables -P FORWARD ACCEPT #Determina pol.padrão-chain Forward da tab filter p/aceitar
    iptables -t nat -P PREROUTING ACCEPT #Determina pol.padrão-Prerouting-tab nat p/aceitar
    iptables -t nat -P OUTPUT ACCEPT #Determina pol.padrão-Output-tab nat p/aceitar
    iptables -t nat -P POSTROUTING ACCEPT #Determina pol.padrão-Postrouting-tab nat p/aceitar

    Mascarar a rede interna p/que acessem a internet através de IP dinâmico do servidor Linux
    ==========================================
    iptables -t nat -A POSTROUTING -s $RedeLocal -o ppp+ -j MASQUERADE

    Autorização p/alguns usuários da Internet acessarem uma máquina interna da rede via telnet
    ==========================================
    iptables -t nat -A PREROUTING -s $Servidoramigo -i ppp+ -p tcp --dport 23 -j DNAT --to-port $IPJoc:23

    echo 1 > /proc/sys/net/ipv4/ip_forward #

  2. #2

    Padrão Re: Alguem pode analisar o meu IPTables?

    Espero que o texto abaixo te de uma mao !!!


    # Ativa roteamento via kernel
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Limpando as chains existentes
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X

    # Aplicando politicas de acesso
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    # Habilitando a proteção contra "TCP SYN Cookie"
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies

    # Permissões de acesso ao firewall
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Redirecionando algumas portas
    iptables -t nat -A PREROUTING -i ethX -p tcp --dport 58000:59000 -j DNAT --to-dest 192.168.0.10
    iptables -A FORWARD -p tcp -i ethX --dport 58000:59000 -d 192.168.0.10 -j ACCEPT

    # Compartilhando a conexao
    iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE

    # Bloqueando alguns serviços desnecessarios
    iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j REJECT
    iptables -A FORWARD -s 192.168.0.0/24 -d loginnet.passport.com -j REJECT
    iptables -A FORWARD -s 192.168.0.0/24 -d webmessenger.msn.com -j REJECT

    # Fecha o resto
    iptables -A INPUT -j DROP


    Abraçao





  3. #3
    PRISCILASCHU
    Visitante

    Padrão Re: Alguem pode analisar o meu IPTables?

    gatoseco, obrigada pela ajuda, segue abaixo algumas perguntas...

    # Permissões de acesso ao firewall
    iptables -A INPUT -i lo -j ACCEPT (o que quer dizer lo ??)
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    (o que esta linha faz?)
    # Redirecionando algumas portas (como eu faço para redirecionar apenas o serviço de terminal server de modo que um usuário específico da internet possa acessar uma máquina interna da minha rede?)
    iptables -t nat -A PREROUTING -i ethX -p tcp --dport 58000:59000 -j DNAT --to-dest 192.168.0.10
    iptables -A FORWARD -p tcp -i ethX --dport 58000:59000 -d 192.168.0.10 -j ACCEPT

    # Compartilhando a conexao (usar ppp0 ou eth0 é a mesma coisa? meu IP é dinâmico - velox)
    iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE


  4. #4
    robertofl
    Visitante

    Padrão Re: Alguem pode analisar o meu IPTables?

    - "lo" é o nome da interface de loopback... Essa interface responde pelo endereço 127.0.0.1.

    - iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - Essa linha faz com que todas as conexões já iniciadas e estabelecidas continuem estabelecidas de quando vc aplicar o firewall em diante...

    Para redirecionar uma porta vc usa por exemplo: redirecionar porta 4000 para IP interno 192.168.0.5 na porta 5800:

    iptables -A FORWARD -d 192.168.0.5 -j ACCEPT
    iptables -t nat -A INPUT -p tcp --dport 4000 -j DNAT --to 192.168.0.5:5800

    - No seu caso, como o IP é dinamico, vc deve usar ppp0, pois acho que é do tipo PPPoE, só nao tenho certeza pq aqui em SP é Telefonica...

    Espero ter ajudado.

    []'s
    Roberto

  5. #5
    PRISCILASCHU
    Visitante

    Padrão Re: Alguem pode analisar o meu IPTables?

    obrigada roberto, mais uma perguntinha:

    Eu tenho uma lista de portas que peguei num fórum. Eu sei que por exemplo, para fazer Telnet tenho para uma máquina dentro da minha rede eu tenho que fazer um forward da porta 23. Só não entendo esse negócio de porta do linux para porta do micro. Não devem ser sempre o mesmo nº?

    Deixa eu tentar me explicar melhor. Vou aproveitar o seu exemplo:
    iptables -A FORWARD -d 192.168.0.5 -j ACCEPT
    iptables -t nat -A INPUT -p tcp --dport 4000 -j DNAT --to 192.168.0.5:5800

    Por que alguém direciona uma porta 4000 para uma porta 5800? Não deveria sempre ter o mesmo número?

    Especificamente no meu caso que quero que o IP "201.38.23.1" acesse uma máquina da minha rede interna (IP=192.168.1.5) por Telnet, eu coloco o que?

  6. #6

    Padrão Re: Alguem pode analisar o meu IPTables?

    Citação Postado originalmente por PRISCILA SCHUBNELL

    Deixa eu tentar me explicar melhor. Vou aproveitar o seu exemplo:
    iptables -A FORWARD -d 192.168.0.5 -j ACCEPT
    iptables -t nat -A INPUT -p tcp --dport 4000 -j DNAT --to 192.168.0.5:5800

    Por que alguém direciona uma porta 4000 para uma porta 5800? Não deveria sempre ter o mesmo número?

    Especificamente no meu caso que quero que o IP "201.38.23.1" acesse uma máquina da minha rede interna (IP=192.168.1.5) por Telnet, eu coloco o que?
    nem sempre o msm numero, as vezes o numero da porta da maquna interna jah esta sendo usada no servidor q faz o nat, entao pra evitar conflitos vc seta portas diferentes. pra ficar mais claro, imagine q nesse servidor jah tenha rodando algo na porta 5800, pra vc nao entrar em conflito com esse programa, vc "escuta"os pacotes q serao redirecionados em outra porta

    no teu caso

    iptables -t nat -A PREROUTING -d 201.38.23.1 -p tcp --dport 23 -j DNAT --to 192.168.1.5

    bom mas jah deixa eu te falar outra coisa, remova esse telnet dai e utilize ssh q eh mais seguro, telnet passa suas senhas pela rede totalmente desprotegidas, alem de outras coisas. ssh eh mto mais seguro.

  7. #7

    Padrão Re: Alguem pode analisar o meu IPTables?

    Citação Postado originalmente por PRISCILA SCHUBNELL
    O que eu quero é ter um servidor Linux para distribuir a internet para uma rede com máquinas Windows, bloqueando os acessos a MSN, ICQ...e através de minha máquina de casa(Servidor Amigo), por Terminal Server eu gostaria de acessar uma máquina da rede interna chamada IPJoc.

    !/bin/bash

    RedeLocal="192.168.1.1/24"
    IPJoc="192.168.1.5"
    Servidoramigo="201.38.23.1"
    MSN1="207.46.104.20"
    MSN2="207.46.107.141"
    MSN3="207.46.110.100"
    MSN4="207.68.177.126"
    ICQ1="64.12.164.248"
    ICQ2="64.12.202.217"
    ICQ3="205.188.251.88"
    ICQ4="205.188.248.121"

    Bloqueando os pacotes que saem da rede local com destino ao MSN
    ==========================================
    iptables -A FORWARD -s $RedeLocal -d $MSN1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN4 -j DROP

    Bloqueando os pacotes que saem do MSN com destino ao servidor Linux(Porta de IP dinâmico)
    ==========================================
    iptables -A INPUT -s $MSN1 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN2 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN3 -i ppp+ -j DROP
    iptables -A INPUT -s $MSN4 -i ppp+ -j DROP

    Bloqueando os pacotes que saem da rede local com destino ao ICQ
    =======================================
    iptables -A FORWARD -s $RedeLocal -d $ICQ1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ4 -j DROP

    Bloqueando os pacotes que saem do ICQ com destino ao servidor Linux(Porta de IP dinâmico)
    ==========================================
    iptables -A INPUT -s $ICQ1 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ2 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ3 -i ppp+ -j DROP
    iptables -A INPUT -s $ICQ4 -i ppp+ -j DROP

    Limpando os chains (pra que serve isso??)
    ==========================================
    iptables -F #Esvazia as regras da tabela padrão filter
    iptables -t nat -F #Esvazia as regras da tabela nat
    iptables -X #Apaga chains criadas pelo usuário na tabela filter
    iptables -t nat -X #Apaga chains criadas pelo usuário na tabela nat

    isso está certo? Para que serve definir uma política padrão para uma chain ?
    ==========================================
    iptables -P INPUT ACCEPT #Determina pol.padrão-chain Input da tab filter p/aceitar
    iptables -P OUTPUT ACCEPT #Determina pol.padrão-chain Output da tab filter p/aceitar
    iptables -P FORWARD ACCEPT #Determina pol.padrão-chain Forward da tab filter p/aceitar
    iptables -t nat -P PREROUTING ACCEPT #Determina pol.padrão-Prerouting-tab nat p/aceitar
    iptables -t nat -P OUTPUT ACCEPT #Determina pol.padrão-Output-tab nat p/aceitar
    iptables -t nat -P POSTROUTING ACCEPT #Determina pol.padrão-Postrouting-tab nat p/aceitar

    Mascarar a rede interna p/que acessem a internet através de IP dinâmico do servidor Linux
    ==========================================
    iptables -t nat -A POSTROUTING -s $RedeLocal -o ppp+ -j MASQUERADE

    Autorização p/alguns usuários da Internet acessarem uma máquina interna da rede via telnet
    ==========================================
    iptables -t nat -A PREROUTING -s $Servidoramigo -i ppp+ -p tcp --dport 23 -j DNAT --to-port $IPJoc:23

    echo 1 > /proc/sys/net/ipv4/ip_forward #
    Dessa forma teu firewall bloqueia o MSN, mas depois libera tudo com a limpeza das regras.
    Sugiro que o senhor leia o guia foca linux avançado, é muito bom e explica certinho essas dúvidas de iptables.
    http://www.guiafoca.org/

    Espero ter ajudado.

  8. #8
    D4rk_Sl4ck
    Visitante

    Padrão Re: Alguem pode analisar o meu IPTables?

    cara, da uma estudada também na pilha de protocolos TCP/IP. Com toda certeza vai ajudar e muito.

  9. #9

    Padrão Re: Alguem pode analisar o meu IPTables?

    Coloca a carga dos módulos do iptables, depois a limpeza das regras e depois as regras, ai sim creio que teu firewall vai ficar mais funcional.

  10. #10

    Padrão Re: Alguem pode analisar o meu IPTables?

    oi só uma pequena correção ....

    no inicio do seu script você especificou a rede local ...

    !/bin/bash

    RedeLocal="192.168.1.1/24"

    se é uma rede de 24 bits vce especifica como
    RedeLocal="192.168.1.0/24"

    só pra arquitetura da tua rede ficar scertinha ...

    falow