インターシステムズのセキュリティのための準備
インターシステムズのセキュリティのための準備
ここでは、InterSystems IRIS をインストールする前に検討する必要があるセキュリティ関連の問題をいくつか取り上げて説明します。インターシステムズのセキュリティ機能の概要は、“インターシステムズのセキュリティについて” を参照してください。認証や承認についても詳細を確認できます。
このセクションでは、以下のトピックについて説明します。
-
インターシステムズの初期セキュリティ設定 — 各種既定のセキュリティ設定の特徴について説明します。特に、通常またはロック・ダウンのインターシステムズのセキュリティを使用する場合に役立ちます。
-
ユーザ・アカウントの構成 — InterSystems IRIS を実行するユーザ・アカウントに必要な許可について説明します。
-
Kerberos を使用したセキュリティ環境の準備 — InterSystems IRIS で認証メカニズムとして Kerberos を使用する予定の場合に実行する必要がある追加のタスクを詳細に説明します。お使いの環境で Kerberos を使用しない場合、このトピックは省略してかまいません。
このドキュメントで説明する環境よりさらに複雑なセキュリティ環境を使用する場合、具体的な設定方法については、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。
"インターシステムズのセキュリティについて" の説明を参照し、このセクションの手順を実行したうえで、"インストール・ガイド" で説明されているように、インストール手順に必要なセキュリティ情報を指定してください。
インターシステムズの初期セキュリティ設定
インストール時に、[最小]、[通常]、または [ロック・ダウン] の 3 つの中から初期セキュリティ構成を選択します。概して、プロダクション環境で使用するインスタンスには [ロック・ダウン]、開発環境で使用するインスタンスには [通常] を選択することをお勧めします。以下のセクションでは、これらの各構成の違い、および各構成の初期のサービス・プロパティについて説明します。
プロダクション環境の場合、選択するオプションにかかわらず、インストール後に個々のセキュリティ設定を調整する必要があります。詳細は、以下のセクションを参照してください。
初期のユーザ・セキュリティ設定
InterSystems IRIS ユーザ・アカウントの一般情報は、"ユーザ・アカウント" を参照してください。
すべてのユーザ・アカウントで特定のパスワード要件および設定が共有されます。次の表に示しているように、これらの設定の初期値は選択したセキュリティ・レベルに基づきます。
セキュリティ設定 | 最小 | 通常 | ロック・ダウン | 説明 |
---|---|---|---|---|
パスワード・パターン* | 3.32ANP | 3.32ANP | 8.32ANP |
既定で、パスワードには英数字および句読点を使用できます。長さの初期要件は、最小および通常のインストールの場合は 3 ~ 32 文字、ロック・ダウン・インストールの場合は 8 ~ 32 文字です。 パスワード・パターンの詳細は、"パスワードの強固さとパスワードのポリシー" を参照してください。 |
不活動上限* | 0 | 90 日間 | 90 日間 |
アカウントがアクティブではなかった期間が、この値で指定された日数を超えると、このアカウントは無効になります。最小のインストールでは、この上限は 0 に設定されます。これは、アカウントがアクティブではない期間がどれだけ続いても、アカウントは無効化されないことを表します。通常のインストールやロック・ダウン・インストールに対する上限の既定値は 90 日間です。 |
_SYSTEM ユーザの有効化 | 可 | 可 | 不可 | |
UnknownUser に割り当てられるロール | %All | なし | なし |
認証されていないユーザが接続した場合、InterSystems IRIS では、UnknownUser という特殊な名前が $USERNAME に割り当てられ、そのユーザに対して定義されているロールが $ROLES に割り当てられます。最小セキュリティのインストールでは、UnknownUser は %All ロールに割り当てられます。最小以外のセキュリティ・レベルを選択した場合、UnknownUser にはロールは割り当てられません。 |
* これらの設定は、管理ポータルの [システム]→[セキュリティ管理]→[システムセキュリティ設定]→[システムワイドセキュリティパラメータ] ページから管理できます。詳細は、"システム規模のセキュリティ・パラメータ" を参照してください。
初期のユーザ・アカウント・パスワード
InterSystems IRIS では、インストール時に複数のユーザ・アカウントが作成されます。事前定義の InterSystems IRIS ユーザ・アカウントが既定で備えるパスワードおよび動作内容は、インストールが最小のセキュリティ、通常のセキュリティ、またはロック・ダウン・セキュリティのいずれの条件で実行されたかによって異なります。これらの相違点は、以下のとおりです。
-
最小セキュリティ – 作成されたすべてのアカウントのうち、_PUBLIC を除くアカウントで、最初の既定のパスワードが “SYS” に設定されます。InterSystems IRIS インスタンスに対する承認されないアクセスを防止するために、UnknownUser を除くすべてのアカウントで、インストール完了後にアカウントのパスワードを変更する必要があります。
_PUBLIC アカウントには既定のパスワードはありません。このアカウントが有効になることはないので、パスワードを指定しないでください。
-
通常セキュリティ – 作成されたすべてのアカウントのうち、_PUBLIC を除くアカウントで、特権ユーザ・アカウント用に選択されたものと同じパスワードを受け取ります。インストール完了後にこれらのパスワードを変更し、アカウントごとに独自のパスワードとすることをお勧めします。
_PUBLIC アカウントには既定のパスワードはありません。このアカウントが有効になることはないので、パスワードを指定しないでください。
-
ロック・ダウン・セキュリティ – 作成されたすべてのアカウントのうち、_PUBLIC を除くアカウントで、特権ユーザ・アカウント用に選択されたものと同じパスワードを受け取ります。インストール完了後にこれらのパスワードを変更し、アカウントごとに独自のパスワードとすることをお勧めします。
_PUBLIC アカウントには既定のパスワードはありません。このアカウントが有効になることはないので、パスワードを指定しないでください。ロック・ダウン・インストールでは、_SYSTEM アカウントも無効になっています。
特に最小のセキュリティによるインストールでは、既定のパスワードはセキュリティ面で脆弱です。この問題を解決するには、そのアカウントを無効にするか、パスワードを変更します。普通はアカウントを無効にすることをお勧めします。
これは特に、コンテナ化されたインスタンスでは重要な問題です。問題を解決する方法を含む詳細は、"認証とパスワードOpens in a new tab" を参照してください。
初期のサービス・プロパティ
サービスは、ユーザとコンピュータが InterSystems IRIS に接続するための主要な手段です。インターシステムズのサービスの詳細は、"サービス" を参照してください。
サービス・プロパティ | 最小 | 通常 | ロック・ダウン | 説明 |
---|---|---|---|---|
Use 許可が Public | 可 | 可 | 不可 |
サービス・リソースに対する Use 許可が Public である場合、あらゆるユーザがそのサービスを利用できます。それ以外の場合は、権限を与えられているユーザのみがそのサービスを利用できます。 |
認証が必要 | 不可 | 可 | 可 |
初期設定が通常またはロック・ダウンであるインストールの場合、すべてのサービスで何らかの認証が必要になります (インスタンス認証、オペレーティング・システム・ベース、または Kerberos)。それ以外の場合は、非認証の接続が許可されます。 |
有効化されるサービス | 最も多い | 一部 | 最も少ない |
インストールの初期セキュリティ設定によって、InterSystems IRIS を最初に起動したとき、どのサービスが有効になり、どのサービスが無効になるかが決定します。次の表 "有効化されるサービス" は、これらの初期設定を示しています。 |
サービス | 最小 | 通常 | ロック・ダウン |
---|---|---|---|
%Service_Bindings | 有効 | 有効 | 無効 |
%Service_CacheDirect | 有効 | 無効 | 無効 |
%Service_CallIn | 有効 | 無効 | 無効 |
%Service_ComPort | 無効 | 無効 | 無効 |
%Service_Console* | 有効 | 有効 | 有効 |
%Service_ECP | 無効 | 無効 | 無効 |
%Service_Monitor | 無効 | 無効 | 無効 |
%Service_Telnet* | 無効 | 無効 | 無効 |
%Service_Terminal† | 有効 | 有効 | 有効 |
%Service_WebGateway | 有効 | 有効 | 有効 |
* Windows サーバのみで使用できるサービス
† 非 Windows サーバのみで使用できるサービス
ユーザ・アカウントの構成
インストール・プロセス中に、InterSystems IRIS プロセスをインスタンス所有者として実行するアカウントを選択する必要があります。インストールにより、インスタンス所有者に対して %All ロールを持つ InterSystems IRIS アカウントが作成され、そのアカウントに InterSystems IRIS への完全な管理者アクセスが付与されます。
インスタンス所有者が必要な特権を確実に持つようにするために、新しいユーザ・アカウントを作成しなければならないこともあります。以下のセクションには、必要なアカウントと特権に関する OS 固有の詳細が示されています。
-
Windows — "インストール・ガイド" の “Microsoft Windows への InterSystems IRIS のインストール” の章の "Windows ユーザ・アカウントOpens in a new tab"
-
Unix® および Linux — "インストール・ガイド" の “InterSystems IRIS の UNIX®、Linux、および macOS へのインストール” の章の "所有者およびグループの決定Opens in a new tab"
Kerberos を使用したセキュリティ環境の準備
InterSystems IRIS でサポートされるすべてのプラットフォームには、ベンダが提供およびサポートするバージョンの Kerberos が備わっています。Kerberos を使用するには、Kerberos KDC (Key Distribution Center) または Windows ドメイン・コントローラがネットワークに接続されている必要があります。それぞれをインストールするための準備は、以下のとおりです。
-
Windows ドメイン・コントローラ
この構成では、InterSystems IRIS サーバとクライアントを Windows および非 Windows マシン上で実行し、Windows ドメイン・コントローラを使用して KDC 機能を実現します。ドメイン管理者は、InterSystems IRIS サーバ上で InterSystems サービスを実行するためのドメイン・アカウントを作成します。Windows および非 Windows の InterSystems IRIS サーバを使用する場合の要件については、以下のセクションを参照してください。
-
システムで使用するアプリケーションによっては、"Windows Kerberos クライアントの構成" で説明されている手順も実行する必要があります。
-
非 Windows の KDC
この構成では、InterSystems IRIS サーバとすべてのクライアントを非 Windows マシン上で実行し、UNIX® または Kerberos の KDC を実現します。UNIX® または macOS KDC と InterSystems IRIS サーバを使用するための要件については、以下の 2 つのセクションを参照してください。
このドキュメントでは、以下の関連する個別のエンティティについて言及します。
-
サービス・アカウント — オペレーティング・システム (Window など) 内のエンティティ。ソフトウェア・アプリケーションまたはサービスを表します。
-
サービス・プリンシパル — Kerberos のエンティティ。ソフトウェア・アプリケーションまたはサービスを表します。
Windows サーバ用の Windows サービス・アカウントの作成
KDC と、ドメイン・コントローラ上で動作するその他のセキュリティ・サービスを統合することによって、Kerberos 認証プロトコルを実装します。InterSystems IRIS を Windows ドメインにインストールする前に、Windows ドメイン・コントローラを使用して、Windows マシン上の各 InterSystems IRIS サーバ・インスタンスのサービス・アカウントを作成する必要があります。
アカウントの特性
Windows ドメイン・コントローラにこのアカウントを作成する場合は、次のように設定します。
-
アカウントの [パスワードを無期限にする] プロパティを設定します。
-
作成したアカウントを、InterSystems IRIS サーバ・マシン上の Administrators グループのメンバにします。
-
このアカウントを [サービスとしてログオン] ポリシーに追加します。
ドメイン全体のポリシーが有効な場合、正常に InterSystems IRIS を機能させるには、このサービス・アカウントをポリシーに追加する必要があります。
名前および名前付け規約
クライアントとサーバが排他的に Windows 上に存在する環境でサービス・プリンシパルに名前を付ける方法には次の 2 種類があります。標準の Kerberos 名前付け規約に従うことも、一意の文字列を使用することもできます。Kerberos 名前付け規約に従うと、今後 Windows 以外のシステムを使用することになった場合にも互換性が保証されます。名前の作成方法の選択によって、サーバへの接続を設定するための手順は多少異なります。
-
Kerberos 規約に従った名前では、以下の手順に従います。
-
Windows の setspn コマンドを実行し、service_principal/fully_qualified_domain_name の形式でサービス・プリンシパルの名前を指定します。service_principal には、通常 iris を指定し、fully_qualified_domain_name には、マシン名をドメイン付きで指定します。例えば、iris/irisserver.example.com のようにサービス・プリンシパル名を指定します。setspn ツールの詳細は、Microsoft のドキュメントの "SetspnOpens in a new tab" のページを参照してください。
-
[InterSystems IRIS サーバ・マネージャ] ダイアログで、新しい優先サーバを追加するために [Kerberos] を選択します。[サービスプリンシパル名] フィールドに指定する名前は setspn で指定したプリンシパル名と一致する必要があります。
-
-
任意の一意の文字列を使った名前では、以下の手順に従います。
-
サービス・プリンシパルの名前を選択します。InterSystems IRIS サーバ・インスタンスを表す各アカウントについて推奨される名前付け規約は “irisHOST” の形式で、リテラル iris に続けてホスト・コンピュータ名を大文字で指定します。例えば、WINSRVR という Windows マシン上で InterSystems IRIS サーバを実行する場合、ドメイン・アカウント名は irisWINSRVR となります。
-
[InterSystems IRIS サーバ・マネージャ] ダイアログで、新しい優先サーバを追加するために [Kerberos] を選択します。[サービスプリンシパル名] フィールドに、サービス・プリンシパルに対して選択した名前を指定します。
-
リモート・サーバ接続の構成手順の詳細は、"リモート・サーバへの接続" を参照してください。
Windows Kerberos クライアントの構成
Windows クライアントで Kerberos を使用している場合、ユーザに認証情報の入力を求めないよう、クライアントの構成が必要になることもあります。これは、資格情報を要求できないプログラムを使用している場合に必要となります。そうでないと、プログラムは接続不可能となります。
資格情報の入力を求めないように Windows を構成するには、以下の手順を実行します。
-
Windows クライアント・マシンで、レジストリ・エディタ regedit.exe を起動します。
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters キーに進みます。
-
このキーで、AllowTgtSessionKey の値を 1 に設定します。
非 Windows サーバ用の Windows サービス・アカウントの作成
InterSystems IRIS を Windows ドメインにインストールする前に、Windows ドメイン・コントローラを使用して、非 Windows マシン上の各 InterSystems IRIS サーバ・インスタンスのサービス・アカウントを作成する必要があります。そのマシン上に存在する InterSystems IRIS サーバ・インスタンスの数にかかわらず、マシンごとにサービス・アカウントを 1 つ作成してください。
通常、これらのアカウントには “irisHOST” という名前を付けます。iris という文字列の後に、ホスト・コンピュータ名を大文字で指定してください。例えば、UNIXSRVR という非 Windows マシン上で InterSystems IRIS サーバを実行する場合、ドメイン・アカウント名は irisUNIXSRVR となります。非 Windows プラットフォーム上の InterSystems IRIS サーバの場合、このアカウントが Kerberos サービス・プリンシパルにマップされます。
Windows ドメイン・コントローラでこのアカウントを作成する際、InterSystems IRIS では、そのアカウントに [パスワードを無期限にする] のプロパティを設定する必要があります。
Windows ドメインで非 Windows InterSystems IRIS サーバを設定するには、Windows ドメインから keytab ファイルを取得する必要があります。keytab ファイルは、InterSystems IRIS サーバのサーバ名とそのキーが格納されているファイルです。
そのためには、Windows サービス・アカウント (この例では irisUNIXSRVR) を InterSystems IRIS サーバ上のサービス・プリンシパルにマップし、ドメイン・コントローラで ktpass コマンドライン・ツールを使用して、アカウントからキーを取得します。これは、Windows サポート・ツールのひとつとして Microsoft が提供しています。
このコマンドを実行すると、設定したアカウントが UNIX®/Linux マシン上のアカウントにマップされます。さらに、そのアカウントのキーも生成されます。このコマンドでは以下のパラメータを指定する必要があります。
パラメータ | 説明 |
---|---|
/princ | iris/<fully qualified hostname>@<kerberos realm> の形式で表されたプリンシパル名。 |
/mapuser | 作成されたアカウントの名前 (iris<HOST> の形式)。 |
/pass | アカウントの作成時に指定されたパスワード。 |
/crypto | 使用する暗号化の種類。指定しない場合は、既定値が使用されます。 |
/out | 生成する keytab ファイル。InterSystems IRIS サーバ・マシンに渡し、既存の keytab ファイルと交換またはマージします。 |
UNIX®/Linux プラットフォームのプリンシパル名はこのテーブルに示す形式 (リテラル iris を先頭部分に置きます) で指定する必要があります。
キー・ファイルを生成した後、InterSystems IRIS サーバ上のファイルにそのキー・ファイルを移動します。キー・ファイルの特徴は以下のセクションで説明されています。
KDC での非 Windows サーバのサービス・プリンシパルの作成
非 Windows 環境では、UNIX®/Linux または macOS の KDC を使用する UNIX®/Linux または macOS の各 InterSystems IRIS サーバにサービス・プリンシパルを作成する必要があります。サービス・プリンシパル名は、iris/<fully qualified hostname>@<kerberos realm> の形式で表されます。
キー・ファイルの特徴
このプリンシパルを作成したら、InterSystems IRIS サーバ上のキー・ファイルにそのキーを抽出します。キー・ファイルの特徴を以下に示します。
-
ほとんどのバージョンの UNIX® でのパス名は install-dir/mgr/iris.keytab です。macOS および SUSE Linux でのパス名は /etc/krb5.keytab です。
-
このファイルは、InterSystems IRIS インストールを所有するユーザおよびグループ irisusr が所有します。
-
このファイルのアクセス許可は、640 です。
Kerberos KDC 機能のテスト
非 Windows のサーバとクライアントのみで構成したシステムで Kerberos を使用する場合は、Windows のドメイン・コントローラを使用するより、UNIX®/Linux のネイティブな KDC を使用した方が簡単です。KDC のインストール方法と構成方法については、各ベンダのドキュメントを参照してください。通常、KDC のインストールと構成はシステム管理者が行います。
Kerberos をインストールするときは、以下の 2 つのソフトウェア・セットをインストールします。
-
KDC。Kerberos サーバ・マシンにインストールします。
-
クライアント・ソフトウェア。Kerberos クライアントをホストするすべてのマシンにインストールします。このソフトウェア・セットは、オペレーティング・システムによって大きく異なる場合があります。クライアント・ソフトウェアの種類とそのインストール方法については、オペレーティング・システム・ベンダのドキュメントを参照してください。
必要な Kerberos ソフトウェアをインストールしたら、kadmin、kinit、および klist コマンドを使用した簡単なテストを実行できます。これらのコマンドは、ユーザのプリンシパルを Kerberos データベースに追加し、ユーザの TGT (Ticket-Granting Ticket) を取得したうえで、その TGT を列記します。
テストが完了し、登録されたプリンシパルのチケットを Kerberos が提供できることを確認したら、InterSystems IRIS をインストールする準備は完了です。