Yubikey@ESXi6.7でUbuntuのハードウェア認証をしてみる

VMWare ESXi6.7で2段階認証ができるセキュリティキー「Yubikey」を使ってUbuntuの特権ユーザーにハードウェア認証をしてみたいとGoogle先生に訊いたところ、ほぼ思い通りの設定ができたのでめも。

今回はTX1310 M3をベアメタルとしてインストールしたVMWare ESXi 6.7のホストからUSBデバイスのパススルー設定をしたのち、VMで「Yubikey」を認識できるようにしてUbuntuの pamモジュール「uf2」にて認証機能を実装して行こうと思います。

参考にしたのは以下のサイトです。

ESXi 6.5 Yubikey Passthrough (success!) – reddit

Ubuntu日和【第22回】強固なパスワードと二要素認証でUbuntuのセキュリティをさらに高めよう

以前にも「Yubikey」を使ってGoogleアカウントの2段階認証にセキュリティキーを追加したり、Wordpressのログイン画面の追加認証として重宝していました。(当拙過去ブログをご参考まで。)

まずTX1310 M3の筐体に差した「Yubikey」を認識するようにESXiホストにSSH接続して各種設定をするのでVMをシャットダウンしてから行っていきます。

[root@esx:~] lsusb | grep Yubi

Bus 004 Device 002: ID 1050:0404 Yubico.com Yubikey 4 CCID

(IDは個別環境で違いますので適宜、読み替えてください。)

[root@esx:~] vi /etc/vmware/config

usb.quirks.device0 = "0x1050:0x0404 allow"

(IDは個別環境で違いますので適宜、読み替えてください。)

[root@esx:~] vi /bootbank/boot.cfg

kernelopt=no-auto-partition CONFIG./USB/quirks=0x1050:0x0404::0xffff:UQ_KBD_IGNORE

(IDは個別環境で違いますので適宜、読み替えてください。)

次にVMの[編集]から[仮想マシンオプション]-[構成パラメータ]-[設定の編集]と辿ってパラメータを追加していきます。

キー
usb.generic.allowHID TRUE
usb.generic.allowLastHID TRUE
usb.generic.allowCCID TRUE
usb.quirks.device0 0x1050:0x0404 allow

(デバイスIDは実際とは異なることがあるので注意してください。)

ホストを再起動

ここまで設定が終わったら一旦、ホストを再起動します。

VMの構成に [USBデバイス]からポートに差したYubikeyが「Yubico.com Yubikey OTP+FIDO+CCID」として認識できました。

.

続いて、Ubuntu VMを起動してYubikeyのPAMモジュール「 u2f 」をインストール

$ sudo apt install libpam-u2f

ユーザーディレクトリでプロファイルを作成していきます。ここではpamu2fcfg をsudoで実行します

$ mkdir -p ~/.config/Yubico
$ sudo pamu2fcfg > ~/.config/Yubico/u2f_keys

プロファイルのユーザー名を「root」から「(ユーザー名)」に編集

$ vi .config/Yubico/u2f_keys
root:j1myua84jJcxVYDqWWVDV・・・・・
↓
(ユーザー名):j1myua84jJcxVYDqWWVDV・・・

最後に、/etc/pam.d/sudo /etc/pam.d/sudo-i に認証ポリシーを追加します

$ sudo vi /etc/pam.d/sudo
session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0

auth            sufficient      pam_u2f.so      cue

@include common-auth
#auth    sufficient    pam_u2f.so authfile=/home/gusachan/.config/Yubico/u2f_keys
@include common-account
@include common-session-noninteractive

すると、 sudo コマンドでYubikey認証が求められるようになりました

.

新しいデバイスが使えるようになると出来ることが広がって楽しみが増えますね。ぜひ、お使いのデバイスのセキュリティを高めていきましょう。それでは。

同じカテゴリーの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です