Objetivo
Nuestro objetivo es configurar el acceso a repositorios yum internos y remotos, mientras que algunos de ellos están detrás de servidores proxy.
Sistema operativo y versiones de software
- Sistema operativo:Red Hat Enterprise Linux 7.5
Requisitos
Acceso privilegiado al sistema
Dificultad
FÁCIL
Convenios
- # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de
sudo
comando - $ – comandos de Linux dados para ser ejecutados como un usuario regular sin privilegios
Introducción
En un entorno corporativo, es común limitar el acceso a Internet, tanto por seguridad como por responsabilidad. Esto a menudo se logra mediante el uso de servidores proxy que permiten el acceso a Internet después de algún tipo de autenticación, mientras inspeccionan y registran todo el tráfico que pasa a través de ellos. De esta forma, la empresa puede, por ejemplo, encontrar al empleado que descargó el virus que causó estragos en el sistema corporativo (o al menos al empleado cuyas credenciales fueron robadas para hacerlo), o filtrar el tráfico, impidiendo el acceso a sitios dañinos conocidos. para proteger el equipo de los empleados.
Sin embargo, es posible que se necesite otro tipo de acceso a Internet:como administrador de sistemas, necesita actualizaciones de software para que los servidores se mantengan actualizados. Este tráfico también puede pasar a través del proxy, si configura yum
para usar proxy. Pero, ¿qué pasa con los repositorios internos a los que no se puede acceder con esta configuración, ya que están dentro de la LAN? ¿Dónde colocar esta configuración si la máquina en cuestión es una computadora de escritorio, utilizada también para navegar? Averigüemos cómo configurar algunos posibles casos de uso con Red Hat Linux.
Tutorial de configuración
En este tutorial asumimos que el proxy en nuestro entorno es proxy.foobar.com
, sirviendo en el puerto 8000
y requiere una simple autenticación de nombre de usuario/contraseña para dar acceso al resto del mundo. Las credenciales válidas son foouser
como nombre de usuario y secretpass
como contraseña. Tenga en cuenta que su proxy puede ser completamente diferente, puede que no necesite una contraseña o incluso un nombre de usuario, depende de su configuración.
Conexión ad hoc a través de proxy
Si necesita conectarse a través del proxy una vez, por ejemplo, descargar un paquete desde la línea de comandos o probar la conectividad antes de finalizar la configuración, puede exportar las variables relacionadas con el proxy a su sesión de línea de comandos actual:
$ export http_proxy=http://foouser:[email protected]:8000
Puede configurar el https_proxy
variable de la misma manera.
Hasta que finalice la sesión o unset
la variable exportada, el http
(o https
) el tráfico intentará conectarse al proxy, incluido el tráfico generado por yum
. ¡Tenga en cuenta que esto hace que un nombre de usuario y una contraseña de proxy válidos estén presentes en el historial del usuario! Esta puede ser información confidencial que no está destinada a ser leída por otras personas que pueden acceder al archivo de historial.
Todo el tráfico usa proxy
Si el sistema en su conjunto necesita usar el proxy para comunicarse, puede configurar el proxy en /etc/profile
, o suelte las variables en un archivo separado en /etc/profile.d
directorio, por lo que esta configuración solo debe modificarse en un lugar. Puede haber casos de uso para esto, pero también tenga en cuenta que en este caso todo el tráfico se prueba a través del proxy, por lo que un navegador también intentará llegar a las páginas internas a través del proxy.
Tenga en cuenta que configuramos la misma variable ambiental que hicimos con la conexión de proxy única, configurándola solo al inicio, por lo tanto, todas las sesiones de usuario "heredan" estas variables.
Si necesita configurar el sistema proxy para todo el sistema, agregue lo siguiente a /etc/profile
o un archivo separado bajo /etc/profile.d
directorio, utilizando su editor de texto favorito:
export http_proxy=http://foouser:[email protected]:8000
export https_proxy=http://foouser:[email protected]:8000
También puede configurarlos a nivel de usuario (por ejemplo, en .bash_profile
), en cuyo caso solo se aplican a ese usuario en particular. De la misma manera, cualquier usuario puede anular esta configuración de todo el sistema agregando un nuevo valor a estas variables.
En el recordatorio de este tutorial, nos centraremos en yum
y son repositorios configurados, por lo que asumimos que no tenemos ni necesitamos configuraciones de proxy para todo el sistema. Esto puede tener sentido incluso si los usuarios que navegan en la máquina deben usar un proxy para acceder a Internet.
Por ejemplo, los usuarios de un escritorio necesitarán usar sus propias credenciales y más de un usuario puede tener acceso al escritorio dado. pero cuando el administrador realiza una implementación en todos los escritorios de los clientes (quizás usando un sistema de administración central), la instalación la realiza yum
puede necesitar credenciales dedicadas al tráfico a nivel del sistema. Si la contraseña del usuario utilizada para la conexión del proxy cambia, la configuración debe actualizarse para que funcione correctamente.
Todos los repositorios son externos
Nuestro sistema llega a los repositorios predeterminados de Red Hat a través del proxy y no tenemos repositorios internos. Por otro lado, cualquier otro programa que use la red no necesita ni debe usar proxy. En este caso podemos configurar yum
para acceder a todos los repositorios usando proxy agregando las siguientes líneas a /etc/yum.conf
archivo, que se utiliza para almacenar los parámetros yum globales para la máquina dada:
proxy=http://proxy.foobar.com:8000
proxy_username=foouser
proxy_password=secretpass
En este caso, tenga en cuenta que esta configuración también se interrumpirá al cambiar la contraseña. Se accederá a todos los nuevos repositorios agregados a través del proxy, si no hay una anulación en el nivel del repositorio.
Algunos repositorios son externos
La configuración puede ser un poco más complicada si hay repositorios externos e internos al mismo tiempo; por ejemplo, sus servidores pueden llegar a los repositorios del proveedor a través de Internet abierta, usando el proxy corporativo, y al mismo tiempo necesitan acceder a los repositorios internos. repositorios que contienen software desarrollado y empaquetado dentro de la empresa, que son estrictamente para uso interno.
En este caso, debe modificar la configuración por repositorio. Primero configure el proxy globalmente para yum como todos los repositorios externos, como se explica en la sección anterior. Para los repositorios internos, abra cada archivo que contenga repositorios externos en /etc/yum.repos.d
y agregue el proxy=_none_
parámetro a la configuración del repositorio interno. Por ejemplo:
Conclusión
Los proxies brindan seguridad y responsabilidad, pero a veces pueden hacernos la vida más difícil. Con algo de planificación y conocimiento de las herramientas disponibles, podemos integrar nuestros sistemas con el proxy para que puedan acceder a todos los datos a los que están destinados, de una manera que cumpla con nuestra configuración de proxy.
Si tiene muchos sistemas que necesitan llegar a los mismos repositorios fuera del firewall corporativo, siempre considere duplicar estos repositorios localmente, ahorrando mucho ancho de banda y haciendo que la instalación o actualización de los clientes sea independiente del mundo fuera de la red local, por lo tanto haciéndolo más propenso a errores. Puede establecer la configuración de proxy en la duplicación de máquinas y dejar todas las demás máquinas fuera de Internet pública al menos desde el yum
perspectiva. Existen soluciones de administración central que brindan esta funcionalidad, tanto de código abierto como de pago.