誰かが私にそう言っていて、私はいくつかの疑いを持っていますが、私はウェブ上で情報を見つけることができません。
Robert Morris and Ken Thompson(1979)による「PasswordSecurity:A Case History」から( http://www.cs.yale.edu/homes/arvind/cs422/doc/unix-sec.pdf )、プロローグから引用:
UNIXシステムは、最初にすべてのユーザーの実際のパスワードを含むパスワードファイルを使用して実装されました。そのため、パスワードファイルは読み取りまたは書き込みから厳重に保護する必要がありました。
そうです、元々、パスワードファイルには実際のパスワードが含まれていました
[〜#〜]編集[〜#〜]
これはUNIXでした。上記の参考論文が出たときでさえ、それは悪い考えと見なされていました。 Debianは1991年以降であるため、Linuxディストリビューションが暗号化保護さえなしでパスワードファイルを有効にしたと想定または信じるのはばかげているでしょう。
Debian passwdスイートの初期バージョンでは、シャドウされていないパスワードが使用されていた可能性がはるかに高く、暗号化されたパスワードは/ etc/passwd自体に保存されていました。当時使用されていたメカニズムは「crypt」でした。これは、md5を使用する現在の方法よりも数学的に計算が簡単です(他のオプションも利用できます)。
機会があれば、Linux ProMagazineの「ShellHandbook」版を入手してください。コマンドラインユーザー操作に関する4ページの記事があり、UNIXパスワードセキュリティの歴史について話します。
私は1992年からUnixSysAdminを務めており、/ etc/shadowが登場するずっと前からです。
前 /etc/shadow
、/etc/passwd
エントリは次のようになりました:
user:XDjfiejfiejf:1001:1001:Joe User:/home/user:/bin/sh
2番目のフィールドは、ユーザーの暗号化された(ハッシュされていない)パスワードエントリでした。今日と同じように、/etc/passwd
の権限設定は644でした。つまり、誰でもファイルを読み取ることができました。 /etc/passwd
は、(たとえば)プログラムがユーザーIDをユーザー名に変換できるように、誰でも読み取り可能である必要があります。
しかし、それはまた、ブルートフォース攻撃が実際にログインしようとせずにユーザーのパスワードを把握することを可能にしました-異なる文字列を暗号化し続けるだけで、攻撃プログラムの暗号化された結果が/ etc /に保存されている文字列と同じであった場合passwd、bingo、ユーザーのパスワードがあります。
このようにして生まれた/etc/shadow
。これで、/ etc/passwdファイルの2番目のフィールドは単に「*」になります。暗号化されたパスワードは/ etc/shadowに保存され、アクセス許可は640(場合によっては600)に設定されます。つまり、読み取るには特権が必要です。暗号化された文字列。これ以上のブルートフォース攻撃はありません。
Debianに本当に興味がある場合は、すべての元のパッケージがここにあります( http://archive.debian.org/debian/ )。
パッケージファイルを見ると、1.3で追加されたシャドウツールがわかります。最も初期のリリースの1つである login-utils の1.1ソースをざっと見ると、使用されたと思われる古いcrypt()関数を使用していることがわかります Triple DES 。
事実上、この誰かの議論は有効なものであり、今日の観点からDES暗号化されたパスワードとプレーンテキストの議論は同じものです:)それを解読するのに(せいぜい)数秒かかります。
また、シャドウと暗号化は同じものではなく、多くの回答が混乱しているようです。今でも、暗号化されたパスワードを/ etc/passwordに誰でも読み取れるようにすることができます。しかし、あなたの質問はこの部分について本当に明確ではありません。
カーネル1.0.13のSlackware以来、Linuxを継続的に実行しており、クリアテキストのパスワードを見たことがありません。私はそれが今までに起こったことを強く疑っていますが、私は私が見たものを保証することしかできません。
はい。シャドウパスワードファイルは後で導入されました。私はかつて、シャドウパスワードをサポートするためにSlackwareLinuxシステムをアップグレードする必要がありました。どのバージョンか思い出せません。ただし、2.0前後だと思います。
Linux HOWTOがあります 1 詳細が記載されています。
編集
最初は読み間違えました。 Linuxの/ etc/passwdにパスワードがクリアテキストで保存されることはありませんでした。前述のように、Linuxではシャドウパスワードファイルが常に使用されるとは限りませんでした。