Objectif
Notre objectif est de configurer l'accès aux référentiels yum internes et distants alors que certains d'entre eux sont derrière des serveurs proxy.
Versions du système d'exploitation et du logiciel
- Système d'exploitation :Red Hat Enterprise Linux 7.5
Exigences
Accès privilégié au système
Difficulté
FACILE
Congrès
- # - 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
sudo
commande - $ – commandes linux données à exécuter en tant qu'utilisateur normal non privilégié
Présentation
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 les traverse. 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 au moins l'employé dont les informations d'identification ont été volées pour le faire), ou filtrer le trafic, empêchant l'accès à des sites nuisibles bien connus pour protéger l'équipement des employés.
Cependant, d'autres types d'accès à Internet peuvent être nécessaires :en tant qu'administrateur système, vous avez besoin de mises à jour logicielles pour les serveurs afin de les maintenir à jour. Ce trafic peut également passer par le proxy, si vous configurez yum
utiliser un proxy. Mais qu'en est-il des référentiels internes qui ne sont pas accessibles avec cette configuration, car ils se trouvent dans le LAN ? Où placer ce paramètre si la machine en question est un ordinateur de bureau, également utilisé pour la navigation ? Découvrons comment configurer certains cas d'utilisation possibles avec Red Hat Linux.
Configuration du didacticiel
Dans ce tutoriel, nous supposons que le proxy dans notre environnement est proxy.foobar.com
, servant sur le port 8000
, et 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, ni même de nom d'utilisateur, cela dépend de sa configuration.
Connexion ad hoc via proxy
Si vous devez vous connecter une fois via le proxy, par exemple télécharger un package à partir de la ligne de commande ou tester 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:[email protected]:8000
Vous pouvez définir le https_proxy
variable de la même manière.
Jusqu'à ce que vous terminiez la session, ou unset
la variable exportée, le http
(ou https
) le trafic 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 non destinées à être lisibles par d'autres personnes pouvant 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 atteindre, vous pouvez définir le proxy dans /etc/profile
, ou déposez les variables dans un fichier séparé dans /etc/profile.d
répertoire, de sorte que ces paramètres ne doivent ê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 - donc 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 le système de proxy à l'échelle du système, ajoutez ce qui suit au /etc/profile
ou un fichier séparé sous /etc/profile.d
répertoire, en utilisant votre éditeur de texte préféré :
export http_proxy=http://foouser:[email protected]:8000
export https_proxy=http://foouser:[email protected]:8000
Vous pouvez également les définir par niveau d'utilisateur (par exemple dans .bash_profile
), auquel cas ils ne s'appliquent qu'à cet utilisateur particulier. De la même manière, tout 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 allons nous concentrer sur yum
et il s'agit de référentiels 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 bureau devront utiliser leurs propres informations d'identification, et plusieurs utilisateurs peuvent avoir accès au bureau donné. mais lorsque l'administrateur effectue un déploiement sur tous les bureaux clients (peut-être en utilisant un système de gestion central), l'installation effectuée par yum
peuvent avoir besoin d'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 référentiels 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 ni ne doivent utiliser de proxy. Dans ce cas, nous pouvons configurer yum
pour accéder à tous les référentiels utilisant un proxy en ajoutant les lignes suivantes au /etc/yum.conf
fichier, qui est utilisé pour stocker les paramètres yum globaux 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 référentiels ajoutés seront atteints via le proxy, s'il n'y a pas de remplacement en place au niveau du référentiel.
Certains référentiels 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 Internet ouvert, en utilisant le proxy d'entreprise, et en même temps ils doivent accéder au référentiel interne. référentiels contenant des logiciels développés et packagés au sein de l'entreprise, à usage strictement interne.
Dans ce cas, vous devez modifier la configuration par référentiel. Définissez d'abord le proxy globalement pour yum comme tous les référentiels externes, comme expliqué dans la section précédente. Pour les référentiels internes, ouvrez chaque fichier contenant des référentiels externes sous /etc/yum.repos.d
répertoire et ajoutez le proxy=_none_
paramètre à la configuration du référentiel interne. Par exemple :
Conclusion
Les procurations offrent la sécurité et la responsabilité, mais peuvent parfois rendre notre vie plus difficile. Avec une certaine 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 de nombreux systèmes doivent accéder aux mêmes référentiels en dehors du pare-feu de l'entreprise, envisagez toujours de mettre en miroir ces référentiels localement, en économisant beaucoup de bande passante et en rendant l'installation ou la mise à niveau des clients indépendante du monde extérieur au réseau local, donc le rendant plus sujet aux erreurs. Vous pouvez définir les paramètres de proxy sur la ou les machines en miroir et laisser toutes les autres machines hors de l'Internet public au moins à partir du yum
perspective. Il existe des solutions de gestion centralisée qui offrent cette fonctionnalité, à la fois open source et payantes.