mitos e fatos transparentes do proxy SSL

7

Eu tenho procurado por muitas horas agora sobre uma maneira de configurar um proxy transparente para SSL (não Squid). A resposta geral é que eu não posso, mas eu sei que existem algumas maneiras , no entanto. Meu objetivo é apenas o seguinte:

  1. Nomes de domínio da lista negra / lista branca (não números IP). O conteúdo não será filtrado ou modificado.
  2. Forçar usuários através dessas listas. Se eu modificar essas configurações nos navegadores da Web, eles poderão apenas desfazê-lo.

A página a seguir informa que eu poderia passar o tráfego sem modificações, mas não diz como: iptables https proxy transparente com privoxy?

A página a seguir mostra uma regra iptables para o 443, que eu mesmo não consegui trabalhar: link

A página a seguir informa como fazer isso funcionar apenas com o Squid: link

EDITAR: Uma pessoa diz aqui: Como eu uso o IPTABLES para criar um repasse HTTPS (443) ao redor do Squid? "A melhor coisa a fazer é bloquear o acesso direto à porta 443 e dizer aos seus usuários que, se quiserem usar o HTTPS, devem configurar o navegador para usar o proxy." Mas eu apenas sei como bloquear completamente o 443, não para fazê-lo funcionar sob um proxy.

    
por Teresa e Junior 15.06.2011 / 20:28

4 respostas

6

Se você quiser filtrar nomes de domínio, você tem duas maneiras possíveis: você pode pegar o nome do método CONNECT emitido pelo cliente se ele souber que precisa usar um proxy para conecções HTTPS e filtrá-lo ( Squids suporta que BTW). Ou, se você realmente realmente precisa fazê-lo de forma transparente, seria necessário examinar os cabeçalhos de solicitação (criptografados).

Se você deseja ver cabeçalhos de solicitação criptografados, é necessário ter uma chave. Se você quiser ter uma chave, você precisa de um certificado que seja a) confiável pelo cliente para ser o certificado "correto" e b) certifica cada host possível (curinga-tudo).

Então, o que você precisa fazer é

  1. configure um certificado para seu proxy. Depende do seu software como fazer isso - você pode usar o stunnel para encerrar a conexão SSL no lado do proxy, ter algum proxy HTTP de filtragem por trás dele e restabelecer o SSL para todo o tráfego de saída usando alvos DNAT do iptables e stunnel novamente. Também pode haver soluções "em caixa" para o proxy do MitM SSL.
  2. instale o certificado mencionado acima em todos os seus clientes que usam o proxy

Principalmente, se você precisar de proxy transparente, é porque não deseja ou não pode reconfigurar os clientes para usar o proxy. Se esse for o caso com sua solicitação também, você provavelmente não teria a opção de instalar certificados em clientes e marcá-los como "confiáveis". Assim, mesmo que haja uma maneira técnica de proxy SSL transparente, eu suspeito que não será ganho muito para você.

    
por 16.06.2011 / 02:25
4

Eu sei que essa é uma pergunta antiga, mas se o OP quiser apenas colocar na lista negra / whitelist certos nomes de domínio, eles não precisam usar um proxy, eles podem usar apenas uma lista negra baseada em DNS.

  • configure seus servidores DNS no local para retornar 127.0.0.1 para qualquer domínio que você queira colocar na lista negra
  • no seu gateway da Internet, bloqueie todos os IPs, exceto os servidores DNS, de acessar as portas TCP / UDP 53, para que somente os servidores DNS possam fazer solicitações DNS de servidores baseados na Internet.

Qualquer outro domínio será permitido. Todo o tráfego da Web SSL ou de outra forma passará pelo gateway inalterado.

Editar: Veja como o OP está preparado para forçar os usuários através de suas listas, ele pode bloquear outros métodos de acesso ao DNS. Dessa forma, se o usuário tentar usar um desses outros métodos DNS bloqueados, os sites simplesmente não funcionarão. aka 'Meu caminho ou a rodovia'

Para o DNS-over-HTTPS mencionado por @wheeler, é possível bloquear pesquisas regulares de DNS em sites como o link e link e link . Embora isso se torne rapidamente insustentável à medida que mais e mais serviços entrem online.

Você também pode precisar de uma maneira de bloquear tipos MIME, como application / dns-udpwireformat, para outros métodos de DNS que estão sendo desenvolvidos.

    
por 09.06.2015 / 10:22
2

Delegado pode funcionar como Man-In-The-Middle proxy para HTTPS.

    
por 16.06.2011 / 17:46
1

Para o modo transparente, o sistema Inline IPS (Suricata, Snort) pode ajudá-lo a bloquear sites SSL.

link

Bloquear regras de site SSL para usuários específicos:

drop ip any 443 -> 192.168.3.x any (content:".facebook.com"; msg:"Simplewall block facebook.com  ";sid:7;rev:1;)

drop ip any 443 -> 192.168.3.204 any (content:".youtube"; msg:"Simplewall block youtube.com" ;sid:4;rev:1;)

Bloquear regras de download de arquivos com base em extensões:

drop ip any any -> 192.168.3.63 any (msg:"File exe block"; fileext:"exe"; filestore ;sid:1;rev:1;)

drop ip any ssl -> 192.168.3.63 any (msg:"File mp3 block"; fileext:"mp3"; filestore ;sid:11;rev:1;)

drop ip any ssl -> 192.168.3.63 any (msg:"File pdf block"; fileext:"pdf"; filestore ;sid:21;rev:1;)

Tente isso com SimpleWall

É muito simples adicionar regras de bloqueio com a interface web do Simplewall.

Você também pode adicionar regras em Simplewall => Content Filter usando as mesmas regras para IPS junto com o filtro de conteúdo http.

    
por 06.03.2013 / 19:20