NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE で admin ユーザのアカウント ロックを観察する。

Nutanix CE の、admin ユーザがアカウント ロックされる様子を観察してみます。

今回の内容です。

今回の環境

  • Nutanix CE 2020.09.16
  • 1ノード クラスタ

admin ユーザのアカウント ロック

Nutanix CE の Prism の admin ユーザは、一定回数のログイン失敗でアカウント ロックされます。

f:id:gowatana:20210629223943p:plain

これは、CVM の PAM(Pluggable Authentication Module) で設定されているようです。PAM は、Linux の認証で一般的に利用されている仕組みです。

設定ファイルは /etc/pam.d/system-auth で、は似た行が続きますが、7行目が機能しています。「deny=5」 により、5回失敗するとロックされます。ドキュメントなどで詳解されているように、ロック期間は 900秒(15分)です。

nutanix@NTNX-624676c4-A-CVM:192.168.20.52:~$ cat -n /etc/pam.d/system-auth | head
     1  #%PAM-1.0
     2  # This file is auto-generated.
     3  # User changes will be destroyed the next time authconfig is run.
     4  auth        required      pam_env.so
     5  auth        required      pam_faillock.so preauth silent audit deny=5 even_deny_root unlock_time=900 root_unlock_time=900 fail_interval=900
     6  auth        sufficient    pam_unix.so try_first_pass
     7  auth        [default=die] pam_faillock.so authfail audit deny=5 even_deny_root unlock_time=900 root_unlock_time=900 fail_interval=900
     8  auth        sufficient    pam_faillock.so authsucc audit deny=5 even_deny_root unlock_time=900 root_unlock_time=900 fail_interval=900
     9  auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
    10  auth        required      pam_deny.so

ちなみに、/etc/pam.d/password-auth ファイルを確認すると、SSH での admin ログイン失敗ではロックされないようです。ただし失敗カウントは増加します。

admin ユーザのアカウント ロック解除方法

最初に、カウント ロックの解除方法を把握しておきます。

アカウント ロックは、pam の RPM パッケージに含まれる faillock を利用します。複数ノード クラスタの場合は、

CVM$ sudo faillock --user admin --reset

この手順は、Nutanix の下記 KB で紹介されています。

admin ユーザのロックされる様子

admin ユーザの認証失敗のログは、CVM が CentOS 7 ベースなので、journalctl などで確認できます。実験的に、リアルタイムで観察するなら下記のような感じが見やすいかなと思います。

CVM$ sudo journalctl -f | grep -e 'password check failed for user (admin)' -e locked

連続で5回ログイン失敗して locked になる様子です。ちなみにパスワードを空欄にしている場合はカウントされません。

f:id:gowatana:20210629224135p:plain

Prism のログイン画面でも、アカウント ロックされたことが表示されます。

f:id:gowatana:20210629224216p:plain

だれがログイン失敗したのかを確認したい場合には、下記のファイルで IP アドレスなども確認できます。

  • /home/nutanix/data/logs/prism_gateway.log

たとえば tail -f でリアルタイムに観察していると・・・

CVM$ tail -f /home/nutanix/data/logs/prism_gateway.log | grep -e "An unsuccessful login attempt was made with username: admin" -e locked

5回失敗してロックされた様子は、このように確認できます。

f:id:gowatana:20210629224441p:plain

現時点でのログイン失敗回数は、/var/run/faillock/admin ファイルで確認できます。

バイナリファイルなので、strings コマンドで出力されるテキストを、wc コマンドで行数カウントしてみました。

nutanix@NTNX-624676c4-A-CVM:192.168.20.52:~$ sudo strings /var/run/faillock/admin | wc -l
5

faillock --user admin --reset で、リセットされる様子が見られます。

CVM$ sudo faillock --user admin --reset
CVM$ sudo strings /var/run/faillock/admin | wc -l
0

以上。

©2021 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。