PIM: SSHを通して失敗ログインを検知する方法
search cancel

PIM: SSHを通して失敗ログインを検知する方法

book

Article ID: 376170

calendar_today

Updated On:

Products

CA Privileged Access Manager - Server Control (PAMSC) CA Privileged Identity Management Endpoint (PIM)

Issue/Introduction

UNIX システムへのブルートフォース攻撃を避けるために Privileged Identity Manager ( 以下、 PIM) ではログインの失敗の検知とそれに応じてユーザ ID の無効化を行う機能を提供します。
PIM では ユーザ ID の無効化、有効化を行うモジュールは serevu となります。

本文書では SSH のログイン失敗を検知し処理を行う設定について説明します。
また、この文書は SSH、PAM、 seosd および serevu の動作の流れを理解するのに有効と考えています。

Environment

Privileged Identity Manager: UNIX 系の全バージョン

Privileged Access Manager Server Control: UNIX 系の全バージョン

Resolution

モジュール serevu は 最近の UNIX 系の認証サブシステム PAM (Pluggable Authentication Modules) を使用してログインの失敗を検知します。

serevu がログイン失敗の検知に PAM を利用するためには seos.ini 内で以下のように設定します。

     [pam_seos]
     serevu_use_pam_seos = yes

また、 sshd が PAM 認証システムを利用するためには /etc/opt/ssh/sshd_config で以下の設定が必要です。

     UsePAM yes

これで、sshd はログイン失敗を PAM を介して通知することができるようになります。

続いて PIM が PAM からの通知を受信するために PAM モジュールを組み込むために /etc/pam.conf に以下の行を追加します。
(本文書では HP-UX 上での記載例になっています。)

     sshd auth optional /usr/lib/security/pam_seos.sl

(注: PAM の設定については OS やバージョン毎で異なります。詳細はOSの設定についてご確認ください。
また、対応する pam_seos モジュールも OS ごとで異なります。)

sshd に関するLOGINAPPL が存在しない場合は下記のように追加します。

     AC> nr loginappl SSH loginpath(/usr/sbin/sshd) loginflags(PAMLOGIN) loginseq(SGRP SUID) defaccess(x)

これらの設定が正しく動作すれば、ログインが失敗した場合に情報が /opt/CA/AccessControl/log/pam_seos_failed_logins.log ファイルに書き込まれます。

大まかな流れを以下に記載します。

  1. sshdがPAMを経由してログインの失敗を通知します。
  2. PIMがこの通知を受信し、情報を pam_seos_failed_logins.log に書き込みます。
  3. serevu が定期的にログをスキャンし、指定された許容数を超えた場合にユーザを無効化します。

各ユーザが失敗できる回数は seos.ini の以下のトークンで設定されます。

     [serevu]
     def_fail_count = 3

serevu を seload で自動起動するためには seos.ini を以下の設定にします。

     [daemons]
     serevu = yes

全部の設定が正しければ以下のように syslog ( 例として 'test1' ユーザを使用します ) に記録されます。

     Jul  5 15:15:32 PIMServerOnHP sshd[18058]: Failed keyboard-interactive/pam for test1 from XX.XX.XX.XX port 1615 ssh2
     Jul  5 15:15:57 PIMServerOnHP  above message repeats 3 times
     Jul  5 15:15:57 PIMServerOnHP serevu[17997]: serevu: User test1 Revoked. (3 failed password attempts)
     ...
     Jul  5 15:22:02 PIMServerOnHP serevu[17997]: serevu: User test1 re-enabled

また、PIM の監査ログでは以下のように記録されます。

     05 Jul 2006 15:15:35 A LOGIN        test1       17  8  XX.XX.XX.XX       sshd
     ...
     05 Jul 2006 15:15:56 A LOGIN        test1        0  5  XX.XX.XX.XX       serevu
     ...
     05 Jul 2006 15:15:57 I LOGINDISABLE test1        0  5  XX.XX.XX.XX       serevu
     ...
     05 Jul 2006 15:22:02 E LOGINENABLE  test1        0  5  XX.XX.XX.XX       serevu

Additional Information

本KBは以下の英文 KB を翻訳し補足しました。

Article ID: 27529: How to configure detection and handling of failed logins through SSH.