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>]
説明
- クライアント (-c フラグ) オプションおよびサーバー ( -s フラグ) オプションは同時に使用できません。 サーバーをセットアップするときは、mksecldap コマンドを、 そのマシンで二度実行する必要があります。 つまり、サーバーをセットアップするために一度、システムをクライアントとしてセットアップするためにもう一度実行します。
- LDAP サーバー構成ファイルの名前と場所は、インストール済みの LDAP ソフトウェアのバージョンによって異なります。 詳しくは、LDAP ソフトウェアのインストール済みリリースの資料を参照してください。
サーバーのセットアップ
- ldapdb2 をデフォルトのインスタンス名として DB2® インスタンスを作成します。
- IBM Directory Server 6.0 以降を構成している場合、デフォルト名の ldapdb2 が付いた LDAP サーバー・インスタンスが作成されます。 キー stash ファイルの作成に使用される暗号化シードの入力を求めるプロンプトが表示されます。 入力暗号化シードは、必ず 12 文字以上にしてください。
- ldapdb2 をデフォルトのデータベース名として DB2 データベースを作成します。 データベースが既に存在する場合、mksecldap は上記の 2 つのステップをバイパスします。 (これは、LDAP サーバーが他での使用のためにセットアップされている場合です。) mksecldap コマンドは、 既存のデータベースを使用して AIX ユーザー/グループのデータを保管します。
- ディレクトリー情報ツリー (DIT) の基本 DN (接尾部) を作成します。
基本 DN は、属性 dc、o、ou、
c、cn のいずれかで始まることが必要です。コマンド・ラインから基本 DN を指定しない場合は、
デフォルトの接尾部が cn=aixdata に設定され、
ユーザー/グループのデータが cn=aixdata DN の中に入れられます。
これ以外の場合、mksecldap コマンドは、-d
オプションを指定したユーザー提供の DN を使用します。
ユーザーおよびグループは、sectoldif コマンドを使用して LDAP にエクスポートされます。
デフォルトによって作成されるディレクトリー情報ツリー (DIT) を以下に示します。
<user supplied suffix> | -------------------------- | | ou=People ou=Groups
- -u NONE が指定されていない場合は、
セキュリティー・データベース・ファイルにあるデータを、ローカル・ホストから LDAP データベースにエクスポートします。-u NONE が確かに 指定されている場合、mksecldap は、通常なら作成するようには
ou=People
コンテナーもou=Group
コンテナーも作成せず、ユーザーやグループをエクスポートすることもありません。 -S オプションに応じて、mksecldap コマンドは、 以下の 3 つの LDAP スキーマのいずれかを使用して、ユーザー/グループをエクスポートします。- AIX - AIX スキーマ ( aixaccount および aixaccessgroup の各オブジェクト・クラス)
- RFC2307 - RFC 2307 スキーマ (posixaccount、shadowaccount、および posixgroup の各オブジェクト・クラス)
- RFC2307AIX: AIX 完全サポート付き RFC 2307 スキーマ (posixaccount、shadowaccount、posixgroup オブジェクト・クラスと、さらに aixauxaccount および aixauxgroup オブジェクト・クラス)
- LDAP サーバーの管理者 DN およびパスワードを設定します。
- -n オプションが使用されている場合、指定したポートを listen するようにサーバーを設定します。デフォルト・ポートは 389 です。また、TLS もこのポートをデフォルト・ポートとして使用します (SSL の場合は 636)。
- LDAP モジュール構成によって /usr/lib/security/methods.cfg ファイルを更新します。-i オプションはコマンド・ラインから入力された場合、LDAPA 認証専用モジュールと複合ロード・モジュールも設定します (例えば、-i files オプションが指定された場合、LDAPAfile)。LDAPA は認証に、databaseModule は識別に使用されます。
- -x オプションおよび -X オプションが指定されている場合、 プロキシー・エントリーを作成します。このプロキシー・エントリーを使用して基本 DN 用の ACL を作成します。 デフォルトの ACL は /etc/security/ldap/proxyuser.ldif.template にあります。 プロキシー・エントリーは、サーバーにバインドするために、 クライアント・システムによって使用されます (このファイル内の、 クライアントのセットアップのセクションを参照してください)。
- このサーバーとクライアント間のセキュアなデータ転送のために -k オプションが指定されている場合、SSL (Secure Sockets Layer) または TLS (Transport Layer Security) を使用するようにサーバーを設定します。このセットアップでは GSKIT のインストールと、SSL または TLS キーの作成が必要です。
- /usr/ccs/lib/libsecldapaudit.a LDAP サーバー・プラグインをインストールします。 このプラグインは、LDAP サーバーの AIX 監査をサポートします。
- 上記のすべての事項の終了後、LDAP サーバーを始動/再始動します。
- LDAP サーバー・プロセス (slapd) を /etc/inittab に追加し、リブート後に LDAP サーバーが始動するようにします。
クライアントのセットアップ
- 1 つ以上の LDAP サーバーのホスト名を保存します。
- サーバーのユーザー基本 DN およびグループ基本 DN を保存します。
コマンド・ラインから -d オプションが指定されていない場合は、
mksecldap コマンドは LDAP サーバーを調べて aixaccount、
aixaccessgroup、posixaccount、posixgroup、
および 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
- LDAP サーバーで使用するスキーマ・タイプを決定します - AIX 固有のスキーマ、RFC 2307 スキーマ、AIX を完全にサポートする RFC 2307 スキーマ、または Microsoft Services for UNIX 3.0 スキーマ。それに従って、 /etc/security/ldap/ ldap.cfg ファイルのオブジェクト・クラスと属性マップを設定します。 mksecldap コマンドは他のスキーマ・タイプを認識しないため、クライアントを手動でセットアップする必要があります。
- このホストと LDAP サーバーとの間のセキュアなデータ転送のために SSL または TLS を設定します。このステップは、クライアントの SSL または TLS 鍵および鍵のパスワードが事前に作成されていることが必要で、クライアント SSL または TLS が機能するためには、SSL または TLS を使用するようにサーバーをセットアップする必要があります。
- BIND パスワードを暗号化します。
- LDAP サーバーのバインド DN およびパスワードを保管します。 DN とパスワードのペアが LDAP サーバー上になければなりません。 バインド DN とパスワードが提供されない場合、mksecldap は無名バインドを使用します。無名バインドでは、一部のデータが LDAP サーバーから戻されない可能性があります。無名バインドを選択する前に、LDAP 管理者に相談してください。
- オプションで指定した構成値を、クライアントのセットアップ・フラグ・セクション内に定義済みとして設定します。
- オプションで、ユーザーのリストまたは LDAP を使用するすべてのユーザーのリストを、 /etc/security/user ファイルの SYSTEM 行を変更することによって設定します。 LDAP ログインを使用可能にすることについて詳しくは、次の注を参照してください。
- クライアント・デーモンのプロセス (secldapclntd) を始動します。
- クライアント側デーモンのプロセスを /etc/inittab に追加し、 リブート後にこのデーモンが始動するようにします。
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 です。値は、次のように定義されます。
注: 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 です。 値は、次のように定義されます。
|
-d baseDN | 基本 DN を指定して、 mksecldap コマンドがユーザー基本 DN またはグループ基本 DN を検索するようにします。 コマンド・ラインから指定しないと、データベース全体が検索されます。 |
-h serverlist | コンマで区切られたホスト名 (サーバーおよびバックアップ・サーバー) のリストを指定します。 |
-k SSLkeypath | クライアント SSL または TLS キーへの絶対パスを指定します。 |
-M searchMode | リトリーブするユーザー属性とグループ属性のセットを指定します。
有効な値は ALL および OS です。
デフォルトは ALL です。
値は、次のように定義されます。
注: エントリーに 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 権限のあるユーザーがこのコマンドの使用を許可されます。
例
- ユーザーおよびグループ用に RFC2307AIX 固有スキーマの LDAP サーバーをセットアップするには、
次のように入力します。
このコマンドは、 LDAP サーバー管理者の DN を cn=admin、パスワードを adminpwd として、 LDAP サーバーをセットアップします。ユーザーおよびグループのデータは、RFC2307AIX スキーマを使用して、 ローカル・ファイルからデフォルトの cn=aixdata 接尾部にエクスポートされます。mksecldap -s -a cn=admin -p adminpwd -S rfc2307aix
- デフォルト以外の baseDN を持ち、SSL セキュア通信を行う LDAP サーバーをセットアップするには、
次のように入力します。
このコマンドは、 LDAP サーバー管理者の DN を cn=admin、パスワードを adminpwd として、 LDAP サーバーをセットアップします。ユーザーおよびグループのデータは、RFC2307 スキーマを使用して、ローカル・ファイルから o=mycompany,c=us 接尾部にエクスポートされます。 LDAP サーバーは、 /usr/ldap/serverkey.kdb に保管されている鍵で SSL コミュニケーションを使用します。 鍵へのパスワード keypwd も入力する必要があります。mksecldap -s -a cn=admin -p adminpwd -d o=mycompany,c=us -S rfc2307 ¥ -k /usr/ldap/serverkey.kdb -w keypwd
- RFC2307AIX スキーマ・タイプの LDAP サーバーをセットアップし、
プロキシー・アカウントを作成するには、次のように入力します。
このコマンドは、 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 用のサーバーにも適用されています。mksecldap -s -a cn=admin -p adminpwd -d c=us -S rfc2307aix -x cn=proxy,c=us -X proxypwd
- 直前のサーバー・セットアップを元に戻すには、次のように入力します。
このコマンドは、直前のセットアップをサーバー構成ファイルにアンドゥします。 安全面での理由から、 このコマンドは、 前のセットアップで作成されたデータベース・エントリーあるいはデータベースを除去しないことに注意してください。 データベース・エントリー/データベースが今後必要ない場合は、これらを手動で除去する必要があります。mksecldap -s -U
- クライアントを server1.ibm.com および server2.ibm.com
の両 LDAP サーバーを使用するようにセットアップするには、次のように入力します。
LDAP サーバーの管理者 DN およびパスワードを提供し、 このクライアントがサーバーに認証されるようにします。 mksecldap コマンドは使用するスキーマ・タイプのために LDAP サーバーに連絡し、 それに従ってクライアントをセットアップします。 コマンド・ラインから -d オプションを指定しないと、 サーバー DIT 全体でユーザー基本 DN とグループ基本 DN が検索されます。mksecldap -c -a cn=admin -p adminpwd -h server1.ibm.com,server2.ibm.com
- クライアントが SSL を使用して server3.ibm.com LDAP サーバーと通話するようにセットアップするには、次のように入力します。
このコマンドでセットアップする LDAP クライアントは、3 のケースに似ていますが、SSL 通信を使用します。 mksecldap コマンドは、 o=mycompany,c=us RDN でユーザー基本 DN とグループ基本 DN を検索します。 アカウント user1 および user2 は 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
注: -u ALL オプションを指定すると、 すべての LDAP ユーザーがこのクライアントにログインできるようになります。 - server4.ibm.com と通信し、
プロキシー・バインドを使用する ldap_auth
認証を使用するようにクライアントをセットアップするには、次のように入力します。
これによって、cn=proxy,c=us DN を持つ LDAP サーバーにバインドするように LDAP クライアントがセットアップされます。 管理者の DN は使用されないので、 クライアントに認可されるアクセスは、 cn=proxy,c=us DN 用の LDAP サーバー上にセットアップされた ACL によって異なります。また、クライアントは、 パスワードを平文で LDAP サーバーに比較のために送信する ldap_auth タイプの認証を使用するようにセットアップされます。mksecldap -c -a cn=proxy,c=us -p proxypwd -h server4.ibm.com -A ldap_auth
注: ldap_auth タイプの認証を使用するときは、認証の際にパスワードが LDAP サーバーに平文で送信されるため、SSL または TLS の使用を強くお勧めします。 - 直前のクライアント・セットアップを元に戻すには、次のように入力します。
このコマンドは、 直前のセットアップを /etc/security/ldap/ldap.cfg ファイルにアンドゥします。 このコマンドは、SYSTEM=LDAP および registry=LDAP エントリーを /etc/security/user ファイルから除去しません。mksecldap -c -U
- 認証専用モジュールとして LDAP を使用し、ユーザー識別に files を使用して、クライアントをセットアップするには、次のように入力します。
これにより LDAPAfiles 複合ロード・モジュールがセットアップされます。ここでは、モジュール LDAPA がユーザー認証に使用され、ユーザー識別には files が使用されます。認証は ldap_auth に設定されます。mksecldap -c -a cn=admin -p adminpwd -h server1.ibm.com -i files -A 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 (クライアント) |