Nutanix CE の、admin ユーザがアカウント ロックされる様子を観察してみます。
今回の内容です。
今回の環境
- Nutanix CE 2020.09.16
- 1ノード クラスタ
admin ユーザのアカウント ロック
Nutanix CE の Prism の admin ユーザは、一定回数のログイン失敗でアカウント ロックされます。
これは、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 で紹介されています。
- Prism Admin Account Locked With "Account locked due to too many failed attempts."
https://portal.nutanix.com/kb/8130
admin ユーザのロックされる様子
admin ユーザの認証失敗のログは、CVM が CentOS 7 ベースなので、journalctl などで確認できます。実験的に、リアルタイムで観察するなら下記のような感じが見やすいかなと思います。
CVM$ sudo journalctl -f | grep -e 'password check failed for user (admin)' -e locked
連続で5回ログイン失敗して locked になる様子です。ちなみにパスワードを空欄にしている場合はカウントされません。
Prism のログイン画面でも、アカウント ロックされたことが表示されます。
だれがログイン失敗したのかを確認したい場合には、下記のファイルで 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回失敗してロックされた様子は、このように確認できます。
現時点でのログイン失敗回数は、/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
以上。