web-dev-qa-db-ja.com

Yubikey 5を使用したパスワードなしのログインNFC

Yubikey 5 NFCを購入し、Ubuntu 19.04で その説明 に従って設定しました。しかし、私の好ましい使用例は、パスワードなしのオプションとしてキーを使用することです(接続されている;アクセスを許可する-接続されていない;パスワードを入力する)。

私はこれについていくつかのトピックを見つけました herehere ですが、どちらもYubikey用でもUbuntu用でもありません。そして、私はこれらのことをあまり経験がなく、設定を盲目的にいじることはできません。何か間違ったことをすると、永久にロックアウトされる可能性があるからです。

Yubikey 5がWindowsのパスワードなしログインをサポートしていることを知っているので、Ubuntuで何らかの方法で利用できる必要があると思いますよね?誰か私にチップがありますか?

編集:この設定ではセキュリティが向上しない、実際には低下するという、以下の有効なポイントにいくつかのコンテキストを与えると、はい、確かに非常に本当です。しかし、私の場合、私は自分の(安全な)自宅で仕事をしますが、非常に複雑なパスワードのこだわりです。ただし、速度が遅くなるので、ラップトップのアイドル時間が長すぎるたびに非常に長いパスワードを入力する必要があります。そのため、家にいるときは、キーだけを使用できるようにしたいと思います。 、キーを家に置いたまま、パスワードを使用します。

Edit2:hackerb9の回答のおかげで、Yubicoのインストール手順をもう一度実行して、うまくいきました。基本的に私が違ったことは、auth sufficient pam_u2f.soの代わりに/etc/pam.d/gdm-password/etc/pam.d/Sudoの両方に@include common-u2fを追加することだけでした(これはauth sufficient pam_u2f.so authfile=/etc/u2f_mappings cueになります)。したがって、基本的にはauthfile=/etc/u2f_mappings cueを削除しただけでうまくいきました。私は100%確信はありませんが、これを試みる前にキーを設定したため、これは「設定の競合」によるものだと思います。

2
Alex Timmer

自分を締め出すことを心配するのは当然だ。ホームディレクトリが暗号化されており、そこにTwo-Factor Authentication承認マッピングファイルを保持している場合、ログインできなくなります。そのため、常に中央の認証ファイル(/etc/u2f_mappings)を使用します。

テスト中に2つ目のアカウントを作成して、メインアカウントからロックアウトされないようにすることをお勧めします。また、2つ目の2FAキーを取得し、1つ目のキーを紛失した場合のバックアップとして登録してください。

パスワードなしのログインを有効にする方法

注意が必要ですが、プロセスは簡単で簡単です。さらに簡単にするために、次のコマンドをターミナルにカットアンドペーストできるように、これを記述しました。

  1. Sudo -i
  2. apt install libpam-u2f
  3. pamu2fcfg | tee /etc/u2f_mappings

    #(この時点で、ボタンを押します。数字の長い文字列が表示されます。表示されない場合は、udevが正しく設定されていることを確認してください。)

  4. cd /etc/pam.d

  5. echo 'auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue' > common-u2f

  6. for f in gdm-password lightdm Sudo login; do

    mv $f $f~

    awk '/@include common-auth/ {print "@include common-u2f"}; {print}' $f~ > $f

    done

  7. exit

ノート

  • ログイン時に、デバイスが検出された場合はデバイスにタッチするように求められます。それ以外の場合は、パスワードの入力を求められます。

  • 上記の「十分」という用語を使用して、パスワードまたはU2Fキーのどちらでもログインできるようにします(質問で要求されたとおり)。より一般的な2要素認証ログインの場合、「十分」は「必須」という単語に置き換えられるため、両方が常に必要になります。

  • Pam.dファイルのu2f行は@include common-authの前に置く必要があります。そうでない場合は、U2Fの前にパスワードを入力する必要がありますbeforeキーがチェックされます。

  • この方法で「2FA」キーを使用しても、便利ではありますがセキュリティが向上しないことを指摘しなければ、私は失望します。実際、アカウントにアクセスするための2つ目の方法しか開いていません。しかし、それは必ずしも悪いことではありません。誰もが高いセキュリティを必要としているわけではありません。このようなドングルは、入力が簡単で、短く、脆弱なパスワードを持つことからあなたを救うことができます。

そして、はるかに!

ちなみに、これらの手順はYubicoのデバイスだけのものではありません。私は Solokeys からのキーを使用しています。さらに、セットアップはUSBとNFCキーの両方で機能します。

さらに情報が必要な場合は、 Yubicoの指示 —元の質問で述べたように—かなり参考になります。また、pam_u2fおよびpamu2fcfgのマニュアルページも参照してください。

2
hackerb9

これはしばらくここにあることを知っていますが、これが完全であることを確認するためにここでチャイムを鳴らしたいと思いました。したがって、他の誰かがやって来た場合、彼らはそれを機能させる方法を知っています。

私はそれが素晴らしいと言いたいです、そして私はこれをしばらくの間探していて、数日前にこれに出くわしました、そしてこれ以外にこれを行う方法を見たことがありません。きっとあると思います。

私が逃したと私が思う1つのことは...

pamu2fcfgは、現在のユーザー(この場合はroot)の下の/etc/u2f_mappingsを介してファイルpamu2fcfg | tee /etc/u2f_mappingsに出力します。 root以外のユーザーにそれを使用しようとすると、機能しません。

その場合、正しいユーザー名を反映するようにファイルを更新する必要があります。

Sudo nano /etc/u2f_mappings

行のrootを目的のユーザー名に変更します。

したがって、root:xxxxxxx.....からUSERNAMEHERE:xxxxxxxx.....のようなものから、ユーザー名が何であろうとも。

OR

それにアプローチする別の方法、おそらくより良い方法は、

変更pamu2fcfg | tee /etc/u2f_mappings

pamu2fcfg -u USERNAME | tee /etc/u2f_mappings

またはそれを

pamu2fcfg -u USERNAME >> /etc/u2f_mappings

ここで、USERNAMEはそれを使用する予定のユーザーの名前です。 >>を使用すると、複数のユーザーを許可するファイルの末尾に作成または追加されます。

これの大部分と他のページからいくつかの他のアイテムをプルしてgitにドロップし、インターネットである奈落の底でこれを失わないようにします。完全にはセットアップされていませんが、リンクは https://github.com/vanderblugen/yubico_password_less_ubunt です。そこにあなたをタグ付けできるなら、私にメッセージを撃ってください、そして私はそれをします。

この部分には少し時間がかかりました。ファイル内の各ユーザーは、それ自身の行にある必要があります。単一のユーザーの複数のキーの場合、各キーの間に:を挿入します。

1
vanderblugen