Password

與 Windows 相比,純文字密碼和應用程序身份驗證

  • May 28, 2019

我是一名 Windows 使用者,試圖將我的頭腦圍繞在 Linux 上,而最近這意味著在 Raspberry Pi 項目上跟隨人們。

我注意到有些應用程序要求我在他們的配置文件中輸入使用者名和密碼,以便他們以該使用者身份訪問事物。Samba/CiFS/NTFS-3g 和 Deluge 就是範例。

在 Windows 中,服務(也稱為守護程序)之類的東西可以在本地 系統帳戶(不同的連結)或各種其他帳戶下執行。

將密碼作為純文字放在文本文件中似乎很奇怪,而且本質上是不安全的。然而,我總是聽說 Linux 應該比 Windows 更安全。

如何安全地將憑據傳遞給 Linux/Raspbian 中的隨機應用程序?安全模型是否如此不同以至於以其他方式緩解?如何跟踪(或更新)我放入靜態密碼的程序?

我正在尋找“鑰匙圈”嗎?這裡描述的東西。

這個問題很相似,但詢問的是作業系統,我指的是應用程序。

事情就是這樣。它基於應用程序的工作方式或開發方式。它通常停在那裡。你不能因為這些事情而責怪 Linux(或者在這種情況下,任何類似 unix 的作業系統)。你會發現一些應用程序說密碼可以是明文或散列,比如 sha256。這通常是出於兼容性原因,稍後您可能會在學習設置的其他內容中發現。

您提出了 Samba,這是您認為可以擁有加密密碼或密碼所在的“儲存”的情況的一個很好的例子。Samba 的情況並非如此。Samba 發生的情況是,當客戶端與伺服器或工作站的共享進行通信時,它必須以明文形式發送密碼。CIFS 守護程序和 Samba 伺服器都可以執行加密密碼交換。如果連接是加密的,那麼你在這方面有點“好”。較新版本的 SMB 協議確實允許加密連接。

但是,也要記住,具有憑據的文件(如配置文件)應該在權限中大量刪除(比如 600)。一個 samba 掛載總是需要在啟動時存在並放入 /etc/fstab 可以指向一個“憑據”文件。它是明文,但可以放在 /root 中,這意味著沒有使用者可以看到它。只有管​​理員可以,因為 /root 是 700。

但同樣…這是基於您已安裝或正在設置的應用程序。以 OpenLDAP 為例。當您配置目錄管理員的密碼時,您必須使用 slappasswd。它會生成您在配置中使用的 {SSHA} 字元串。並且配置文件不能被非特權使用者查看。/etc/openldap/slapd.d 是 750,文件在樹下是 600。

密鑰環非常特定於您所處的桌面環境。例如,GNOME 有 GNOME 密鑰環,KDE 有 KWallet。

“安全性”歸結為許多其他因素:文件系統權限、SELinux(如果適用)、防火牆功能、chroot 監禁(特定應用程序,綁定是一個範例)、應用程序安全性、tcp 包裝器等等。

引用自:https://unix.stackexchange.com/questions/257670