Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

インターシステムズのプロセスおよびオペレーティング・システム・リソースの保護

概要

このドキュメントでは、InterSystems IRIS® データ・プラットフォームのインスタンスを実行しているオペレーティング・システムのセキュリティを強化することによって、侵入者の攻撃対象となり得る領域を減らす方法を説明します。トピックは以下のとおりです。

  • InterSystems IRIS インスタンスで必要なオペレーティング・システム・サービス

  • さまざまなタイプの InterSystems IRIS プロセス、および各プロセスの目的

  • 実行中インスタンス内の InterSystems IRIS プロセスの機能を特定する方法

  • 自身のサイトには不要と思われるオプションの InterSystems IRIS プロセスを削除または無効化する方法

  • UNIX® 上の iris プロセスまたは Windows 上の irisdb.exe プロセスに加えて、実行中のインスタンスに必要なプロセス

  • InterSystems IRIS プロセスに使用する TCP ポートと UDP ポート、および各ポートの目的

InterSystems IRIS プロセス

InterSystems IRIS インスタンスが含まれているほとんどのプロセスでは、UNIX® の場合は iris 実行可能ファイル、Windows の場合は irisdb.exe 実行可能ファイルが使用されます。これらの実行可能ファイルはそれぞれ、インストール・ディレクトリ下の bin ディレクトリにあります。実行中のインスタンスは、さまざまなシステム・プロセスを使用して、ユーザ・コードを実行しているプロセスを調整およびサポートします。InterSystems IRIS プロセスは、管理ポータルで [システムオペレーション][プロセス] に移動して調べることができます。

コア・プロセス

コア・システム・プロセスは、インスタンス初期化の早期段階で開始され、User 列に値を持っていません。これらのプロセスは Routine 列の値によって識別できます。システム・プロセスの場合、この列に InterSystems IRIS ルーチンの名前が常に含まれているわけではありません。Routine 列には、以下のコア・システム・プロセスが名前別に表示されます。

  • CONTROL – 共有メモリを作成および初期化して、各種の制御関数を提供します。

  • WRTDMN – データベースおよび WIJ へのすべての書き込みを実行します (ライト・デーモン)。

  • GARCOL – サイズの大きいキルをガーベッジ・コレクションします。

  • JRNDMN – ジャーナル書き込みを実行します。

  • EXPDMN – データベース拡張を実行します。

  • AUXWD – ライト・デーモン・タスクを実行します (ライト・デーモン予備ワーカ)。

  • MONITOR – アラートをアラート・ファイルに書き込んで、電子メール・アラートを送信します。

  • CLNDMN – 停止しているプロセスを検知して、立ち往生しているリソースをクリーンアップします。

  • RECEIVE – ECP ワーカ・プロセスを管理します。

  • ECPWork – ECP タスクを実行します (ECP ワーカ・プロセス)。

  • %SYS.SERVER – TCP 要求を受け取り、それらの要求を処理するようにワーカをディスパッチします (スーパーサーバ・プロセス)。

  • %CSP.Daemon – Web セッションの期限切れを管理します。

  • LMFMON – InterSystems IRIS ライセンスを監視して、使用状況データを UDP 経由でライセンス・サーバに送信します。

  • %SYS.Monitor.xxx – システム監視タスクを実行します (さまざまなシステム監視ワーカ)。

  • SYS.Monitor.xxx – アラートをアラート・ファイルに書き込んで、電子メール・アラートを送信します。

コア・システム・プロセスを停止することはできません。これらのプロセスを停止すると、InterSystems IRIS インスタンスは正常に動作できなくなります。

他のさまざまな InterSystems IRIS システム・プロセスがコア・システム・プロセスの後に開始されます。これらの多くは動的に開始されます。これらのプロセスについては、User 列に値が表示されます。これらのプロセスの多くは必須ではないため、必要な場合や構成されている場合を除いて開始されません。これらのプロセスは通常、プロセス表示の RoutineUser、および Client EXE の各列の値によって識別できます。

インスタンス開始時に、タスク・マネージャ・プロセス (TASKMGR) が作成されます。このプロセスは、各種のスケジュールされたシステム定義タスクとユーザ定義タスクを開始して、次の設定に基づいて実行されます。

  • ユーザ名 = TASKMGR

  • ルーチン = %SYS.TaskSuper.1

  • オペレーティング・システム・ユーザ名 = TASKMGR

ECP を使用していない場合、次の手順を実行することで、ECPWork プロセスが開始されることを防止できます。

  1. 管理ポータルから、[システム管理][構成][接続性][ECP設定] を選択して、アプリケーション・サーバとデータ・サーバの最大数をゼロに設定します。

  2. ECP サービスを無効にします。

ECP サーバ・プロセス

動的に開始される ECP サーバ・プロセスは、“ECP” で始まるルーチン名を持ちます。ユーザ名またはオペレーティング・システム・ユーザ名は通常は Daemon または %System ですが、Windows 上のインスタンス・サービス・ユーザの名前である場合もあります。以下にプロセス名の例を示します。

  • ECPCliR – ECP クライアント・リーダ

  • ECPCliW – ECP クライアント・ライター

  • ECPSrvR – ECP サーバ・リーダ

  • ECPSrvW – ECP サーバ・ライター

Web サーバ・プロセス

Web サーバ・プロセスは動的に開始されます。これらのプロセスは、アイドル状態でタスクを待っているときは、User 列に CSPSystem と表示されます。これらのプロセスがアクティブのときは、Web セッションの InterSystems IRIS ユーザと現在のルーチン名が表示されます。OS Username 列には Web Gateway と表示されます。

  • %SYS.cspServer および %SYS.cspServer2 – Web アプリケーション要求を処理するためにプロセスで使用される Web サーバ・ルーチン。

  • %SYS.cspServer3 – 非同期通信を処理し、Web ゲートウェイ管理を行うためにプロセスで使用される Web サーバ・ルーチン。

これらのプロセスは、他のインターシステムズ製品の従来のアプリケーションに関連付けられています。このようなアプリケーションにおけるこれらのルーチンの詳細は、この機能に関するよくある質問Opens in a new tabで該当する質問を参照してください。

Note:

これらのルーチンはライセンスを使用しません。ライセンスは、Web アプリケーション・セッションに関連付けられます。

これらのサーバそれぞれの実行可能ファイルは、Windows では CSPAP.dll であり、UNIX® では CSPap.so です。オペレーティング・システム・ユーザ名は Web Gateway です。プログラム名は、プロセスでタスクが変更されるたびに変化する可能性があります。

ミラー・システム・プロセス

ミラー・システム・プロセスが開始されるのは、ミラーリングが構成されている場合です。これらのプロセスは、ミラーリングに関するさまざまな機能を実行します。

  • MIRRORMGR – ミラー・マスター。ユーザ名は、実行されるミラー機能を表します (Mirror MasterMirror PrimaryMirror DejournalMirror Prefetch、または Mirror JrnRead)。オペレーティング・システム・ユーザ名は Daemon です。TCP ポートは開かれません。デバイスはオペレーティング・システムの NULL デバイスです。

  • MIRRORCOMM – ミラー通信プロセス。ユーザ名は Mirror ArbiterMirror Backup、または Mirror Svr:RdDmn です。オペレーティング・システム・ユーザ名は Daemonです。デバイスは |TCP|XXXです。TCP ポートは、デバイス名またはミラー構成から確認できます。

IP プロトコル

TCP

InterSystems IRIS インスタンスは、構成オプションで指定されている TCP/IP ポート上の接続を受け付けます。ポートの使用に関するオペレーティング・システム側の制約事項 (ファイアウォールに関するものなど) がある場合は、InterSystems IRIS 向けに構成されているポートと一貫したポート設定によって着信アクセスを許可する必要があります。ファイアウォールで実行可能ファイルのルールが設定されている場合は (Windows 上のファイアウォールでルールが設定されているのと同様に)、必要に応じてプログラムにも許可を付与してください。例えば、irisdb.exe、licmanager.exe、ISCAgent.exe、および httpd.exe の各実行可能ファイルはこのような許可を必要とします。

InterSystems IRIS で使用される TCP/IP ポートは、インスタンス構成によって設定されています。構成されているポートは、インストール・ディレクトリ内の iris.cpf ファイルで調べることができます。[Startup] セクションでは、DefaultPortDefaultPortBindAddress、および WebServerPort を構成します。DefaultPort では、スーパーサーバが接続を受け付けるポートを指定します。既定値は 1972 です。DefaultPortBindAddress では、必要に応じてスーパーサーバのバインド先であるインタフェース・アドレスを指定します。WebServerPort では、プライベート Web サーバが接続を受け付けるポートを指定します。既定値は 52773 です。

プライベート Web サーバはほとんどの場合は開発環境で使用されるため、運用環境で使用することは推奨されません。

[SQL] セクションにある JDBCGatewayPort では、Java Database Connectivity (JDBC) ゲートウェイ・ポート番号を定義します。既定値は 62972 です。

[Telnet] セクションにある Port 値では、InterSystems Telnet サービス (ctelnetd.exe) が Windows 上の InterSystems IRIS への Telnet 接続を受け付けるポートを指定します。

UDP

InterSystems IRIS とライセンス・サーバ (licmanager または licmanager.exe) は、主に UDP プロトコルを使用して通信します。InterSystems IRIS は、メッセージを UDP パケットとしてライセンス・サーバのポートに送信します。このポートは既定では 4002 であり、管理ポータルの [システム管理]→[ライセンス]→[ライセンスサーバ] で設定します。ライセンス・サーバが InterSystems IRIS に応答するために使用するポートは、InterSystems IRIS が元のメッセージを送信するために使用したポートです (ライセンス・サーバはパケット・ヘッダで該当ポートを確認します)。TCP は、クエリ要求時に InterSystems IRIS とライセンス・サーバの間でのみ使用されます。InterSystems IRIS は、受け付け/リッスンのために TCP ポートをオープンして、このポート番号をクエリ要求に格納して送信します。ライセンス・サーバはそのポートに接続して、結果を TCP 接続を介して送信します。ポート番号はライセンス・サーバのポート番号とします。そのようにしないとポート 0 が使用され、開いているポートを無作為に選択するようにオペレーティング・システムに指定することになります。ここで指定したポートは、クエリ結果の送信時にのみ開きます。

SNMP

%System_Monitor サービスを使用すると、InterSystems IRIS は管理対象システム上の SNMP エージェントに対するサブエージェントとして機能します。このサービスは、InterSystems IRIS の管理とデータの監視 (提供されている MIB で定義) のための SNMP 要求 (GET または GETNEXT) と、SNMP トラップ (InterSystems IRIS によって送信される非同期通知) の両方をサポートしています。%System_Monitor サービスを無効にすると、ローカル・システム上の SNMP エージェントと InterSystems IRIS の間のすべての通信が無効になり、その結果としてすべてのリモート SNMP マネージャ・アプリケーションとの通信も無効になります。

HTTP

HTTP 要求を処理するために InterSystems IRIS で使用される Web ゲートウェイのコンポーネントに関する説明を参照してください。このためには、[ドキュメント]→[InterSystems IRIS Web 開発]→[Web ゲートウェイ・ガイド]→[Web ゲートウェイの概要] の順に選択して、オンライン・ドキュメントにアクセスします。プライベート Web サーバは、インストール・ディレクトリ下の httpd\bin サブディレクトリにある httpd.exe (UNIX® 上では httpd) です。プライベート Web サーバの開始を制御するには、管理ポータルで [システム管理]→[構成]→[追加設定]→[開始] を選択して、[ウェブサーバ] を true または false に設定します。

ゲートウェイ

InterSystems IRIS は、外部データに対するいくつかのゲートウェイを提供しています。これらのゲートウェイには、SQL ゲートウェイ、JDBC ゲートウェイ、オブジェクト・ゲートウェイ、および XSLT 2.0 ゲートウェイのサーバが含まれます。使用される TCP/IP ポートを定義するには、管理ポータルで [システム管理]→[構成]→[接続性] を選択してアクセスできるゲートウェイ・セットアップ・ページを使用します。これらのゲートウェイが依存しているオペレーティング・システムのサービスやプロセスの詳細は、各ゲートウェイのドキュメントを参照してください。

不要な InterSystems IRIS プロセスの削除

InterSystems サービス・プロセスが作成されるのは、これらのプロセスがサポートしているサービスが有効化および構成されている場合のみです。InterSystems サービス・プロセスが実行されることを防止するために、追加の操作を実行する必要はありません。

外部プロセス

InterSystems IRIS インスタンスは、このインスタンスをサポートするいくつかの機能を実行するために、iris[.exe] 以外の実行可能ファイルを実行するプロセスを開始します。これらの実行可能ファイルのインスタンス固有バージョンは (これらの実行可能ファイルは通常はインスタンス・バージョンごとに異なります)、インストール・ディレクトリの bin サブディレクトリにあります。複数の InterSystems IRIS インスタンスによって共有される可能性のある実行可能ファイルは、共通のディレクトリに格納されています。

以下に、永続プロセスによって実行される可能性のある実行可能ファイルを示します。これらの実行可能ファイルは Windows 上の bin ディレクトリに格納されています。

  • irisdb.exe — InterSystems IRIS 実行可能ファイル。

  • licmanager.exe — InterSystems IRIS ライセンス・サーバ。

  • CStudio.exe — スタジオ。

  • iristray.exe — システム・トレイ内の InterSystems IRIS ランチャー。

  • Iristerm.exe — ターミナル。

  • iristrmd.exe — ローカルのターミナル接続デーモン。ローカルのターミナル接続 (Telnet ではなく) を受け付けて、その接続を処理するための InterSystems IRIS サーバ・プロセスを作成します。

  • irisirdimj.exe — InterSystems IRIS の始動時とシャットダウン時に WIJ ファイルを処理する実行可能ファイル。

以下に、永続プロセスによって実行される可能性のある実行可能ファイルを示します。これらの実行可能ファイルは UNIX® 上の bin ディレクトリに格納されています。

  • iris — InterSystems IRIS 実行可能ファイル。

  • licmanager — InterSystems IRIS ライセンス・サーバ。

  • irisirdimj — InterSystems IRIS の始動時とシャットダウン時に WIJ ファイルを処理します。

bin ディレクトリ内の他のプログラムもたまに使用されますが、これらのプロセスは短時間しか実行されないため、プロセスのリスト表示で長時間表示されることはあまりありません。

複数の InterSystems IRIS インスタンスによって共有される実行可能バイナリは、Windows 上の C:\Program Files (x86)\Common Files\InterSystems のサブディレクトリに格納されています。これらのプロセスは、これらの実行可能バイナリを Windows 上の共通ディレクトリから実行しているものとして表示されることがあります。

  • ISCAgent.exe – ミラーのフェイルオーバーを制御します。

  • Iristerm.exe – ターミナル。

共有バイナリは通常、UNIX®上の /usr/local/etc/irissys にインストールされます。

  • ISCAgent* - ミラーのフェイルオーバーを制御します。

実行可能バイナリに加えて、いくつかの共有ライブラリ・バイナリが共通ディレクトリに格納されています。

相互運用性

アダプタ

InterSystems IRIS は、アダプタを使用して外部インタフェースとの通信を可能にします。

電子メール

電子メール・アダプタは InterSystems IRIS プロセスです。これらのアダプタは、TCP/IP を使用して電子メール・サーバとの間で電子メールを送受信します。発信アダプタは、SMTP サーバにメールを送信します。着信アダプタは、POP3 サーバからの該当する (フィルタ処理された) メッセージをポーリングします。電子メール・サーバはリモート・サーバ上に配置されている可能性が高いため、ローカル・プロセスは存在しない一方で、リモート・システムにファイアウォールを介してアクセスできる必要があります。

ファイル

ファイル入力アダプタは InterSystems IRIS プロセスです。これらのアダプタは、監視対象として構成されたディレクトリを定期的に調べて、そのディレクトリにあるファイルを読み取って、サポート対象として構成されたビジネス・サービスにそれらのファイルを渡して、構成されたアーカイブ・ディレクトリにそれらのファイルを移動します。EnsLib.File.InboundAdapterOpens in a new tab クラスは実装を提供します。FilePathWorkPath、および ArchivePath の各プロパティは、それぞれ入力ディレクトリ、一時作業ディレクトリ、およびアーカイブ・ディレクトリを定義します。

ファイル出力アダプタは、プロダクションのビジネス・オペレーションによってデータをファイルに書き込むために使用されます。ファイルのパスと名前はビジネス・オペレーションによって指定され、ファイルに対する処理は、EnsLib.File.OutboundAdapterOpens in a new tab クラスのメソッドを呼び出すことで実行されます。メッセージは通常、実際の出力処理を実行するワーカ・ジョブのキューに格納されます。このことは、Ens.QueueOpens in a new tab プロセスの存在を暗黙的に意味します。

FTP

InterSystems IRIS は、%Net.FtpSessionOpens in a new tab クラスを使用したリモート FTP サーバとの FTP 通信用のクライアントとして機能します。%Net.FtpSessionOpens in a new tab クラスは、着信接続を回避するために、データ・チャンネルに対して PASV を使用するように構成できます。InterSystems IRIS は、FTP の着信アダプタと発信アダプタを提供します。どちらも FTP クライアントとして機能して、ユーザによって作成されたビジネス・サービスの管理下で get (入力) または put (出力) を実行します。FTP のサーバとポートは構成可能です。FTP アダプタは InterSystems IRIS プロセスです。

HTTP

HTTP アダプタ (EnsLib.HTTP.InboundAdapterOpens in a new tab および EnsLib.HTTP.OutboundAdapterOpens in a new tab) は、プロダクションが HTTP 要求と HTTP 応答を送受信することを可能にします。HTTP アダプタは InterSystems IRIS プロセスによって実装されます。着信 HTTP アダプタのポートとインタフェースの IP アドレスは構成可能です。発信 HTTP アダプタの対象であるサーバとポートは、クラス設定によって指定されます。

Java ゲートウェイ

プロダクションのアダプタは、Java ゲートウェイを使用して Java 中間プロセスを介して通信します。Java 仮想マシンの存在に依存する Java プロセスが開始されます。InterSystems IRIS サーバ・プロセスは、TCP 接続を介して Java プロセスと通信します。使用される TCP ポートは構成可能です。

LDAP

ビジネス・サービスは、EnsLib.LDAP.OutboundAdapterOpens in a new tab クラスを他のアダプタと同じように使用して LDAP サーバに要求を送信したり応答を受信したりできます。

MQSeries

EnsLib.MQSeries.InboundAdapterOpens in a new tab クラスと EnsLib.MQSeries.OutboundAdapterOpens in a new tab クラスを使用すると、プロダクションは、IBM WebSphere MQ のメッセージ・キューとの間でメッセージを送受信できます。動的に読み込まれる共有ライブラリ・バイナリが通信用に使用されます。

パイプ

EnsLib.Pipe.InboundAdapterOpens in a new tab クラスと EnsLib.Pipe.OutboundAdapterOpens in a new tab クラスを使用すると、プロダクションはオペレーティング・システムのコマンドやシェル・スクリプトを実行できます。これらは、InterSystems IRIS の外部プロセスを作成して、パイプを介してこのプロセスと通信するため、パイプ・アダプタが外部プロセスと通信している間は外部プロセスは存続します。このプロセスによって実行されるコマンドは、アダプタ・クラスの CommandLine プロパティに指定された値によって決まります。

SAP

Java ゲートウェイは、EnlLib.SAP.BootStrap クラスの ImportSAP メソッドを使用してインポートされたクラスを使用して SAP Java コネクタと通信するために使用されます。

SQL

SQL 着信アダプタおよび発信アダプタは、プロダクションが JDBC または ODBC に準拠したデータベースと通信することを可能にします。一般に、着信 SQL アダプタ (EnsLib.SQL.InboundAdapterOpens in a new tab) はクエリを定期的に実行してから、結果セットの行を繰り返し処理して、関連付けられたビジネス・サービスに 1 行ずつ渡します。SQL アダプタは、InterSystems SQL ゲートウェイと JDBC ゲートウェイの基盤機能を使用します。

TCP

InterSystems IRIS は、入力 TCP アダプタと出力 TCP アダプタを提供します。各 TCP 着信アダプタは、指定されたポート上でデータの有無を確認して、入力を読み取り、関連付けられたビジネス・サービスに入力をストリームとして送信します。プロダクション内では、発信 TCP アダプタは、ユーザによって作成および構成されたビジネス・オペレーションと関連付けられています。このビジネス・オペレーションは、そのプロダクション内からのメッセージを受信して、メッセージ・タイプを調べて、発信 TCP アダプタ内で適切なメソッドを実行して、TCP を介してデータを送信します。

Telnet

InterSystems IRIS が提供する EnsLib.Telnet.OutboundAdapterOpens in a new tab を使用すると、別のシステム上の telnet 機能への発信 telnet 接続が可能になります。このアダプタが提供するメソッドを使用して、telnet クライアント・ソフトウェアを使用してリモート・システムに手動でログインする機能をプログラムによってエミュレートします。InterSystems IRIS TCP デバイスは基盤テクノロジです。

FeedbackOpens in a new tab