Bloquear Facebook e Youtube por HTTPS

Publicado por André Canhadas em 23/02/2012

[ Hits: 42.947 ]

 


Bloquear Facebook e Youtube por HTTPS



Quem usa proxy transparente tem dificuldades de barrar as redes sociais acessadas via https para alguns usuários então segue a dica, ative o modulo ipt_string

# modprobe ipt_string

E adicionar as regras no seu firewall:

iptables -I FORWARD -s 192.168.0.xx -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.0.xx -m string --algo bm --string "youtube.com" -j DROP
iptables -I OUTPUT -s 192.168.0.xx -m string --algo bm --string "facebook.com" -j DROP
iptables -I OUTPUT -s 192.168.0.xx -m string --algo bm --string "youtube.com" -j DROP


Para o bloqueio para todos:

iptables -I FORWARD -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -m string --algo bm --string "youtube.com" -j DROP
iptables -I OUTPUT -m string --algo bm --string "facebook.com" -j DROP
iptables -I OUTPUT -m string --algo bm --string "youtube.com" -j DROP


Obs.: A regra serve para outros sites basta apenas trocar a string pela que consta nos acessos ao site.

Outras dicas deste autor

Sons simultâneos no Debian Squeeze

Instalador automático do Java JRE Oracle

Compiz no Debian com XFCE4, LXDE, Gnome2 ou MATE (Squeeze e Wheezy)

Bloquear TeamViewer e LogMeIn

Personalizando o logo no squid3

Leitura recomendada

Análise de memória com Volatility (vídeo)

Executar shutdown com usuário comum - Debian 9

Criando um firewall com o Kurumim

Filtrando porcarias com o Squid II

Snort atualizado, versão 2.9.1, confira!

  

Comentários
[1] Comentário enviado por cristiano.moraes em 24/02/2012 - 14:42h

É...

[2] Comentário enviado por rodrigo_leonel em 24/02/2012 - 17:50h

É sempre termos umas regras registradas, porque quando se faz um firewall, se não temos um modelo, fica bem complicado depois ficar lembrando de tudo! Muito obrigado.

[3] Comentário enviado por dario.quiroz em 26/02/2012 - 19:01h

Desculpa a minha ignorancia, mas por que faz o bloqueio de OUTPUT tambem? não seria somente o FORWARD? o primeiro bloquearia um browser que esta rodando no mesmo servidor, procede?
Obrigado!!

[4] Comentário enviado por andrecanhadas em 27/02/2012 - 13:22h

Realmente [b]dario.quiroz [/b] A regra de OUTPUT não é necessária neste caso. Como a idéia surgia de um bloqueio ao software teamviewer onde precisei fechar tudo acabei copiando a regra e alterando apenas as strings.

[5] Comentário enviado por dario.quiroz em 27/02/2012 - 19:37h

Valeu!!

[6] Comentário enviado por stringuetta em 29/02/2012 - 09:27h

Aqui pra mim não funcionou essa regra, continuo acesso normalmente, so consegui bloquear por IP.

[7] Comentário enviado por cesar em 21/05/2012 - 10:32h

Aqui não funcionou, existe outra solução? rs

[8] Comentário enviado por andrecanhadas em 21/05/2012 - 11:23h

Ordem das regras
Já verificaram a ordem de sua regras no firewall? massari , cesar

[9] Comentário enviado por Baguazaum em 28/05/2012 - 18:05h

Para mim essas regras de firewall funcionaram, porém, quando reinicio o servidor as regras são perdidas e o acesso aos sites são desbloqueados, tendo que então executar de novo esses comandos no terminal, já testei várias vezes aqui, o bloqueio funciona, porém para de funcionar após o servidor ser reiniciado.

a versão do meu iptables é 1.4.2


aguardo resposta, obg

[10] Comentário enviado por andrecanhadas em 28/05/2012 - 18:46h

Baguazaum o iptables limpa todas as regras quando o servidor reinicia é preciso criar um script (firewall) e colocar ele para iniciar no boot, também pode colocar as regras dentro do arquivo /etc/rc.local.

Da uma lida:
http://profwilson.orgfree.com/docs/compartilhando_net_ubuntu.pdf

[11] Comentário enviado por marcelobomg em 04/06/2012 - 14:34h

Pessoal e so irem em meu link que la ensina como bloquear facebook e https, com squid transparente.


http://www.vivaolinux.com.br/topico/Squid-Iptables/bloqueio-de-facebook-e-https

[12] Comentário enviado por bruno_69 em 04/06/2012 - 17:36h

Para mim está funcionando quase 100% , a exceção é o youtube, tem como eu especificar um intervalo de ip's para a regra? exemplo bloquear o acesso do ip 192.168.0.100 até o 192.168.0.200

[13] Comentário enviado por eduradaelli em 29/06/2012 - 15:05h

Funcionando 100%
Obrigado pela dica.

[14] Comentário enviado por removido em 27/07/2012 - 09:03h

Bela dica andrecanhdas!
bruno_69 leia o artigo do link abaixo:

http://www.vivaolinux.com.br/artigo/IPtables-Trabalhando-com-Modulos/?pagina=3

creio que vá ajudar.

[15] Comentário enviado por andrecanhadas em 27/07/2012 - 12:53h

Valeu Edson não tinha visto essa duvida

[16] Comentário enviado por egomes em 12/08/2012 - 21:07h

eu vou utilizar a regra para bloquear todos mais tenho que liberar uns 5 ips para acessar o facebook qual regra posso fazer para esses 5ips acessar o facebook e o restante nãp

[17] Comentário enviado por lokuras em 21/08/2012 - 10:55h

como faço pra aplicar exceções nessa regra, por exemplo, não bloquear algumas ip da rede ?

[18] Comentário enviado por andrecanhadas em 21/08/2012 - 21:12h


[15] Comentário enviado por andrecanhadas em 27/07/2012 - 12:53h:

Valeu Edson não tinha visto essa duvida


A parte de liberar para alguns usuário não funciona muito bem pode funcionar por um tempo e do nada parar de funcionar, tente este link que faz o que quer,apesar de não ter testado me parece correto.

http://kdn2.info/2010/11/block-facebook-com-with-iptables/

[19] Comentário enviado por marcelohcm em 22/08/2012 - 13:22h

quando vc digitou "--algo bm"
vc quis dizer oq?

[20] Comentário enviado por andrecanhadas em 23/08/2012 - 01:09h


[19] Comentário enviado por marcelohcm em 22/08/2012 - 13:22h:

quando vc digitou "--algo bm"
vc quis dizer oq?


O --algo bm não deve ser mudado (--algo bm se refere ao algoritimo que ser usado )

Veja o artigo do Edson Abreu mais acima que explica melhor o uso do ipt_string:
http://www.vivaolinux.com.br/artigo/IPtables-Trabalhando-com-Modulos/?pagina=3

[21] Comentário enviado por cslima em 25/10/2012 - 20:41h

Boa dica... Consgui bloquear apenas usando:
iptables -I FORWARD -m string --algo bm --string "facebook.com" -j DROP

PORÉM, não consigo colocar exceção nenhuma! veja o problema:
http://www.vivaolinux.com.br/topico/Squid-Iptables/Liberar-facebook-apenas-para-o-chefe-%28com-faceb...

[22] Comentário enviado por andrecanhadas em 25/10/2012 - 22:07h

Bom A regra para liberar para alguns a muito não funcionava então ajudando o cslima consegui da seguinte forma

Vamos la... No squid tenho duas acls:
[code]
acl facebook url_regex -i facebook.com
acl chefe src 192.168.1.2
http_access deny facebook !chefe
[/code]

o [b]![/b] se refere a uma excussão então bloquei para todos menos para o IP do chefe.

no firewall:
[code]
#Primeiro tiro o chefe da regra com o MAQUERADE
iptables -t nat -I POSTROUTING -s 192.168.1.2 -m string --algo bm --string "facebook.com" -j MASQUERADE
# se tiver mais de um IP Duplique a regra com -s 192.168.1.x (Outro IP)
# depois bloqueio para o resto
iptables -I FORWARD -m string --algo bm --string "facebook.com" -j DROP
[/code]
Aqui no meu ambiente de testes funcionou apenas marcando o proxy no navegador (squid3 Transparente # http_port 3128 intercept) mas já é alguma coisa.

[23] Comentário enviado por LazymIx em 01/11/2012 - 17:11h

Fiz a configuração de bloqueio o Facebook, outlook.com, live.com.
Funcionou belezinha porém (sempre tem um porém rs) alguns clientes de Outlook Express e Thunderbird pararam de receber emails.
Esse bloqueio pode interferir em algum tipo de recepção pop na porta 110?

Abraços

[24] Comentário enviado por andrecanhadas em 01/11/2012 - 18:25h


[23] Comentário enviado por LazymIx em 01/11/2012 - 17:11h:

Fiz a configuração de bloqueio o Facebook, outlook.com, live.com.
Funcionou belezinha porém (sempre tem um porém rs) alguns clientes de Outlook Express e Thunderbird pararam de receber emails.
Esse bloqueio pode interferir em algum tipo de recepção pop na porta 110?

Abraços

Sim se o acesso os servidores pop etc... tiverem algo "outlook.com ou live.com" serão bloqueado tambem.

Se precisar liberar para um host (servidor de email ) use a regra:
# iptables -t nat -I POSTROUTING -d IP-do-Server -m string --algo bm --string "facebook.com" -j MASQUERADE

[25] Comentário enviado por lordpaladino em 03/12/2012 - 13:57h

Que estranho. apliquei a regra aqui no meu firewall.
Nos Chrome e IE funcionou. COnsegui bloquera direto.. mas no firefox ele consegue abrir?
Alguem sabe o que pode ser?

[26] Comentário enviado por andrecanhadas em 03/12/2012 - 14:56h


[25] Comentário enviado por lordpaladino em 03/12/2012 - 13:57h:

Que estranho. apliquei a regra aqui no meu firewall.
Nos Chrome e IE funcionou. Consegui bloquear direto.. mas no firefox ele consegue abrir?
Alguém sabe o que pode ser?


Veja as configurações de proxy é bem provável que seja isso. Tanto o chrome quanto o IE usam as mesmas configurações de proxy, já a família Mozilla usa configurações próprias.

[27] Comentário enviado por dudaegarcia em 31/01/2013 - 17:35h

Olha só, fiz da seguinte maneira:

#>>>>>>>>>>>>>>>>>>>>>> Bloqueia facebook <<<<<<<<<<<<<<<<<<<<<<
#CHAT DO SKYPE COM FACEBOOK
iptables -A OUTPUT -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 5222 -j DROP
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 5222 -j DROP
iptables -A INPUT -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 5222 -j DROP

#POSTAR NO PERFIL DO FACEBOOK VIA SKYPE
#-PORTAS
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 52000:58091 -j DROP
iptables -A OUTPUT -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 52000:58091 -j DROP
iptables -A INPUT -p tcp -m iprange --src-range 192.168.254.90-192.168.254.169 --dport 52000:58091 -j DROP
#-IPS
iptables -A FORWARD -m iprange --src-range 192.168.254.90-192.168.254.169 -d 173.252.100.27 -j DROP
iptables -A OUTPUT -m iprange --src-range 192.168.254.90-192.168.254.169 -d 173.252.100.27 -j DROP
iptables -A INPUT -m iprange --src-range 192.168.254.90-192.168.254.169 -d 173.252.100.27 -j DROP
iptables -A FORWARD -m iprange --src-range 192.168.254.90-192.168.254.169 -d 65.55.223.12 -j DROP
iptables -A OUTPUT -m iprange --src-range 192.168.254.90-192.168.254.169 -d 65.55.223.12 -j DROP
iptables -A INPUT -m iprange --src-range 192.168.254.90-192.168.254.169 -d 65.55.223.12 -j DROP

#BLOQUEAR ENDERECOS DO FACEBOOK
iptables -A INPUT -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.254.90-192.168.254.169 -j DROP
iptables -A OUTPUT -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.254.90-192.168.254.169 -j DROP
iptables -A FORWARD -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.254.90-192.168.254.169 -j DROP

[28] Comentário enviado por herleymg em 06/02/2013 - 11:52h

A dica do tópico principal funciona, o problema é que deixa lento o acesso ao site da Caixa. E se bloquear o youtube, nem abre a pagina do Itaú.

[29] Comentário enviado por mrjeday em 12/03/2013 - 16:49h


[26] Comentário enviado por andrecanhadas em 03/12/2012 - 14:56h:


[25] Comentário enviado por lordpaladino em 03/12/2012 - 13:57h:

Que estranho. apliquei a regra aqui no meu firewall.
Nos Chrome e IE funcionou. Consegui bloquear direto.. mas no firefox ele consegue abrir?
Alguém sabe o que pode ser?

Veja as configurações de proxy é bem provável que seja isso. Tanto o chrome quanto o IE usam as mesmas configurações de proxy, já a família Mozilla usa configurações próprias.


Conseguiram resolver este problema dos navegadores?

Caso sim, qual a solução?

Percebi que se desmarcar a opção "Detectar automaticamente as configurações do Proxy" das opções do navegador, aparentemente faz a regra citada valer inclusive no firefox. Não sei se tem alguma coisa haver ou apenas coincidência. O estranho que em uma das ranges que bloqueei desta forma mesmo com esta opção marcada não navega, o que me leva a desconfiar que não tem nada haver.

Alguém mais pra ajudar?

[30] Comentário enviado por adonisdrummer em 02/08/2013 - 11:30h

como ativar a modprobe ipt_string ?

[31] Comentário enviado por andrecanhadas em 02/08/2013 - 12:14h


[30] Comentário enviado por adonisdrummer em 02/08/2013 - 11:30h:

como ativar a modprobe ipt_string ?


Pode colocar a linha manualmente no seu script de firewall
[code]
modprobe ipt_string
[/code]

[32] Comentário enviado por cabralwms em 04/09/2013 - 17:55h

Eu usei essas regras mais tive problemas com envio FTP acho que ele bloqueou a palavra dentro dos access aonde tinha facebook também não sei se teria como bloquear apenas sites em HTTPS se alguém tiver outra solução essa me deixou com tudo devagar tambem

[33] Comentário enviado por jorgessn em 22/10/2013 - 13:07h

Oi,

usei essa regra "iptables -I FORWARD -s 192.168.0.xx -m string --algo bm --string "youtube.com" -j DROP" para bloquear youtube, porém bloqueia o google também, tem como bloquear só o youtube?


[34] Comentário enviado por andrecanhadas em 22/10/2013 - 13:13h


[33] Comentário enviado por jorgessn em 22/10/2013 - 13:07h:

Oi,

usei essa regra "iptables -I FORWARD -s 192.168.0.xx -m string --algo bm --string "youtube.com" -j DROP" para bloquear youtube, porém bloqueia o google também, tem como bloquear só o youtube?



iptables -I FORWARD -s 192.168.0.xx -p tcp -d 190.98.170.0/23 -j DROP

Claro que deve definir o IP ex "-s 192.168.1.2" que sera bloqueado para acessar o Youtube ou pra todos:

iptables -I FORWARD -p tcp -d 190.98.170.0/23 -j DROP

Isso permite que abra a pagina mas não carrega videos

[35] Comentário enviado por falcom em 15/11/2013 - 14:20h

iptables -I INPUT -p tcp --dport 443 -m string --string 'youtube' --algo bm -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --string 'youtube' --algo bm -j DROP

estas reglas no funcionan en un proxy transparente!! alguien ayuda ??

[36] Comentário enviado por sonic_novel em 27/12/2013 - 11:23h

Ao invés de digitar regra por regra, é melhor criar um uma lista de IP. Colocando os ips linha por linha.


#!/bin/bash
for lista in `cat /etc/lista_ip_facebook.txt`
do
iptables -I FORWARD -s $lista -m string --algo bm --string "facebook.com" -j DROP
done


No arquivo "lista_ip_facebook.txt" vc coloca os ips para bloqueio.

[37] Comentário enviado por rjdiniz em 27/06/2014 - 13:09h

André;

# iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.0.67 anywhere STRING match "youtube.com" ALGO name bm TO 65535

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.0.67 anywhere STRING match "youtube.com" ALGO name bm TO 65535

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.0.67 anywhere STRING match "youtube.com" ALGO name bm TO 65535

Não funcionou! inclusive se vc percebeu acrescentei tb INPUT, fiz vários testes e continua entrando....

Raul Jr.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts