Autenticación y transmisión de Squid

Autenticación y transmisión de Squid

Tengo configurado Squid usando autenticación Kerberos. También estoy usando squidguard como redirector de URL para bloquear la maldad habitual de la web. Sin embargo, hay algunos sitios a los que permitimos que ciertos usuarios accedan y otros no. Todo esto funciona bien, asumiendo que no estoy usando ninguna transmisión.

Por lo que puedo determinar a partir de los registros de Squid y los rastreos de Wireshark que he realizado, cuando se envía la solicitud inicial para transmitir, todo está bien, el nombre de usuario autenticado se envía con la solicitud a Squidguard. El problema es que en el tráfico posterior el nombre de usuario no se envía a squidguard, lo que provoca que se bloquee según la política predeterminada.

Intenté usar las funciones integradas de permitir/denegar de squid, pero es relativamente complicado y hasta ahora squidguard ha sido bastante fácil y rápido.

Aquí viene la(s) pregunta(s):

  • ¿Cómo consigo que Squid pase el nombre de usuario en todas las solicitudes? (algo me dice que esta no es la mejor manera)
  • ¿Cómo puedo hacer que Squidguard vea que el tráfico está autenticado para un usuario específico incluso cuando no se pasa un nombre de usuario?
  • ¿Hay alguna otra manera de lograr esto?

Algunos detalles que pueden ser importantes:

  • Estoy usando una lista de usuarios almacenada en un archivo de texto para que Squidguard la compare.
  • Estoy usando autenticación Kerberos completa con Squid.
  • CentOS 6.0
  • Calamar 3.1.4
  • Calamardo 1.3

Editar

Para aclarar, agregué el siguiente fragmento de calamares para demostrar lo que está sucediendo:

wsXX.domain.local                       534   5.99      34M   3.04    1   69.93
  *.outsidedomain.com                   204  14.22       5M  20.66    0   92.14
 <error>                                137   0.00       0M   0.00    0  589.16

[email protected]@wsXX.domain.local    115   0.00       1M   0.00   70    0.16
 *.outsidedomain.com                     84   0.00       1M   0.00   73    0.17
 <error>                                 24   0.00       0M   0.00   21    0.00

* EDITAR *

A medida que me adentré más en la madriguera del conejo, parece que, en particular, no se autentica contra respuestas a solicitudes HTTP. De hecho, si pongo el estado de cuenta

    http_reply_access deny !auth

No permitirá ningún tráfico https, pero permitirá la mayor parte del tráfico http. Estoy completamente perplejo, en realidad parece que está dejando pasar tráfico no autenticado (lo probaré hoy) [Probado y permitirá tráfico http no autenticado, pero https activo], aunque tengo las siguientes líneas en mi squid.conf:

    http_access deny !auth
    http_access allow auth
    http_access deny all

* EDITAR * He arreglado http no autenticado y httpsm todo parece estar funcionando bien, excepto los sitios de transmisión que todavía :(

Por lo que vale, tuve que cambiar la siguiente línea en la configuración.

   http_access deny !Safe_ports 

a

   http_access deny !Safe_ports !auth

Respuesta1

Entonces, descubrí esto. Resulta que había otras ACL en mi squid.conf que permitían tráfico no autenticado a través del proxy. Debido a que esas reglas se estaban cumpliendo antes que las reglas para denegar el tráfico no autenticado, el tráfico se enviaba sin autenticar.

Espero que esto sirva como un buen recurso para cualquiera que intente hacer algo similar.

información relacionada