Jak chronić plik poświadczeń w postaci zwykłego tekstu przy użyciu nazwy użytkownika i hasła?

12

Próbuję skonfigurować dysk sieciowy z automatycznym montażem. Dysk sieciowy wymaga użytkownika / przepustki. Na stronie podręcznika „mount.cifs” istnieją dwa sposoby podania użytkownika / przepustki.

  1. [niezalecane] umieść użytkownika / pass w / etc / fstab
  2. utwórz osobny plik poświadczeń i umieść użytkownika / hasło w pliku poświadczeń

„[opcja 2] jest lepsza niż posiadanie haseł w postaci zwykłego tekstu we współdzielonym pliku, takim jak / etc / fstab. Pamiętaj, aby odpowiednio chronić plik poświadczeń.

  • Moje doświadczenie to: programista, wiele programów do tworzenia Linuksa (instalowanie bibliotek programistycznych, instalowanie aplikacji takich jak Eclipse lub Java). Nie jestem facetem od IT ani sysadmin.
  • To jest na mojej własnej maszynie programistycznej

Biorąc pod uwagę brak tła IT / sysadmin, jaka jest standardowa sugerowana metoda „prawidłowej ochrony pliku poświadczeń”?

(Byłbym również wdzięczny, jeśli istnieje wiele metod ochrony pliku danych uwierzytelniających, proszę podać listę w kolejności od najczęstszej do najmniejszej i opisać kompromisy).

Trevor Boyd Smith
źródło

Odpowiedzi:

11

Wygląda na to, że przytoczone fragmenty strony podręcznika odnoszą się do podstawowego poziomu bezpieczeństwa zapewnianego przez standardową własność pliku i uprawnienia . Plik konfiguracyjny /etc/fstabjest czytelny dla każdego użytkownika w systemie. Bezpieczniejszym miejscem do przechowywania poufnych informacji byłby plik z uprawnieniami pozwalającymi na odczyt tylko przez właściciela. Rozumiem, że w twoim przypadku użytkownik byłby rootem .

Załóżmy, że umieściłeś plik /etc/i nazwałeś go cifs-cred(utwórz i edytuj jako root). Wtedy byś użył

chmod 600 /etc/cifs-cred

To zapewni, że tylko właściciel (który powinien być rootem ) będzie miał dostęp do zawartości. W przeciwnym razie, jeśli taka konfiguracja nie pozwoli na prawidłowe działanie konfiguracji systemu, może to oznaczać, że plik powinien być dostępny dla specjalnego użytkownika systemu. W takim przypadku może być konieczne spróbowanie

chmod 660 /etc/cifs-cred

lub coś w tym rodzaju

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

- w zależności od smaku * nix twojego systemu i konfiguracji demonów systemowych.


Poza tym, jeśli istnieje ryzyko naruszenia bezpieczeństwa systemu, nigdy nie należy ufać niezaszyfrowanym hasłom. Zależnie od uprawnień do plików jest raczej naiwny - zawartość pliku jest chroniona tylko przed drobnymi naruszeniami bezpieczeństwa.

rozcietrzewiacz
źródło
1
czy są jakieś pytania lub witryny unix.stackexchange.com, które mówią o uzyskaniu tego samego wyniku ... ale nie „zależą wyłącznie od uprawnień do plików”?
Trevor Boyd Smith
Niestety, ta część zależy od aplikacji. Niektóre programy i aplikacje obsługują hashowane hasła, inne nie. Nie wiem, jak wygląda sytuacja z CIFS / SMB, ale szczerze wątpię, czy w tym przypadku istnieje naprawdę bezpieczna alternatywa. Więcej informacji znajdziesz w dziale Bezpieczeństwo IT .
rozcietrzewiacz
3

Wystarczy ustawić prawa uniksowe na rw tylko dla użytkownika montującego:

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

Wszyscy inni użytkownicy nie mają dostępu do tego pliku po komendzie chmod

f4m8
źródło