BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

1. BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

adonis garces
adonisdrummer

(usa Debian)

Enviado em 02/08/2013 - 12:45h

Olá galera do VOL!

Estou com uma duvida e é de grande credibilidade esse fórum, tenho certeza que minha duvida será esclarecida.

Seguinte:

Tenho um servidor contendo, Squid3 em modo transparente + Iptables fazendo o compartilhamento de internet. Tenho ACL's de bloqueios de sites, logo minha rede é deny all. ok?

Já vi em alguns tópicos que não tem como bloquear sites HTTPS através do Squid. Todavia, li algumas dicas sobre bloquear sites através do Iptables. Peguei algumas dicas com o Krum, membro do fórum que me ajudou bastante, Segue abaixo.

#Libera Https - sites especificos abaixo - Ip que acessam#

########################SERVIDOR##############################################

iptables -A FORWARD -i eth0 -s 192.168.0.2 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.2 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth0 -s 192.168.0.2 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.2 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO

############################ SUPORTE ###########################################################

iptables -A FORWARD -i eth0 -s 192.168.0.71 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.71 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth0 -s 192.168.0.71 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.71 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO


###################### Bloqueia Sites para os demais #################################

iptables -A FORWARD -i eth0 -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -i eth1 -d 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -i eth0 -m string --algo bm --string "youtube.com" -j DROP
iptables -A FORWARD -i eth1 -d 192.168.0.0/24 -m string --algo bm --string "youtube.com" -j DROP




Até ai tudo bem, só que quando é aplicada essa regra, todo site que é sai via HTTPS nao funciona para os usuarios do bloqueio geral, exceto os que estão na lista de liberados.

Agora, quando eu seto o proxy direto no navegador, funciona perfeitamente.

O que devo fazer para a regra funcionar em modo do proxy transparente?

Aguardo dicas.

Abs,

Adonis Garcês


  


2. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

Gabriel Nadai
linuxware

(usa Ubuntu)

Enviado em 02/08/2013 - 13:08h

Bom, você pode bloquear TODAS as entradas para qualquer site, sendo https ou o http normal, diretamente pelo iptables.

Segue a regra:


iptables -A FORWARD -i eth1 -s 192.168.0.107 -m string --algo bm --string "facebook.com" -j DROP


Explicação:

em eth1 você coloca a interface que se conecta aos clientes windows, pois pelo o que eu entendi você deve utilizar duas interfaces de rede certo? (eth0 provalvamente aí faz a conexão com a internet, e a eth1 se conecta a algum switch pra distribuir a rede).

Em 192.168.0.107... você coloca o IP do pc que você quer bloquear, se você não sabe, ou quer bloquear geral, coloca um 0/0 que resolve.

O texto entre aspas "facebook.com" se refere ao site que você quer bloquear.

- perguntas

- Mais eu coloquei "facebook.com" , então se eu digitar facebook.com.br, ou pt-br.facebook.. e lalala, o cara vai conseguir burlar ?

- Não.

Espero que ajude ^^



3. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

adonis garces
adonisdrummer

(usa Debian)

Enviado em 02/08/2013 - 13:19h

Amigao, boa dica!

Agora te pergunto, nao seria mais facil bloquear pra todos e liberar apenas pra alguns (Diretoria, Presidencia, Gerencia).

Nesse caso, como ficaria?

Grato.

Adonis Garcês


4. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

adonis garces
adonisdrummer

(usa Debian)

Enviado em 02/08/2013 - 15:02h

Opa...valeu brother!

Vou testar e volto com um feedback.


5. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

Gabriel Nadai
linuxware

(usa Ubuntu)

Enviado em 02/08/2013 - 18:56h

betosantin1 escreveu:

adonisdrummer escreveu:

Amigao, boa dica!

Agora te pergunto, nao seria mais facil bloquear pra todos e liberar apenas pra alguns (Diretoria, Presidencia, Gerencia).

Nesse caso, como ficaria?

Grato.

Adonis Garcês


Claro que seria

usa o seguinte comando



#Abaixo vai ser liberar no iprange
iptables -I FORWARD -m iprange --src-range 192.168.254.2-192.168.254.10 -j ACCEPT
iptables -I FORWARD -m iprange --dst-range 192.168.254.2-192.168.254.10 -j ACCEPT



192.168.254.2-192.168.254.10 sendo diretoria


Isso aí, você pode usar a regra que eu coloquei acima pra bloquear "tudo" , e liberar o range .2-10 pro que você quer.

Posta aí se conseguiu ou não e a gente pensa em algo melhor caso não de certo ^^


6. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

adonis garces
adonisdrummer

(usa Debian)

Enviado em 05/08/2013 - 08:31h

Eu deixei desse jeito e não funcionou.

Os Ips abaixo sao que serão liberados.

Obs:
eth0 = LAN
eth1 = WAN





Arquivo: rc.local


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

#regras do squid transparente

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
modprobe iptable_nat
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128

#fim de regras do squid transparente


####### BLOQUEIO DE FACEBOOK TOTAL #######

iptables -A FORWARD -i eth0 -s 0/0 -m string --algo bm --string "facebook.com" -j DROP


######## LIBERA FACEBOOK DIRETORIA #########

iptables -I FORWARD -m iprange --src-range 192.168.0.2-192.168.0.71-192.168.0.60-192.168.0.61-192.168.0.62-192.168.0.63-192.1$

iptables -I FORWARD -m iprange --dst-range 192.168.0.2-192.168.0.71-192.168.0.60-192.168.0.61-192.168.0.62-192.168.0.63-192.1$




Aguardo retorno.

Abs.



7. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

Gabriel Nadai
linuxware

(usa Ubuntu)

Enviado em 05/08/2013 - 13:06h

adonisdrummer escreveu:

Eu deixei desse jeito e não funcionou.

Os Ips abaixo sao que serão liberados.

Obs:
eth0 = LAN
eth1 = WAN





Arquivo: rc.local


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

#regras do squid transparente

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
modprobe iptable_nat
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128

#fim de regras do squid transparente


####### BLOQUEIO DE FACEBOOK TOTAL #######

iptables -A FORWARD -i eth0 -s 0/0 -m string --algo bm --string "facebook.com" -j DROP


######## LIBERA FACEBOOK DIRETORIA #########

iptables -I FORWARD -m iprange --src-range 192.168.0.2-192.168.0.71-192.168.0.60-192.168.0.61-192.168.0.62-192.168.0.63-192.1$

iptables -I FORWARD -m iprange --dst-range 192.168.0.2-192.168.0.71-192.168.0.60-192.168.0.61-192.168.0.62-192.168.0.63-192.1$




Aguardo retorno.

Abs.



Bom, vamos lá:


Eu percebi que você tá compartilhando internet nesta faixa, correto?

iptables -t nat -A PREROUTING -s (((( -> 192.168.0.0/24 <-)))) -p tcp --dport 80 -j REDIRECT --to-port 3128



Então, invés de 0/0, você pode tá colocando o seguinte:

####### BLOQUEIO DE FACEBOOK TOTAL #######

iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP

E teste pra ver se bloqueou em todos os Computadores ( Isso é, teste em pelo menos dois computadores diferentes ).Se funcionou ok.




Pra fazer acessar, você pode adicionar individualmente os computadores que você quer, por exemplo:

######## LIBERA FACEBOOK DIRETORIA #########

#gerente 1
iptables -A FORWARD -i eth0 -s 192.168.0.102 -m string --algo bm --string "facebook.com" -j ACCEPT


#gerente 2
iptables -A FORWARD -i eth0 -s 192.168.0.104 -m string --algo bm --string "facebook.com" -j ACCEPT

Daí você configura as máquinas deles com ip fixo, utilizando o endereço "liberado".

tenta isso, se não der posta aqui e a gente tenta algo melhor.

No aguardo ^^





8. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

adonis garces
adonisdrummer

(usa Debian)

Enviado em 06/08/2013 - 13:46h

Amigao, analisa comigo.!


GNU nano 2.2.4 Arquivo: rc.local

#eth0 =LAN
#eth1 = WAN

#! /bin/sh
### BEGIN INIT INFO
# Provides: rc.local
# Required-Start: $remote_fs $syslog $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

#regras do squid transparente

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
modprobe iptable_nat
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128

#fim de regras do squid transparente

#Libera Https - sites especificos abaixo - Ip que acessam#

########################SERVIDOR##############################################

iptables -A FORWARD -i eth0 -s 192.168.0.2 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.2 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth0 -s 192.168.0.2 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.2 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO

############################ SUPORTE ######################################

iptables -A FORWARD -i eth0 -s 192.168.0.71 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.71 -m string --algo bm --string "facebook.com" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth0 -s 192.168.0.71 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO
iptables -A FORWARD -i eth1 -d 192.168.0.71 -m string --algo bm --string "youtube" -j ACCEPT #IP LIBERADO


###################### Bloqueia Sites para os demais #################################

iptables -A FORWARD -i eth0 -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -i eth1 -d 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -i eth0 -m string --algo bm --string "youtube.com" -j DROP
iptables -A FORWARD -i eth1 -d 192.168.0.0/24 -m string --algo bm --string "youtube.com" -j DROP






(A regra é funcional, porém eu tenho que colocar o proxy para que as estações que entram na regra de bloqueio geral funcione os demais sites que navegam em HTTPS, exceto o que está na lista de bloqueio.)

Caso eu nao coloque, exemplo:

https://www.google.com.br => não entra. (Proxy Transparente)
https://www.google.com.br => entra. (Proxy Setado)

Com a opção 2, o facebook ta pagina nao encontrada na hora.

Queria amenizar isso sem ter que colocar o proxy.


Alguma ideia?

No aguardo,

Abs,

Adonis Garcês




9. Bloqueio Facebook pelo squid+proxy transparente

Wellington Maciel de Souza
cabralwms

(usa Debian)

Enviado em 30/08/2013 - 09:16h

Acho que se você precisa colocar o Proxy no navegador está com algum problema no squid (não está como proxy transparente) ou a regra do firewall não está direcionando.

Posta o squid.conf que é capaz de ser esse o problema se o bloqueio funciona com o proxy setado no navegador está tudo certo o problema é com o Proxy transparente.


10. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

Ronan Rommis
nanor

(usa Kurumin)

Enviado em 02/10/2013 - 14:49h

Seguinte meus amigos, já vem de um tempo que eu uso essas regras para bloquear sites que usam HTTPS, sempre funcionou numa boa com o proxy transparente, mas recebi um pedido para que fosse bloqueado o YOUTUBE, fui lá joguei a regra todo feliz ai eis que me surge os erros, não entra mais o GOOGLE, qualquer outro site vai numa boa, mas o GOOGLE não rola, alguém tem alguma ideia do que possa ser isso ??


11. Meu squid.conf

Tarcisio
interacaoonline

(usa Debian)

Enviado em 28/11/2013 - 09:42h

cabralwms escreveu:

Acho que se você precisa colocar o Proxy no navegador está com algum problema no squid (não está como proxy transparente) ou a regra do firewall não está direcionando.

Posta o squid.conf que é capaz de ser esse o problema se o bloqueio funciona com o proxy setado no navegador está tudo certo o problema é com o Proxy transparente.







http_port 3128 transparent
icp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 6000 32 256
maximum_object_size 10240 KB
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl access_complete src "/etc/squid3/access_complete.txt"
acl access_restricted src "/etc/squid3/access_restricted.txt"
acl released url_regex -i "/etc/squid3/blocked/released.txt"
acl download url_regex -i "/etc/squid3/blocked/download.txt"
acl block url_regex -i "/etc/squid3/blocked/block.txt"
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_reply_access allow all



12. Re: BLOQUEIO DE SITES HTTPS (Facebook, - Youtube e outros)

Diego Garcia
Diego-Garcia

(usa Linux Mint)

Enviado em 28/11/2013 - 16:33h

Boa Tarde Amigo.

Aqui eu uso uma formula que esta funcionando bem até agora.
Espero que ajude.

"Parte do Arquivo 'firewall.sh'"



echo "# Configuracao de interfaces."
IP_range=192.168.0.0/24 # Faixa de IP.
WAN_iface=eth0 # Conexao com a internet.
LAN_iface=eth1 # Conexao com a rede interna.

echo "# Bloqueando Facebook e IPs."
iptables -N FACEBOOK
iptables -I FORWARD -s $IP_range -j FACEBOOK
for face in `cat /etc/squid3/acls/IPB`;do
iptables -A FACEBOOK -d $face -j REJECT

echo "# Liberando Facebook e IPs via MAC."
iptables -I FORWARD -m mac --mac-source 78:84:3C:32:8E:61 -d $face -j ACCEPT # Mauricio Lan
iptables -I FORWARD -m mac --mac-source 4C:0F:6E:D4:D9:9C -d $face -j ACCEPT # Mauricio Wireless
iptables -I FORWARD -m mac --mac-source 60:21:C0:B9:1C:00 -d $face -j ACCEPT # Jacinta Celular

done



Não esquece de colocar o "done" no fim do código.

"Arquivo 'IPB'"



173.252.110.0/18
173.252.64.0/18
173.252.70.0/24
173.252.96.0/19
201.6.6.202/31
204.15.20.0/22
23.65.239.139/31
31.13.24.0/21
31.13.64.0/19
31.13.64.0/24
31.13.69.0/24
31.13.69.80/31
31.13.69.81/31
31.13.70.0/24
31.13.71.0/24
31.13.72.0/24
31.13.73.0/24
31.13.75.0/24
31.13.76.0/24
31.13.77.0/24
31.13.78.0/24
31.13.79.0/24
31.13.80.0/24
66.220.144.0/20
66.220.144.0/21
66.220.149.11/16
66.220.152.0/21
66.220.158.11/16
66.220.159.0/24
69.171.224.0/19
69.171.224.0/20
69.171.224.37/16
69.171.229.11/16
69.171.239.0/24
69.171.240.0/20
69.171.242.11/16
69.171.247.37/19
69.171.255.0/24
69.63.176.0/21
69.63.176.0/24
69.63.184.0/21
74.119.76.0/22



Não esquece também de mudar o caminho do arquivo IPB


for face in `cat /etc/squid3/acls/IPB`;do


Bom, eu prefiro fazer o bloqueio pelo MAC, pois o IP pode ser mudado, não que não tenha como mudar o MAC que sei que da, mas é um pouco mais complicado clonar o MAC da Diretoria do que o IP.

Espero que o pouco que eu aprendi aqui no fórum tenha servido para lhe ajudar.

Diego Garcia



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts