+ Responder ao Tópico



  1. #1

    Padrão Problema com layer7

    Galera... Eu recompilei o Kernel certinho, com layer7 e ipp2p. Testei com o comando:

    iptables -m layer7 --help

    E aparece o help dele, que teoricamente, ele está ativado no Kernel então!!!!

    O que acontece, eu não consigo fazer uma regra para o MSN Messenger, onde quero liberar o IM para algumas pessoas e bloquear para o resto.
    Se eu faço a regra, ela bloqueia para TODOS, até os IP's que eu deixei liberado.
    Abaixo, segue como foi colocado a regra, e a ordem:

    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d $FULANO -j ACCEPT
    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d $LAN -j DROP

    Outra dúvida:

    Na mesma idéia, estou tentando bloquear o download de arquivos com extensão EXE, mas não funciona, mesmo se eu quiser bloquear para TODO MUNDO não poder fazer o download.
    Abaixo, segue como usei a regra:

    iptables -A FORWARD -m layer7 --l7proto exe -d $LAN -j DROP

    E tentei assim também:

    iptables -A FORWARD -m layer7 --l7proto exe -j DROP

    Muito estranho, pois se não estivesse funcionando mesmo, ele não bloquearia todo mundo no MSN Messenger, mas não entendo o por que dessa última regra não está funcionando!!!!!

  2. #2

    Padrão

    É de boa praxe quando utilizar a chain FORWARD referenciar a rede interna com a opção -s e o destino por -d. Fora isso, o quê exatamente contém a variável $FULANO?

  3. #3

    Padrão

    Na variável $FULANO... tem o número IP da pessoa que não vai bloquear o MSN. Já a variável $LAN, tem a faixa de IP que pertence a terceira classe e no final /24....

  4. #4

    Padrão

    Sim, mas este IP não está com máscara /24 não, né?

  5. #5

    Padrão

    Não está com /24.... Sò está o IP mesmo

  6. #6

    Padrão

    Olá amigo!

    Se eu fosse você tentaria o seguinte

    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d $FULANO -j ACCEPT
    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d $FULANO -j RETURN
    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d $LAN -j DROP

    Eu imagino que ele esta dropando o pessoal que você liberou pois ele continua a ler as regras e quando ele chega "-d $LAN" o endereço que você liberou pertence a $LAN! Por isso eu imagino que ele ta dropando os pacotes!

    O return vai ajudar pois ele quando chegar nesse ponto vai parar de ler essas regras! Tenta isso ai manow!

    Falows!

    André

  7. #7

    Padrão

    Zenun, tentei fazer o que vc me disse, mas não deu certo não!!!! Tem outra maneira??/ Alguem pode tentar me ajudar/??

  8. #8

    Padrão

    Quando o script substitui as variáveis elas ficam assim por exemplo:

    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d 192.168.2.2 -j ACCEPT
    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d 192.168.2.2 -j RETURN
    iptables -A FORWARD -m layer7 --l7proto msnmessenger -d 192.168.2.0/255.255.255.0 -j DROP

    Claro que não necessariamente esse mesmo ip/rede.
    Como estão as suas outras regras de iptables?

    Falows...
    Última edição por zenun; 19-12-2006 às 20:55.

  9. #9

    Padrão

    Sim, ele fica com esses IP's sim....

    Aproveitando a deixa, vou colocar a conf do meu firewall para ver onde estou errado, e queria se alguem ver, analisar ele todo, para ver se tem algo desnecessario.

    OBS: IP'S FICTÍCIOS.......

    # Variaveis usadas no IPTABLES
    LAN=192.168.1.0/24
    WAN=200.122.173.213
    LIDIANE=192.168.1.183
    CAIO=192.168.1.190
    ELIZANGELA=192.168.1.188
    VALNI=192.168.1.157
    FERNANDO=192.168.1.123
    TELMA=192.168.1.122
    SERVIDOR_BD=192.168.1.50
    OLEANDRO=192.168.1.195

    # Limpa todas as regras do IPTABLES anteriores
    iptables -F
    iptables -t nat -F
    iptables -t mangle -F
    iptables -t filter -F

    # Politica padrao da Prefeitura (Bloquear entradas e liberar saidas)
    #iptables -P INPUT DROP
    #iptables -P FORWARD DROP
    #iptables -P OUTPUT ACCEPT

    # ================== PROTECOES CONTRA INVASOES DIVERSAS ================================

    # Protecao contra Worm
    iptables -A FORWARD -p tcp --dport 135 -i eth1 -j DROP

    # Bloqueio contra ataques Spoofing
    #iptables -t nat -A PREROUTING -i eth1 -s 10.0.0.0/8 -j DROP
    #iptables -t nat -A PREROUTING -i eth1 -s 172.16.0.0/16 -j DROP
    #iptables -t nat -A PREROUTING -i eth1 -s $LAN -j DROP

    # Bloqueio contra WinCrash
    iptables -A FORWARD -p tcp --dport 5042 -j DROP

    # Bloqueando Back Orifice
    iptables -A INPUT -p tcp -i $WAN --dport 31337 -j DROP
    iptables -A INPUT -p udp -i $WAN --dport 31337 -j DROP

    # Bloqueando NetBus
    iptables -A INPUT -p tcp -i $WAN --dport 12345:12346 -j DROP
    iptables -A INPUT -p udp -i $WAN --dport 12345:12346 -j DROP

    # Bloqueando Trin00
    iptables -A INPUT -p tcp -i eth1 --dport 1524 -j DROP
    iptables -A INPUT -p tcp -i eth1 --dport 27444 -j DROP
    iptables -A INPUT -p tcp -i eth1 --dport 27665 -j DROP

    iptables -A INPUT -p tcp -i eth1 --dport 31335 -j DROP
    iptables -A INPUT -p tcp -i eth1 --dport 34555 -j DROP
    iptables -A INPUT -p tcp -i eth1 --dport 35555 -j DROP

    # Bloqueando ataques Syn-flood, DoS
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies

    # Fechando portas TIME e o SERVER X
    iptables -A INPUT -i eth1 -p tcp --dport 37 -j DROP

    # Bloqueando o Death Ping
    iptables -A FORWARD -p ICMP --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    # Bloqueando nmap-port scanning
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    # Bloqueando pacotes quebrados ou suspeitos
    #iptables -A FORWARD -m unclean -j DROP

    # Protecao contra ataques
    iptables -A INPUT -m state --state INVALID -j DROP

    # Bloqueando Tracertroute
    iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP

    # ========================================== FIM ============================================

    # Coloca o proxy transparente
    #iptables -t nat -A PREROUTING -s $LAN -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

    # Distribui internet a rede interna
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

    # Redireciona a porta do Aplication Server
    iptables -t nat -A PREROUTING -j DNAT -p tcp -i eth1 -d $WAN --dport 10000 --to $SERVIDOR_BD:10000

    # Redirecionar a porta do VNC Repeater para o Servidor de Dados
    iptables -t nat -A PREROUTING -j DNAT -p tcp -i eth1 -d $WAN --dport 5901 --to $SERVIDO_BD:5901

    # Redireciona a porta do FIREBIRD (3050) para o Servidor de Dados
    iptables -t nat -A PREROUTING -j DNAT -p tcp -i eth1 -d $WAN --dport 3050 --to $SERVIDOR_BD:3050

    # Liberar porta para o Net Support Manager (Duralex)
    iptables -A FORWARD -s $LAN -p tcp --dport 3085 -j ACCEPT

    # Uso do TOS para TS, Firebird e FTP
    iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 3389 -j TOS --set-tos 16
    iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport 3389 -j TOS --set-tos 16
    iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 3050 -j TOS --set-tos 8
    iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport 3050 -j TOS --set-tos 8
    iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 21 -j TOS --set-tos 16
    iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport 21 -j TOS --set-tos 16
    iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 22 -j TOS --set-tos 8
    iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport 22 -j TOS --set-tos 8
    iptables -t mangle -A OUTPUT -o eth1 -p tcp --dport 2401 -j TOS --set-tos 16
    iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport 2401 -j TOS --set-tos 16

    # Bloqueio de internet por IP
    #iptables -A FORWARD -s $LIDIANE -j DROP
    iptables -A FORWARD -s $CAIO -j DROP
    #iptables -A FORWARD -s $OLEANDRO -j DROP
    #iptables -A FORWARD -s 192.168.0.185 -j DROP

    # Bloquear ORKUT via HTTPS
    #for BLOCK_ORKUT in `cat /etc/rc.d/orkut.block`
    #do
    #iptables -A FORWARD -d $BLOCK_ORKUT -p tcp -s $VALNI --dport 443 -j ACCEPT
    #iptables -A INPUT -d $BLOCK_ORKUT -p tcp -s $VALNI --dport 443 -j ACCEPT
    #iptables -A FORWARD -d $BLOCK_ORKUT -p tcp -s $TELMA --dport 443 -j ACCEPT
    #iptables -A INPUT -d $BLOCK_ORKUT -p tcp -s $TELMA --dport 443 -j ACCEPT
    #iptables -A FORWARD -d $BLOCK_ORKUT -p tcp --dport 443 -j DROP
    #iptables -A INPUT -d $BLOCK_ORKUT -p tcp --dport 443 -j DROP
    #done

    # Bloquear todos os programas P2P
    iptables -A FORWARD -m ipp2p --edk --kazaa --gnu --dc --bit --apple --winmx --soul --ares -j DROP


    ############################################ Bloqueio de IM #################################
    # Bloqueando ICQ
    iptables -A FORWARD -p tcp --dport 5190 -j DROP
    iptables -A FORWARD -d login.icq.com -j DROP

    # Bloqueando AIM
    iptables -A FORWARD -d login.oscar.aol.com -j DROP

    # Bloqueando Yahoo Messenger
    iptables -A FORWARD -d cs.yahoo.com -j DROP
    iptables -A FORWARD -d scsa.yahoo.com -j DROP

    # Bloquear MSN
    #for IPVALIDOMSN in `cat /etc/rc.d/ip.msn.valido | cut -f1 -d#`
    #do
    #iptables -A FORWARD -m layer7 --l7proto msnmessenger -s $IPVALIDOMSN -j ACCEPT
    #iptables -A FORWARD -m layer7 --l7proto msnmessenger -s $IPVALIDOMSN -j RETURN
    #iptables -A FORWARD -m layer7 --l7proto msnmessenger -s $LAN -j DROP
    #done

    # ============================================== FIM ===================================

    # ================================ Configuracao para OPENVPN ==========================

    # Libera a porta para conexao com o HOME_FERNANDO e redireciona a porta para o SERVIDOR
    iptables -A INPUT -p udp --dport 64569 -j ACCEPT

    #Permite que pacotes vindo de uma interface TUN/TAP entrem na rede.
    iptables -A INPUT -i tun+ -j ACCEPT
    #iptables -A INPUT -i tap+ -j ACCEPT
    iptables -A FORWARD -i tun+ -j ACCEPT
    #iptables -A FORWARD -i tap+ -j ACCEPT

    # =========================================== FIM =====================================

    # Bloqueio de Downloads e Uploads de arquivos de extensao EXE
    iptables -A FORWARD -m layer7 --l7proto exe -d $LAN -j DROP

    #Bloqueio de streaming de Audio e Video na net
    iptables -A FORWARD -p TCP --dport 554 -j REJECT # Bloqueio Real Player
    iptables -A FORWARD -p TCP --dport 1775 -j REJECT # Bloqueio WindowsMedia
    iptables -A FORWARD -p TCP --dport 7001 -j REJECT # Voz no MSN

    # Bloqueia qualquer tentativa de conexao de fora para dentro por TCP
    #iptables -A INPUT -i eth1 -p tcp --syn -j DROP

  10. #10

    Padrão

    Ah cara, dá um

    Código :
    # iptables -n -L

    E posta pra gente.

  11. #11

    Padrão

    Aqui está

    net:/ # iptables -n -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:31337
    DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:31337
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:12345:1234 6
    DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:12345:1234 6
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1524
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:27444
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:27665
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:31335
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:34555
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:35555
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:37
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: avg 1/sec burst 5
    DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
    DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:33435:3352 5
    ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:64569
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:135
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5042
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec bu rst 5
    ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 limit: avg 1/sec burst 5
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: avg 1/sec burst 5
    ACCEPT tcp -- 192.168.0.0/24 0.0.0.0/0 tcp dpt:3085
    DROP all -- 192.168.0.190 0.0.0.0/0
    DROP all -- 0.0.0.0/0 0.0.0.0/0 ipp2p v0.8.1_rc1 -- kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares
    DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5190
    DROP all -- 0.0.0.0/0 64.12.200.89
    DROP all -- 0.0.0.0/0 64.12.200.89
    DROP all -- 0.0.0.0/0 216.136.233.128
    DROP all -- 0.0.0.0/0 216.136.226.208
    DROP all -- 0.0.0.0/0 216.136.233.137
    DROP all -- 0.0.0.0/0 216.136.233.138
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
    DROP all -- 0.0.0.0/0 192.168.0.0/24 LAYER7 l7proto exe
    REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:554 reject- with icmp-port-unreachable
    REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1775 reject -with icmp-port-unreachable
    REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7001 reject -with icmp-port-unreachable

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    net:/ #