Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[OT] Errores 400 en Squid3

63 views
Skip to first unread message

Laura Marzà Porcar

unread,
Sep 8, 2016, 3:40:03 AM9/8/16
to

Buenos días,
Monte un squid/3.4.8 en una Debian Jessie, en general funciona correctamente, pero hay algo que se me escapa, ya que en algunas páginas me dice "Bad Request", creo que están todos relacionados con el mismo problema y con algo referente a seguridad, por el tipo de contenido de las paginas que me dan errores.

en ocasiones el error es:

"Your browser sent a request that this server could not understand.
Request header field is missing ':' separator."

p.e.:
http://www.sri.gob.ec/
TCP_MISS/400 747 GET http://www.sri.gob.ec/ lmarza HIER_DIRECT/201.234.223.197 text/html


En otras:

"Bad Request - Invalid Header

HTTP Error 400. The request has an invalid header name."

Cuando me aparece este tipo de error, busco a donde lleva la pagina y accedo directamente al https (en el ejemplo se ve mejor lo que quiero decir)

p.e:
http://bancopopular.es/ --> pero aquí accedo correctamente: https://www2.bancopopular.es/empresasN o https://www2.bancopopular.es/particularesN
TCP_MISS/400 731 GET http://bancopopular.es/favicon.ico lmarza HIER_DIRECT/195.55.131.69 text/html

Tambien:
"400 - Bad Request"

p.e.
http://portal.lacaixa.es/ --> pero así accedo perfectamente: https://portal.lacaixa.es/
TCP_MISS/400 811 GET http://portal.lacaixa.es/ lmarza HIER_DIRECT/192.229.182.219 text/html,application/xhtml+xml,application/xml

Otro:
"Bad request
Your browser sent a query this server could not understand. "

p.e:
http://www.ruralvia.com/
TCP_MISS/400 728 GET http://www.ruralvia.com/ lmarza HIER_DIRECT/195.53.82.136 text/html


La configuración de SQUID3 es la siguiente le he eliminado los comentarios y algunas restricciones de acceso que no afectan en este caso para resumir líneas):

##############################

http_port 3128
tcp_outgoing_address [IP_SQUID]
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=MARINA --kerberos /usr/local/bin/squid_kerb_auth -d -s GSS_C_NO_NAME
auth_param ntlm children 30
auth_param ntlm keep_alive off
auth_param basic children 30
auth_param basic realm Servidor Proxy Dominio MARINA.LOCAL
auth_param basic credentialsttl 2 hours
acl SSL_ports port 443
acl SSL_ports port 8100
acl Safe_ports port 80 # http
acl Safe_ports port 20 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 9010 # cofraweb
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
hierarchy_stoplist cgi-bin ?
acl css urlpath_regex cgi-bin \? \.css
acl js urlpath_regex cgi-bin \? \.js
acl no_cachear dstdomain "/etc/squid3/no_cachear.conf"
no_cache deny no_cachear css js
always_direct allow no_cachear
acl msn req_mime_type -i ^application/x-msn-messenger$
acl estilos req_mime_type -i ^text/css$
debug_options ALL,1 33,2
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT RPC_IN_DATA RPC_OUT_DATA
acl descargas urlpath_regex -i \.deb$
http_access allow descargas
external_acl_type wbinfo_group_helper %LOGIN /usr/lib/squid3/wbinfo_group.pl
acl Autorizados proxy_auth REQUIRED
http_access deny !Autorizados

acl HorarioLabDw time 00:00-08:00
acl HorarioLabUp time 21:30-23:59
acl sabado time A
acl domingo time S

acl buscadores url_regex -i "/etc/squid3/Buscadores"
acl denegados url_regex "/etc/squid3/SitiosDenegados"
acl juegos url_regex "/etc/squid3/SitiosJuegos"
acl inocentes url_regex "/etc/squid3/SitiosInocentes"
acl redsocial url_regex -i "/etc/squid3/RedesSociales"
acl stream url_regex "/etc/squid3/Streaming"
acl webmails url_regex -i "/etc/squid3/Webmails"
acl youtube url_regex -i "/etc/squid3/Youtube"
acl cloud url_regex -i "/etc/squid3/Almacenamiento"
acl administ url_regex -i "/etc/squid3/Administracion"
acl auditint url_regex -i "/etc/squid3/AuditInt"
acl banca url_regex -i "/etc/squid3/Banca"
acl cams url_regex -i "/etc/squid3/Camaras"
acl general url_regex -i "/etc/squid3/General"
acl juridic url_regex -i "/etc/squid3/Juridico"
acl pers url_regex -i "/etc/squid3/Personal"
acl prensa url_regex "/etc/squid3/Prensa"
acl servidor url_regex -i "/etc/squid3/Servidor"
acl telem url_regex -i "/etc/squid3/Telemarketing"
acl aIP4 src "/etc/squid3/aIP4"

acl UsuariosLibre external wbinfo_group_helper squidcs_usuarioslibre
acl UsuariosPrensa external wbinfo_group_helper squidcs_usuariosprensa
acl UsuariosStream external wbinfo_group_helper squidcs_usuariosstream
acl UsuariosRedesSoc external wbinfo_group_helper squidcs_usuariosredessoc
acl UsuariosJuegos external wbinfo_group_helper squidcs_usuariosjuegos
acl UsuariosWebmail external wbinfo_group_helper squidcs_usuarioswebmail
acl UsuariosYoutube external wbinfo_group_helper squidcs_usuariosyoutube
acl UsuariosCloud external wbinfo_group_helper squidcs_usuarioscloud

acl CONTABILIDAD external wbinfo_group_helper squidcs_contabilidad

http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow CONNECT
http_access allow localhost manager
http_access deny manager
http_access allow all buscadores estilos general inocentes
http_access deny all msn
http_access deny all cloud !UsuariosLibre !UsuariosCloud
http_access deny all prensa !UsuariosLibre !UsuariosPrensa
http_access deny all stream !UsuariosLibre !UsuariosStream !UsuariosRedesSoc
http_access deny all webmails !UsuariosLibre !UsuariosWebmail
http_access deny all redsocial !UsuariosLibre !UsuariosRedesSoc
http_access deny all youtube !UsuariosLibre !UsuariosYoutube
http_access deny all denegados !UsuariosLibre
http_access deny all juegos !UsuariosLibre !UsuariosJuegos
http_access allow UsuariosLibre

http_access allow CONTABILIDAD

http_access deny sabado
http_access deny domingo
http_access deny HorarioLabDw
http_access deny HorarioLabUp

logformat squid %tg %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<a %mt
logformat common %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh
logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
logformat referrer %ts.%03tu %>a %{Referer}>h %ru
logformat useragent %>a [%tl] "%{User-Agent}>h"
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
error_log_languages on
err_page_stylesheet /etc/squid3/errorpage.css
email_err_data on

########################################

He leído muchos posts de gente, pero no he conseguido localizar una solución que me valga, algunos datos que creo que puedan interesar:

Debian:
#lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.4 (jessie)
Release: 8.4
Codename: jessie

Apache (lei algo relacionado con este problema sobre apache y los certificados, pero yo no tengo paginas alojadas en mi servidor)
# apache2ctl -v
Server version: Apache/2.4.10 (Debian)
Server built: Jul 20 2016 07:07:13

gracias, Laura

Camaleón

unread,
Sep 8, 2016, 10:10:02 AM9/8/16
to
El Thu, 08 Sep 2016 09:33:02 +0200, Laura Marzà Porcar escribió:

> Buenos días,
> Monte un squid/3.4.8 en una Debian Jessie, en general funciona
> correctamente, pero hay algo que se me escapa, ya que en algunas páginas
> me dice "Bad Request", creo que están todos relacionados con el mismo
> problema y con algo referente a seguridad, por el tipo de contenido de
> las paginas que me dan errores.
>
> en ocasiones el error es:
>
> "Your browser sent a request that this server could not understand.
> Request header field is missing ':' separator."
>
> p.e.:
> http://www.sri.gob.ec/
> TCP_MISS/400 747 GET http://www.sri.gob.ec/ lmarza
> HIER_DIRECT/201.234.223.197 text/html

Este error podría no tener relación con el otro, más que nada por el
"TCP_MISS/400" que se corresponde con el mensaje que recibes en el
navegador. Podría ser un problema con el servidor remoto, que tenga
alguna configuración concreta de cookies que no sabe gestionar squid y
registra ese hecho pero si la página carga bien y se puede acceder al
sitio, no le daría importancia.

> En otras:
>
> "Bad Request - Invalid Header
>
> HTTP Error 400. The request has an invalid header name."
>
> Cuando me aparece este tipo de error, busco a donde lleva la pagina y
> accedo directamente al https (en el ejemplo se ve mejor lo que quiero
> decir)

(...)

Normalmente los proxys no cachean el tráfico cifrado y squid no es una
excepción. Asegúrate de que lo tienes bien configurado para esa
configuración y si además se trata de un proxy transparente (los clientes
no saben que salen a través de proxy) tendrás que hacer pasos adicionales
(instalación de paquetes de certificados, redirecciones de iptables...).

> He leído muchos posts de gente, pero no he conseguido localizar una
> solución que me valga, algunos datos que creo que puedan interesar:
>
> Debian:
> #lsb_release -a No LSB modules are available.
> Distributor ID: Debian Description: Debian GNU/Linux 8.4 (jessie)
> Release: 8.4 Codename: jessie
>
> Apache (lei algo relacionado con este problema sobre apache y los
> certificados, pero yo no tengo paginas alojadas en mi servidor)
> # apache2ctl -v Server version: Apache/2.4.10 (Debian)
> Server built: Jul 20 2016 07:07:13

Supongo que lo que dicen esos artículos es que necesitas los paquetes y
bibliotecas de certificados si quieres que Squid gestione tráfico cifrado.

Saludos,

--
Camaleón

Laura Marzà Porcar

unread,
Sep 9, 2016, 5:30:03 AM9/9/16
to
Hola, como voy un poco perdida con estas incidencias, he probado a activar el modulo SSL por si iban por ahílos tiros, creo que lo he hecho bien porque ahora me aparece squid3 asi ('--enable-ssl' '--with-open-ssl=/etc/ssl/openssl.cnf'):

Squid Cache: Version 3.4.8
Debian linux
configure options: '--build=i586-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--enable-ssl' '--with-open-ssl=/etc/ssl/openssl.cnf' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-build-info=Debian linux' '--enable-linux-netfilter' 'build_alias=i586-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

por suerte para mi todo siqgue funcionando, la mala noticia es que los errores siguen igual, y lo que no tengo claro es, una vez recompilado squid3 para habilitar SSL, si tengo que seguir con algun paso adicional para crear certificados o similar

si alguien me puede orientar lo agadezco

Saludos, Laura

-----Mensaje original-----
De: Laura Marzà Porcar [mailto:laura...@servidir.es]
Enviado el: jueves, 08 de septiembre de 2016 9:33
Para: debian-us...@lists.debian.org
Asunto: [OT] Errores 400 en Squid3

Laura Marzà Porcar

unread,
Sep 9, 2016, 5:40:03 AM9/9/16
to
Hola Camaleón, no se por que pero no había visto tu respuesta hasta ahora, me pongo a revisar todo lo que me dices, gracias


Laura



-----Mensaje original-----
De: Camaleón [mailto:noel...@gmail.com]
Enviado el: jueves, 08 de septiembre de 2016 16:01
Para: debian-us...@lists.debian.org
Asunto: Re: [OT] Errores 400 en Squid3

Laura Marzà Porcar

unread,
Sep 9, 2016, 5:50:03 AM9/9/16
to
>
> "Your browser sent a request that this server could not understand.
> Request header field is missing ':' separator."
>
> p.e.:
> http://www.sri.gob.ec/
> TCP_MISS/400 747 GET http://www.sri.gob.ec/ lmarza
> HIER_DIRECT/201.234.223.197 text/html

Este error podría no tener relación con el otro, más que nada por el "TCP_MISS/400" que se corresponde con el mensaje que recibes en el navegador. Podría ser un problema con el servidor remoto, que tenga alguna configuración concreta de cookies que no sabe gestionar squid y registra ese hecho pero si la página carga bien y se puede acceder al sitio, no le daría importancia.

--> el problema es que con este error, no carga las paginas, probé a eliminar las cookies de estas paginas con estos errores porque por algun foro lei que eso les solucionaba el problema, pero a mi no.. :(.., además si salgo directa me carga bien la pagina, y lo que me inquieta mas, a través de una verison anterior de squid que tenia montada desde años me funciona:

Squid Cache: Version 2.7.STABLE9
configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-carp' '--enable-follow-x-forwarded-for' '--with-large-files' '--with-maxfd=65536' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' 'CFLAGS=-Wall -g -O2' 'LDFLAGS=' 'CPPFLAGS='
<--

> En otras:
>
> "Bad Request - Invalid Header
>
> HTTP Error 400. The request has an invalid header name."
>
> Cuando me aparece este tipo de error, busco a donde lleva la pagina y
> accedo directamente al https (en el ejemplo se ve mejor lo que quiero
> decir)

(...)

Normalmente los proxys no cachean el tráfico cifrado y squid no es una excepción. Asegúrate de que lo tienes bien configurado para esa configuración y si además se trata de un proxy transparente (los clientes no saben que salen a través de proxy) tendrás que hacer pasos adicionales (instalación de paquetes de certificados, redirecciones de iptables...).

--> no, no es un proxy transparente (lo configuro a través de wpad, entiendo que asi no es transparente, no?), respecto a lo de no cachear el trafico cifrado, he hecho mal activando el modulo SSL? Como puedo asegurarme si se está cacheando o no? o es porque me falta añadir certificados?
<--

> He leído muchos posts de gente, pero no he conseguido localizar una
> solución que me valga, algunos datos que creo que puedan interesar:
>
> Debian:
> #lsb_release -a No LSB modules are available.
> Distributor ID: Debian Description: Debian GNU/Linux 8.4 (jessie)
> Release: 8.4 Codename: jessie
>
> Apache (lei algo relacionado con este problema sobre apache y los
> certificados, pero yo no tengo paginas alojadas en mi servidor) #
> apache2ctl -v Server version: Apache/2.4.10 (Debian)
> Server built: Jul 20 2016 07:07:13

Supongo que lo que dicen esos artículos es que necesitas los paquetes y bibliotecas de certificados si quieres que Squid gestione tráfico cifrado.

--> pero no lo entiendo, yo he hecho una instalación mas o menos estándar, el resto del mundo no tiene problemas con estos errores? :)
Muchas gracias por tu ayuda
Saludos, Laura
<--

Saludos,

--
Camaleón

Camaleón

unread,
Sep 9, 2016, 10:10:04 AM9/9/16
to
El Fri, 09 Sep 2016 11:46:38 +0200, Laura Marzà Porcar escribió:

Laura, tu cliente de correo no respeta las citas de los mensajes a los
que responder, considera usar otro para usarlo en las listas de correos.

> el problema es que con este error, no carga las paginas,

Peor no carga "algunas" páginas, es decir, no sucede con todas ¿no? :-?

> probé a eliminar las cookies de estas paginas con estos errores porque
> por algun foro lei que eso les solucionaba el problema, pero a mi no..
>:(.., además si salgo directa me carga bien la pagina, y lo que me
> inquieta mas, a través de una verison anterior de squid que tenia
> montada desde años me funciona:
>
> Squid Cache: Version 2.7.STABLE9 configure options:

(...)

Compara, por si te diera alguna pista, las opciones de compilación de la
versión anterior con la que tienes actualmente. Si tienes instalado el
binario de Debian podrás verlo en las fuentes del .deb.

Por otra parte, si has pasado de una versión anterior a una nueva, revisa
los cambios entre las versiones porque se han introducido novedades:

http://www.squid-cache.org/Versions/v3/3.4/RELEASENOTES.html#s5

Y también deberías revisar el registro de errores de squid
(principalmente el "access.log") y considera aumentar el nivel de detalle
de los registros internos del proxy por si te dieran más información.

> no, no es un proxy transparente (lo configuro a través de wpad,
> entiendo que asi no es transparente, no?),

Si tu proxy no realiza modificaciones en las respuestas / solicitudes que
realizan los clientes, entonces actúa en modo transparente. El hecho de
que uses un archivo de autonfiguración en los clientes para que no tengan
que introducir datos de configuración y autentificación manualmente
apunta hacia este tipo de configuraciones pero no tiene por qué estar
vinculado su uso con un proxy transparente.

> respecto a lo de no cachear el trafico cifrado, he hecho mal activando
> el modulo SSL? Como puedo asegurarme si se está cacheando o no? o es
> porque me falta añadir certificados?

Ni mal ni bien, simplemente (y sólo si lo necesitas) tendrás que
configurarlo correctamente porque squid no lo habilita de serie.

> pero no lo entiendo, yo he hecho una instalación mas o menos
> estándar, el resto del mundo no tiene problemas con estos errores? :)
> Muchas gracias por tu ayuda Saludos, Laura <--

Creo que aún no has comentado qué paquete has instalado, si el de Debian
o lo has compilado manualmente de la web de squid :-)

Saludos,

--
Camaleón

Camaleón

unread,
Sep 9, 2016, 10:30:02 AM9/9/16
to
El Fri, 09 Sep 2016 11:27:52 +0200, Laura Marzà Porcar escribió:

> Hola, como voy un poco perdida con estas incidencias, he probado a
> activar el modulo SSL por si iban por ahílos tiros, creo que lo he hecho
> bien porque ahora me aparece squid3 asi ('--enable-ssl'
> '--with-open-ssl=/etc/ssl/openssl.cnf'):
>
> Squid Cache: Version 3.4.8 Debian linux configure options:

(...)

Regla nº 1: no actives lo que no necesites :-)

Es decir, si no vas a usar (porque no necesitas que el tráfico cifrado
pase por tu proxy) no lo actives, pero eso sólo lo puedes saber tú que
eres la administradora del proxy.

http://wiki.squid-cache.org/Features/HTTPS

> por suerte para mi todo siqgue funcionando, la mala noticia es que los
> errores siguen igual, y lo que no tengo claro es, una vez recompilado
> squid3 para habilitar SSL, si tengo que seguir con algun paso adicional
> para crear certificados o similar

Si no necesitas habilitar el tráfico seguro en tu proxy no lo hagas, y
menos aún antes de tenerlo funcionando al 100% con el tráfico sin cifrar.
Es mejor que primero resuelvas el problema sencillo y luego, si quieres o
lo necesitas, te pongas con el tráfico cifrado.

Saludos,

--
Camaleón
0 new messages