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)

Roberto Santin
betosantin1

(usa Outra)

Enviado em 02/08/2013 - 14:46h

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


5. 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.


6. 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 ^^


7. 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.



8. 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 ^^





9. 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




10. 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.


11. 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 ??


12. 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




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts