IBM Systems Director Navigator for iをセキュアにする
この便利なシステム管理ツールを活用する前にセキュリティを正しく設定しましょう
IBM Systems Director Navigator for iはブラウザ・ベースのシステム管理ツールで、IBM iオペレーティング・システム内に統合されています。このツールはブラウザ上でツールを開いてログオンし、作業をするだけでOSの管理を支援してくれるように設計されています。Director Navigator for iの最新のリリースはIBM iバージョン7.1に同梱されており、使用したくなるようなさまざまなシステム管理機能が含まれています。管理タスクには作業管理、ユーザーとグループ、パフォーマンス、ファイル・システム管理などがあります。
こうしたタスクが利用可能でしかもそのタスクが強力であれば、Director Navigator for iへのアクセスをセキュアにしておかなければならないのはすぐにわかることです。しかしこのツールはブラウザ・ベースのUIであるため、データセンターで活用する前に特別に考慮しなければならない点があります。Director Navigator for iを理解する方法の詳細をご紹介しながら、タスクをセキュアにしてその機能を誰が使用しているのかを正確に把握するさまざまな方法をご説明します。
Director Navigator for IBM iの基礎
Director Navigator for iを起動するにはブラウザのアドレス・バーに「http://hostA:2001」と入力します。本稿はセキュリティについてフォーカスしていますので、SECADMまたはその他のセキュリティ・レベルの権限を持っていることを確認しそのIBM iユーザーIDでサイン・オンしてください。
ログオンすると、画面の左側にSystem i Navigatorで使用したおなじみのカテゴリのナビゲーション・エリアがすぐに表示されます(図―1)。いろいろクリックしてみるとIBM iオペレーティング・システムを管理するのに必要なオブジェクトやタスクをすべて見ることができます。IBMは長年にわたって使い勝手の良さにフォーカスしていますので、このインタフェース内に結果が表示されるようになっています。頻繁に参照したいビューがあるのであれば、そのビューにフォーカスをあてておいてその右側で[Select Action]ドロップ・ダウン・メニューを選択して[マイ・スタートアップ・ページに追加]を選択するだけです。この操作により、ログオン直後にすぐに開いておきたいタブ(たとえばユーザーのリスト、サーバー・ジョブ、IFSなど)のリストが作成されます。
いろいろクリックしてみると、ほとんどの管理者の方がそうであったように、セキュリティに関する3つの疑問が浮かんでくるかもしれません。
- 自分が使用しているブラウザ接続はどれくらいセキュアなのか。このアドレスの最初にHTTPS接続を使用することはできないのか。
- Director Navigator for iのすべてのタスクをセキュアにするにはどうすればいいのか。
- 一番上にリストされている「対象システム」とは何か。この対象システムを利用して環境をよりセキュアにするにはどうすればよいか。
本稿の残りの部分ではこの3つの疑問点に答えることにフォーカスします。
ブラウザ接続をセキュアにする
他のウェブ・ベースのアプリケーションと同様にDirector Navigator for iもブラウザとシステムの間の通信手段としてHTTPを使用しており、したがって機密データがウェブUIで参照できるように送信されます。このため、常にSSLを使用して接続をセキュアにすることをお勧めします。IBM iでは、デフォルトのアドレス「https://hostA:2010」 (デフォルトのポートはセキュアであるかないかで、2001と2010と異なる点に注意してください)を選択するか、またはポートやその他のオプションを変更したい場合はHTTPサーバー管理UIを開いてください。
HTTPサーバー管理UIを開くにはDirector Navigator for iの左側のペインで[インターネット構成]のリンクをクリックします。次に[IBM i用ウェブ管理]をクリックします。システムがユーザーIDとパスワードをもう一度聞いてきますので入力します。ウェブ管理ウィンドウが開くので、[管理]タブをクリックし、次に[ADMIN HTTPサーバー]をクリックします。これがDirector Navigator for iインタフェースを表示するデフォルトのウェブ・サーバーです。ページの下部にある[詳細の管理]ボタンをクリックすると、[ADMIN用のSSL構成]等といった利用可能なすべてのタスクと属性が表示されます(図―2)。
表示されるウィザードで、選択したポート上でSSLを使用する方法の設定を行えば、その後は、ワークステーション上で稼動している管理者のウェブ・ブラウザからDirector Navigator for iを実行しているIBM i HTTPサーバーへの接続がセキュアになります。
接続をセキュアにする2つ目の考慮点はDirector Navigator for iのサーバー・コードとオペレーティング・システム自体との間の接続です。Director Navigator for iはウェブUIへのすべてのデータ・トランザクションに対してIBM Toolbox for Javaを使用しますが、IBM Toolbox for Javaはデータの取得にTCP/IPソケット接続を使用します。この接続をセキュアにするにはDirector Navigator for iの奥のほうにある特別なダイアログ・ボックスにいく必要があります。このダイアログ・ボックスにたどり着くには、左側のナビゲーションで[インターネット構成]をクリックします。次に[IBM i Navigator URLアドバイザ]を選択します。最後にページの下部にある[IBM i Navigatorタスク構成]を選択します。
表示されるダイアログ・ボックスを図―3に示します。このダイアログ・ボックスでDirector Navigator for iのトレースとSSL接続の設定を構成することができます。 SSLドロップ・ダウン・ボックスで最初のオプションである[ブラウザ接続用のSSL使用]に、[警告]、[必要]、[不要]の選択肢がありますが、最もセキュアなのは[必要]です。2つ目のオプション[バックエンド・システム接続用のSSL使用]には、[警告]、[必要]、[試用]、[不使用]の選択肢があります。ここでも[必要]が最もセキュアな選択肢です。[不使用]を選択した場合はSSL接続を試みさえしないことになります。[試用]オプションはSSL接続を試みますが、SSL接続が見つからない場合はセキュアでない接続を使用します。[警告]オプションはセキュアでない接続が確立された場合にユーザーに警告します。選択を終えたら[OK]をクリックします。
ユーザーやグループごとにタスクをセキュアにする
それではウェブUIで利用可能な機能すべてをセキュアにする方法について説明しましょう。左側のナビゲーションの下部で、図―4に示すように[システム・リンク]-[アプリケーション管理]を選択します。すると図―5に示す画面が表示されます。System i Navigatorのアプリケーション管理機能についてご存知であれば、ここではなんの心配もありません。基本的には同じ機能ですが、Director Navigator for iに固有な機能がいくつか追加されています。アプリケーション管理の目的は、機能のカテゴリを選択してその機能に誰がアクセスできて誰がアクセスしてはいけないのかを割り当てることです。
Director Navigator for iのタスク
アプリケーション管理画面には3つのパネルがあり、それにアクセスするには画面の左側のナビゲーションからそれぞれのパネルの名前をクリックします。最初のパネルはSystem i Navigatorで、そこには機能カテゴリがわかりやすいレイアウトでリスト表示されます。何をセキュアにできるかがツリー形式の表に表示されています。このツリーの中の項目を選択すると、そのカテゴリとその下のサブカテゴリ内のすべての機能に対して誰がアクセスできるのかを指定できます(図―5)。またその機能に対してデフォルト・アクセス列やすべてのオブジェクトのアクセス列を選択することもできます。デフォルト・アクセスを選択した時は、デフォルトですべてのユーザーがその機能にアクセスできることになります。基本操作などといった機能はプリンタの出力やメッセージを表示する等の機能を含んでいますが、デフォルト・アクセスを選択するのが適しているでしょう。しかしサーバー・ジョブやサブシステムなどといった機能に対してはデフォルト・アクセスを選択すべきではありません。すべてのオブジェクト・アクセス列も同様です。この列ですでに*ALLOBJアクセスが選択されているユーザーがその機能にアクセスできるのか否かを選択します。この機能の素晴らしい点は、タスクを細かなレベルでセキュアにできることです。したがって、すべての*ALLOBJユーザーに対してファイル・システムにはアクセスできるようにする一方で、明示的に追加した2人以外のユーザーにはセキュリティ機能にはアクセスできないようにする、といったことができます。
特定のユーザー集合に対してあるカテゴリの機能をセキュアにするには、ツリーを展開してセキュアにしたい機能を表示し、その隣にあるラジオ・ボタンを選択してから右下角にある[カスタマイズ]ボタンをクリックします。たとえば、サーバー・ジョブを特定のユーザー集合に対してセキュアにしたい場合は、[作業管理]-[サーバー・ジョブ]-[カスタマイズ]をクリックします。その結果、図―6に示す画面が表示されますので、サーバー・ジョブへのアクセスを許可されるユーザーあるいはユーザー・グループと拒否されるユーザーあるいはユーザー・グループをここで選択することができます。
選択した機能のカテゴリへのアクセスをカスタマイズする方法をわかりやすくまとめたのが図―6です。この例ではサーバー・ジョブ機能を選択しています。これにはサーバー・ジョブのビューだけではなく個々のサーバー・ジョブに対して実行できる関連したタスクも含まれています。画面の最上部には全体のアクセスがデフォルトではアクセスを許可しないとなっており、All Objectアクセスを有しているユーザーに対してもアクセスを許可していないことが表示されています。
カスタマイズ・セクションではサーバー・ジョブへのアクセスを許可したい3つのユーザーを選択しています。もちろんすべてのユーザーやすべてのグループの一覧から、あるいはユーザーとグループの組み合わせから選択することもできます。これを反対の方法ですることもできます。たとえば、パフォーマンスなどといったカテゴリを選択した場合、デフォルトではすべてのユーザーがこの機能にアクセス可能ですから、この機能へのアクセスを拒否したいユーザーを3~4人一覧にしてカスタマイズすることができます。どちらの方法でカスタマイズするかは通常どちらの方法の方が速くカスタマイズできるかで決めるようにしています。ほとんどの人がタスクへのアクセスを許可されるのであれば、そのタスクへのアクセスができるべきでない特定のユーザーのグループを指定した方が簡単でしょう。
ある機能への構成を一度作成してしまえば、そのカスタマイズした設定を他の機能へコピーすることができます。機能コンテキスト・メニューをクリックして[アクセス設定のコピー]を選択するだけです。そして対象とする機能を選択してコンテキスト・メニューで[貼り付け]を選択すればよいのです。
Director Navigator for iコンソールのタスクをセキュアにするだけでなく、アプリケーション管理を使用すると自動的にSystem i Navigator tasks for the webをセキュアにすることになります。System i Navigator tasks for the webを使用するとジョブ、ユーザー、プリンタ出力の一覧表示等といったIBM iのウェブUIの特定の部分を自分のウェブ・ベースのアプリケーションに直接組み込むことができます。Director Navigator for iもSystem i Navigator tasks for the webも共にアプリケーション管理の設定を引き継ぎますので、いずれの方法でIBM iシステムを管理してもよりセキュアになります。
ホスト・アプリケーション
アプリケーション管理UIの左側にあるナビゲーションでアクセスできるもう1つのパネルがホスト・アプリケーションです(図―7)。Director Navigator for iをセキュアにするためには、このツリー表の5番目のエントリであるiSeries Navigator Tasks on the Webに注目しなければなりません。この機能カテゴリ内にはIBM i環境をセキュアにするのを支援してくれる2つの設定があります。しかしそれを説明する前に対象システムの考え方について説明する必要があります。Director Navigator for iでは以下の2つのことを決めることができます。
- ウェブUIにはどこからアクセスできるか
- ウェブUIが管理するシステムはどれか
対象システムへのアクセスを理解してコントロールできるようになるということの利点は以下の通りです。たとえば10個のIBM iオペレーティング・システムを所有していたとしましょう。この10個のオペレーティング・システムすべての上でHTTPサーバーを稼動させると大量の資源が使用され、オペレーティング・システムに潜在的なハッカーが侵入する方法をさらに増やすことになります。しかし、ウェブUIはオペレーティング・システムを管理するための便利で簡単な方法であることも事実です。さてこの難問の答えはいかに。ウェブUIを実行できるオペレーティング・システムを1つだけ有効にし、次にウェブUIで管理したい対象システムを選択します。するとウェブ・ベースのアクセスを1つのIBM iオペレーティング・システムだけにするようコントロールしながら、そのウェブUIを介して10個すべてのオペレーティング・システムを管理する能力を保つことができます。さて、1つのオペレーティング・システムに機密データが含まれている場合は、そのオペレーティング・システムを管理する能力を拒否するよう選択することもできます。さらに、ホスト・アプリケーションを使用するようにアクセスをカスタマイズすることで特定のユーザーがこのローカル・システムでウェブUIにアクセスでき、実際にはそのユーザーの一部だけがローカルのオペレーティング・システムを管理できるようにすることもできます。
すばらしいですよね。さて図―7に示しましたように、IBM i環境をセキュアにするのに役立つ2つの設定について以下に説明します。
- ウェブ・インタフェースを介してサーバーを管理する: これは選択されたユーザーがオペレーティング・システムをウェブUIで管理できるようにするための大域スイッチです。選択されたユーザーだけがDirector Navigator for iを介して管理することができます。前述の例では、この設定を10個のオペレーティング・システムすべてに対して有効にし、ウェブUIを介して管理する能力を持たせたいユーザー用に各OSをカスタマイズします。
- iSeries Navigator Web Interfaceの使用: 実際のウェブ・インタフェースを有効にするための大域スイッチです。選択されたユーザーだけがDirector Navigator for iにログオンできます。前述の例ではこのスイッチを最初のオペレーティング・システムだけに有効にして他のオペレーティング・システムでは無効にしました。残りの9個のオペレーティング・システムではHTTPサーバーは稼働していませんので、HTTPサーバーを稼働しているのは最初のオペレーティング・システムだけになります。
対象システムを選択してセキュアにする
前述の通り、対象システムを選択する機能により、HTTPアクセスを必要とするIBM iオペレーティング・システムを1個だけに制限することができます。付加的な利点としては、バージョン7.1オペレーティング・システムの最新のDirector Navigator for i機能を使用することで、他のバージョン7.1システムやバージョン6.1あるいはバージョン5.4のシステムをリモートから管理することが挙げられます。
これはどのようにして可能になるのでしょうか。前述の通り、ローカル・システム上で稼働しているウェブUIは、ウェブUIとIBM Toolbox for Javaが同じシステム上で稼働していたとしても、IBM Toolbox for Java経由でローカルOSからのデータを受け取ります。その結果、対象システムを変更するだけで同じツールボックスのコマンドがリモートのオペレーティング・システムから使用されることもあるのです。バージョン7.1のDirector Navigator for iが使用するツールボックス・コマンドとAPIのほとんどはすでにバージョン6.1の時から存在し、その多くはバージョン5.4でも存在していたので、バージョン7.1における新しい機能と使い勝手の強化によりバージョン6.1やバージョン5.4のIBM iを管理するのにも使用できるのです。
ローカルのシステムを使用してリモートの対象システムを管理するにはいくつかのステップが必要となります。まず対象システムを選択する必要があります。デフォルトではローカル・システムが対象となりますが、前述のステップを使用してDirector Navigator for iへのアクセスを設定する必要があるのでデフォルトがローカル・システムであることは良いことです。またホスト・アプリケーションの設定をしてローカル・ホストがウェブUIを実行するとともにローカルOSを管理できるようにする必要があります。とは言うものの、Manage Server Through Web Interfaceへのアクセスをカスタマイズして、選択された一部のユーザー(初心者としては自分だけ)だけがこれを実行できるようにしたいでしょう。
次に、対象システムをリモート・システムとして設定する必要があります。これにはDirector Navigator for iの左側のナビゲーションの一番上のリンクに行き、[対象システムの設定]をクリックして図―8に示す画面を表示させます。デフォルトはローカル・システムを管理するようになっている点に注意してください。別のシステムを管理するには[他のシステムを管理する]ラジオ・ボタンをクリックし、システム名とそのシステムを管理するのに使用するユーザーIDとパスワードを追加します。この初期設定には、ローカル・システムと同様にそのシステム上でアプリケーション管理設定を編集できるように、SECADMを有する管理ユーザーIDを使用します。
[OK]をクリックするとバナーがローカル・ホスト名から先ほど入力したシステム名に変わっているのがわかります。これ以後はローカル・ホストのウェブUIにログオンするたびに対象システムの設定機能で指定したユーザーIDを使用してリモートの対象システムにもログオンしていることになります。ローカル・システムのユーザーIDと異なるユーザーIDでも構いません。重要な点がもう一点あります。対象システムの設定機能はユーザーごとに固有です。したがって、たとえあなたがローカル・システムを介してリモート・システムにたどり着くことができ、使用しているユーザーIDが異なっていたとしても、現在のユーザーに対してのみ設定されているに過ぎないので安心してください。ですから、他の人が対象システムの設定を使用してリモートの対象システムをハッキングする心配はありません。
ローカルのウェブUIでタスクを選択すると、リモートの対象システム名がヘッダーに表示され、現在管理しているのがどちらのシステムなのかを確認できるようになっています。ここでちょっとしたトリックをご紹介します。システムがローカル・ホストに設定されていてもいろいろなビュー(たとえばユーザーやジョブの一覧など)を開くことができます。対象システムに切り替えてもこのビューをもう一度開くことができ、その新しいリモート・システムのコンテンツを見ることができます。便利なのは、同じウェブUI上で2つのタブを切り替えることで両方のシステムを管理できるということです。もちろんそれぞれのブラウザのセッションを各システムに対してポイントすることもできますが、ご紹介している例では1つのシステムがバージョン7.1でもう1つのシステムがバージョン6.1なので、バージョン7.1のUIの利点を両方のリリースに対して同時に活用しています。
セキュリティのベスト・プラクティスを心に留め置く
こうした一連のカスタマイズをしても警告しておくべきことがあります。ここでご紹介した例はすべて誰がDirector Navigator for iを使用できるかということをセキュアにしていますが、サーバー・ジョブやファイル・システムへのすべてのパスからIBM iオペレーティング・システムを完全にセキュアにするものではありません。もちろんセキュリティのベスト・プラクティスはIBM i上のコマンドやAPIに対してオブジェクト・レベルの権限を使用することです。Director Navigator for iはIBM iベースで利用可能なものと全く同じCLコマンドとAPIを使用しますので、これらのコマンドをセキュアにすることでウェブ・ブラウザ上に表示されるものを制限できるだけでなく、ユーザーがオペレーティング・システムにアクセスできるいろいろな方法も制限できます。しかし、コアのコマンドはセキュアになっていますので、ウェブUIになぜそんなにたくさんのエラーが表示されるのか不思議に思われる原因になっているかもしれません。だからアプリケーション管理を使用してDirector Navigator for iへのアクセスをコントロールするのが良い運用なのです。
IBM iとSystems Director Navigator for iの詳細については、IBM iインフォメーション・センターのSystems Director Navigator for iのページに行くかまたはIBM Systems Director Navigator for iのウェブ・サイトをご覧ください。