mksecldap コマンド

目的

セキュリティー認証およびデータ管理用に、AIX® システムを LDAP サーバーまたはクライアントとしてセットアップします。

構文

サーバーをセットアップする場合の構文は次のとおりです。

mksecldap -s -a adminDN -p adminpasswd -S schematype [ -d baseDN ] [ -n port ] [ -k SSLkeypath] [ -w SSLkeypasswd ] [ -x proxyDN -X proxypasswd ] [ -u NONE ] [-v LDAPVersion] [ -U ] [-j < ssl|tls|ssltls|none|sslonly>]

クライアントをセットアップする場合の構文は次のとおりです。

mksecldap -c -h serverlist -a bindDN -p bindpwd [ -d baseDN ] [ -n serverport ] [ -k SSLkeypath ] [ -w SSLkeypasswd ] [ -t cachetimeout ] [ -C cachesize ] [ -P NumberofThreads ] [ -T heartBeatInt ] [-M searchMode ] [ -D defaultEntry ] [ -A authType ] [ -i databaseModule ] [ -u userlist ] [ -U ] [-j <ssl|tls>]

説明

mksecldap コマンドを使用して、IBM® Directory のサーバーおよびクライアントを、 セキュリティー認証およびデータ管理用にセットアップすることができます。
注:
  1. クライアント (-c フラグ) オプションおよびサーバー ( -s フラグ) オプションは同時に使用できません。 サーバーをセットアップするときは、mksecldap コマンドを、 そのマシンで二度実行する必要があります。 つまり、サーバーをセットアップするために一度、システムをクライアントとしてセットアップするためにもう一度実行します。
  2. LDAP サーバー構成ファイルの名前と場所は、インストール済みの LDAP ソフトウェアのバージョンによって異なります。 詳しくは、LDAP ソフトウェアのインストール済みリリースの資料を参照してください。

サーバーのセットアップ

LDAP サーバーおよびバックエンド IBM Db2 ソフトウェアがインストール済みであることを確認してください。 mksecldap コマンドを LDAP サーバー・セットアップを目的に実行するために、IBM Db2 を事前に構成しておく必要はありません。 このサーバーをセットアップするために mksecldap コマンドを実行する場合、 コマンドは次のことを行います。
  1. ldapdb2 をデフォルトのインスタンス名として DB2® インスタンスを作成します。
  2. IBM Directory Server 6.0 以降を構成している場合、デフォルト名の ldapdb2 が付いた LDAP サーバー・インスタンスが作成されます。 キー stash ファイルの作成に使用される暗号化シードの入力を求めるプロンプトが表示されます。 入力暗号化シードは、必ず 12 文字以上にしてください。
  3. ldapdb2 をデフォルトのデータベース名として DB2 データベースを作成します。 データベースが既に存在する場合、mksecldap は上記の 2 つのステップをバイパスします。 (これは、LDAP サーバーが他での使用のためにセットアップされている場合です。) mksecldap コマンドは、 既存のデータベースを使用して AIX ユーザー/グループのデータを保管します。
  4. ディレクトリー情報ツリー (DIT) の基本 DN (接尾部) を作成します。 基本 DN は、属性 dcoou ccn のいずれかで始まることが必要です。コマンド・ラインから基本 DN を指定しない場合は、 デフォルトの接尾部が cn=aixdata に設定され、 ユーザー/グループのデータが cn=aixdata DN の中に入れられます。 これ以外の場合、mksecldap コマンドは、-d オプションを指定したユーザー提供の DN を使用します。 ユーザーおよびグループは、sectoldif コマンドを使用して LDAP にエクスポートされます。 デフォルトによって作成されるディレクトリー情報ツリー (DIT) を以下に示します。
                    <user supplied suffix>
                              |
                  --------------------------
                  |                        |
                ou=People                ou=Groups
  5. -u NONE が指定されていない場合は、 セキュリティー・データベース・ファイルにあるデータを、ローカル・ホストから LDAP データベースにエクスポートします。-u NONE が確かに 指定されている場合、mksecldap は、通常なら作成するようには ou=People コンテナーも ou=Group コンテナーも作成せず、ユーザーやグループをエクスポートすることもありません。 -S オプションに応じて、mksecldap コマンドは、 以下の 3 つの LDAP スキーマのいずれかを使用して、ユーザー/グループをエクスポートします。
    • AIX - AIX スキーマ ( aixaccount および aixaccessgroup の各オブジェクト・クラス)
    • RFC2307 - RFC 2307 スキーマ (posixaccountshadowaccount、および posixgroup の各オブジェクト・クラス)
    • RFC2307AIX: AIX 完全サポート付き RFC 2307 スキーマ (posixaccountshadowaccountposixgroup オブジェクト・クラスと、さらに aixauxaccount および aixauxgroup オブジェクト・クラス)
  6. LDAP サーバーの管理者 DN およびパスワードを設定します。
  7. -n オプションが使用されている場合、指定したポートを listen するようにサーバーを設定します。デフォルト・ポートは 389 です。また、TLS もこのポートをデフォルト・ポートとして使用します (SSL の場合は 636)。
  8. LDAP モジュール構成によって /usr/lib/security/methods.cfg ファイルを更新します。-i オプションはコマンド・ラインから入力された場合、LDAPA 認証専用モジュールと複合ロード・モジュールも設定します (例えば、-i files オプションが指定された場合、LDAPAfile)。LDAPA は認証に、databaseModule は識別に使用されます。
  9. -x オプションおよび -X オプションが指定されている場合、 プロキシー・エントリーを作成します。このプロキシー・エントリーを使用して基本 DN 用の ACL を作成します。 デフォルトの ACL は /etc/security/ldap/proxyuser.ldif.template にあります。 プロキシー・エントリーは、サーバーにバインドするために、 クライアント・システムによって使用されます (このファイル内の、 クライアントのセットアップのセクションを参照してください)。
  10. このサーバーとクライアント間のセキュアなデータ転送のために -k オプションが指定されている場合、SSL (Secure Sockets Layer) または TLS (Transport Layer Security) を使用するようにサーバーを設定します。このセットアップでは GSKIT のインストールと、SSL または TLS キーの作成が必要です。
  11. /usr/ccs/lib/libsecldapaudit.a LDAP サーバー・プラグインをインストールします。 このプラグインは、LDAP サーバーの AIX 監査をサポートします。
  12. 上記のすべての事項の終了後、LDAP サーバーを始動/再始動します。
  13. LDAP サーバー・プロセス (slapd) を /etc/inittab に追加し、リブート後に LDAP サーバーが始動するようにします。
注: -U オプションは、サーバー構成ファイルの前のセットアップをリセットします。 データベースに対しては何の影響も与えません。 初めて mksecldap コマンドが実行されると、 サーバー構成ファイルの 2 つのコピーが /etc/security/ldap ディレクトリーに保管されます。 1 つは、サーバー構成ファイルの名前に .save.orig が付加されて保管され、 他方は .save が付加されます。 mksecldap コマンドの後続の各実行の際に、 現行のサーバー構成だけが .save ファイルとして保管されます。 アンドゥ・オプションは、サーバー構成ファイルを、.save コピーを使用して復元します。 AIX 5.3 では、mksecldap -s を連続して起動し、 複数の接尾部を作成して、データを取り込むことが可能です。 これが既に実行されている場合は、初期構成ファイルに戻すには、.save.orig ファイルを手動で復元する必要があります。

クライアントのセットアップ

LDAP クライアント・ファイルセットがインストール済みであり、LDAP サーバーがセットアップ済みで実行中であることを確認してください。 mksecldap コマンドは、クライアントのセットアップ中に以下のステップを実行します。
  1. 1 つ以上の LDAP サーバーのホスト名を保存します。
  2. サーバーのユーザー基本 DN およびグループ基本 DN を保存します。 コマンド・ラインから -d オプションが指定されていない場合は、 mksecldap コマンドは LDAP サーバーを調べて aixaccountaixaccessgroupposixaccountposixgroup、 および aixauxaccount の各オブジェクト・クラスを検索し、 それに応じて基本 DN をセットアップします。サーバーに複数のユーザー/グループのベースがある場合、RDN (相対識別名) を使用して -d オプションを指定し、mksecldap コマンドで基本 DN をその RDN 内の基本 DN にセットアップできるようにする必要があります。
    posixaccount オブジェクト・クラスがクライアントのセットアップ中に検出された場合、 mksecldap は、サーバーからの以下のエンティティーの基本 DN の検索も試み、検出されたものはすべて保存します。
    • hosts
    • networks
    • services
    • netgroups
    • protocols
    • rpc
    • authorizations
    • roles
    • privcmds
    • privdevs
    • privfiles
    • usrkeystore
    • grpkeystore
    • efscookies
    • admkeystore
    • domains
    • domobjs
  3. LDAP サーバーで使用するスキーマ・タイプを決定します - AIX 固有のスキーマ、RFC 2307 スキーマ、AIX を完全にサポートする RFC 2307 スキーマ、または Microsoft Services for UNIX 3.0 スキーマ。それに従って、 /etc/security/ldap/ ldap.cfg ファイルのオブジェクト・クラスと属性マップを設定します。 mksecldap コマンドは他のスキーマ・タイプを認識しないため、クライアントを手動でセットアップする必要があります。
  4. このホストと LDAP サーバーとの間のセキュアなデータ転送のために SSL または TLS を設定します。このステップは、クライアントの SSL または TLS 鍵および鍵のパスワードが事前に作成されていることが必要で、クライアント SSL または TLS が機能するためには、SSL または TLS を使用するようにサーバーをセットアップする必要があります。
  5. BIND パスワードを暗号化します。
  6. LDAP サーバーのバインド DN およびパスワードを保管します。 DN とパスワードのペアが LDAP サーバー上になければなりません。 バインド DN とパスワードが提供されない場合、mksecldap は無名バインドを使用します。無名バインドでは、一部のデータが LDAP サーバーから戻されない可能性があります。無名バインドを選択する前に、LDAP 管理者に相談してください。
  7. オプションで指定した構成値を、クライアントのセットアップ・フラグ・セクション内に定義済みとして設定します。
  8. オプションで、ユーザーのリストまたは LDAP を使用するすべてのユーザーのリストを、 /etc/security/user ファイルの SYSTEM 行を変更することによって設定します。 LDAP ログインを使用可能にすることについて詳しくは、次の注を参照してください。
  9. クライアント・デーモンのプロセス (secldapclntd) を始動します。
  10. クライアント側デーモンのプロセスを /etc/inittab に追加し、 リブート後にこのデーモンが始動するようにします。
注: すべてのクライアント構成データは /etc/security/ldap/ldap.cfg 構成ファイルに保存されます。 -U オプションは、/etc/security/ldap/ldap.cfg ファイルを /etc/security/ldap/ldap.cfg.save に保管されている構成で置き換えることによって、 前のセットアップをリセットします。 SYSTEM を /etc/security/user のデフォルト・スタンザの LDAP に設定すると、 LDAP ユーザーのみがシステムにログインできるようになります。 SYSTEM を LDAP または compat に設定すると、LDAP ユーザーとローカル・ユーザーはどちらもシステムにログインできるようになります。

フラグ

サーバーのセットアップの場合

項目 説明
-a AdminDN LDAP サーバー管理者 DN を指定します。
-d baseDN AIX サブツリーの接尾部または基本 DN を指定します。 デフォルトは cn=aixdata です。
-j < ssl|tls|ssltls|none|sslonly>] LDAP クライアントとの通信時に使用される暗号化接続タイプを指定します。有効な値は SSL、TLS、SSLTLS、および SSLONLY です。-k フラグおよび -w フラグが -j フラグなしに指定される場合、デフォルトの接続タイプは SSL です。
-k SSLkeypath サーバーの SSL または TLS キー・データベースへの絶対パスを指定します。
-n port LDAP サーバーが listen するポート番号を指定します。 デフォルトは、SSL でない場合は 389、SSL の場合は 636 です。
-p adminpasswd 管理者 DN の平文パスワードを指定します。
-S schematype LDAP サーバーのユーザー/グループ・エントリーを表すのに使用される LDAP スキーマを指定します。 有効な値は AIX、RFC2307、および RFC2307AIX です。
-s このコマンドがサーバーをセットアップするために実行していることを示します。
-w SSLkeypasswd SSL または TLS キーのパスワードを指定します。
-U 以前のサーバー・セットアップを LDAP 構成ファイルに戻すように指定します。 データベースへの影響はありません。
-u NONE ユーザーおよびグループをローカル・システムから移行しないように指定します。 唯一の有効な値は NONE です。他の値はすべて無視されます。 このオプションを使用すると、mksecldap は、通常の場合に作成するようには ou=People および ou=Group コンテナーを作成しません。また、ユーザーおよびグループのエクスポートも行いません。 このオプションで -S オプションを併用する必要はありません。
-v LDAPVersion 構成する LDAP サーバー・ファイルセットの特定のバージョンを示します。 この値の形式は #.# でなければなりません。この # は数値です。例えば、6.0 などです。これが指定されていない場合、mksecldap コマンドはインストール済みの最新バージョンの LDAP サーバー・ファイルセットを構成します。
-X proxypasswd プロキシー DN のパスワードを指定します。
-x proxyDN プロキシー・エントリーの DN を指定します。このエントリーは、 このサーバーにバインドするために、クライアント・システムによって使用されます。

クライアントのセットアップの場合

項目 説明
-a bindDN LDAP サーバーにバインドする DN を指定します。 DN は LDAP サーバー上になければなりません。 authtype (認証タイプ) が unix_auth である場合、bindDN は、LDAP サーバー上の userPassword フィールドへの読み取りアクセスを持っていなければなりません。 -a オプションが指定されていない場合、mksecldap は無名バインドを構成します。
注: 無名バインドでは、一部のデータが LDAP サーバーから検索されない可能性があります。無名バインドの使用については、LDAP サーバー管理者に相談してください。
-A authType ユーザーを認証するために使用する認証メカニズムを指定します。 有効な値は unix_auth および ldap_auth です。 デフォルトは unix_auth です。値は、次のように定義されます。
  • unix_auth - ユーザー・パスワードを LDAP からリトリーブし、 認証をローカルに実行します。
  • ldap_auth - LDAP サーバーにバインドし、認証のためにパスワードを平文で送信します。
注: ldap_auth タイプの認証を使用するときは、認証の際にパスワードが LDAP サーバーに平文で送信されるので、SSL または TLS の使用を強くお勧めします。
-i databaseModule LDAP の構成を、複合ロード・モジュールの認証専用モジュール (LDAPA) として指定します。databaseModule オプションは、複合ロード・モジュールのデータベース・モジュールを指定します。
-j <ssl|tls> LDAP サーバーとの通信時に使用される暗号化接続タイプを指定します。有効な値は SSL および TLS です。-k フラグおよび -w フラグが -j フラグなしに指定される場合、デフォルトの接続タイプは SSL です。
-c このコマンドがクライアントをセットアップするために実行中であることを示します。
-C Cachsize クライアント側デーモンのキャッシュで使用できるユーザー・エントリーの最大数を指定します。ユーザー・キャッシュの場合、有効な値は 100 から 65536 の範囲です。デフォルトは 1000 です。グループ・キャッシュの場合の有効な範囲は 10 から 65536 です。デフォルト値は 100 です。start-secldapclntd コマンドで -C オプションを使用してユーザー・キャッシュ・エントリーを設定する場合、グループ・キャッシュはユーザー・キャッシュの 10% に設定されます。
-D defaultEntryLocation デフォルトのエントリーのロケーションを指定します。 有効な値は ldap および local です。 デフォルトは ldap です。 値は、次のように定義されます。
  • ldap - LDAP 内のデフォルトのエントリーを、すべての属性のデフォルト値に使用します。
  • local - ローカル /etc/security/user ファイルにあるデフォルトのスタンザを、すべての属性のデフォルト値に使用します。
-d baseDN 基本 DN を指定して、 mksecldap コマンドがユーザー基本 DN またはグループ基本 DN を検索するようにします。 コマンド・ラインから指定しないと、データベース全体が検索されます。
-h serverlist コンマで区切られたホスト名 (サーバーおよびバックアップ・サーバー) のリストを指定します。
-k SSLkeypath クライアント SSL または TLS キーへの絶対パスを指定します。
-M searchMode リトリーブするユーザー属性とグループ属性のセットを指定します。 有効な値は ALL および OS です。 デフォルトは ALL です。 値は、次のように定義されます。
  • ALL - エントリーのすべての属性をリトリーブします。
  • OS - オペレーティング・システムが必要としているエントリーの属性だけをリトリーブします。 電話番号またはバイナリー・イメージなどの OS 以外の属性は戻されません。
注: エントリーに OS 以外の必要な属性、 またはバイナリー・データのように値が大きい属性が多数ある場合は、LDAP サーバーによるソート作業を減らすために、OS のみを使用してください。
-n serverport LDAP サーバーが listen するポート番号を指定します。
-p bindpasswd LDAP サーバーにバインドするために使用する bindDN の平文パスワードを指定します。
-P NumberofTreads クライアント側デーモンが使用するスレッド数を指定します。有効な値は 1 から 256 です。デフォルト値は 10 です。
-t Cachetimeout キャッシュ・エントリーの期限の最大時間長を指定します。 有効な値は 60 から 3,600 秒です。デフォルト値は 300 秒です。 キャッシングを使用不可にする場合は、この値を 0 に設定します。
-T heartBeatInt このクライアントと LDAP サーバー間のハートビートの時間間隔を指定します。 有効な値は 60 から 3,600 秒です。デフォルト値は 300 です。
-u userlist LDAP 認証用に使用可能にするために、コンマで区切られたユーザー名のリストを指定します。 これらのユーザーでは、そのレジストリーと SYSTEM 属性が LDAP を使用するように設定されます。クライアント上のすべてのユーザーを使用可能にするには ALL と指定します。
注: 代替方法として、 /etc/security/user というデフォルトのスタンザの SYSTEM 属性を LDAP にセットして、LDAP ユーザーだけがログインするようにできます。 SYSTEM 属性を LDAP または compat に設定すると、LDAP ユーザーとローカル・ユーザーはどちらもシステムにログインできるようになります。
-w SSLkeyfilepath クライアント SSL または TLS キーのパスワードを指定します。
-U 直前のクライアント・セットアップを LDAP クライアント構成ファイルに戻すように指定します。

セキュリティー

aix.security.ldap 権限のあるユーザーがこのコマンドの使用を許可されます。

  1. ユーザーおよびグループ用に RFC2307AIX 固有スキーマの LDAP サーバーをセットアップするには、 次のように入力します。
    mksecldap -s -a cn=admin -p adminpwd -S rfc2307aix
    このコマンドは、 LDAP サーバー管理者の DN を cn=admin、パスワードを adminpwd として、 LDAP サーバーをセットアップします。ユーザーおよびグループのデータは、RFC2307AIX スキーマを使用して、 ローカル・ファイルからデフォルトの cn=aixdata 接尾部にエクスポートされます。
  2. デフォルト以外の baseDN を持ち、SSL セキュア通信を行う LDAP サーバーをセットアップするには、 次のように入力します。
    mksecldap -s -a cn=admin -p adminpwd -d o=mycompany,c=us -S rfc2307 ¥ -k /usr/ldap/serverkey.kdb
     -w keypwd 
    このコマンドは、 LDAP サーバー管理者の DN を cn=admin、パスワードを adminpwd として、 LDAP サーバーをセットアップします。ユーザーおよびグループのデータは、RFC2307 スキーマを使用して、ローカル・ファイルから o=mycompany,c=us 接尾部にエクスポートされます。 LDAP サーバーは、 /usr/ldap/serverkey.kdb に保管されている鍵で SSL コミュニケーションを使用します。 鍵へのパスワード keypwd も入力する必要があります。
  3. RFC2307AIX スキーマ・タイプの LDAP サーバーをセットアップし、 プロキシー・アカウントを作成するには、次のように入力します。
    mksecldap -s -a cn=admin -p adminpwd -d c=us -S rfc2307aix -x cn=proxy,c=us -X proxypwd
    このコマンドは、 LDAP サーバー管理者の DN を cn=admin、パスワードを adminpwd として、 LDAP サーバーをセットアップします。ユーザーおよびグループのデータは、RFC2307AIX スキーマを使用して、 ローカル・ファイルから c=us 接尾部にエクスポートされます。 プロキシーの ID は、cn=proxy,c=us という DN、 および proxypwd というパスワードを使用してセットアップされます。 /etc/security/ldap/proxy.ldif.template に指定されている ACL は、 cn=proxy,c=us DN 用のサーバーにも適用されています。
  4. 直前のサーバー・セットアップを元に戻すには、次のように入力します。
    mksecldap -s -U 
    このコマンドは、直前のセットアップをサーバー構成ファイルにアンドゥします。 安全面での理由から、 このコマンドは、 前のセットアップで作成されたデータベース・エントリーあるいはデータベースを除去しないことに注意してください。 データベース・エントリー/データベースが今後必要ない場合は、これらを手動で除去する必要があります。
  5. クライアントを server1.ibm.com および server2.ibm.com の両 LDAP サーバーを使用するようにセットアップするには、次のように入力します。
    mksecldap -c -a cn=admin -p adminpwd -h server1.ibm.com,server2.ibm.com
    LDAP サーバーの管理者 DN およびパスワードを提供し、 このクライアントがサーバーに認証されるようにします。 mksecldap コマンドは使用するスキーマ・タイプのために LDAP サーバーに連絡し、 それに従ってクライアントをセットアップします。 コマンド・ラインから -d オプションを指定しないと、 サーバー DIT 全体でユーザー基本 DN とグループ基本 DN が検索されます。
  6. クライアントが SSL を使用して server3.ibm.com LDAP サーバーと通話するようにセットアップするには、次のように入力します。
    mksecldap -c -a cn=admin -p adminpwd -h server3.ibm.com -d o=mycompany,c=us 
    -k /usr/ldap/clientkey.kdb -w keypwd -u user1,user2 
    このコマンドでセットアップする LDAP クライアントは、3 のケースに似ていますが、SSL 通信を使用します。 mksecldap コマンドは、 o=mycompany,c=us RDN でユーザー基本 DN とグループ基本 DN を検索します。 アカウント user1 および user2 は LDAP を介して認証するように構成されます。
    注: -u ALL オプションを指定すると、 すべての LDAP ユーザーがこのクライアントにログインできるようになります。
  7. server4.ibm.com と通信し、 プロキシー・バインドを使用する ldap_auth 認証を使用するようにクライアントをセットアップするには、次のように入力します。
    mksecldap -c -a cn=proxy,c=us -p proxypwd -h server4.ibm.com -A ldap_auth
    これによって、cn=proxy,c=us DN を持つ LDAP サーバーにバインドするように LDAP クライアントがセットアップされます。 管理者の DN は使用されないので、 クライアントに認可されるアクセスは、 cn=proxy,c=us DN 用の LDAP サーバー上にセットアップされた ACL によって異なります。また、クライアントは、 パスワードを平文で LDAP サーバーに比較のために送信する ldap_auth タイプの認証を使用するようにセットアップされます。
    注: ldap_auth タイプの認証を使用するときは、認証の際にパスワードが LDAP サーバーに平文で送信されるため、SSL または TLS の使用を強くお勧めします。
  8. 直前のクライアント・セットアップを元に戻すには、次のように入力します。
    mksecldap -c -U
    このコマンドは、 直前のセットアップを /etc/security/ldap/ldap.cfg ファイルにアンドゥします。 このコマンドは、SYSTEM=LDAP および registry=LDAP エントリーを /etc/security/user ファイルから除去しません。
  9. 認証専用モジュールとして LDAP を使用し、ユーザー識別に files を使用して、クライアントをセットアップするには、次のように入力します。
    mksecldap -c -a cn=admin -p adminpwd -h server1.ibm.com -i files -A ldap_auth
    これにより LDAPAfiles 複合ロード・モジュールがセットアップされます。ここでは、モジュール LDAPA がユーザー認証に使用され、ユーザー識別には files が使用されます。認証は ldap_auth に設定されます。

アクセスされるファイル

項目 説明
モード ファイル
r /etc/passwd
r /etc/group
r /etc/security/passwd
r /etc/security/limits
r /etc/security/user (サーバー)
rw /etc/security/user (クライアント)
r /etc/security/environ
r /etc/security/user.roles
r /etc/security/lastlog
r /etc/security/smitacl.user
r /etc/security/mac_user
r /etc/security/group
r /etc/security/smitacl.group
r /etc/security/roles
rw /etc/security/login.cfg (サーバー)
rw /etc/slapd32.conf (サーバー)
rw /etc/security/ldap/ldap.cfg (クライアント)