ユーザーアカウントに複数のパスワードを割り当てることはできますか?

ユーザーアカウントに複数のパスワードを割り当てることはできますか?

アカウントに2つのパスワードを割り当てたいです。私が知りたいことは1)これは可能ですか? 2)これはセキュリティにどのような影響を与えますか?

私がこれをしたかったのは、現在いくつかのローカルテストで忙しく、これが特定の状況で役に立つと思ったからです。いくつかの調査の最後に、次のツールが見つかりました。ポリアクリルアミド、インストール/構成のしくみに関する情報を見つけるのが困難です。

私はUbuntu 12.04を実行しています。

ベストアンサー1

はい、非常にまれですが、確かに可能です。

直接実装しようとするよりも、基本ベースの/etc/password /etc/shadow認証方法はこれらの構成を提供しないため、すでにユーザーに対して複数のパスワードをサポートしているバックエンドに認証を委任する方が簡単なアプローチです。

よく知られているのはLDAPuserPassword複数値を持つ属性RFC4519:

「userPassword」属性に複数の値が必要な例は、ユーザーが自動化システムで生成された毎月異なるパスワードを使用する必要がある環境です。移行期間の最後の日や最初の日など、移行期間中に、2 つの連続した期間に 2 つのパスワードをシステムで有効にする必要がある場合があります。

このRFCにもかかわらず、この設定を実際に適用するには、ほとんどのディレクトリサーバー実装でパスワードポリシー設定を変更する必要があります。

Linux側ではこれを禁止するものはありません(ここではアカウント名が指定され、属性値でtestuser指定されています)。pass1pass2userPassword

$ uname -a
Linux lx-vb 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ grep VERSION /etc/os-release
VERSION="13.04, Raring Ringtail"
$ grep "^passwd" /etc/nsswitch.conf 
passwd: files ldap
$ ldapsearch -LLL -h localhost -p 1389 -D "cn=directory manager" -w xxxxxxxx "uid=testuser" userPassword
dn: uid=testuser,ou=People,dc=example,dc=com
userPassword:: e1NTSEF9b2JWYXFDcjhNQmNJVXZXVHMzbE40SFlReStldC9XNFZ0NU4yRmc9PQ==
userPassword:: e1NTSEF9eDlnRGZ5b0NhKzNROTIzOTFha1NiR2VTMFJabjNKSWYyNkN3cUE9PQ==
$ grep testuser /etc/passwd
$ getent passwd testuser
testuser:*:12345:12345:ldap test user:/home/testuser:/bin/sh
$ sshpass -p pass1 ssh testuser@localhost id
uid=12345(testuser) gid=12345 groups=12345
$ sshpass -p pass2 ssh testuser@localhost id
uid=12345(testuser) gid=12345 groups=12345
$ sshpass -p pass3 ssh testuser@localhost id
Permission denied, please try again.

これらの構成のいくつかの技術とセキュリティ関連の影響は次のとおりです。

  • ユーザーアカウントは明らかに脆弱ですが、ここで本当に重要なのは、パスワードの数ではなくパスワードの品質と保護です。
  • ほとんどのユーティリティは、ユーザーが1つのパスワードしか持っていないと仮定するため、ユーザーはパスワードの1つを個別に更新することはできません。パスワードの変更により、ユーザーがパスワード属性を持つことがあります。
  • 複数の人が自分のパスワードを使用して同じアカウントを共有できるようにすることを目的としている場合は、使用されたパスワードに基づいて実際にログインしている人を識別するメカニズムはありません。

おすすめ記事