Minientrada

Firefox, el proxy y el continuo error 407 (Proxy Authentication Required).

En el último proyecto en el que estoy recientemente involucrado he definido un entorno de trabajo virtualizado con máquinas basadas en Windows 10 que no se incluyen en el dominio y por tanto no realizan autenticación en él; la autenticación se realiza mediante usuarios locales. Sin embargo, para salir a internet se utiliza un proxy, en el que sí es necesario autenticarse a través del dominio windows de la organización.

A priori, sobre el papel esta configuración es bastante común y no da problemas. Para abrir una URL de internet desde el navegador, inicialmente se intenta hacer login con el usuario local, al no ser usuario de dominio y no poder autenticarse en el dominio, el navegador muestra una ventana para introducir el usuario y la password correctas. Si con ese usuario y password la autenticación es correcta en el dominio, automáticamente se navega a la url exterior solicitada.

En las máquinas virtuales de los desarrolladores, con Internet Explorer no hay ningún tipo de problema, se introduce el usuario, la password y la salida a internet es automática. Con Microsoft Edge el funcionamiento es correcto también, pero con Firefox (cualquier versión, aunque concretamente estamos utilizando Firefox Developer Edition 50.0a2) empiezan los problemas ya que este navegador se bucla solicitando continuamente el usuario y la password que el proxy necesita para realizar la autenticación.

2016-09-08_16-16-55

Solución

Este problema que es bastante engorroso, porque anula el funcionamiento de Firefox y lo elimina como navegador, se soluciona cambiando varias configuraciones internas de Mozilla Firefox.

Para acceder a dichas configuraciones hay que teclear la url about:config.

Es probable que si no hemos accedido antes a ésta URL, nos pida una confirmación para mostrar la página, pues modificar las configuraciones avanzadas puede ser potencialmente peligroso para el navegador.

2016-09-08_15-47-08

En este caso como estamos seguros de lo que vamos a configurar pinchamos en Aceptamos el riesgo.

Las configuraciones que hay que cambiar son:

  • signon.autologin.proxy –> TRUE
  • network.automatic-ntlm-auth.allow-proxies –> FALSE
  • network.auth.use-sspi –> FALSE

Estas configuraciones pueden ser encontradas mediante el campo de Busqueda. El cambio en los campos booleanos se realiza haciendo doble click sobre ellos.

2016-09-08_16-08-28

Completadas las configuraciones, se cierra y vuelve a abrir el navegador, se teclea la url de internet a la que se quiere navegar, se rellena el usuario y la password (una única vez), et voila, debería mostrarse el contenido web de la URL.

Links

Explicaciones de las diferentes configuraciones avanzadas de Firefox.

Usando yum detrás de un proxy

Uno de los grandes handicaps que más menudo sufro en el trabajo es estar detrás de un proxy. Siempre tengo que andar configurándolo por aquí y por allá, y por si fuera poco las configuraciones varían dependiendo de los programas que lo usan.

Una de estos programas «especiales» es la actualización del software mediante yum en los servidores con CentOS. Yum tiene como particularidad que no utiliza la configuración general del proxy que se realiza desde las utilidades gráficas de GNOME, y por tanto hay que configurarlo de manera personalizada.

Configurando la utilización de un proxy en yum a nivel de servidor.

Este método activa en yum la utilización del proxy de manera global para todos los usuarios del servidor. Pero, hay que tener en cuenta algunas cosillas.

Si el proxy tiene autenticación, este método requiere introducir el usuario y la password plana (sin cifrado) en un fichero de configuración que es accesible por cualquiera con un poco de conocimiento y algo de maña. Si la seguridad es importante, ya habéis deducido que este método puede no ser del todo recomendable.

También hay que tener en cuenta que cualquier usuario con permisos para ejecutar yum, hará actualizaciones usando la cuenta del proxy configurada.

Si las observaciones anteriores no disgustan, la activación del proxy para las operaciones con yum se hace en el fichero /etc/yum.conf añadiendo tres variables:

# /etc/yum.conf
# SERVER_PROXY CONFIGURATION
proxy=http://dns_servidor_proxy:puerto_servidor_proxy
proxy_username=usuario_proxy
proxy_password=password_proxy

Configurando la utilización de un proxy en yum para un usuario específico.

Si la anterior configuración no parecía adecuada porque la configuración del usuario y la password se realiza a nivel de servidor y es utilizada por cualquier usuario que ejecute yum, ésta configuración a nivel de usuario cuadrará mejor con las expectativas.

Con este método, cada usuario introducirá la configuración del proxy en el fichero ~/.bash_profile que está en su directorio home.

# ~/.bash_profile
# PERSONAL_PROXY_CONFIGURATION
http_proxy="http://usuario_proxy:password_proxy@dns_servidor_proxy:puerto_servidor_proxy"
export http_proxy

De esta manera, la ejecución de yum esta personalizada con la información de proxy que cada usuario ha introducido en su fichero personal.

Conclusión

Ambas configuraciones funcionan correctamente y permiten actualizar el servidor utilizando yum detrás de un proxy.

La elección de una u otra será una cuestión de qué configuración cuadra más con la política de seguridad que se quiere adoptar.

Y esto es todo, espero que sea útil.

Eclipse Juno y la configuración fallida del proxy

Este post, cuyo título puede sonar a película de ciencia ficción, es un problema que todos aquellos que trabajamos con Eclipse, más tarde o más temprano nos encontramos a la hora de conectarnos a internet en aquellos sitios donde la conexión no se realiza directamente sino que se hace a través de un proxy.

Este es el típico problema de conexión que deriva en una excepción InvocationTargetException al acceder al MarketPlace cuando queremos instalar aquellos plugins necesarios para los desarrollos a llevar a cabo. En ese momento comienzan un sin fin de pruebas de configuración del proxy que puede que consigan, o no, solucionar la conectividad.

La configuración del proxy de Eclipse en el arranque.

Tras mucho renegar con las preferencias de la conexión vía proxy, probar las configuraciones manual, nativa, directa y combinaciones varias de las anteriores; después de modificar la propia configuración del sistema operativo y jugar con las variables de entorno de manera infructuosa; por fin he encontrado un método que hace que Eclipse funcione sí o sí a través del proxy sin quebraderos de cabeza.

La solución se realiza añadiendo la configuración del proxy en el fichero eclipse.ini.

Este fichero se encuentra en el mismo directorio del ejecutable, en la carpeta home de la instalación, y en él se pueden añadir parámetros que modifican en el arranque la funcionalidad de Eclipse. Los parámetros que determinan la configuración del proxy son algunos de los que se pueden establecer en el arranque, las líneas concretas son las siguientes:

-Dhttp.proxyPort=<puerto_del_proxy>
-Dhttp.proxyHost=<nombre_dns_o_dir_ip_del_proxy>
-Dhttp.proxyUser=<nombre_usuario_proxy>
-Dhttp.proxyPassword=<password_usuario_proxy>
-Dhttp.nonProxyHosts=<excepciones_sin_proxy_separadas_por_|_pipe>

La contra de utilizar este solución es que en aquellas instalaciones en las que es necesario acceder al proxy de forma autenticada, al incluir el nombre del usuario y la contraseña como parámetros, si esa instalación se utiliza en una máquina virtual y se distribuye a un montón de desarrolladores, cada uno tiene que cambiar esos dos parámetros para incluir su usuario y contraseña propios.

Si lo anterior no es un problema, ésta solución funciona siempre, termina con los quebraderos de cabeza de las preferencias de Eclipse y sirve para cualquier plataforma, ya sea windows, linux o macintosh.

Links

Documentación Eclipse Juno – Network Connections how to. http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-net-preferences.htm