SSL passar pelo proxy transparente

Iniciado por EuripedesXD, 30 de Outubro de 2013, 14:44

tópico anterior - próximo tópico

EuripedesXD

Boa Tarde!

Já pesquisei bastante na internet, a maioria falou ser impossível, pelo que entendi o ssl não passa pelo proxy porque é uma conexão segura, e direta o "site".
Mas vi uma solução, porém não é para Ubuntu.

link: http://www.vivaolinux.com.br/artigo/Filtragem-de-paginas-SSL-%28443%29-no-Squid-transparente

Vi também que pode ter outros recursos de proxy transparente para solução.

O meu problema é Facebook, que é bloqueado se a pessoa digita www.facebook.com.br.
Porém se digitar Facebook no google o primeiro link é https://pt-br.facebook.com/‎; ... sendo assim acessam tranquilamente,
a mesma questão é o Youtube.

Quem tiver uma solução que não seja configurar o ip do proxy no navegador, pois muito trabalho em configurar em uma grande e o usuário podem alterar manualmente, aí já teria que criar uma política para bloqueio, e nem todos os pc estão no dominio, senão seria fácil fazer isso.

Obrigado!

zekkerj

A solução chama-se "WPAD", também conhecida como "detecção automática de proxy".

Desviar HTTPS é tratado como um ataque "MAN-IN-THE-MIDDLE", e faz o navegador recusar o certificado do site. O resultado é que seus clientes vão perder a capacidade de perceber se o certificado do site que acessam é válido ou não.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

#2
Citação de: zekkerj online 30 de Outubro de 2013, 17:28
A solução chama-se "WPAD", também conhecida como "detecção automática de proxy".

Desviar HTTPS é tratado como um ataque "MAN-IN-THE-MIDDLE", e faz o navegador recusar o certificado do site. O resultado é que seus clientes vão perder a capacidade de perceber se o certificado do site que acessam é válido ou não.

Na minha rede 99% dos pcs estão configurado o ip statico e não obtém por DHCP,
o WPAD vai funcionar mesmo assim?

Tem como eu bloquear o ip do facebook pelo iptables? como?

Por ele tem que configurar usuario e senha para cada um da rede para acesso a internet?

Muito obrigado pela ajuda.

zekkerj

CitarNa minha rede 99% dos pcs estão configurado o ip statico e não obtém por DHCP,
o WPAD vai funcionar mesmo assim?
Vai, pq o WPAD funciona via DNS no Firefox e no IE. Via DHCP, só no IE.

CitarTem como eu bloquear o ip do facebook pelo iptables? como?
Tem, mas eu não recomendo que faça.

CitarPor ele tem que configurar usuario e senha para cada um da rede para acesso a internet?
Se vc está perguntando do WPAD, sim, você pode fazer isso.

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

zekkerj estou tentando configurar primeiramente no bind.
Não tem nenhuma zona configurada.

Eu coloquei o endereço do arquivo wpad no IE e os https passaram pelo proxy,
e facebook foi bloqueado.

Agora eu não entendo muito sobre configuração de Zona.

Fui no arquivo /etc/bind/named.conf.local


zone "meudominio.com.br" IN {
type master;
file "/etc/bind/db.meudominio";
};


Não sei bem o que colocar dentro deste arquivo,
já vi várias coisas, mas sem explicação suficiente para mim (pois não tenho servidor de e-mail e nem nada).

Bom, o que coloquei foi "wpad IN A ipdoservidor".

O que mais é necessário.
Pois o teste que fiz aqui só isso não funciona.

Obrigado!

zekkerj

Citarzekkerj estou tentando configurar primeiramente no bind.
Não tem nenhuma zona configurada.
Então vc não precisa do bind... o dnsmasq poderia estar te atendendo --- talvez seja até mais fácil fazer o WPAD funcionar no dnsmasq do que no bind, pq vc não vai precisar criar uma zona local, nem configurar as máquinas da sua rede pra usar essa zona como default.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

Citação de: zekkerj online 05 de Dezembro de 2013, 00:26
Citarzekkerj estou tentando configurar primeiramente no bind.
Não tem nenhuma zona configurada.
Então vc não precisa do bind... o dnsmasq poderia estar te atendendo --- talvez seja até mais fácil fazer o WPAD funcionar no dnsmasq do que no bind, pq vc não vai precisar criar uma zona local, nem configurar as máquinas da sua rede pra usar essa zona como default.

Sou bem leigo. Não quero na mastigado é claro.
Mas eles fazem a mesma coisa?
E como eu configuraria o dnsmasq para forçar o uso do wpad?

Pq todos exemplos que achei foi falando para acrescentar aquela linha na zona do bind.

Eu teria que remover o bind antes né?

zekkerj

CitarMas eles fazem a mesma coisa?
Não; o bind é um servidor DNS que pode ser usado como proxy recursivo [que é o que vc está fazendo]. Pra vc oferecer o WPAD pelo bind, vc tem que criar um domínio local e colocar a tal linha no arquivo de zona.

Já o dnsmasq é um proxy recursivo [não um servidor DNS, pois vc não pode oferecer uma zona nele] que vc pode usar pra alterar algumas respostas pré-definidas --- como a do WPAD.

CitarE como eu configuraria o dnsmasq para forçar o uso do wpad?
Não tenho essa configuração pronta, vou pesquisar e dou algum retorno.

CitarEu teria que remover o bind antes né?
Não necessariamente, mas vc não poderia ter os dois ativos ao mesmo tempo na mesma porta.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EuripedesXD

#8
Pelo que entendi os bind é mais para criar uma SERVIDOR DE DNS.
Mas eu o usava para fazer CACHE DE DNS, ele fazia isso né? eu colocava o comando dig www.terra.com.br e sempre o segundo levava mesmo milissegundos do primeiro.

O DNSMASQ faz cache também né?

Já tenho um servidor de DCHP instalado no servidor, e vejo que o dnsmasq faz isso também.

Obrigado pelo interesse e ajuda.

EuripedesXD

Meu arquivo "named.conf.local".


//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "ope.com.br" IN {
        type master;
        file "/etc/bind/db.ope";
};


O arquivo db.ope:

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ope.com.br.     root.ope.com.br. (
                        20131217        ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ope.com.br.
@       IN      A       127.0.0.1
wpad    IN      A       192.168.200.254


/etc/rc.local

/etc/init.d/firewall

echo "search ope.com.br" > /etc/resolv.conf
echo "nameserver 192.168.200.254" >> /etc/resolv.conf

service squid3 restart

exit 0


/etc/init.d/firewall-gvt

#!/bin/sh
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ip_nat_ftp

############################
# Definicoes das Variaveis #
############################
internet="eth0"
rede="eth1"
UP_PORTS="1024:65535"
D_PORTS=":1024"

#Servidores NTP
NTP1="200.20.186.75"
NTP2="200.20.186.94"

export internet rede UP_PORTS D_PORTS NTP1 NTP2

#####################################
##### Definicao de Policiamento #####
####################################
# Tabela filter
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# Tabela nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

##### Protecao contra IP Spoofing #####
     for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
      echo 1 >$i
     done

##### Ativacao do redirecionamento de pacotes (requerido para NAT) #####
     echo "1" >/proc/sys/net/ipv4/ip_forward

###############################################################
#route add default gw 10.1.1.1
###############################################################

# Redirecionando Porta 80 para SQUID
iptables -t nat -A PREROUTING -p tcp -i $rede --dport 80 -j REDIRECT --to-port 3128
# Direcionamento de TS para o servidor Windows
iptables -t nat -A PREROUTING -p tcp -i $internet --dport 3389 -j DNAT --to 192.168.200.220:3389

# Roteando ip das cameras
iptables -t nat -A PREROUTING -p tcp -i $internet --dport 9000 -j DNAT --to 192.168.200.120:9000
iptables -t nat -A PREROUTING -p tcp -i $internet --dport 4550 -j DNAT --to 192.168.200.120:4550
iptables -t nat -A PREROUTING -p tcp -i $internet --dport 5550 -j DNAT --to 192.168.200.120:5550

# Masquerade
iptables -t nat -A POSTROUTING -o $internet -j MASQUERADE



/etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
option wpad-url code 252 = text;
ddns-domainname "ope.com.br";
option domain-name "ope.com.br";

# A slightly different configuration for an internal subnet.
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.170 192.168.200.198;
option domain-name-servers 192.168.200.254;
option routers 192.168.200.254;
option broadcast-address 255.255.255.255;
option wpad-url "http://192.168.200.254/wpad.dat\n";
}


/var/www/wpad.dat

function FindProxyForURL(url,host)
{
return "PROXY 192.168.200.254:3128";
}


Nem por DHCP, e nem configura o ip manualmente funciona.
Se eu jogar o endereço no "http://192.168.200.254/wpad.dat" abre o arquivo.
Quando coloca na configuração de script navegador funciona, começa a bloquear o sites, mesmo que seja https.

Espero uma dica ...