Bloquear Facebook e Youtube por HTTPS

Publicado por André Canhadas em 23/02/2012

[ Hits: 41.529 ]

 


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

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

BIND 9 - Configuração no Debian e derivados

Instalador automático do Java JRE Oracle

Instalando o Cinnamon no Debian Wheezy

Personalizando o logo no squid3

Leitura recomendada

Inserir comentários em regras do iptables

SINUS Firewall

Projeto Root - Servidor de LOG no Debian

Como checar se há rootkits em seu sistema

Bloqueio de acesso a HTTPS

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts