Mi servidor proxy de trabajo requiere autenticación con las credenciales de usuario del dominio de Microsoft AD. Todo el mundo sabe cómo funciona: si inicia sesión en una estación de trabajo de Windows, sus solicitudes de acceso a Internet basadas en el navegador "Internet Explorer" se autentican (e identifican) automáticamente utilizando sus credenciales de inicio de sesión de dominio.
Descubrí que Firefox también puede autenticarse en estos servidores proxy y durante mucho tiempo asumí que "hacen algo especial". Recientemente, un colega instaló Linux Mint en una máquina virtual y, para mi sorpresa, estaba ocupado recibiendo actualizaciones de Internet. Cuando le pregunté cómo lo consiguió, trabajo se encogió de hombros y dijo "Simplemente funcionó"
Esto me llevó a volver a mirar la configuración del proxy. Ejecuto Kubuntu (con una combinación de aplicaciones G * y K *, pero solo uso las aplicaciones GTK cuando estoy convencido de que son mucho mejores que cualquier otra cosa K *)
Todavía tengo una copia del invitado de Windows ejecutándose en una VM VirtualBox, principalmente para imprimir y para acceder a sitios web internos / corporativos (que requieren autenticación e identificación a través de credenciales de dominio de MS), así como para cambiar la contraseña de mi dominio cada tantos días .
Por lo tanto, sería muy útil si pudiera hacer que [algunas / la mayoría / todas] de mis aplicaciones de Linux funcionen a través del servidor proxy. Mis necesidades más urgentes son que Akregator y Muon puedan trabajar. Otras aplicaciones que pueden beneficiarse son algunas aplicaciones que se actualizan automáticamente (por ejemplo, extensiones de caja virtual) o se ajustan a un navegador (se me ocurren más temas / papeles de pared / etc. y el uso ocasional de wget)
Los clientes SSH / SCP logran trabajar a través del firewall sin autenticación.
¿Cuál es la forma correcta (herramienta y / o procedimiento) para configurar esto, idealmente en una sola ubicación porque tener que mantener mi contraseña en varias ubicaciones es una receta para salir de mi cuenta: - /
Ah, y sería un sueño hecho realidad si pudiera tener el equivalente a la utilidad de activación / desactivación del proxy "Proxy rápido" de Firefox, por ejemplo, un clic para activar o desactivar el uso del proxy, sin necesidad de cerrar y volver a iniciar sesión, dependiendo de en qué red estoy. Realmente pensando en ello, ¡una utilidad debería ser entrenable para mirar su dirección IP y saber cuándo necesita usar el proxy! Pero yo divago.
Me imagino que ejecutar un servidor proxy local que puede agregar dinámicamente la autenticación y reenviarlo a un servidor proxy ascendente cuando sea necesario puede ser la única solución real.
Respuestas:
Opción de solución : ejecute un proxy web en su máquina virtual de Windows. Configure su sistema para usar esa instancia como su proxy.
Dado que su VM de Windows ya está autenticada y se permite el tráfico a través de ella, la configuración de un proxy SOCKS en esa instancia de VM centralizará sus necesidades de autenticación. Si es solo para usted y sus cajas, esto debería estar bien y probablemente sea bastante sencillo.
Aprovechar esta idea es hacer que un demonio SSHD se ejecute en la VM de Windows para que pueda hacer cosas como túneles SSH SOCKS desde sus otras cajas a través de la VM:
Para aquellas aplicaciones que pueden tener problemas o donde no desea reconfigurar las aplicaciones, puede utilizar sshtunnel , que configurará las reglas de iptables para enrutar el tráfico. Funciona para sistemas Linux y Mac.
Si necesita evitar instalar un proxy en la máquina virtual de Windows, puede configurar un cuadro de proxy Squid configurado para autenticarse en Windows AD. Una guía sobre cómo hacerlo ubicada aquí:
Opción de solución : Proxy de calamar autenticado a través de AD / NTLM
http://techmiso.com/1934/howto-install-squid-web-proxy-server-with-active-directory-authentication/( enlace muerto )Otra solución proxy NTLM, aunque creo que esta realmente se ejecuta en una máquina Windows:
Opción de solución : proxy NTLM http://cntlm.sourceforge.net/
fuente
http://
al configurar el proxy)cntlm
proporciona una solución, junto con alguna configuración.Los pasos básicos a seguir son:
Inicie el servicio cntlm, por ejemplo, a través de
cntlm proporciona una forma de probar el proxy y generar un hash a partir de su contraseña, por ejemplo, mediante el comando (como root)
cntlm le pedirá su contraseña de dominio. Luego probará diferentes mecanismos de autenticación contra el servidor proxy configurado. Cuando se encuentra un método de trabajo, imprime dos líneas que deben ir a su archivo de configuración.
/etc/cntlm.conf
.Ahora
cntlm
está funcionando y listo para ser utilizado. Se pueden usar varios lugares para configurar varios programas para usarlo.cntlm
luego agregará de manera transparente tokens de autenticación de dominio NT a los paquetes salientes y los reenviará al servidor proxy configurado.Usando Qt / KDE
Para las aplicaciones nativas de Qt / KDE, especifique "Usar servidor proxy configurado manualmente" en Configuración del sistema KDE -> Configuración de red -> Configuración de proxy . El proxy se especifica como
http://localhost
con el puerto 3128 (El valor predeterminado paracntlm
menos que lo haya cambiado). Estas aplicaciones se actualizan dinámicamente con nuevas configuraciones y no se requiere reiniciar o cerrar sesión / iniciar sesión para actualizar la configuración.Clientes de Dropbox y Google
Muchas aplicaciones pueden usar variables de entorno de shell. Destacan aquí los clientes de Dropbox y Google Earth. Para estas aplicaciones, use variables de entorno de shell como estas:
s3cmd, rizo y wget
Nota: Algunas aplicaciones usarán solo los nombres en minúsculas, otras solo en mayúsculas, algunas probarán primero una, luego la otra.
s3cmd
(El cliente de Amazon S3),curl
ywget
se puede configurar adicionalmente a través de sus propios archivos de configuración si lo desea. Esto es útil porque leen sus propios archivos de configuración en cada invocación. Dado que estos programas suelen ser de corta duración (existe una sola invocación después de completar una descarga), eso es muy útil.El formato para
s3cmd
en~/.s3cfg
es:El formato para wget
~/.wgetrc
es:El formato para
curl
en~/.curlrc
es:Por otro lado, la edición del perfil de shell u otros archivos de configuración del entorno generalmente requieren un reinicio, cierre y cierre de sesión o similar. Vale la pena investigar
/etc/environment
,~/.pam_environment
,~/.kde/env/proxy.sh
etc. ya que estos son lugares estándar para establecer configuraciones de proxy configuradas a través de variables de entorno de shell, particularmente para afectar a todos los usuarios y servicios en el sistema.También entiendo que es posible cambiar la configuración del entorno por aplicación utilizando sus respectivos
.desktop
archivos, pero aún no lo he probado (con éxito).VirtualBox
VirtualBox se puede configurar para usar un proxy (por ejemplo, para buscar y descargar actualizaciones de software) usando su GUI o usando el comando:
Para completar, para deshabilitarlo, use:
Firefox
Para Firefox, uso el complemento QuickProxy. El propio Firefox si está configurado manualmente para usar el servidor proxy en la máquina local, por lo que QuickProxy simplemente habilita / deshabilita la configuración.
APTO
APT (utilizado en segundo plano por synaptic, muon y amigos) utiliza un archivo de configuración
/etc/apt/apt.conf.d/
, por ejemplo, la00proxy
activación del proxy para APT se realiza mediante líneas como:Nota: add-apt-repository usa el perfil raíz, o puede configurar sudo para permitir que todas las configuraciones de http * _proxy se caigan.
Un guión para gobernarlos a todos
FWIW Ahora mismo estoy en el proceso de escribir un script modular para habilitar / deshabilitar proxy para numerosos programas. Hasta ahora he escrito los siguientes módulos:
Así como una aplicación de control. Con suerte, pronto se trasladarán a un github u otro hogar en línea.
fuente
La autenticación de proxy con ntlm se explica bien en los enlaces a continuación.
Pero el problema con ntlm es que debe actualizar el
cntlm
archivo de configuración muchas veces al día. Considere una situación en la que diferentes usuarios comparten una máquina común y tienen que actualizar su contraseña de AD en elcntlm
archivo de configuración cada vez que inician sesión en el sistema. Quizás haya un método disponible para actualizar automáticamente elcntlm
archivo de configuración cada vez que un usuario inicie sesión.fuente