pam_tally2 コマンドは、Linux ライクなオペレーティング システムで失敗した ssh ログインをロックおよびロック解除するために使用されます。ユーザーのアカウントなどのセキュリティ機能を実装するには、ログイン試行が何度も失敗した後にロックする必要があります。このセキュリティは、pam_tally2 という pam モジュールを介して実現できます。このモジュールは、ユーザーのログイン試行を表示し、個別にカウントを設定し、すべてのユーザー カウントのロックを解除できます。
pam_tally2 には、pam_tally2.so と pam_tally2 の 2 つの部分があります。前者は PAM モジュールで、後者はスタンドアロン プログラムです。 pam_tally2 は、カウンタ ファイルの問い合わせと操作に使用できるアプリケーションです。
この記事では、RHEL/CentOS 6.X で ssh の試行が一定回数失敗した後に、ユーザーのアカウントをロックおよびロック解除する方法について説明します。デフォルトでは、pam_tally2 モジュールは Linux に既にインストールされています。ロックとロック解除のルールを設定するには、次の 2 つのファイルを編集します:/etc/pam.d/system-auth および /etc/pam.d/password-auth 両方のファイルの auth セクションの先頭に以下の行を追加します。
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=120
次に、両方のファイルのアカウント セクションに以下の行を追加します。
account required pam_tally2.so
/etc/pam.d/system-auth のサンプルファイル:
/etc/pam.d/password-auth のサンプルファイル
ここで、
file=/var/log/tallylog – ログイン カウントを保持するデフォルトのログ ファイル。
deny=3 – 3 回試行したらアクセスを拒否し、ユーザーをロックダウンします。
even_deny_root – ポリシーは root ユーザーにも適用されます。
unlock_time=1200 – アカウントは 20 分までロックされ、その後ロックが解除されます。
ここで、間違ったパスワードで Linux ボックスにログインしようとすると、「許可が拒否されました。再試行してください」というエラーが表示されます。
pam_tally2 コマンドを使用して、ユーザーのログイン試行を確認します:
# pam_tally2 -u geek Login Failures Latest failure From geek 3 06/14/14 02:01:25 192.168.1.8
pam_tally2 コマンドを使用して、ユーザーのアカウントをリセットまたはロック解除します:
# pam_tally2 --user geek --reset Login Failures Latest failure From geek 4 06/14/14 02:20:42 192.168.1.8
ログイン試行がリセットされているかどうかを確認します:
# pam_tally2 --user geek Login Failures Latest failure From geek 0