Bloqueando Paravras Squid + HTTPS

1. Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 03/06/2014 - 09:56h

Olá,
Buenos dias...

Estou com um problema que é o seguinte: Possuo um servidor com iptables/squid3 rodando perfeitamente só que eu não consigo é realizar a filtragem de palavras em sites HTTPS, por exemplo, se eu acessar o google digitar: vídeos, se o protocolo for HTTP, bloqueia que é uma beleza, mas se for HTTPS passa reto, alguém tem alguma ideia?

Seria mais viável bloquear no próprio iptables estas lista de palavras analisando o conteúdo do pacote?
Andei olhando sobre o --SSL_BUMP do squid3 e não estou interessado usar pois terei que documentar isto e informar todas os usuários afim de evitar penalidades e também pela segurança.

Aguardo respota.

Att,
Pablo Mesquita


  


2. Re: Bloqueando Paravras Squid + HTTPS

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 03/06/2014 - 09:59h

bom pelo visto tu usa o squid transparente , bom minha sugestão seria tu usar o squid autenticado
assim ajudaria .


3. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 03/06/2014 - 10:00h

Olá,
não estou usando o squid transparente e pretendo não utilizar o squid autenticado.


4. Re: Bloqueando Paravras Squid + HTTPS

Willian
ThePinkShark

(usa Slackware)

Enviado em 03/06/2014 - 10:27h

Poderia postar as suas configurações?


5. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 03/06/2014 - 10:39h

http_port 192.168.10.1:3128

#http_port 172.16.16.1:3128
htcp_port 0
pid_filename /var/run/squid3.pid
logfile_rotate 0
forwarded_for off
memory_pools off
half_closed_clients off

# >>> Diretivas de Cache em disco <<< #
cache_mem 256 MB
cache_swap_low 50
cache_swap_high 70
ipcache_size 2048
ipcache_low 70
ipcache_high 90
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
coredump_dir /mnt/sda6
cache_effective_user proxy
cache_effective_group proxy

cache_dir aufs /mnt/sda6/1 4000 50 75
cache_dir aufs /mnt/sda6/2 4000 50 75
cache_dir aufs /mnt/sda6/3 4000 50 75
cache_dir aufs /mnt/sda6/4 4000 50 75
cache_dir aufs /mnt/sda6/5 4000 50 75

# Resolve um problema com conexoes persistentes
detect_broken_pconn on

# Provoca um ganho de performance ao usar conexoes Pipeline (requisicoes em paralelo)
pipeline_prefetch on

# >> Padrao de atualizacao do cache <<
refresh_pattern ^ftp: 120 20% 2280
refresh_pattern ^gopher: 120 0% 2280
refresh_pattern . 120 20% 2280
refresh_pattern -i \.(gif|png|jpg|jpeg|ico|bmp|tif)$ 0 90% 260009 override-expire
refresh_pattern -i \.(avi|mpeg|swf|flv|x-flv|mpg|wma|wmv|asx|asf)$ 0 90% 999999 override-expire
refresh_pattern -i \.(wav|mp3|mp4|ogg|wmv)$ 0 90% 260009 override-expire
refresh_pattern -i \.(deb|rpm|dll|msi|exe)$ 0 90% 260009 override-expire
refresh_pattern -i \.(rar|zip|7z|tar|gz|cab|vdf|deb)$ 0 90% 260009 override-expire
refresh_pattern -i \.(doc|docx|xls|xlsx|ppt|pptx|pps|ppsx|rtf|docx|xls|xlsx|ppt|pptx|pps|ppsx|rtf|pdf)$ 0 90% 260009 override-expire
refresh_pattern -i \.(html|htm|css|js|php|swf|xml)$ 0 90% 40320

# Indica ao Squid que ele deve buscar os dados diretamente na origem, sem passar pelos outros servidores de Proxy
hierarchy_stoplist cgi-bin ?

# Indica ao squid para nao armazenar em cache o conteudoo dos CGI's
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

# O tamanho maximo dos arquivos que serao guardados no cache RAM.
maximum_object_size_in_memory 15 MB

# Tamanho maximo e minimo para arquivos serem baixados e armazenados no cache o maximo sao downloads de 10MB e o minimo 1KB
# Se uma porcentagem maior do que a configurada em quick_abort_pct tiver sido baixada, ele finaliza o download
maximum_object_size 10240 KB
minimum_object_size 1 KB
quick_abort_pct 95

# Localizacao do logs de acesso
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log

# Visualiza TODO o link acessado
strip_query_terms off

# Define os servidores DNS
dns_nameservers 127.0.0.1

# ***** Define as ACLs ***** #
acl RedeLocal src 192.168.10.0/24
acl RedeWifi src 172.16.16.0/23
acl localhost src 127.0.0.1/32
acl to_localhost dst 192.168.0.0/24 172.16.16.0/23
acl SSL_ports port 443 # SSL
acl Safe_ports port 80 # HTTP
acl Safe_ports port 443 # HTTPS
acl Safe_ports port 34567 # SKYPE
acl purge method PURGE
acl CONNECT method CONNECT
acl WordWifiBlock urlpath_regex -i "/etc/squid3/arquivos/WordWifiBlock.txt"


## ***** Aplicacao das Regras ***** #
cache allow RedeLocal
cache allow RedeWifi
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow !WordWifiBlock


6. Re: Bloqueando Paravras Squid + HTTPS

Willian
ThePinkShark

(usa Slackware)

Enviado em 03/06/2014 - 10:49h

A ordem dos fatores altera o produto na configuração do squid. Portanto sugiro que tente colocar a linha "http_access allow !WordWifiBlock" acima da linha "http_access allow localhost" e acrescente na ultima linha uma "http_access deny all".


7. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 03/06/2014 - 11:45h

olá,
obrigado pela dica, mas não funcionou, quando acesso o google e digito a palavra: videos é pesquisada normalmente, até verifiquei minhas regras no iptables e a 443 esta bloqueada o proxy esta configurado no Firefox...


8. Re: Bloqueando Paravras Squid + HTTPS

Willian
ThePinkShark

(usa Slackware)

Enviado em 03/06/2014 - 17:02h

Bom, existe também uma redundância na sua configuração. A porta 443 é apresentada 2 vezes. Ela é permitida ao CONNECT na linha: "http_access deny CONNECT !SSL_ports" e a mesma porta é reafirmada na linha: http_access deny !Safe_ports.
Tenta comentar a linha do SSL e inclusive bloquear a porta 443 para ter certeza de que este tráfico está realmente utilizando a porta 443.


9. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 04/06/2014 - 17:16h

Olá, mesmo assim cara não resolveu o acesso a sites https, por exemplo, google passa reto...
e as minhas regras de firewall estão bloqueando o https pois alguns serviços da lan que usam ele não estão funcionando.


10. Re: Bloqueando Paravras Squid + HTTPS

Clansman
clansman

(usa Debian)

Enviado em 04/06/2014 - 17:18h

A única maneira que encontrei de bloquear HTTPS é essa :

no arquivos de iptables (firewall) inserir :

#------ Inicio - BLOQUEIO ACESSO POR HTTPS AO FACEBOOK -----

FACEBOOK_IP_RANGE="31.13.64.0-31.13.127.255 31.13.24.0-31.13.31.255 74.119.76.0-74.119.79.255 69.63.176.0-69.63.191.255 69.171.224.0-69.171.255.255 66.220.144.0-66.220.159.255 204.15.20.0-204.15.23.255 173.252.64.0-173.252.127.255 103.4.96.0-103.4.99.255"
iptables -N FACEBOOK

## FACEBOOK DENY
for face in $FACEBOOK_IP_RANGE; do
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 443 -j FACEBOOK
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 80 -j FACEBOOK
done

##FACEBOOK ALOW
FACEBOOK_ALLOW="192.168.9.8 192.168.9.9 192.168.9.10" #MSR-FACEBOOK BLOQUEIO
for MSR in $FACEBOOK_ALLOW; do
iptables -I FACEBOOK -s $MSR -j ACCEPT
done
iptables -A FACEBOOK -j REJECT

#------ Fim - BLOQUEIO ACESSO POR HTTPS AO FACEBOOK -----

#------ Inicio - BLOQUEIO ACESSO POR HTTPS AO YOUTUBE -----

YOUTUBE_IP_RANGE="74.125.234.96-74.125.234.105 74.125.234.110"
iptables -N YOUTUBE

## YOUTUBE DENY
for face in $YOUTUBE_IP_RANGE; do
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 443 -j YOUTUBE
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 80 -j YOUTUBE
done

## YOUTUBE ALOW
YOUTUBE_ALLOW="192.168.9.8 192.168.9.9 192.168.9.10" #MSR-YOUTUBE PERMITIDOS
for MSR in $YOUTUBE_ALLOW; do
iptables -I YOUTUBE -s $MSR -j ACCEPT
done
iptables -A YOUTUBE -j REJECT

#------ Fim - BLOQUEIO ACESSO POR HTTPS AO YOUTUBE -----



11. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 05/06/2014 - 10:28h

clansman,

Obrigado pela contribuição, entretanto eu preciso bloquear a pesquisa de palavras e não o domínio inteiro... ;)
Aaaacredito que deva haver uma solução para o meu problema...espero :(

Abraços e vamos a luta


12. Re: Bloqueando Paravras Squid + HTTPS

Pablo Mesquita
pmesquita

(usa Debian)

Enviado em 06/06/2014 - 11:02h

Olá,
bom consegui achar uma solução para o meu problema..
bloqueei a porta 443 no iptables e no squid.conf neguei a conexão ao .facebook.com usando o método CONNECT.
Bom até então OK, entretanto ao usar o google automaticamente os browser usam o Google SSL para realizar pesquisas, agora estou vendo um modo de redirecionar o https://www.google.com.br para http://www.google.com.br depois disto é só partir para a felicidade..kkkkk


Abraços.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts