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

Document created by RSA Information Design and Development on Apr 23, 2018
Version 1Show Document
  • View in full screen mode
 

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

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

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

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

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

Pluggable Authentication Module

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

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

ネーム サービス スイッチ

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

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

PAMとNSSの組み合わせ

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

プロセスの概要

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

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

前提条件

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

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

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

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

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

  • PAM Kerberos
  • PAM LDAP
  • PAM RADIUS
  • SecurID

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サーバのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。
    auth sufficient pam_krb5.so no_user_check

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

PAM LDAP

LDAP通信ポート:TCP 389またはTCP 636

TCP 389は、暗号化されていないトラフィックに使用できるほか、暗号化されたトラフィックにも、ほとんどのケースで使用できます。通常は、TCP 389で問題ありません。最近のLDAP実装は、ポート389への接続後に、start_tlsコマンドを使用できます。このコマンドによって、暗号化されていない状態から暗号化された状態に接続がアップグレードされます。この場合、start_tls.を使用するときでも、LDAP URIは ldap://で始まります。

TCP 636は、LDAPサーバがstart_tlsコマンドをサポートしていない場合にのみ使用します。この場合、LDAP URIはldaps://で始まり、start_tlsコマンドは使用しません。

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

  1. 次のコマンドを実行します(ただし、まずはopenldap-clientsパッケージがお客様の環境にインストールされていることを確認します)。
    yum install nss-pam-ldapd openldap-clients
  2. LDAP構成ファイルの/etc/nslcd.confを、以下の例に示すように編集します。

注: 変数(山括弧<>で囲まれた部分)は実際の値に置き換えて、山括弧は削除してください。大文字で表記されている部分は、実際の値を大文字で入力する必要があります。

/etc/nslcd.confファイルのエントリー例uri ldap://<server.domain.com>
base <dc=domain,dc=com>
binddn <cn=bineuser,dc=domain,dc=com>
bindpw <secret>

  1. /etc/nslcd.confファイルの変更後、次のコマンドを実行します。
    systemctl restart nslcd
  2. (オプション)ピア証明書検証を使用してLDAP通信のセキュア トランスポートを有効にする(安全性を高める)には、nslcdに関するLinuxのマニュアル ページを参照し、/etc/nslcd.confファイルの適切なコード変更を確認してください。

注:Windowsドメイン コントローラでは、セキュリティ保護されたLDAP通信がデフォルトで有効化されていません。サーバ認証に使用するサーバ証明書のインストールが必要となります。この証明書を入手してDCにインストールする方法については、このドキュメントでは扱いません。この方法に関するガイドはhttps://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspxで参照できます。

  1. (オプション)ピア証明書を使用せずにLDAP通信のセキュア トランスポートを有効にするには、nslcdに関するLinuxのマニュアル ページを参照し、/etc/nslcd.confファイルの適切なコード変更について確認してください。
  2. LDAP構成をトラブルシューティングするには、最初に次のコマンドを入力してnslcdサービスを停止します。
    systemctl stop nlscd
  3. トラブルシューティングとステータスに関する情報をサービスからコンソールに出力するには、コマンド ラインからデバッグ モードでnslcdサービスを実行します。
    nslcd -d
  4. NetWitnessサーバのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。
    auth sufficient pam_ldap.so

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

PAM RADIUS

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

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

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

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

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

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

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

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

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

    yum install pam_radius

  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サーバのPAM構成ファイル/etc/pam.d/securityanalyticsを編集して、次の行を追加します。ファイルが存在しない場合は、ファイルを作成し、次の行を追加します。

    auth sufficient pam_radius_auth.so

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

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クライアントの追加]ページが表示されます。
    [RADIUSクライアントの追加]設定のRSA Security Consoleのイメージ
  3. [RADIUSクライアントの設定]で、次の情報を指定します。
    1. クライアント名]フィールドに、クライアントの名前(たとえば、NetWitness Suite)を入力します。
    2. IPv4アドレス]フィールドに、RADIUSクライアントのIPv4アドレス(たとえば、192.168.12.108)を入力します。
    3. 製造元/モデル]ドロップダウン リストで、RADIUSクライアントのタイプ(たとえば、Fortinet)を選択します。
    4. 共有シークレット]フィールドに、認証共有シークレットを入力します。
  4. 保存と関連するRSAエージェントの作成]をクリックします。
    [新しい認証エージェントの追加]ページのイメージ。
  5. 保存]をクリックします。

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

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

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

SecurID向けPAMエージェント

PAM通信ポート - UDP 5500

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

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

プロセスの概要

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

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

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

  • NSSを構成します。
  • NetWitnessサーバでPAMを有効化します。
  • NetWitnessサーバでグループ マッピングを構成します。

Authentication Manageを構成する方法

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

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

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

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

注:PAM SecurIDのセットアップが完了していない場合、Jettyサーバをクラッシュさせる可能性があり、NetWitness Suiteの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サービスの選択

NSSサービスのオプションには、Samba、LDAP、UNIXの3つがあります。どのオプションにも、それぞれ長所と短所があります。

                           
NSS Sambaの長所NSS Sambaの短所
Active Directory専用の設計AD以外のバックエンドとは一緒に使用できない。
Active Directoryで必要な構成が最小限、または必要なし場合によっては、構成やトラブルシューティングの難易度が高くなる可能性がある。
特別なユーザ アカウントが不要NWサーバマシンをActive Directoryドメインに参加させる必要がある。
 Active Directoryとの通信に使用するポート数が多く、複数のファイアウォールやプロキシへの実装作業が難しい。

 

                         
NSS LDAPの長所NSS LDAPの短所
基本構成がシンプルActive Directory内で追加の構成やロールが必要になる場合がある。
あらゆるLDAP実装との通信が可能LDAPバインド アカウントの構成が必要になる。
通信に使用するTCPポートが1つで、ファイアウォールやプロキシの作業が容易サーバ証明書の検証を行わないように構成しないと、セキュア トランスポートの有効化が困難。
ADドメインへのNWホストの参加が不要 

NSS UNIX

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

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

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

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

NSS Samba

AD Winbind通信ポート

以下のポートは、NSS Samba機能を動作させるために開く必要があることが判明している最小限のポートです。この情報は参考情報として参照してください。

TCP 88 - Kerberos
TCP 139 - netbios
TCP 389 - LDAP
UDP 53 - DNS
UDP 88 - Kerberos
UDP 389 - LDAP

組織に固有の実装要件によっては、これら以外にもポートを開く必要がある場合があります。Active Directory通信で必要となる可能性のあるすべてのポートについては、次の記事を参照してください。http://technet.microsoft.com/en-us/library/dd772723(ws.10).aspxhttp://technet.microsoft.com/en-us/library/dd772723%28ws.10%29.aspx

NSS Sambaを構成するには、以下のステップを実行します。

  1. Samba構成ファイル/etc/samba/smb.confを以下のように編集します。変数(山括弧<>で囲まれた部分)は、実際の値に置き換えてください。大文字で表記されている部分は、実際の値を大文字で入力する必要があります。
    [global]
    workgroup = domain
    netbios name = <NW_APPLIANCE_HOSTNAME>
    password server = <ADSERVER.DOMAIN.COM>
    realm = <DOMAIN.COM>

    local master = no
    security = ads
    syslog only = yes
    log file = /var/log/samba/log.%m
    max log size = 5120
    idmap config * : range = 16777216-33554431
    template shell = /bin/bash
    winbind use default domain = true
    winbind offline logon = false
    winbind enum groups = yes
  2. Windowsバインディング サービスwinbindを有効にして開始するために、次のコマンドを実行します。
    systemctl enable winbind
    systemctl start winbind
  3. NSS構成ファイル、/etc/nsswitch.confを編集します。次に示す2つのエントリーのみ更新し、残りはすべてデフォルトのままにします。
    passwd:     files winbind
    group:      files winbind
  4. ドメインに参加するために、次のコマンドを実行します。
    net ads join -U <DomainAdminUser>
  5. ドメイン コントローラSIDを格納するために、次のコマンドを実行します。
    net rpc getsid -S <SERVER.DOMAIN.COM>
  6. NSS機能のテスト」セクションの説明に従って、NSS機能をテストします。 
  7. コマンド ラインからNSSが正常に動作していることを確認したら、ホストを再起動してNSSへの変更を有効化します。次のコマンドを入力して再起動します。
    reboot

NSS Sambaをトラブルシューティングする方法

NSS WinbindがActive Directoryと正常に通信できるかどうかを確認するために、

  1. 次のコマンドを入力します。
    wbinfo -u:ADユーザのリストが返されます。
    wbinfo -gADグループのリストが返されます。
  2. どちらのコマンドも成功しなかった場合は、次のコマンドを入力して、winbindをコンソール デバッグ モードで実行します。
    systemctl stop winbind
    winbindd -S -F -d <optional debugleve 0-10>
  3. 別のsshセッションでステップ1を再度実行し、問題を示す個所がないかwinbindd出力を確認します。
    必要に応じて、winbinddのデバッグをより詳細に表示するようにします。
  4. /etc/samba/smb.confに必要な調整を行います。
  5. ステップ2のwinbinddデバッグ ウィンドウで、CTRL-Cを押して、winbinddを停止します。
    wbinfoコマンドが成功するまで、ステップ1と2を繰り返してトラブルシューティングを続けます。
  6. wbinfoコマンドが成功したら、このガイドの「NSS機能のテスト」セクションに記載されているgetentコマンドを使用して、NSSをテストします。
    getent passwd <pamUser>
    getent group <groupOfPamUser>
  7. getentが成功したら、CTRL-Cを押してコマンド ラインwinbinddを停止し、次のコマンドを入力してサービス デーモンを開始します。
    systemctl start winbind

wbinfo -gのコマンド ラインからの実行が成功するが、外部グループ マッピングの検索結果にActive Directoryグループが表示されない場合は、次の手順を実行します。

  1. /etc/samba/smb.confに次の行を追加します。
    allow trusted domains = no
  2. systemctl restart winbind 」と入力します。

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

NSS LDAP

注:この手順では、Active DirectoryのPAMユーザ オブジェクトおよびNSSグループ オブジェクトのuidNumber属性とgidNumber属性が、NSS LDAPで使用できるように、UNIXスタイルのUID番号およびGID番号に設定されている必要があります。古いActive Directoryスキーマでは、デフォルトでこれらの属性が存在しない場合があります。また、新しいADスキーマでも、これらの属性は存在していても定義されていない場合があります。これらの属性の正しい構成方法は、このドキュメントでは扱いません。Active Directory管理者に問い合わせて、PAMユーザとNSSグループ向けにこれらの属性を定義してください。

NSSが使用できるように、Active DirectoryにLDAPバインド ユーザを作成する必要があります。このユーザのパスワードは期限切れにならないように構成します。この認証情報はNSS LDAPサービスに平文で指定する必要があるため、root以外のシステム ユーザがファイルを読み取れないように、/etc/nslcd.confの権限はデフォルトの600のままにしてください。

LDAP通信ポート:TCP 389またはTCP 636

TCP 389は、暗号化されていないトラフィックに使用できるほか、暗号化されたトラフィックにも、ほとんどのケースで使用できます。通常は、TCP 389で問題ありません。最近のLDAP実装は、ポート389への接続後に、start_tlsコマンドを使用できます。このコマンドによって、暗号化されていない状態から暗号化された状態に接続がアップグレードされます。この場合、start_tlsを使用するときでも、LDAP URIはldap://で始まります。

TCP 636は、LDAPサーバがstart_tlsコマンドをサポートしていない場合にのみ使用します。  この場合、LDAP URIは ldaps://で始まり、start_tlsコマンドは使用しません。

LDAP用のNSSモジュールをActive Directoryとともに使用するよう構成するには、次のステップを実行します。

  1. nss-pam-ldapdパッケージをSMCUPDATEリポジトリから、または、サーバがSMCUPDATEと同期されている場合はNetWitnessサーバ更新リポジトリから入手します。これを行うには、NetWitness Suite内に構成済みのLiveアカウントが必要です。
  2. 次のコマンドを実行して、パッケージをインストールします。
    yum install nss-pam-ldapd
  3. /etc/nslcd.confを編集して次の行を追加し、ファイル内の既存の行がすべて最初にコメント アウトされるように行の先頭にハッシュ マーク#を使用します。
    uid nslcd
    gid ldap
    uri ldap://<server.domain.com>
    base <dc=domain,dc=com>
    binddn <cn=binduser,dc=domain,dc=com
    bindpw <secret>

    :お客様固有の環境に関して、NSSルックアップとLDAPルックアップの間で追加のマッピングを行う必要があります。具体的な詳細については、nslcdに関するLinuxのマニュアル ページを参照してください。
  4. (オプション)ピア証明書検証を使用してLDAP通信のセキュア トランスポートを有効にする(安全性を高める)には、nslcdに関するLinuxのマニュアル ページを参照し、/etc/nslcd.confファイルの適切なコード変更を確認してください。

注:Windowsドメイン コントローラでは、セキュリティ保護されたLDAP通信がデフォルトで有効化されていません。サーバ認証に使用するサーバ証明書のインストールが必要となります。この証明書を入手してDCにインストールする方法については、このドキュメントでは扱いません。この方法に関するガイドは、https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspxで参照できます。

  1. (オプション)ピア証明書を使用せずにLDAP通信のセキュア トランスポートを有効にするには、nslcdに関するLinuxのマニュアル ページを参照し、/etc/nslcd.confファイルの適切なコード変更について確認してください。
  2. NSS構成ファイル/etc/nsswitch.confを編集します。次に示す2つのエントリーのみ更新し、残りはすべてデフォルト値のままにします。
    passwd:files ldap
    group:files ldap
  3. NSLCDサービスを有効にして開始するために、次のコマンドを実行します。
    systemctl enable nslcd
    systemctl start nslcd
  4. NSS機能のテスト」セクションのガイダンスに従って、NSS機能をテストします。NSSテストが失敗した場合は、「NSS LDAPのトラブルシューティング」の説明に従ってNSS LDAPをトラブルシューティングします。
  5. コマンド ラインからNSSが正常に動作していることを確認したら、ホストを再起動してNSSへの変更を有効にします。
    reboot

NSS LDAPをトラブルシューティングする方法

  1. NSS LDAPをトラブルシューティングするには、最初に次のコマンドを入力してnslcdサービスを停止します。
    systemctl stop nslcd
  2. トラブルシューティングとステータスに関する情報をサービスからコンソールに出力するには、コマンド ラインからデバッグ モードでnslcdサービスを実行します。
    nslcd -d
  3. (オプション)デバッグをより詳細に表示するには、nslcd -dの末尾にdをいくつか追加します。たとえば、次のようにコマンドを入力します。
    nslcd -ddd
  4. 別のsshセッションから、このガイドの「NSS機能のテスト」セクションに記載されているgetentコマンドを使用して、NSSをテストします。エラーの発生を示す個所がないかnslcdのデバッグ出力を確認します。  必要に応じて、nslcdデバッグをより詳細に表示するようにします。
    getent passwd <pamUser>
    getent group <groupOfPamUser>
  5. ステップ2または3の出力に基づいて、必要な調整を/etc/nslcd.confに加えます。
  6. ステップ2または3のnslcdデバッグ ウィンドウで、CTRL-Cを押して、nslcdを停止します。  getentコマンドが成功するまで、ステップ2または3を繰り返してトラブルシューティングを続けます。
  7. getentが成功したら、コマンド ラインnslcdを停止し、サービス デーモンを開始します。
    systemctl start nslcd

一般的な問題として、次のようなものがあります。

  • LDAPセキュア トランスポートSSL証明書がLDAP/ADサーバにインストールされていない。
  • CA証明書の検証に失敗する。/etc/nslcd.conftls_cacertの行をコメント アウトし、代わりにtls_reqcert neverを試します。  このコマンドが成功すると、失敗している証明書検証が分かります。
    • ルートCA証明書がPEM形式でない。
    • ルートCA証明書ではなく発行元CA証明書が使用されている。
    • LDAPサーバのSSL証明書がホスト名と一致していない。
  • ベースDNが正しくない。
  • LDAPバインド ユーザまたはパスワードが正しく入力されていない。
  • /etc/nslcd.confuri行にldap://ではなくldaps://が間違って指定されている。LDAPSを使用するがstart_tlsコマンドは使用しない場合にのみ、ldaps://を使用する必要があります。
  • Active DirectoryユーザとグループのuidNumber属性かgidNumber属性が設定されていない。
  • ネットワーク ファイアウォールによって通信をブロックされている。
  • 指定されたLDAPサーバのホスト名を解決できない。
    • /etc/resolv.confのDNS設定が正しくない。
    • /etc/nslcd.confuri行で指定されたホスト名が正しくない。

NSS LDAPの構成はこれで完了です。次に、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 Suiteが外部ユーザにログインを許可できない場合:
    • NW外部グループ マッピングでNSSグループに正しいグループ名を指定していない可能性があります。  後述の「PAMの有効化とグループ マッピングの作成」を参照してください。
    • NSS構成に加えた変更がNetWitness Suiteに反映されていない可能性があります。  NetWitness Suiteホストを再起動すると、NSS構成に加えた変更がNetWitness Suiteに反映されます。  jettyの再起動だけでは不十分です。

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

NetWitnessサーバでのPAMの有効化

  1. NetWitness Suiteで、[管理]>[セキュリティ]に移動します。
    [管理]>[セキュリティ]ビューが表示され、[ユーザー]タブが開きます。
  2. 設定]タブをクリックします。
  3. PAM認証]で、[PAM認証の有効化]を選択し、[適用]をクリックします。
    これは、[PAM認証]セクションの例です。

PAM認証のテスト

PAMの外部認証をテストするには、次の手順を実行します。

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

PAMが有効化され、Active Directory構成も有効のままになります。セキュリティ ロールを各グループにマッピングできるように、PAM構成が[外部グループ マッピング]タブに自動的に表示されます。PAMのアクセスに使用されるセキュリティ ロールを構成するには、ステップ5. (オプション)外部グループへのユーザ ロールの割り当てを参照してください。

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

Attachments

    Outcomes