Bloqueando Facebook pelo IPtables
Uma dica rápida sobre como bloquear o Facebook em sua rede.
Bom, eu fiz dessa maneira, pois utilizo proxy transparente:
Crie uma lista com os IPs do Facebook:
# vim /root/list.txt
Contendo:
31.13.24.0/21
31.13.64.0/18
66.220.144.0/20
69.63.176.0/20
69.171.224.0/19
74.119.76.0/22
103.4.96.0/22
173.252.64.0/18
204.15.20.0/22
E adicionei essas linhas no meu script de
IPtables :
iptables -N FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
for face in `cat /root/list.txt`;do
iptables -A FACEBOOK -d $face -j REJECT
done
E libero somente por MAC. Caso a diretoria queira acessar o Facebook, adiciono essa linha antes do "done":
iptables -I FORWARD -m mac --mac-source 00:26:18:F7:84:E0 -d $face -j ACCEPT
Um exemplo de como ficou meu script de firewall:
#!/bin/bash
REDE_INTERNA="10.0.0.0/8"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe iptable_nat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -N FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
for face in `cat /root/list.txt`;do
iptables -A FACEBOOK -d $face -j REJECT
#LIBERANDO FACEBOOK PARA ALGUMAS MAQUINAS POR MAC NA REDE
iptables -I FORWARD -m mac --mac-source 00:26:18:F7:84:E0 -d $face -j ACCEPT
done
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Outras dicas deste autor
Reiniciar máquina após Kernel panic
Protegendo SSH no CentOS com Fail2ban
Google Chrome no Fedora 17
Packet Tracer no Fedora 20
OpenShift em sua Máquina com CodeReady
Leitura recomendada
Proteja os seus dados - criptografia
O que é um Fuzzer em Penetration Testing (Pentesting)
Instalação de Módulo de Segurança para Caixa e BB no Slackware Current - Warsaw
Aumentando a segurança no Biglinux
Firewall SIMPLES e eficiente para DESKTOP em 5 linhas
Comentários
Bom dia Daniel, gostei muito do script, porem a liberação de determinada maquina, por mac, não funciona...
Alguma solução?
[1] Comentário enviado por andguihofros em 15/08/2013 - 11:03h:
Bom dia Daniel, gostei muito do script, porem a liberação de determinada maquina, por mac, não funciona...
Alguma solução?
bom no caso a liberação é para o acesso ao facebook , tu colocou as letras do MAC em maiúsculo ?
testa assim
iptables -t filter -A FORWARD -d 0/0 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
Mensagem
[quote]
[1] Comentário enviado por andguihofros em 15/08/2013 - 11:03h:
Bom dia Daniel, gostei muito do script, porem a liberação de determinada maquina, por mac, não funciona...
Alguma solução?[/quote]
bom no caso a liberação é para o acesso ao facebook , tu colocou as letras do MAC em maiúsculo ?
testa assim
iptables -t filter -A FORWARD -d 0/0 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
GNU nano 2.2.4 Arquivo: /etc/init.d/firewall
#!/bin/sh
REDE_INTERNA="192.168.0.0/24"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe iptable_nat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
######
iptables -N FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
######
#Liberando Face por mac
######
iptables -t filter -A FORWARD -d 0/0 -m mac --mac-source 00:18:F3:6F:4E:0F -j ACCEPT
#iptables -I FORWARD -m mac --mac-source 00:18:F3:6F:4E:0F -d $face -j ACCEPT
iptables -I FORWARD -m mac --mac-source 6C:FD:B9:23:D7:4D -d $face -j ACCEPT
done
#
######
#Redireciona para Squid
#####
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3$
Mensagem
GNU nano 2.2.4 Arquivo: /etc/init.d/firewall
#!/bin/sh
REDE_INTERNA="192.168.0.0/24"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe iptable_nat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
######
iptables -N FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
######
#Liberando Face por mac
######
iptables -t filter -A FORWARD -d 0/0 -m mac --mac-source 00:18:F3:6F:4E:0F -j ACCEPT
#iptables -I FORWARD -m mac --mac-source 00:18:F3:6F:4E:0F -d $face -j ACCEPT
iptables -I FORWARD -m mac --mac-source 6C:FD:B9:23:D7:4D -d $face -j ACCEPT
done
#
######
#Redireciona para Squid
#####
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3$
Meu script....
Ele bloqueia o FACEBOOK na rede, porem não consigo liberar para mac especifico.
Mensagem
Meu script....
Ele bloqueia o FACEBOOK na rede, porem não consigo liberar para mac especifico.
[4] Comentário enviado por andguihofros em 15/08/2013 - 11:59h:
Meu script....
Ele bloqueia o FACEBOOK na rede, porem não consigo liberar para mac especifico.
ok , seguinte , mais a noite vou fazer uns teste e de respondo
abraço
Mensagem
[quote]
[4] Comentário enviado por andguihofros em 15/08/2013 - 11:59h:
Meu script....
Ele bloqueia o FACEBOOK na rede, porem não consigo liberar para mac especifico.[/quote]
ok , seguinte , mais a noite vou fazer uns teste e de respondo
abraço
Blz! Vou tentando aqui tb...abraço!
Mensagem
Blz! Vou tentando aqui tb...abraço!
Boa tarde Danniel,
Consegui!!!
Adicionei um for, dos mac´s que não poderão acessar o face, criando uma lista "/etc/firewall/bloqmac", em seguida continuando com seu script:
for bloqmac in `cat /etc/squid/bloqmac`;do
iptables -I FORWARD -m mac --mac-source $bloqmac -d -j ACCEPT
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
done
Como foi feito numa das empresas que presto suporte, semana que vem posto ele inteiro!
Abraco, valeu!
Mensagem
Boa tarde Danniel,
Consegui!!!
Adicionei um for, dos mac´s que não poderão acessar o face, criando uma lista "/etc/firewall/bloqmac", em seguida continuando com seu script:
for bloqmac in `cat /etc/squid/bloqmac`;do
iptables -I FORWARD -m mac --mac-source $bloqmac -d -j ACCEPT
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
done
Como foi feito numa das empresas que presto suporte, semana que vem posto ele inteiro!
Abraco, valeu!
[7] Comentário enviado por andguihofros em 16/08/2013 - 17:51h:
Boa tarde Danniel,
Consegui!!!
Adicionei um for, dos mac´s que não poderão acessar o face, criando uma lista "/etc/firewall/bloqmac", em seguida continuando com seu script:
for bloqmac in `cat /etc/squid/bloqmac`;do
iptables -I FORWARD -m mac --mac-source $bloqmac -d -j ACCEPT
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
done
Como foi feito numa das empresas que presto suporte, semana que vem posto ele inteiro!
Abraco, valeu!
Poderia postar como você fez?
[]'s
Mensagem
[quote]
[7] Comentário enviado por andguihofros em 16/08/2013 - 17:51h:
Boa tarde Danniel,
Consegui!!!
Adicionei um for, dos mac´s que não poderão acessar o face, criando uma lista "/etc/firewall/bloqmac", em seguida continuando com seu script:
for bloqmac in `cat /etc/squid/bloqmac`;do
iptables -I FORWARD -m mac --mac-source $bloqmac -d -j ACCEPT
for face in `cat /etc/squid/bloqfirewall`;do
iptables -A FACEBOOK -d $face -j REJECT
done
Como foi feito numa das empresas que presto suporte, semana que vem posto ele inteiro!
Abraco, valeu![/quote]
Poderia postar como você fez?
[]'s
Não deu certo, instalei uma máquina do zero e coloquei estas configurações baseando no meu ambiente, mas não bloqueou o Facebook.
Se mais alguém souber de algo, me avise.
Obrigado,
[]'s
Mensagem
Não deu certo, instalei uma máquina do zero e coloquei estas configurações baseando no meu ambiente, mas não bloqueou o Facebook.
Se mais alguém souber de algo, me avise.
Obrigado,
[]'s
Bloqueia o facebook assim óh:
uso essa regra direto no meu script de firewall:
###### LIBERA PRA DIRETORIA (exemplo) - DE ACORDO COM OS IPS DELES########
#iptables -t filter -A FORWARD -p tcp --dport 443 -m iprange --src-range 192.168.20.1-192.168.20.10 -m string --algo bm --string "facebook.com" -j ACCEPT
#iptables -t filter -A FORWARD -p tcp --sport 443 -m iprange --src-range 192.168.20.1-192.168.20.10 -m string --algo bm --string "facebook.com" -j ACCEPT
############### BLOQUEIA GERAL ########################
#iptables -t filter -A FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j DROP
#iptables -t filter -A FORWARD -p tcp --sport 443 -m string --algo bm --string "facebook.com" -j DROP
Vale ressaltar que no meu caso fiz a liberaçao por range de ip: sugiro que crie reserva no seu dhcp.conf
E outro detalhe importante é que esse metodo bloqueia o facebook através da porta 443 (HTTPS).
Teste ai e envie o feedback.
Abs.
Mensagem
[quote]
Bloqueia o facebook assim óh:
uso essa regra direto no meu script de firewall:
###### LIBERA PRA DIRETORIA (exemplo) - DE ACORDO COM OS IPS DELES########
#iptables -t filter -A FORWARD -p tcp --dport 443 -m iprange --src-range 192.168.20.1-192.168.20.10 -m string --algo bm --string "facebook.com" -j ACCEPT
#iptables -t filter -A FORWARD -p tcp --sport 443 -m iprange --src-range 192.168.20.1-192.168.20.10 -m string --algo bm --string "facebook.com" -j ACCEPT
############### BLOQUEIA GERAL ########################
#iptables -t filter -A FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j DROP
#iptables -t filter -A FORWARD -p tcp --sport 443 -m string --algo bm --string "facebook.com" -j DROP
[/quote]
Vale ressaltar que no meu caso fiz a liberaçao por range de ip: sugiro que crie reserva no seu dhcp.conf
E outro detalhe importante é que esse metodo bloqueia o facebook através da porta 443 (HTTPS).
Teste ai e envie o feedback.
Abs.
Essa Regra funciona realmente, mais eu tive o problema com envio de database.mdb com a palavra facebook no meio deles, não vai qualquer arquivo com a palavra facebook, alguem tem ideia de como resolver isso? Bloquear apenas o HTTPS para o Facebook, outra coisa que acontece com essa regra, se eu colocar o proxy na mão tambem passa. Entra no Facebook com
HTTPS://www.facebook.com.br pode testar que vai, testei em um Servidor Proxy transparente 2.7 Stable e Debian squeeze.
Mensagem
Essa Regra funciona realmente, mais eu tive o problema com envio de database.mdb com a palavra facebook no meio deles, não vai qualquer arquivo com a palavra facebook, alguem tem ideia de como resolver isso? Bloquear apenas o HTTPS para o Facebook, outra coisa que acontece com essa regra, se eu colocar o proxy na mão tambem passa. Entra no Facebook com HTTPS://www.facebook.com.br pode testar que vai, testei em um Servidor Proxy transparente 2.7 Stable e Debian squeeze.
Está de parabéns. Funcionou perfeitamente, basta seguir fielmente que vai funcionar.
Para bloquear via proxy, basta criar a regra abaixo no squid.conf e o arquivo block.txt no local especifico.
#Bloqueio de sites não permitido
acl bloqueio url_regex -i "/etc/squid3/block.txt"
http_acces bloqueio deny
Crie o arquivo block.txt e adicione os sites que serão bloqueados por linha
#vi /etc/squid3/block.txt
facebook.com
orkut.com
youtube.com
sexo
porno
Abraços.
Mensagem
Está de parabéns. Funcionou perfeitamente, basta seguir fielmente que vai funcionar.
Para bloquear via proxy, basta criar a regra abaixo no squid.conf e o arquivo block.txt no local especifico.
#Bloqueio de sites não permitido
acl bloqueio url_regex -i "/etc/squid3/block.txt"
http_acces bloqueio deny
Crie o arquivo block.txt e adicione os sites que serão bloqueados por linha
#vi /etc/squid3/block.txt
facebook.com
orkut.com
youtube.com
sexo
porno
Abraços.
**Corrigindo**
http_access deny Bloqueio
Faltou um "S" em http_access
Abraços.
Mensagem
**Corrigindo**
http_access deny Bloqueio
Faltou um "S" em http_access
Abraços.
A regra bloqueia mas tbm bloqueia os emaisl que vem com qualquer coisa q se refira a face, alguem conseguiu contornar?
Mensagem
A regra bloqueia mas tbm bloqueia os emaisl que vem com qualquer coisa q se refira a face, alguem conseguiu contornar?
Contribuir com comentário
Enviar