SSH 経由のログイン失敗の検出と処理

UNIX システムに対するブルート フォース ベースの攻撃を防ぐために、 for Unix には、ホスト上のユーザ ログインの失敗を検出し、ユーザ ID を無効化する機能が用意されています。
capamsc141
UNIX システムに対するブルート フォース ベースの攻撃を防ぐために、
Privileged Access Manager
for UNIX には、ホスト上のユーザ ログインの失敗を検出し、ユーザ ID を無効化する機能が用意されています。
serevu
モジュールは、ユーザ ID の失効と、失効したユーザ ID の必要に応じた再有効化を容易にします。
このトピックでは、SSH で発生したログインの失敗を検出および処理するように
Privileged Access Manager
を設定する方法について説明します。また、SSH 経由のログインの失敗が発生した場合の PAM (Pluggable Authentication Modules)、
seosd
serevu
間のデータ フローについても説明します。
以下の手順に従います。
  1. PAM を使用するアプリケーション経由のログインの失敗を検出するように
    serevu
    モジュールを設定します。PAM は、UNIX フレーバーのデフォルト認証サブシステムです。
    serevu
    が PAM を使用できるようにするには、seos.ini 設定ファイルの以下のトークンを設定します。
    [pam_seos]
    serevu_use_pam_seos = yes
  2. sshd
    が認証用に PAM を使用するように設定するには、/etc/opt/ssh/sshd_config の以下のトークンを設定します。
    UsePAM yes
    この設定によって、
    sshd
    デーモンは、ログインの失敗が発生したことを PAM システムに通知できるようになります。
  3. Privileged Access Manager
    が sshd から受信した PAM シグナルをインターセプトするように設定するには、以下の行を /etc/pam.conf に追加します。
    sshd auth optional /usr/lib/security/pam_seos.sl
  4. ローカル
    seosdb
    は、
    sshd
    loginappl
    レコードを保持します。Selang に以下の行を追加します。
    PAMSC> nr loginappl SSHD loginpath(/usr/sbin/sshd) loginseq(SGRP SUID) defaccess(x)
    これで、SSH クライアントで発生したログイン失敗を /opt/CA/PAMSC/log/pam_seos_failed_logins.log ファイルで検索できるようになります。
    この設定を実行すると、データ フローは以下のようになります。
    1. sshd
      は、ログインの失敗が発生したことを PAM に通知します。
    2. Privileged Access Manager
      は、この PAM シグナルをインターセプトし、pam_seos_failed_logins.log に情報を書き込みます。
    3. serevu
      は定期的にそのログをスキャンし、それに従って処理を行います。
  5. 各ユーザに許可される失敗ログイン回数は、seos.ini で設定できます。
    [serevu]
    def_fail_count = 3
  6. serevu
    seload
    時に自動的に起動するようにするには、以下のコードを seos.ini に追加します。
    [daemons]<>
    serevu = yes