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
Fedora 18 para Fedora 19 - Upgrade de versão
Google Chrome no Fedora 18
GitLab no CentOS 7
i-MSCP - Internet Mutli-Server Control Panel no Debian
Demonstração de arte ASCII no Ubuntu
Leitura recomendada
Stay Safe Postcast
Obtendo acesso a hosts internos de uma rede remota com SSH
Para quem quer dar o primeiro passo em direção ao mundo Hacking
Filtro de conteúdo web (proxy) integrado ao AD via NTLM
BIND seguro
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