Pam_Tally2 を使用して SSH ログイン試行の失敗をロックおよびロック解除する
pam_tally2 モジュールは、システムへの SSH ログイン試行が一定回数失敗した後にユーザー アカウントをロックするために使用されます。このモジュールは、試行されたアクセスの数と失敗した試行の数を保持します。
pam_tally2 モジュールは 2 つの部分に分かれており、1 つは pam_tally2.so で、もう 1 つは pam_tally2 です。これはPAM モジュールに基づいており、カウンター ファイルの検査と操作に使用できます。ユーザーのログイン試行回数を表示したり、個別にカウントを設定したり、すべてのユーザー カウントのロックを解除したりできます。
pam_faillock モジュールは、RHEL 7 および RHEL 8 で非推奨となった pam_tally および pam_tally2 モジュールを置き換えます。この 2 つのモジュールよりも高い柔軟性とオプションが提供されます。モジュール。
デフォルトでは、pam_tally2 モジュールはほとんどの Linux ディストリビューションにすでにインストールされており、PAM パッケージ自体によって制御されます。この記事では、ログイン試行が一定回数失敗した後にSSH アカウントをロックおよびロック解除する方法について説明します。
ユーザーアカウントをロックおよびロック解除する方法
「/etc/pam.d/password-auth」設定ファイルを使用して、ログイン試行アクセスを設定します。このファイルを開き、次のAUTH設定行を「auth」セクションの先頭に追加します。
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200
次に、次の行を「アカウント」セクションに追加します。
account required pam_tally2.so
パラメーター
- file=/var/log/tallylog – デフォルトのログファイルはログイン数を保持するために使用されます。
- deny=3 – 3 回の試行後にアクセスを拒否し、ユーザーをロックします。
- even_deny_root – ポリシーは root ユーザーにも適用されます。
- unlock_time=1200 – アカウントは 20 分までロックされます。 (手動でロックを解除するまで永続的にロックしたい場合は、このパラメータを削除してください。)
上記の設定が完了したら、任意の「ユーザー名」を使用してサーバーへのログイン試行を 3 回試行して失敗します。 3 回以上試行すると、次のメッセージが表示されます。
[root@tecmint ~]# ssh [email
[email 's password:
Permission denied, please try again.
[email 's password:
Permission denied, please try again.
[email 's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Apr 22 21:21:06 2013 from 172.16.16.52
次に、ユーザーが次のコマンドを使用して試行するカウンタを検証またはチェックします。
[root@tecmint ~]# pam_tally2 --user=tecmint
Login Failures Latest failure From
tecmint 5 04/22/13 21:22:37 172.16.16.52
ユーザー アカウントをリセットまたはロック解除して再びアクセスできるようにする方法。
[root@tecmint pam.d]# pam_tally2 --user=tecmint --reset
Login Failures Latest failure From
tecmint 5 04/22/13 17:10:42 172.16.16.52
ログイン試行がリセットまたはロック解除されていることを確認します
[root@tecmint pam.d]# pam_tally2 --user=tecmint
Login Failures Latest failure From
tecmint 0
PAM モジュールはすべての Linux ディストリビューションの一部であり、提供されている構成はすべての Linux ディストリビューションで動作するはずです。詳細については、コマンドラインから「man pam_tally2」を実行してください。
こちらもお読みください:
- SSH サーバーを安全に保護するための 5 つのヒント
- DenyHosts を使用して SSH ブルート フォース攻撃をブロックする