Wie schützen Sie eine Nur-Text-Anmeldeinformationsdatei mit dem Benutzernamen und dem Kennwort?

11

Ich versuche, ein automatisch montiertes Netzwerklaufwerk einzurichten. Das Netzlaufwerk erfordert einen Benutzer / Pass. In der Manpage für "mount.cifs" gibt es zwei Möglichkeiten, den Benutzer / Pass bereitzustellen.

  1. [nicht empfohlen] Geben Sie den Benutzer / pass in / etc / fstab ein
  2. Erstellen Sie eine separate Anmeldeinformationsdatei und fügen Sie den Benutzer / Pass in die Anmeldeinformationsdatei ein

"[Option 2] wird gegenüber Kennwörtern im Klartext in einer gemeinsam genutzten Datei wie / etc / fstab bevorzugt. Achten Sie darauf, alle Anmeldeinformationsdateien ordnungsgemäß zu schützen. "

  • Mein Hintergrund ist: Softwareentwickler, viel Linux-Softwareentwicklung (Installation von Entwicklungsbibliotheken, Installation von Anwendungen wie Eclipse oder Java). Ich bin kein IT- oder Systemadministrator.
  • Dies ist auf meiner eigenen Entwicklungsmaschine

Was ist angesichts meines Mangels an IT / Sysadmin-Hintergrund die vorgeschlagene Standardmethode zum "ordnungsgemäßen Schutz von Anmeldeinformationsdateien"?

(Ich würde mich auch freuen, wenn es mehrere Methoden zum Schutz der Anmeldeinformationsdatei gibt, die Auflistung in der Reihenfolge der am häufigsten vorkommenden und am wenigsten verbreiteten aufzulisten und die Kompromisse zu beschreiben.)

Trevor Boyd Smith
quelle

Antworten:

11

Es sieht so aus, als würden sich die von Ihnen zitierten Manpage-Schnipsel auf die grundlegende Sicherheitsstufe beziehen, die Standard- Dateibesitz und -berechtigungen bieten. Die Konfigurationsdatei kann /etc/fstabvon jedem Benutzer im System gelesen werden. Ein sicherer Ort zum Speichern vertraulicher Informationen wäre eine Datei mit Berechtigungen, die nur vom Eigentümer gelesen werden dürfen. Ich verstehe, dass in Ihrem Fall der Benutzer root wäre .

Angenommen, Sie legen die Datei ein /etc/und benennen sie cifs-cred(erstellen und bearbeiten Sie sie als root). Dann würden Sie verwenden

chmod 600 /etc/cifs-cred

Dadurch wird sichergestellt, dass nur der Eigentümer (der root sein sollte ) Zugriff auf den Inhalt hat. Andernfalls könnte ein solches Setup bedeuten, dass die Datei für einen bestimmten Systembenutzer zugänglich sein sollte, wenn das ordnungsgemäße Funktionieren Ihres System-Setups nicht möglich war. In diesem Fall müssen Sie es möglicherweise versuchen

chmod 660 /etc/cifs-cred

oder so ähnlich

chown root:wheel /etc/cifs-cred
chmod 660 /etc/cifs-cred

- Abhängig von der * nix-Variante Ihres Systems und der Konfiguration der Systemdämonen.


Abgesehen davon sollten Sie unverschlüsselten Kennwörtern niemals vertrauen, wenn das System gefährdet sein kann. Abhängig nur von Dateiberechtigungen ist eher naiv - der Dateiinhalt ist nur vor geringfügigen Sicherheitsverletzungen geschützt.

rozcietrzewiacz
quelle
1
Gibt es Fragen oder Websites zu unix.stackexchange.com, auf denen es darum geht, dieselbe Ausgabe zu erhalten ... aber nicht nur von den Dateiberechtigungen abhängt?
Trevor Boyd Smith
Leider ist dieser Teil anwendungsabhängig. Einige Programme und Anwendungen unterstützen gehashte Passwörter, andere nicht. Ich weiß nicht, wie es mit CIFS / SMB ist, aber ehrlich gesagt bezweifle ich, dass es in diesem Fall eine wirklich sichere Alternative gibt. Weitere Informationen finden Sie unter IT-Sicherheit .
Rozcietrzewiacz
3

Setzen Sie einfach die Unix-Rechte für den Mounting-Benutzer auf rw:

cat > ~/cifs.credentials <<EOC
user=UserName
pass=PassWord
EOC
chmod 0600 ~/cifs.credentials

Alle anderen Benutzer haben nach dem Befehl chmod keinen Zugriff auf diese Datei

f4m8
quelle