Verdecken Sie die Netzwerk-proxy-Kennwort im nur-text-Dateien auf Linux/UNIX-mag
In der Regel in einem großen Netzwerk, die ein computer benötigt zum Betrieb hinter einem authentifizierten proxy - verbindungen zu der Außenwelt erfordern einen Benutzernamen/Passwort, die oft das Kennwort eines Benutzers verwendet, um die log-in-E-Mail, Arbeitsplatz etc.
Dies bedeutet, dass die Netzwerk-Kennwort in die apt.conf
- Datei als auch in der Regel die http_proxy, ftp_proxy
und https_proxy
definierten Umgebungsvariablen in ~/.profile
Mir ist klar, dass mit apt.conf
dass Sie chmod 600
(was es nicht ist standardmäßig auf Ubuntu/Debian!) aber in unserem system gibt es Menschen, die brauchen root-Rechte .
Ich auch erkennen, dass es technisch unmöglich ist, sicher ein Passwort von jemand, der root hat, aber ich Frage mich, ob es einen Weg gibt, der verdecken das Passwort um zu verhindern, dass zufällige Entdeckung. Windows arbeitet mit Anwendern wie admins noch irgendwie speichert Netzwerk-Passwörter (wahrscheinlich gespeichert tief in die registry verdeckt in gewisser Weise), so dass in typischen verwenden Sie nicht stolpern im Klartext
Frag ich nur da den anderen Tag, den ich ganz durch Zufall entdeckt jemand elses Passwort auf diese Weise beim Vergleich von Konfigurations-Dateien zwischen Systemen.
@monjardin - Public-key-Authentifizierung ist keine alternative in diesem Netzwerk habe ich Angst. Plus ich bezweifle, unterstützt wird es unter der Mehrheit der Kommandozeilen-tools.
@Neall - ich bin nicht dagegen, die andere Benutzer mit web-Zugriff, die Sie verwenden können, meine Anmeldeinformationen für den Zugriff auf das web, ich will nicht, dass Sie zufällig über mein Passwort im Klartext.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit den folgenden Ansatz, den Sie nie haben, um speichern Sie Ihre proxy-Passwort im Klartext. Sie müssen nur geben Sie ein Kennwort interaktiv, sobald Sie brauchen http/https/ftp-Zugang:
Hinweis: das Passwort vorhanden ist (und lesbar) in die Benutzer-Umgebung für die Dauer der shell-Sitzung. Wenn Sie wollen, um es sauber aus der Umwelt nach der Anwendung können Sie einen anderen alias:
read -s PW
im "myproxy", um zu erreichen ähnliches Ergebnis (nur liest das Passwort von der Befehlszeile jedes mal, wenn Sie es brauchen)Habe ich eine modifizierte Lösung:
Bearbeiten
/etc/bash.bashrc
und fügen Sie folgende Zeilen ein:Aus der nächsten Anmeldung geben Sie
myproxy
und geben Sie Ihre user - /Passwort-Kombination! Jetzt arbeiten Sie mitsudo -E
z.B.
sudo -E apt-get update
Bemerkung: proxy-Einstellungen nur dann gültig, während shell-Sitzung
Gibt es viele Möglichkeiten, zu verdunkeln und ein Kennwort ein: könnten Sie die Anmeldeinformationen speichern in rot13-format, BASE64, oder verwenden Sie die gleichen Passwort-Verschlüsselungsalgorithmus, dass CVS verwendet. Der eigentliche trick ist aber, damit Ihre Anwendungen Kenntnis des Verschlüsselungsalgorithmus.
Für die Umgebungsvariablen in
~/.profile
könnten Sie speichern kodiert und dann dekodiert werden, bevor Sie die Einstellung der Variablen, z.B.:Wird
creds
zufoobar:password
, die Sie dann einbetten inhttp_proxy
etc.Ich nehme an, Sie wissen das, aber es trägt zu wiederholen: dies fügt keine Sicherheit. Es schützt nur gegen versehentlich zu sehen, das Passwort eines anderen Benutzers.
Bevorzugen Anwendungen, die Integration mit Gnome-Keyring. Eine andere Möglichkeit ist die Verwendung eines SSH-tunnel zu einem externen Computer und führen Sie die apps durch, die. Werfen Sie einen Blick auf die
-D
option zur Erstellung eines lokalen SOCKS-proxy-Schnittstelle, sondern als single-portion-L
nach vorne.Soweit die besonderen Werkzeuge, die Sie verwenden, ermöglichen ein verborgenes format, oder erstellen Sie eine Art workflow zu gehen, aus dem verborgenen zu reinen on-demand, sind Sie wahrscheinlich kein Glück.
Eine Sache, die ich gesehen habe, in Fällen wie diesem ist die Schaffung pro-server /pro-Benutzer-oder pro-server/pro-Benutzer gewidmet Anmeldeinformationen, die haben nur Zugriff auf den proxy aus einem bestimmten IP. Es löst nicht Ihre Kern-Verschleierung problem, aber es mildert die Auswirkungen von jemand das Passwort zu sehen bekommt, denn es lohnt sich so wenig.
Bezug auf die letztere option, kamen wir mit einem "reverse-crypt" - Kennwort-Kodierung bei der Arbeit, die wir verwenden, für Sachen wie diese. Es ist nur Verschleierung, weil alle erforderlichen Daten zu Dekodieren, die das pw gespeichert ist, in den kodierten string, aber es verhindert, dass Menschen versehentlich zu sehen, die Passwörter im Klartext. So könnten Sie, zum Beispiel, speichern Sie eine der oben genannten Passwörter in diesem format, und dann schreiben Sie ein wrapper für apt, baut apt.conf dynamisch, ruft die real apt, und beim beenden löscht apt.conf. Haben Sie am Ende trotzdem mit dem pw in Klartext-für eine kleine Weile, aber es minimiert das Fenster.
Ist public-key-Authentifizierung eine gültige alternative für Sie?
Solange alle drei dieser Dinge sind wahr, sind Sie aus Glück heraus:
Wenn Sie nicht entfernen können, #2 oder #3, Ihre einzige Wahl ist, zu entfernen #1. Einrichten eines internen server, der als Host für sämtliche software-updates. Halten, dass man gesperrt von anderen Benutzern und nicht zulassen, dass andere Server zu web-Zugang haben.
Alles, was Sie versuchen zu tun, ist nur täuschen sich.
wir dieses problem gelöst, indem Sie nicht Fragen, für die proxy-Passwörter auf rpm, apt oder andere ähnliche updates (Antiviren-Datenbanken, windows-Zeug usw)
Das ist eine kleine whitelist von bekannten Repositorys hinzufügen, um den proxy.
Ich nehme an, Sie erstellen einen lokalen proxy, zeigen diese tools durch, und dann haben die lokalen proxy-interaktiv bitten Sie den Benutzer für den externen proxy-Passwort, welches würde es dann übernehmen. Es könnte Optional erinnere mich, diese für ein paar Minuten in verborgenen internen Speicher.
Einen offensichtlichen Angriffspunkt wäre für einen privilegierten Benutzer zum ändern des lokalen proxy, um etwas anderes zu tun, die mit dem angegebenen Passwort (könnte wie Sie mit etwas anderes wie eine E-Mail-client, der Anfragen oder der windowing-system selbst), aber zumindest wären Sie sicher vor versehentlichen anzeigen.