web-dev-qa-db-ja.com

Ubuntuでのアカウントのロックアウト

pam_tallyを使用してUbuntuシステムのアカウントロックアウトを実装しようとしています。 3回の無効なログイン試行では、一定の間隔でログインを無効にする必要があります。これは、システムとシステムへのLDAPログインの両方で発生するはずです。

(Ubuntuクライアントのユーザーが認証できるLDAP中央認証システムが機能しています)

これをどのように構成できますか?これに関するいくつかの記事をredhatで見ることができましたが、ubuntuでは見ることができませんでした

3
nitins

あなたが持っている場合 pam_tallyすでに構成されているので、/ etc/pam.d/common-authディレクトリに追加するだけです。 LDAPからの失敗したログインは、ローカルマシンに対する失敗したログインと同じように(PAMに)表示されます。したがって、順序が正しいことを確認してください。

auth        required      /lib/security/$ISA/pam_tally.so onerr=fail no_magic_root
account     required      /lib/security/$ISA/pam_tally.so per_user deny=5 no_magic_root reset

(必要に応じてパスを調整します)

(ソース)

3
Andrew M.

上記の答えは、最新のRHEL5およびUbuntuのインストールでは正しくありません。これはある時点で真実であり、いつ変更が発生したかはわかりませんが、2011年8月30日のOPの前に発生しました(2011年8月に公開されたCISベンチマークを前提としています)。 deny =は、アカウント行ではなく、認証行にある必要があります。インターネット上のさまざまなソースは、この点で古くなっているか正しくありません。

Pam_tallyのマニュアルページを参照してください。
http://linux.die.net/man/8/pam_tally
http://manpages.ubuntu.com/manpages/hardy/man8/pam_tally.8.html

...拒否は「認証」オプションであり、アカウントオプションではないことがわかります。

正しい設定は次のとおりです(RHELのsystem-auth/system-auth-acおよびUbuntuのcommon-auth)

#Actually locks out the user; put BEFORE pam_unix.so auth line.
auth    required    pam_tally2.so deny=5 onerr=fail unlock_time=900

(RHELのsystem-auth/system-auth-acおよびUbuntuのcommon-account内)

#Resets the failed counter if the user finally gets in successfully. This is only needed to support programs that do not call pam_setcred(3) correctly (like sshd). Put BEFORE pam_unix.so account line.
account required    pam_tally2.so

Pam_tally2がpam_tallyに取って代わったことに注意してください。 Pam_tallyは引き続き機能し、pam_tallyのみを使用する場合でも、deny = 5はアカウント行ではなく、認証行に存在する必要があります。 Pam_tally2は、現在のバージョンのNSAおよびCISRHEL強化ガイドで推奨されています。

一部のインターネットソースでは、ユーザーが間違ったSudoパスワードを入力した場合にrootアカウントがロックされないように、magic_rootステートメントを追加することを提案しています。私はこれがテストで真実であるとは思いませんでした。ユーザーがsuに間違ったパスワードを入力した場合、それは真実かもしれませんが、とにかく誰も直接rootに訴えるべきではありません。間違ったパスワードを入力した場合、rootがロックされることは私には問題ないようです。 magic_rootがある場合、一部のソースは、/ etc/pam.d/sshdにも行を追加する必要があることを示唆しています。私はそれを試していません。

Pam_tally2には、次の改善/変更があります。

  • グローバル:新しい「サイレント」および「no_log_info」オプション
  • AUTH:even_deny_root_account-> even_deny_root
  • AUTH:per_userは非推奨
  • AUTH:新しいroot_unlock_timeおよびserializeオプション
  • アカウント:no_resetは非推奨
  • 「faillog」は機能しなくなりました。 pam_tally2を使用して、ロックされたユーザーを一覧表示するか、ユーザーをリセットします。

正しい設定は、NSA RHEL強化ガイドおよびRHEL5の最新のCISベンチマークにあります。NSA RHEL強化ガイドは、pam_tallyの動作が変更されたことを示しています。 RHELの存続期間中、および新しい修正された設定は、最新でないシステムでは機能しない可能性があります。

注:RHEL 6では、構文が異なります。これはRHEL6のCISベンチマークに示されていますが、これらの設定はテストしていません。

出典:
http://linux.die.net/man/8/pam_tally
http://man.he.net/man8/pam_tally2
http://manpages.ubuntu.com/manpages/hardy/man8/pam_tally.8.html
http://manpages.ubuntu.com/manpages/lucid/man8/pam_tally2.8.html
http://www.nsa.gov/ia/_files/os/redhat/NSA_RHEL_5_GUIDE_v4.2.pdf
https://benchmarks.cisecurity.org/tools2/linux/CIS_Redhat_Linux_5_Benchmark_v2.0.0.pdf

3
Adam Brand