Ziel
Unser Ziel ist es, Zugriff auf interne und entfernte yum-Repositories einzurichten, während sich einige von ihnen hinter Proxy-Servern befinden.
Betriebssystem- und Softwareversionen
- Betriebssystem:Red Hat Enterprise Linux 7.5
Anforderungen
Privilegierter Zugriff auf das System
Schwierigkeit
EINFACH
Konventionen
- # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von
sudo
Befehl - $ – gegebene Linux-Befehle, die als normaler nicht-privilegierter Benutzer ausgeführt werden sollen
Einführung
In einer Unternehmensumgebung ist es üblich, den Internetzugang zu beschränken – sowohl aus Sicherheits- als auch aus Gründen der Rechenschaftspflicht. Dies wird häufig durch die Verwendung von Proxy-Servern erreicht, die nach einer Art Authentifizierung den Zugriff auf das Internet ermöglichen, während sie den gesamten Datenverkehr untersuchen und protokollieren, der sie passiert. Auf diese Weise kann das Unternehmen beispielsweise den Mitarbeiter finden, der den Virus heruntergeladen hat, der Chaos im Unternehmenssystem anrichtet (oder zumindest den Mitarbeiter, dessen Anmeldeinformationen gestohlen wurden), oder den Datenverkehr filtern und den Zugriff auf bekannte schädliche Websites verhindern zum Schutz der Mitarbeiterausrüstung.
Möglicherweise ist jedoch eine andere Art von Internetzugang erforderlich:Als Systemadministrator benötigen Sie Software-Updates für die Server, um sie auf dem neuesten Stand zu halten. Dieser Datenverkehr kann auch den Proxy passieren, wenn Sie yum
einrichten Proxy zu verwenden. Aber was ist mit den internen Repositories, die mit diesem Setup nicht erreichbar sind, da sie sich im LAN befinden? Wo soll diese Einstellung platziert werden, wenn es sich bei dem betreffenden Computer um einen Desktop handelt, der auch zum Surfen verwendet wird? Lassen Sie uns herausfinden, wie Sie einige mögliche Anwendungsfälle mit Red Hat Linux einrichten.
Tutorial-Setup
In diesem Tutorial gehen wir davon aus, dass der Proxy in unserer Umgebung proxy.foobar.com
ist , bereitgestellt auf Port 8000
, und erfordert eine einfache Benutzername/Kennwort-Authentifizierung, um Zugriff auf den Rest der Welt zu erhalten. Gültige Anmeldeinformationen sind foouser
als Benutzername und secretpass
als Passwort. Beachten Sie, dass Ihr Proxy völlig anders sein kann und möglicherweise kein Passwort oder sogar einen Benutzernamen benötigt, dies hängt von seiner Konfiguration ab.
Ad-hoc-Verbindung über Proxy
Wenn Sie sich einmal über den Proxy verbinden müssen, um beispielsweise ein Paket von der Befehlszeile herunterzuladen oder die Verbindung zu testen, bevor Sie die Konfiguration abschließen, können Sie die Proxy-bezogenen Variablen in Ihre aktuelle Befehlszeilensitzung exportieren:
$ export http_proxy=http://foouser:[email protected]:8000
Sie können den https_proxy
festlegen Variable auf die gleiche Weise.
Bis Sie die Sitzung beenden oder unset
die exportierte Variable, das http
(oder https
) versucht, sich mit dem Proxy zu verbinden – einschließlich des von yum
generierten Datenverkehrs . Denken Sie daran, dass dies dazu führt, dass ein gültiger Proxy-Benutzername und ein gültiges Passwort im Verlauf des Benutzers vorhanden sind! Dabei kann es sich um vertrauliche Informationen handeln, die nicht dazu bestimmt sind, von anderen gelesen zu werden, die auf die Verlaufsdatei zugreifen können.
Der gesamte Datenverkehr verwendet einen Proxy
Wenn das System als Ganzes den Proxy verwenden muss, um zu erreichen, können Sie den Proxy in /etc/profile
festlegen , oder legen Sie die Variablen in einer separaten Datei in /etc/profile.d
ab Verzeichnis, sodass diese Einstellungen nur an einer Stelle geändert werden müssen. Es kann Anwendungsfälle dafür geben, aber denken Sie auch daran, dass in diesem Fall jeglicher Datenverkehr durch den Proxy versucht wird – ein Browser wird also versuchen, interne Seiten auch über den Proxy zu erreichen.
Beachten Sie, dass wir dieselbe Umgebungsvariable setzen wie bei der einmaligen Proxy-Verbindung, und zwar nur beim Start, daher „erben“ alle Benutzersitzungen diese Variablen.
Wenn Sie das Proxysystem weit einstellen müssen, fügen Sie Folgendes zu /etc/profile
hinzu oder eine separate Datei unter /etc/profile.d
Verzeichnis mit Ihrem bevorzugten Texteditor:
export http_proxy=http://foouser:[email protected]:8000
export https_proxy=http://foouser:[email protected]:8000
Sie können diese auch pro Benutzerebene festlegen (z. B. in .bash_profile
), in diesem Fall gelten sie nur für diesen bestimmten Benutzer. Genauso kann jeder Benutzer diese systemweiten Einstellungen überschreiben, indem er diesen Variablen einen neuen Wert hinzufügt.
In der Erinnerung an dieses Tutorial konzentrieren wir uns auf yum
und es sind konfigurierte Repositorys, daher gehen wir davon aus, dass wir keine systemweiten Proxy-Einstellungen haben oder benötigen. Dies kann selbst dann sinnvoll sein, wenn Benutzer, die auf dem Computer surfen, einen Proxy verwenden müssen, um auf das Internet zuzugreifen.
Beispielsweise müssen Benutzer eines Desktops ihre eigenen Anmeldeinformationen verwenden, und mehr als ein Benutzer kann Zugriff auf den angegebenen Desktop haben. aber wenn der Administrator eine Bereitstellung auf allen Client-Desktops durchführt (möglicherweise unter Verwendung eines zentralen Verwaltungssystems), wird die Installation von yum
durchgeführt benötigen möglicherweise Anmeldeinformationen für den Datenverkehr auf Systemebene. Wenn sich das für die Proxy-Verbindung verwendete Passwort des Benutzers ändert, muss die Konfiguration aktualisiert werden, damit sie ordnungsgemäß funktioniert.
Alle Repositories sind extern
Unser System erreicht die standardmäßigen Red Hat-Repositories über den Proxy, und wir haben keine internen Repositories. Andere Programme, die das Netzwerk verwenden, benötigen und sollten jedoch keinen Proxy verwenden. In diesem Fall können wir yum
konfigurieren um auf alle Repositories per Proxy zuzugreifen, indem Sie die folgenden Zeilen zu /etc/yum.conf
hinzufügen Datei, die verwendet wird, um die globalen yum-Parameter für die gegebene Maschine zu speichern:
proxy=http://proxy.foobar.com:8000
proxy_username=foouser
proxy_password=secretpass
Denken Sie in diesem Fall daran, dass diese Konfiguration auch bei einer Kennwortänderung unterbrochen wird. Alle neu hinzugefügten Repositorys werden über den Proxy erreicht, wenn auf Repository-Ebene keine Überschreibung vorhanden ist.
Einige Repositories sind extern
Die Einrichtung kann etwas komplizierter sein, wenn gleichzeitig externe und interne Repositories vorhanden sind – Ihre Server können beispielsweise die Repositories des Anbieters über das offene Internet unter Verwendung des Unternehmensproxys erreichen und müssen gleichzeitig auf das interne zugreifen Repositories, die Software enthalten, die innerhalb des Unternehmens entwickelt und verpackt wurde und ausschließlich für den internen Gebrauch bestimmt ist.
In diesem Fall müssen Sie das Setup pro Repository ändern. Legen Sie zuerst den Proxy global für yum fest, da alle Repositories extern waren, wie im vorherigen Abschnitt erklärt. Öffnen Sie für die internen Repositories jede Datei, die externe Repositories enthält, unter /etc/yum.repos.d
Verzeichnis und fügen Sie proxy=_none_
hinzu -Parameter an die interne Repository-Konfiguration. Zum Beispiel:
Schlussfolgerung
Proxys bieten Sicherheit und Rechenschaftspflicht, können uns aber manchmal das Leben schwerer machen. Mit etwas Planung und Kenntnissen der verfügbaren Tools können wir unsere Systeme mit dem Proxy integrieren, sodass sie alle beabsichtigten Daten auf eine Weise erreichen können, die unseren Proxy-Einstellungen entspricht.
Wenn Sie viele Systeme haben, die dieselben Repositories außerhalb der Unternehmens-Firewall erreichen müssen, ziehen Sie immer in Betracht, diese Repositories lokal zu spiegeln, was viel Bandbreite spart und die Installation oder Aktualisierung der Clients daher unabhängig von der Welt außerhalb des lokalen Netzwerks macht fehleranfälliger machen. Sie können Proxy-Einstellungen auf der/den Maschine(n) für die Spiegelung festlegen und alle anderen Maschinen zumindest ab dem yum
vom öffentlichen Internet fernhalten Perspektive. Es gibt zentrale Verwaltungslösungen, die diese Funktionalität bieten, sowohl Open Source als auch kostenpflichtig.