Recherche de site Web

Comment ajouter des dépôts à Red Hat Linux avec et sans proxy


Objectif

Notre objectif est de mettre en place l’accès à des dépôts yum internes et distants alors que certains d’entre eux sont derrière des serveurs proxy.

Système d’exploitation et versions logicielles

  • Système d’exploitation : Red Hat Enterprise Linux 7.5

Exigences

Accès privilégié au système

Difficulté

FACILE

Conventions

  • # – nécessite que les commandes Linux données soient exécutées avec les privilèges root, soit directement en tant qu’utilisateur root, soit en utilisant la commande sudo
  • $ – commandes linux données à exécuter en tant qu’utilisateur régulier non privilégié

Introduction

Dans un environnement d’entreprise, il est courant de limiter l’accès à Internet, à la fois pour des raisons de sécurité et de responsabilité. Ceci est souvent accompli en utilisant des serveurs proxy qui permettent l’accès à Internet après une sorte d’authentification, tout en inspectant et en enregistrant tout le trafic qui passe par eux. De cette façon, l’entreprise peut, par exemple, trouver l’employé qui a téléchargé le virus qui fait des ravages dans le système de l’entreprise (ou du moins l’employé dont les informations d’identification ont été volées pour le faire), ou filtrer le trafic, empêchant ainsi l’accès à des sites nuisibles bien connus pour protéger le matériel des employés.

Cependant, il peut y avoir un autre type d’accès à Internet nécessaire : en tant qu’administrateur système, vous avez besoin de mises à jour logicielles pour que les serveurs restent à jour. Ce trafic peut également passer par le proxy, si vous configurez yum pour utiliser le proxy. Mais qu’en est-il des dépôts internes qui ne sont pas accessibles avec cette configuration, car ils le sont dans le LAN ? Où placer ce paramètre si la machine en question est un ordinateur de bureau, utilisé également pour la navigation ? Voyons comment configurer quelques cas d’utilisation possibles avec Red Hat Linux.

Configuration du tutoriel

Dans ce tutoriel, nous supposons que le proxy dans notre environnement est proxy.foobar.com, qu’il fonctionne sur le port 8000 et qu’il nécessite une simple authentification par nom d’utilisateur/mot de passe pour donner accès au reste du monde. Les informations d’identification valides sont foouser comme nom d’utilisateur et secretpass comme mot de passe. Notez que votre proxy peut être entièrement différent, peut ne pas avoir besoin de mot de passe, ou même de nom d’utilisateur, cela dépend de sa configuration.

Connexion ad hoc via le proxy

Si vous avez besoin de vous connecter une fois via le proxy, par exemple en téléchargeant un package à partir de la ligne de commande ou en testant la connectivité avant de finaliser la configuration, vous pouvez exporter les variables liées au proxy vers votre session de ligne de commande actuelle :

export http_proxy=http://foouser:secretpass@proxy.foobar.com:8000

Vous pouvez définir la variable https_proxy de la même manière.

Jusqu’à ce que vous mettiez fin à la session ou que vous désactiviez la variable exportée, le trafic HTTP (ou HTTPS) tentera de se connecter au proxy, y compris le trafic généré par yum. Gardez à l’esprit que cela entraîne la présence d’un nom d’utilisateur et d’un mot de passe proxy valides dans l’historique de l’utilisateur ! Il peut s’agir d’informations sensibles qui ne sont pas destinées à être lisibles par d’autres personnes qui peuvent accéder au fichier d’historique.

Tout le trafic utilise un proxy

Si le système dans son ensemble a besoin d’utiliser le proxy pour se connecter, vous pouvez définir le proxy dans /etc/profile, ou déposer les variables dans un fichier séparé dans le répertoire /etc/profile.d, de sorte que ces paramètres n’ont besoin d’être modifiés qu’à un seul endroit. Il peut y avoir des cas d’utilisation pour cela, mais gardez également à l’esprit que dans ce cas, tout le trafic est essayé via le proxy - de sorte qu’un navigateur essaiera également d’atteindre les pages internes via le proxy.

Notez que nous définissons la même variable d’environnement que nous l’avons fait avec la connexion proxy unique, en ne la définissant qu’au démarrage, donc toutes les sessions utilisateur « héritent » de ces variables.

Si vous devez définir l’ensemble du système proxy, ajoutez ce qui suit au fichier /etc/profile ou à un fichier séparé sous le répertoire /etc/profile.d, à l’aide de votre éditeur de texte préféré :

export http_proxy=http://foouser:secretpass@proxy.foobar.com:8000
export https_proxy=http://foouser:secretpass@proxy.foobar.com:8000

Vous pouvez également définir un niveau par utilisateur (par exemple dans .bash_profile), auquel cas ils ne s’appliquent qu’à cet utilisateur particulier. De la même manière que n’importe quel utilisateur peut remplacer ces paramètres à l’échelle du système en ajoutant une nouvelle valeur à ces variables.

Dans le rappel de ce tutoriel, nous nous concentrerons sur yum et ses dépôts configurés, nous supposons donc que nous n’avons pas ou n’avons pas besoin de paramètres de proxy à l’échelle du système. Cela peut avoir du sens même si les utilisateurs naviguant sur la machine doivent utiliser un proxy pour accéder à Internet.

Par exemple, les utilisateurs d’un ordinateur de bureau devront utiliser leurs propres informations d’identification, et plus d’un utilisateur peut avoir accès au poste de travail donné. Mais lorsque l’administrateur effectue un déploiement sur tous les postes de travail clients (peut-être à l’aide d’un système de gestion central), l’installation effectuée par Yum peut nécessiter des informations d’identification dédiées au trafic au niveau du système. Si le mot de passe de l’utilisateur utilisé pour la connexion proxy change, la configuration doit être mise à jour pour fonctionner correctement.

Tous les dépôts sont externes

Notre système atteint les référentiels Red Hat par défaut via le proxy, et nous n’avons pas de référentiels internes. D’autre part, tous les autres programmes qui utilisent le réseau n’ont pas besoin ou ne doivent pas utiliser de proxy. Dans ce cas, nous pouvons configurer yum pour qu’il accède à tous les dépôts à l’aide d’un proxy en ajoutant les lignes suivantes au fichier /etc/yum.conf, qui est utilisé pour stocker les paramètres globaux de yum pour la machine donnée :

proxy=http://proxy.foobar.com:8000
proxy_username=foouser
proxy_password=secretpass

Dans ce cas, gardez à l’esprit que cette configuration sera également interrompue lors du changement de mot de passe. Tous les nouveaux dépôts ajoutés seront accessibles via le proxy, s’il n’y a pas de surcharge en place au niveau du dépôt.

Certains dépôts sont externes

La configuration peut être un peu plus compliquée s’il existe des référentiels externes et internes en même temps - par exemple, vos serveurs peuvent accéder aux référentiels du fournisseur via l’Internet ouvert, en utilisant le proxy de l’entreprise, et en même temps qu’ils doivent accéder aux référentiels internes contenant des logiciels développés et packagés au sein de l’entreprise, qui sont strictement à usage interne.

Dans ce cas, vous devez modifier la configuration pour chaque dépôt. Définissez d’abord le proxy globaly pour yum car tous les dépôts sont externes, comme expliqué dans la section précédente. Pour les référentiels internes, ouvrez chaque fichier contenant des référentiels externes dans le répertoire /etc/yum.repos.d et ajoutez le paramètre proxy=_none_ à la configuration du référentiel interne. Par exemple:

Désactivation du proxy pour le référentiel interne

Conclusion

Les proxys assurent la sécurité et la responsabilité, mais peuvent parfois nous rendre la vie plus difficile. Avec un peu de planification et une connaissance des outils disponibles, nous pouvons intégrer nos systèmes au proxy afin qu’ils puissent accéder à toutes les données auxquelles ils sont destinés, d’une manière conforme à nos paramètres de proxy.

Si vous avez de nombreux systèmes qui doivent atteindre les mêmes référentiels en dehors du pare-feu de l’entreprise, envisagez toujours de mettre en miroir ces référentiels localement, ce qui permet d’économiser beaucoup de bande passante et de rendre l’installation ou la mise à niveau des clients indépendante du monde en dehors du réseau local, ce qui le rend plus sujet aux erreurs. Vous pouvez définir les paramètres proxy sur la ou les machines en miroir et laisser toutes les autres machines hors de l’Internet public, du moins du point de vue de yum. Il existe des solutions de gestion centralisée qui fournissent cette fonctionnalité, à la fois open source et payante.

Articles connexes: