- Problema com layer7
+ Responder ao Tópico
-
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!!!!!
-
É 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?
-
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....
-
Sim, mas este IP não está com máscara /24 não, né?
-
Não está com /24.... Sò está o IP mesmo
-
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é
-
Zenun, tentei fazer o que vc me disse, mas não deu certo não!!!! Tem outra maneira??/ Alguem pode tentar me ajudar/??
-
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.
-
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
-
Ah cara, dá um
E posta pra gente.
-
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:/ #