セキュリティ/ユーザ管理:PAMのログイン機能の構成

Document created by RSA Information Design and Development on Apr 23, 2018Last modified by RSA Information Design and Development on Apr 29, 2019
Version 2Show Document
  • View in full screen mode
 

このトピックでは、PAM(Pluggable Authentication Module)を使用して外部ユーザを認証するようNetWitness Platformを構成する方法について説明します。

PAMログイン機能は次の2つの別々のコンポーネントで構成されます。

  • ユーザ認証用のPAM
  • グループ認証用のNSS

この2つの組み合わせによって、外部ユーザは内部のNetWitness Platformアカウントを持っていなくても、NetWitness Platformにログインし、外部グループとNetWitness Platformセキュリティ ロールのマッピングによって指定された権限やロールの付与を受けることができます。ログインに成功するには、両方のコンポーネントが必要です。

外部認証はシステム レベルの設定です。PAMを構成する前に、ここに示すすべての情報を確認しておいてください。

Pluggable Authentication Module

PAMは、Linuxが提供しているライブラリの1つで、ユーザをRADIUS、Kerberos、LDAPなどの認証プロバイダーに対して認証する機能を提供します。実装では、認証プロバイダーごとに専用のモジュールが使用されます。このモジュールは、pam_ldapのようなオペレーティング システム(OS)パッケージの形式になっています。NetWitness Platformでは、OSが提供するPAMライブラリと、そのPAMライブラリを使用するように構成されたモジュールを使用して、ユーザを認証します。

注:PAMが提供するのは認証機能のみです。

ネーム サービス スイッチ

NSSはLinuxの機能の1つで、OSとアプリケーションはNSSが提供するデータベースを使用して、ホスト名などの情報、ホーム ディレクトリ、プライマリ グループ、ログイン シェルなどのユーザ属性を検出し、また、特定のグループに属するユーザの一覧を取得したりします。PAMと同様、NSSも設定可能で、モジュールを使用してさまざまなタイプのプロバイダーとやり取りします。NetWitness Platformでは、OSが提供するNSS機能を使用して外部PAMユーザに権限を付与します。具体的には、そのユーザがNSSに既知であるかどうかを検索し、ユーザが属しているグループをNSSにリクエストします。NetWitness Platformはリクエストの結果をNetWitness Platformの外部グループ マッピングと比較し、一致するグループが見つかれば、外部グループ マッピングで定義されているセキュリティ レベルでNetWitness Platformにログオンするためのアクセス権をユーザに付与します。

注:NSSでは認証を提供しません。

PAMとNSSの組み合わせ

外部ユーザがNetWitness Platformへのログインを許可されるには、PAM(認証)とNSS(権限付与)の両方に成功する必要があります。PAMの構成とトラブルシューティングの手順は、NSSの構成とトラブルシューティングの手順と異なります。このガイドでは、PAMの例として、Kerberos、LDAP、RADIUSを取り上げています。また、NSSの例として、LDAPとUNIXを取り上げています。使用されるPAMとNSSのモジュールの組み合わせは、組織の要件によって決定されます。

プロセスの概要

PAMログイン機能を構成するには、このドキュメントの説明に従って、各ステップを実行してください。

  1. PAMモジュールの構成とテスト
  2. NSSサービスの構成とテスト
  3. NetWitness ServerでのPAMの有効化
  4. NetWitness Serverでのグループ マッピングの作成

前提条件

PAMの構成を開始する前に、実装するPAMモジュールに応じて、手順を確認し、外部認証サーバの詳細情報を収集してください。

NSSの構成を開始する前に、使用するNSSサービスに応じて手順を確認し、外部グループ マッピングで使用するグループ名を特定して、外部認証サーバの詳細情報を収集してください。

NetWitness PlatformでPAMの構成を開始する前に、外部グループ マッピングで使用するグループ名を特定してください。ロールをマッピングする際、NetWitness Platform内のロールが、外部の認証サーバに存在するグループ名と一致する必要があります。

PAMモジュールの構成とテスト

以下のセクションのいずれかを選択して、PAMコンポーネントのセットアップと構成を実行してください。

PAM Kerberos

Kerberos通信ポート:TCP 88

Kerberosを使用するPAM認証を構成するには、以下のステップを実行します。

  1. 次のコマンドを実行します(ただし、まずはkrb5-workstationパッケージがお客様の環境にインストールされていることを確認します)。
    yum install krb5-workstation pam_krb5  
  2. Kerberos設定ファイル/etc/krb5.confで以下の行を編集します。変数(山括弧<>で囲まれた部分)は、実際の値に置き換えてください。大文字で表記されている部分は、実際の値を大文字で入力する必要があります。

    # Configuration snippets may be placed in this directory as well
    includedir /etc/krb5.conf.d/

    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

    [libdefaults]
    dns_lookup_realm = false
    ticket_lifetime = 24h
    dns_lookup_kdc = true
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    default_realm = <DOMAIN.COM>
    default_ccache_name = KEYRING:persistent:%{uid}

    [realms]
    <DOMAIN.COM> = {
    kdc = <SERVER.DOMAIN.COM>
    admin_server = <SERVER.DOMAIN.COM>
    }

    [domain_realm]
    <domain.com> = <DOMAIN.COM>
    <.domain.com> = <DOMAIN.COM>
  3. 次のコマンドを使用して、Kerberos構成をテストします。
    kinit <user>@<DOMAIN.COM>
    パスワードの入力後に何も出力されない場合は、成功したことを示しています。
  4. NetWitness ServerのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。
    auth sufficient pam_krb5.so no_user_check

PAM Kerberosの構成はこれで完了です。次のセクション「NSSサービスの設定とテスト」に進みます。

PAM RADIUS

RADIUS通信ポート:UDP 1812またはUDP 1813

RADIUSを使用するPAM認証を構成するには、NetWitness ServerをRADIUSサーバのクライアント リストに追加し、共有シークレットを構成する必要があります。これを実行する手順については、RADIUSサーバ管理者に問い合わせてください。

RADIUSを使用してPAM認証を設定するには、以下のステップを実行します。

  1. 次のコマンドを実行します(ただし、まずはpam_radius_authパッケージがお客様の環境にインストールされていることを確認します)。
    yum install pam_radius_auth
  2. RADIUS構成ファイル/etc/raddb/serverを以下のように編集します。
    # server[:port] shared_secret  timeout (s)
    server          secret         3
  3. NetWitness ServerのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。
    auth sufficient pam_radius_auth.so
  4. 次のコマンドを実行して、RADIUSライブラリをコピーします。
    cp /usr/lib/security/pam_radius_auth.so /usr/lib64/security/

注意:PAM RADIUSを機能させるには、/etc/raddb/serverファイルに書き込み権限が必要です。これに必要なコマンドは次のとおりです:chown netwitness:netwitness /etc/raddb/server

注意:PAM RADIUSに対して上記の変更を行った後は、Jettyサーバを再起動する必要があります。これに必要なコマンドは次のとおりです。
systemctl restart jetty

PAMモジュールおよび関連サービスは/var/log/messages/var/log/secureに情報を出力します。これらの出力は、設定問題のトラブルシューティングを支援するために使用できます。

次の手順では、SecurIDを使用してRADIUSのPAM認証を構成する例を示します。

注:これらのタスクの例では、RADIUSサーバとしてRSA Authentication Managerを使用します。

  1. 次のコマンドを実行します(ただし、まずはpam_radius_authパッケージがお客様の環境にインストールされていることを確認します)。

    yum install pam_radius_auth

  2. RADIUS構成ファイル/etc/raddb/serverを編集し、Authentication Managerインスタンスのホスト名、共有シークレット、タイムアウト値を使用して更新します。

    # server[:port] shared_secret timeout (s)

    111.222.33.44 secret 1

    #other-server other-secret 3

    192.168.12.200:6369 securid 10

    注:127.0.0.1other-serverの行をコメント アウトし、Authentication Managerプライマリ インスタンスのIPアドレス、RADIUSポート番号(たとえば192.168.12.200:1812)、RADIUS共有シークレット、タイムアウト値(10)を追加する必要があります。

  3. NetWitness ServerのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。

    auth sufficient pam_radius_auth.so

    注:/etc/pam.d/securityanalyticsファイル内にある前述の行の最後にdebugを追加することで、PAMのデバッグ機能(たとえばauth sufficient pam_radius_auth.so debug)を有効化することができます。

  4. 次のコマンドを実行して、RADIUSライブラリをコピーします。
    cp /usr/lib/security/pam_radius_auth.so /usr/lib64/security/

PAMモジュールおよび関連サービスは/var/log/messages/var/log/secureに情報を出力します。これらの出力は、構成問題のトラブルシューティングを支援するために使用できます。

RADIUSクライアントと関連エージェントの追加

注:これらのタスクの例では、RADIUSサーバとしてRSA Authentication Managerを使用します。
管理者アカウントの認証情報を使用して、RSA Authentication Manager Security Consoleにログオンする必要があります。

RADIUSクライアントと関連エージェントを追加するには、次のステップを実行します。

  1. RSA Authentication Managerにログオンします。
    Security Consoleが表示されます。
  2. Security Consoleで、[RADIUS]>[RADIUSクライアント]>[新規追加]の順にクリックします。
    [RADIUSクライアントの追加]ページが表示されます。
    Image of RSA Security Console for Add RADIUS Client settings
  3. [RADIUSクライアントの設定]で、次の情報を指定します。
    1. クライアント名]フィールドに、クライアントの名前(たとえば、NetWitness Platform)を入力します。
    2. IPv4アドレス]フィールドに、RADIUSクライアントのIPv4アドレス(たとえば、192.168.12.108)を入力します。
    3. 製造元/モデル]ドロップダウン リストで、RADIUSクライアントのタイプ(たとえば、Fortinet)を選択します。
    4. 共有シークレット]フィールドに、認証共有シークレットを入力します。
  4. 保存と関連するRSAエージェントの作成]をクリックします。
    Image of Add New Authentication Agent page.
  5. 保存]をクリックします。

Authentication Managerインスタンスがネットワーク上の認証エージェントを見つけることができない場合、警告ページが表示されます。[はい、エージェントを保存します]をクリックします。

詳細については、『RSA Authentication Manager 8.2管理者ガイド』の「RADIUSクライアントの追加」のトピックを参照してください。

PAM RADIUSの構成はこれで完了です。次のセクション「NSSサービスの設定とテスト」に進みます。

SecurID向けPAMエージェント

PAM通信ポート - UDP 5500

前提条件

RSA SecurID PAMモジュールは、以下の条件が満たされている場合にのみサポートされます。

  • 信頼接続がNetWitness Platformとコア サービス間で有効になり、機能していなければなりません。

プロセスの概要 

SecurID PAMモジュールのおおまかな設定ステップは次のとおりです。

  1. Authentication Managerを設定します。
    a. AuthenticationAgentを追加します。
    b. 設定ファイルを作成してダウンロードします。
  2. NetWitness Serverを設定します。
    a. Authentication Managerから設定ファイルをコピーしてカスタマイズします。
    b. PAM SecurIDモジュールをインストールします。
  3. 接続と認証をテストします。

後述の残りの手順を実行します。

Authentication Manageを構成する方法

  1. RSA Authentication Managerにログオンします。
    Security Consoleが表示されます。
    Image of the Authentication Manager Security Console
  2. Security Consoleで、新しい認証エージェントを追加します。
    [アクセス]>[認証エージェント]>[新規追加]
    をクリックします。[新しい認証エージェントの追加]ページが表示されます。
    Image of the Add New Authentication Agent page.
  3. ホスト名]フィールドに、NetWitness Serverのホスト名を入力します。
  4. IPの解決]をクリックします。
    NetWitness ServerのIPアドレスが[IPアドレス]フィールドに自動的に表示されます。
  5. デフォルト設定をそのまま維持して、[保存]をクリックします。
  6. 構成ファイルを生成します。
    [アクセス]>[認証エージェント]>[構成ファイルの生成]に移動します。
    [構成ファイルの生成]ページが表示されます。
    Image of the Generate Configuration File page.
  7. デフォルト設定をそのまま維持して、[構成ファイルの生成]をクリックします。
    2つのファイルを含んだAM_Config.zipが作成されます。
  8. Download Now(今すぐダウンロード)]をクリックします。

PAM SecurIDモジュールをインストールして構成する方法

  1. NetWitness Serverで、次のディレクトリを作成します。
    mkdir /var/ace
  2. NetWitness Serverで、sdconf.recを.zipファイルから/var/aceにコピーします。
  3. テキスト ファイルsdopts.rec/var/aceディレクトリに作成します。
  4. 次の行を挿入します。
    CLIENT_IP=<IP address of NetWitness Server>
  5. 次のyumリポジトリにあるPAM向けSecurID認証エージェントをインストールします。
    yum install sid-pam-installer
  6. 次のインストール スクリプトを実行します。
    /opt/rsa/pam-agent-installer/install_pam.sh
  7. プロンプトに従ってデフォルトをそのまま使用するか変更します。 
  8. NetWitness ServerのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。
    auth sufficient pam_securid.so

SecurID PAMモジュールのインストールはこれで完了です。次に、接続と認証をテストした後で、「NSSサービスの設定とテスト」の手順に従います。

注:PAM SecurIDのセットアップが完了していない場合、Jettyサーバをクラッシュさせる可能性があり、NetWitness PlatformのUIは表示されません。PAM認証の構成が完了するまで待機し、Jettyサーバを再起動する必要があります。

接続と認証をテストする方法

  1. /opt/pam/bin/64bit/acetestを実行し、ユーザ名パスコードを入力します。 
  2. (オプション)acetestが失敗した場合は、デバッグを有効にします。
    vi/etc/sd_pam.conf
    RSATRACELEVEL=15
  3. /opt/pam/bin/64bit/acestatusを実行します。出力は以下のように表示されます。

RSA ACE/Server Limits
---------------------
Configuration Version : 15 Client Retries : 5 
Client Timeout : 5 DES Enabled : Yes 

RSA ACE/Static Information
--------------------------
Service : securid Protocol : udp Port Number : 5500 

RSA ACE/Dynamic Information
---------------------------
Server Release : 8.1.0.0 Communication : 5

RSA ACE/Server List
-------------------
Server Name :           auth81.netwitness.local
Server Address :        192.168.100.10
Server Active Address : 192.168.100.10
Master : Yes Slave : No Primary : Yes 
Usage : Available for Authentications

  1. (オプション)Authentication Managerサーバをトラブルシューティングするには、次の手順を実行します。
    [レポート]>[リアルタイム アクティビティ モニタ]>[認証アクティビティ モニタ]に移動します。
    次に、[モニタの開始]をクリックします。
  2. 設定を変更した場合は、RSATRACELEVELを0にリセットします。
    vi/etc/sd_pam.conf
    RSATRACELEVEL=0

注意:インストールが完了したら、/etc/sd_pam.confファイルのVAR_ACEがsdconf.recファイルの正しい場所を参照していることを確認します。これは構成ファイルのパスです。これに必要なコマンドは次のとおりです:chown -R netwitness:netwitness /var/ace

SecurID向けPAMエージェントの構成はこれで完了です。次のセクション「NSSサービスの設定とテスト」に進みます。

NSSサービスの設定とテスト

NSS UNIX

NSS UNIXモジュールを有効化するために必要な構成はありません。ホストのオペレーティング システムによってデフォルトで有効化されています。特定のグループのユーザに権限を付与するには、そのユーザをオペレーティング システムに追加し、グループに追加します。

  1. 次のコマンドを使用して、外部ユーザを追加する際に使用するOSグループを作成します。
    groupadd <groupname>
  2. 次のコマンドを使用して、外部ユーザをOSに追加します。
    adduser -G <groupname> -M -N <externalusername>

注:この操作だけではまだ、NetWitness Serverコンソールへのアクセスは許可されません。

NSS UNIXの構成はこれで完了です。次に、NSS機能のテストに進みます。

NSS機能のテスト

NSSが前述のNSSサービスのすべてと連携しているかどうかをテストするには、次のコマンドを使用します。

getent passwd <pamUser>
getent group <groupOfPamUser>

出力は次のようになります。

[root@~]# getent passwd myuser
myuser:*:10000:10000::/home/myuser:/bin/sh

[root@~]# getent group mygroup
mygroup:*:10000:myuser3

  • どのコマンドも出力を生成しない場合、NSSの外部権限認可は正常に機能していません。このドキュメントに記載されているNSSモジュールのトラブルシューティング ガイダンスを参照してください。
  • getentコマンドが成功し、/var/log/secureで認証の成功が確認できているにも関わらず、NetWitness Platformが外部ユーザにログインを許可できない場合:
    • NW外部グループ マッピングでNSSグループに正しいグループ名を指定していない可能性があります。後述の「PAMの有効化とグループ マッピングの作成」を参照してください。
    • NSS構成に加えた変更がNetWitness Platformに反映されていない可能性があります。  NetWitness Platformホストを再起動すると、NSS構成に加えた変更がNetWitness Platformに反映されます。Jettyサーバの再起動だけでは不十分です。

次のセクション「NetWitness ServerでのPAMの有効化」に進みます。

NetWitness ServerでのPAMの有効化

  1. NetWitness Platformで、[管理]>[セキュリティ]に移動します。
    [管理]>[セキュリティ]ビューが表示され、[ユーザ]タブが開きます。
  2. 設定]タブをクリックします。
  3. PAM認証]で、[PAM認証の有効化]を選択し、[適用]をクリックします。
    This is an example of the PAM Authentication section.

PAMの外部認証のテスト

  1. [管理]>[セキュリティ]に移動します。
    [セキュリティ]ビューが表示され、[ユーザ]タブが開きます。
  2. 設定]タブをクリックします。
  3. PAM認証]で、[PAM認証の有効化]を選択します。
    Image of PAM Authentication and Active Directory Configurations portions of the Settings Tab
  4. PAM認証]オプションで、[テスト]をクリックします。
    PAM認証テスト]ダイアログが表示されます。
    Image of the PAM Authentication Test dialog, requesting a Username and Password
  5. PAM構成を使用して認証をテストするユーザ名とパスワードを入力します。
  6. テスト]をクリックします。
    接続性を確認するために外部認証がテストされます。
  7. テストが成功しない場合は、構成を確認して編集します。

PAMが有効化され、Active Directory構成も有効のままになります。セキュリティ ロールを各グループにマッピングできるように、PAM構成が[外部グループ マッピング]タブに自動的に表示されます。

NetWitness Serverでのグループ マッピングの作成

PAMのアクセスに使用されるセキュリティ ロールを構成するには、ステップ5. (オプション)外部グループへのユーザ ロールの割り当て

You are here
Table of Contents > システム セキュリティの設定 > ステップ4. (オプション)外部認証の構成 > PAMのログイン機能の構成

Attachments

    Outcomes