1

ネットワークとセキュリティー

この章では、使用しているネットワークインフラストラクチャーに SGD を組み込み、SGD で使用されるネットワーク接続をセキュリティー保護する方法について説明します。

この章の内容は、次のとおりです。


ネットワークとセキュリティーの概要

SGD の使用時には、クライアントデバイスがアプリケーションサーバーに直接接続することはありません。代わりに、クライアントデバイスは HTTP (Hypertext Transfer Protocol) または HTTPS (HTTP over Secure Sockets Layer) および SGD Adaptive Internet Protocol (AIP) を使用して SGD に接続します。次に、SGD がユーザーに代わってアプリケーションサーバーに接続します。必要とされるネットワーク接続を図 1-1 に示します。

図 1-1   SGD に必要なネットワーク接続を示す図

アプリケーションサーバー (左)、SGD サーバー (中央)、およびクライアントデバイス
(右) 間のネットワーク接続を示す図です。


SGD サーバーは、アレイとしてまとめることもできます。

SGD の使用時に関係している主要なネットワーク接続を次に示します。

デフォルトの SGD インストールでは、ほとんどのネットワーク接続がセキュリティー保護されていません。以降の節では、これらのネットワーク接続をセキュリティー保護する方法について説明します。

クライアントデバイスと SGD サーバーの間の接続

クライアントデバイスと SGD サーバー間の接続をセキュリティー保護するには、SGD Web サーバーをセキュリティー保護された (HTTPS) Web サーバーになるように設定し、SGD セキュリティーサービスを有効にします。詳細については、クライアントデバイスと SGD サーバー間の接続の保護を参照してください。

SGD セキュリティーサービスを使用すると、SGD は TLS (Transport Layer Security) または SSL (Secure Sockets Layer) によって SGD Client と SGD サーバー間でセキュリティー保護された接続が行えるようになります。SGD は、TLS バージョン 1.0 と SSL バージョン 3.0 をサポートしています。

セキュア接続には、次の利点があります。

インターネットのトランザクションは、たとえば、パケットスニフィング、ドメインネームシステム (DNS) の偽装、繰り返しの攻撃、侵入者による攻撃など、多様な形態の攻撃にさらされています。SGD セキュリティーを使用していても、接続の安全性を保持できるのは、そのセキュリティーを正しく設定した場合に限られるという点を認識することが重要です。

SGD サーバーとアプリケーションサーバーの間の接続

SGD サーバーとアプリケーションサーバー間の接続は、アプリケーションサーバー上でアプリケーションを起動するため、および、キーを押す操作や表示の更新など、アプリケーションとの間でデータを送受信するために使用されます。

SGD とアプリケーションサーバー間のセキュリティーレベルは、アプリケーションサーバーのタイプと使用するプロトコルによって変わります。

UNIX または Linux システムのアプリケーションサーバー

telnet プロトコルまたは rexec コマンドを使用して接続するときは、すべての通信およびパスワードが暗号化されないで送信されます。

UNIX または Linux システムのアプリケーションサーバーへのセキュリティー保護された接続には、SSH (Secure Shell) を使用します。SSH は、送信前に SGD ホスト間のすべての通信とパスワードを暗号化します。SSH によるアプリケーションサーバーへの接続の保護を参照してください。

デフォルトでは、SGD は X 認証を使用して X ディスプレイをセキュリティー保護します。この属性を設定すると、承認されていないユーザーが X ディスプレイにアクセスすることを防ぐことができます。

Microsoft Windows アプリケーションサーバー

次に示すように、セキュリティーのレベルは、Windows アプリケーション用に設定されたプロトコルよって異なります。

  • Microsoft リモートデスクトッププロトコル (RDP) プロトコル – すべての通信が暗号化されます

  • Citrix Independent Computing Architecture (ICA) プロトコル - すべての通信で telnet プロトコルが使用されるため、すべての通信が暗号化されません

Microsoft Windows アプリケーションサーバーへのセキュア接続には、Microsoft RDP プロトコルを使用します。

Web アプリケーションサーバー

次に示すように、セキュリティーのレベルは、Web アプリケーションをホストするために使用する Web サーバーのタイプによって異なります。

  • HTTP Web サーバー – すべての通信が暗号化されません

  • HTTPS Web サーバー – すべての通信が暗号化されます

Web アプリケーションサーバーへのセキュリティー保護された接続には、HTTPS Web サーバーを使用します。

アレイ内の SGD サーバー間の接続

アレイ全体の静的および動的なデータの共有には、SGD サーバー間の接続が使用されます。これには、次のものが含まれます。

これらの接続をセキュリティー保護する方法の詳細は、SGD サーバー間の接続の保護を参照してください。


DNS 名

SGD の主要な DNS 要件を次に示します。

SGD サーバーは複数の DNS 名を持つことができます。各 SGD サーバーには、1 つのピア DNS 名と 1 つ以上の外部 DNS 名が割り当てられます。

「ピア DNS 名」とは、アレイ内の SGD サーバーが相互に識別するために使用する DNS 名のことです。たとえば、boston.indigo-insurance.com のように指定します。

「外部 DNS 名」とは、SGD Client が SGD サーバーへの接続に使用する DNS 名のことです。たとえば、www.indigo-insurance.com のように指定します。

上記の 2 種類の DNS 名は、SGD ホスト上の同一ネットワークインタフェースに関連付けることも、それぞれ別のネットワークインタフェースで使用することもできます。これらの DNS 名は、完全修飾 DNS 名である必要があります。

SGD のインストール時に、SGD サーバーの DNS 名の入力を要求されます。これには、ファイアウォールの内側で使用されるピア DNS 名を指定する必要があります。これは、SGD Web サーバーがバインドする DNS 名です。

インストール後、各 SGD サーバーに 1 つ以上の外部 DNS 名を設定できます。外部 DNS 名は、SGD Client が SGD サーバーへの接続時に使用します。デフォルトでは、ピア DNS 名は外部 DNS 名としても使用されます。

ファイアウォールがあるネットワークでは、一部の名前を、インターネット上などファイアウォールの外側で使用できるようにし、他の名前をファイアウォールの内側で使用できるようにすることが必要になる場合もあります。たとえば、ファイアウォールの外側にいるユーザーは、www.indigo-insurance.com を使用できるようにし、boston.indigo-insurance.com を使用できないようにします。ファイアウォールの内側にいるユーザーは、どちらの名前も使用できるようにします。



caution icon

注意 - すべての SGD サーバーをファイアウォールの外側で使用可能にする必要はありません。ただし、ユーザーがファイアウォールの内側と外側の両方から SGD サーバーにログインする場合、ファイアウォールの外側からログインした際に一部のアプリケーションを再開できないことがあります。



外部ハードウェアロードバランサやラウンドロビン DNS などの機構を使用している場合に、ユーザーの接続先となる SGD サーバーを制御するには、これらの機構と連携して動作するように SGD を設定する必要があります。ユーザーセッションの負荷分散を参照してください。

この節の内容は、次のとおりです。

外部 DNS 名の設定

SGD Client は、SGD サーバーに接続する際、SGD サーバーが提供する DNS 名を使用します。実際に使用される DNS 名は、クライアントの IP (Internet Protocol) アドレスをもとに決まります。

外部 DNS 名は、クライアント IP アドレスを DNS 名に適合させる 1 つ以上のフィルタを設定することによって設定します。各フィルタの形式は、Client-IP-Pattern:DNS-Name です。

Client-IP-Pattern には、次のいずれかを指定できます。

SGD サーバーには複数のフィルタを設定できます。SGD は最初に合致する Client-IP-Pattern を使用するため、フィルタの順番は重要です。



caution icon

注意 - SGD がファイアウォール越えに対応するように設定されている場合は、SGD がクライアントデバイスの IP アドレスを決定できなくなるため、複数の外部 DNS 名を使用できません。1 つの外部 DNS 名 (たとえば、*:www.indigo-insurance.com) を設定できます。ファイアウォール越えの使用を参照してください。



外部 DNS 名の設定例を次に示します。


"192.168.10.*:boston.indigo-insurance.com,*:www.indigo-insurance.com"

この設定により、次の内容が適用されます。

フィルタの順番を逆にした場合は、すべてのクライアントが www.indigo-insurance.com に接続します。

procedure icon  SGD サーバーの外部 DNS 名を設定する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. Administration Console で、「SGD サーバー」タブに移動し、SGD サーバーを選択します。

    「一般」タブが表示されます。

  2. 「外部 DNS 名」フィールドに、外部 DNS 名の 1 つ以上のフィルタを入力します。

    各フィルタがクライアント IP アドレスを DNS 名に適合させます。

    フィルタを入力するたびに、Return キーを押します。

    各フィルタの形式については、外部 DNS 名の設定を参照してください。

    フィルタの順番は重要です。最初に一致したエントリが使用されます。

  3. 「保存」をクリックします。

  4. SGD サーバーを再起動します。

    外部 DNS 名の設定を変更したとき、これを反映するには SGD サーバーを再起動する必要があります。

SGD サーバーのピア DNS 名の変更

ソフトウェアを再インストールしなくても SGD サーバーのピア DNS 名を変更できます。SGD サーバーのピア DNS 名を変更する方法を参照してください。

ピア DNS 名を変更する前に、SGD サーバーをアレイから切り離して停止する必要があります。

DNS 名の変更後、/opt/tarantella/var/log/SERVER_RENAME.log ファイルには変更内容の詳細が記録されています。既存のサーバーセキュリティー証明書は、/opt/tarantella/var/tsp.OLD.number ディレクトリにバックアップされます。

SGD サーバーのピア DNS 名を変更すると、使用しているアプリケーションサーバーも影響を受ける場合があります。ピア DNS 名の変更後のアプリケーションサーバーの設定を参照してください。

procedure icon  SGD サーバーのピア DNS 名を変更する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

ピア DNS 名の変更は、コマンド行からのみ行うことができます。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. SGD サーバーをアレイから切り離します。

    プライマリ SGD サーバーのピア DNS 名を変更する場合は、最初に別のサーバーをプライマリサーバーにしてから、サーバーを切り離してください。


    # tarantella array detach --secondary serv
    

    切り離したサーバーで tarantella status コマンドを実行して、そのサーバーがアレイから切り離されていることを確認してください。

  3. SGD サーバーを停止します。

  4. SGD ホストの DNS 名の変更が反映されたことを確認します。

    DNS 設定を確認し、ほかの SGD サーバーがこの新しい DNS 名を解決できることを確認します。場合によっては、SGD ホストの /etc/hosts および /etc/resolve.cnf ファイルも編集する必要があります。

  5. SGD サーバーの DNS 名を変更します。

    次のコマンドを使用します。


    # tarantella serverrename --peerdns newname [ --extdns newname ]
    

    サーバーの外部 DNS 名を変更するには、--extdns オプションを使用します。このオプションが機能するのは、SGD サーバーの外部 DNS 名が 1 つの場合のみです。サーバーの外部 DNS 名が複数ある場合は、外部 DNS 名を手動で更新する必要があります。外部 DNS 名の設定を参照してください。

    プロンプトが表示されたら、Y と入力して名前の変更を続行します。

  6. アレイ内のセキュリティー保護された通信に使用されるサーバーピア証明書を再生成します。


    # tarantella security keystoregen
    

    アレイ内のセキュリティー保護された通信の詳細は、SGD サーバー間の接続の保護を参照してください。

  7. (省略可能) 新しいサーバー証明書を作成してインストールします。

    サーバー証明書の詳細は、クライアントデバイスと SGD サーバー間の接続の保護を参照してください。

  8. SGD Web サーバーと SGD サーバーを再起動します。

  9. SGD サーバーをアレイに連結します。


    # tarantella array join --primary p-serv --secondary s-serv
    

ピア DNS 名の変更後のアプリケーションサーバーの設定

SGD プリンタキューを UNIX または Linux プラットフォームのアプリケーションサーバーにインストールした場合は、SGD サーバーの古い DNS 名を使用するプリンタキューを削除し、SGD サーバーの新しい DNS 名を使用する新しいプリンタキューを設定することが必要になることがあります。UNIX および Linux プラットフォームのアプリケーションサーバーの印刷の設定を参照してください。

SGD サーバーをアプリケーションサーバーとして使用する場合は、アプリケーションサーバーオブジェクトを手動で再設定する必要があります。そのためには、アプリケーションサーバーの DNS 名を変更し、必要に応じてオブジェクトの名前を変更します。


プロキシサーバー

プロキシサーバーを介して SGD に接続できるようにするには、プロキシサーバーのアドレスとポート番号を使ってクライアントデバイスを設定することが必要となる場合があります。また、サーバー側プロキシサーバーに関する情報をクライアントに渡すよう、SGD を設定する必要がある場合もあります。

この節の内容は、次のとおりです。

サポートされているプロキシサーバー

SGD でプロキシサーバーを使用するには、プロキシサーバーがトンネリングをサポートしている必要があります。HTTP、Secure (SSL)、または SOCKS version 5 プロキシサーバーを使用できます。

SOCKS version 5 プロキシサーバーの場合、「基本」および「無認証要求」認証方式が SGD でサポートされます。サーバー側の設定は必要ありません。

クライアントプロキシ設定の設定

クライアントプロキシ設定を設定するには、HTTP 接続と AIP 接続の両方に対してプロキシ設定を設定する必要があります。設定方法の詳細は、後続のセクションを参照してください。

HTTP 接続

HTTP 接続とは、ユーザーのブラウザと SGD Web サーバー間の接続のことで、Webtop を表示する場合などに使用されます。これらの接続では、ブラウザ用に設定されたプロキシ設定が常に使用されます。

AIP 接続

AIP 接続とは、SGD Client と SGD サーバー間の接続のことで、アプリケーションを表示するために使用されます。これらの接続では、クライアントプロファイル内の設定によって、SGD Client がプロキシ設定をブラウザ側の設定またはクライアントプロファイル自身の設定のどちらをもとに決めるかが制御されます。

SGD Client は常に、直近に使用したプロキシ設定をクライアントプロファイルキャッシュに保存しています。詳細については、プロファイルキャッシュについてを参照してください。



注 - AIP 接続用の SOCKS プロキシは、アレイルートを指定することによってのみ設定できます。詳細は、サーバー側のプロキシサーバーの設定を参照してください。



ブラウザ側の設定をもとにプロキシ設定を決定する

クライアントプロファイルで「デフォルトの Web ブラウザ設定を使用する」チェックボックスが選択されている場合は、ユーザーのデフォルトブラウザ側の設定をもとにプロキシサーバー設定が決められます。SGD Client は、このプロキシ設定をクライアントデバイス上のプロファイルキャッシュに格納し、次回の起動時にこれらの設定を使用します。

クライアントプロファイルで「セッション開始時にプロキシ設定を確立する」が選択されている場合は、SGD Client が起動するたびに、ブラウザからプロキシ設定が取得されます。保存済みのプロキシ設定は使用されません。クライアントプロファイルで「自動クライアントログイン」が選択されている場合は、「セッション開始時にプロキシ設定を確立する」設定は無効になります。

SGD Client が統合モードであり、プロファイルキャッシュにプロキシ設定が存在しない場合、SGD Client は直接接続を試みます。

ブラウザ側の設定をもとにプロキシ設定を決めるためには、ブラウザ側で Java テクノロジが有効になっている必要があります。Java テクノロジが使えない、あるいはブラウザ側で無効にしている場合は、クライアントプロファイルに手動でプロキシ設定を指定する必要があります。



注 - プロキシサーバー設定が Sun Java Plug-in ツール用の Java コントロールパネルで定義されていれば、ブラウザ側の設定の代わりにこの設定が使われます。



クライアントプロファイルにプロキシ設定を指定する

クライアントプロファイルで「手動プロキシ設定」チェックボックスが選択されている場合は、クライアントプロファイル自身に HTTP または SSL プロキシサーバーを指定できます。

プロキシサーバーの自動設定スクリプトの使い方

ブラウザ側の設定をもとにクライアントプロキシサーバー設定を決める場合は、自動設定スクリプトを使って自動的にプロキシ設定を行うことができます。

設定スクリプトの URL (Uniform Resource Locator) を、ブラウザの接続設定に指定します。自動設定スクリプトは JavaScript で記述する必要があります。ファイル拡張子は .pac ですが、ファイル拡張子がなくてもかまいません。詳細については、「Netscape Proxy Auto-Config File Format」を参照してください。



注 - この形式は、SGD がサポートしているすべてのブラウザで使用します。



自動設定スクリプトに関する既知の問題

プロキシサーバーの自動設定スクリプトには、接続しようとするプロキシサーバーのリストを指定できます。リストの最初のプロキシサーバーに接続できない場合は、ブラウザは接続できるサーバーが見つかるまでほかのプロキシサーバーに順番に接続しようとします。

Microsoft Internet Explorer と Sun Java Plug-in ツール version 1.5.0 を同時に使用すると、リストの最初のプロキシサーバーのみが使用されます。そのプロキシサーバーを使用できない場合、接続は失敗します。この問題を解決するには、Sun Java Plug-in ツール version 1.6.0 を使用します。

プロキシサーバーの例外リスト

プロキシサーバーの例外リストを使用して、プロキシを使用しない接続を制御できます。プロキシ例外リストは、ブラウザ側の設定をもとにプロキシ設定を決める場合にのみ使えます。例外リストは、クライアントプロファイルでは設定できません。例外リストはブラウザまたは Sun Java Plug-in ツールで設定できます。

例外リストとは、DNS ホスト名のリストのことです。Internet Explorer では、このリストはセミコロン区切りのリストになります。Mozilla ベースのブラウザのでは、このリストはコンマ区切りのリストになります。例外リストには、ワイルドカード * を含めることができます。

例外リストでは、DNS ホスト名と IP アドレスの間の変換が実行されません。たとえば、*.example.com という例外リストを使用した場合、chicago.example.com および detroit.example.com への接続ではプロキシサーバーが使用されませんが、これらのホストに IP アドレスを使用する接続ではプロキシサーバーが使用されます。

例外リストには、必ず次のエントリを含める必要があります。

localhost; 127.0.0.1

プロキシサーバーのタイムアウト

アクティビティーが何も行なわれない接続については、プロキシサーバーが一定時間の経過後にその接続を停止する可能性があります。デフォルトでは、SGD が AIP キープアライブパケットを 100 秒に 1 度送信して、接続が開いた状態で維持されます。

一定時間が経過したあとにアプリケーションの表示が消える場合は、AIP キープアライブパケットの送信頻度を高くしてみてください。

Administration Console で、「グローバル設定」→「通信」タブに移動し、「AIP keepalive の頻度」フィールドの値を減らします。または、次のコマンドを実行します。


$ tarantella config edit --sessions-aipkeepalive secs

サーバー側のプロキシサーバーの設定

サーバー側の SOCKS version 5 プロキシサーバーを介して接続するよう、SGD が SGD Client に対して「指示」する旨の設定ができます。実際に使用されるプロキシサーバーは、クライアントの IP アドレスをもとに決まります。これは、「アレイルート」として知られています。

アレイルートは、クライアント IP アドレスをサーバー側のプロキシサーバーに適合させる 1 つ以上のフィルタを設定することによって設定します。各フィルタの形式は、Client-IP-Pattern:type:host:port です。

Client-IP-Pattern には、次のいずれかを指定できます。

type は接続タイプを表します。SOCKS version 5 による接続の場合は、CTSOCKS と指定します。プロキシサーバーを使用しないで直接接続する場合は、CTDIRECT と指定します。

host および port は、接続に使用するプロキシサーバーの DNS 名または IP アドレスと、ポートを表します。

SGD には複数のフィルタを設定できます。SGD は最初に合致する Client-IP-Pattern を使用するため、フィルタの順番は重要です。

SSL の処理に SGD ではなく外部 SSL アクセラレータを使用する場合は、アレイルートを :ssl とともに追加します。次の例を参照してください。これは、SGD Client に対し、SOCKS 接続を続行する前にその接続で SSL を使用するように指示します。詳細については、外部 SSL アクセラレータの使用を参照してください。



caution icon

注意 - SGD がファイアウォール越えに対応するように設定されている場合は、SGD がクライアントデバイスの IP アドレスを決定できなくなるため、複数のアレイルートを使用できません。1 つのアレイルート (たとえば、*:CTSOCKS:taurus.indigo-insurance.com:8080) を設定できます。ファイアウォール越えの使用を参照してください。



アレイルートの設定例を次に示します。


"192.168.5.*:CTDIRECT:, \
192.168.10.*.*:CTSOCKS:taurus.indigo-insurance.com:8080, \
*:CTSOCKS:draco.indigo-insurance.com:8080:ssl"

この設定により、次の内容が適用されます。

procedure icon  アレイルートを設定する方法

アレイルートの設定は、コマンド行からのみ行うことができます。

アレイ内の SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. アレイルートのフィルタを設定します。

    次のコマンドを使用します。


    $ tarantella config edit \
    --tarantella-config-array-netservice-proxy-routes routes
    

    routes を引用符で囲み、各フィルタをコンマで区切ります。次に例を示します。

    "filter1,filter2,filter3"

    各フィルタの形式については、サーバー側のプロキシサーバーの設定を参照してください。

    フィルタの順番は重要です。最初に一致したエントリが使用されます。

  2. アレイ内のすべての SGD サーバーを再起動します。

    アレイルートの設定を変更した場合、それを反映させるためには、アレイに属するすべてのサーバーを再起動する必要があります。


ファイアウォール

ファイアウォールを使用してネットワークのさまざまな部分を保護することができます。SGD を使用するには、図 1-2 に示すように、クライアントデバイスと SGD サーバーの間、および SGD サーバーとアプリケーションサーバーの間で、パケットの送信を許可するようにファイアウォールを設定する必要があります。

図 1-2   SGD の接続とファイアウォールを示す図

左側にアプリケーションサーバーと SGD サーバーの間のファイアウォールを示し、右側に
SGD サーバーとクライアントデバイスの間のファイアウォールを示す図です。


この節の内容は、次のとおりです。

クライアントデバイスと SGD サーバーの間のファイアウォール

クライアントデバイスは、アレイ内のどの SGD サーバーに対しても HTTP 接続および AIP 接続を行える必要があります。これは、ユーザーの SGD セッションとユーザーのアプリケーションセッションが、異なる SGD サーバーでホストされる可能性があるからです。

次の表に、クライアントデバイスと SGD サーバーの間の接続を可能にするために開く必要のあるポートを示します。


ソース 宛先 ポート プロトコル 目的
クライアント SGD Web サーバー 80 TCP 標準の暗号化されない HTTP 要求と HTTP 応答。

Webtop を表示するためと Web サービスに使用されます。

クライアント SGD Web サーバー 443 TCP 安全性が高く、暗号化される HTTPS 要求と HTTPS 応答。

Webtop を表示するためと Web サービスに使用されます。

クライアント SGD サーバー 3144 TCP 標準の暗号化されない AIP 接続。

制御、およびアプリケーションの表示を更新するために使用されます。

クライアント SGD サーバー 5307 TCP SSL を使用し、安全性が高く、暗号化される AIP 接続。

制御、およびアプリケーションの表示を更新するために使用されます。


TCP (Transmission Control Protocol) ポート 80 と 443 は、インターネットで HTTP と HTTPS に使用される標準ポートです。ポート 443 は、SGD Web サーバーで HTTPS が有効になっている場合にのみ使用されます。SGD Web サーバーで使用するポートは任意に設定できます。SGD でユーザー独自の Web サーバーを使用する場合も、SGD Web サーバーで使用されるポートを開く必要があります。なぜなら、SGD へのアクセスに必要な Web サービスはこの Web サーバーによって提供されるからです。

デフォルトのインストールでは、ファイアウォールでポート 3144 とポート 5307 の両方を開いておく必要があります。SGD Client は、最初はポート 5307 でセキュリティー保護された接続を行いますが、ユーザーの認証後はポート 3144 での標準接続にダウングレードします。

SGD セキュリティーサービスを有効にして HTTPS だけを使用する場合は、ファイアウォールでポート 443 とポート 5307 のみを開いておく必要があります。

必要なポートを開くことができない場合は、ファイアウォール越えを使用して、すべての SGD トラフィックを単一のポート (通常はポート 443) で転送することができます。詳細については、ファイアウォール越えの使用を参照してください。

ポート 3144 とポート 5307 は Internet Assigned Numbers Authority (IANA) に登録され、SGD 専用として予約されています。

SGD サーバー間のファイアウォール

ネットワークでは、アレイ内の SGD サーバー間にファイアウォールが存在する場合があります。たとえば、複数のオフィスにそれぞれ SGD サーバーが存在する場合などです。アレイ内の SGD サーバーは、アレイのほかのどのメンバーにも接続できる必要があります。

次の表に、SGD サーバー間の接続を可能にするために開く必要のあるポートを示します。


ソース 宛先 ポート プロトコル 目的
SGD サーバー 別の SGD サーバー 515 TCP tarantella print move コマンドを使用して SGD サーバー間で印刷ジョブを移動するときに使用されます。
SGD サーバー 別の SGD サーバー 5427 TCP SGD サーバー間の接続に使用されます。アレイを複製し、アレイ間で静的データと動的データを共有することができます。

ポート 5427 は IANA に登録され、SGD 専用として予約されています。

Microsoft RDP プロトコルを使用する Windows アプリケーションでオーディオ、スマートカード、またはシリアルポートのサポートを有効にしている場合は、ファイアウォールで TCP ポート 1024 以上での SGD サーバー間の接続が許可されている必要があります。これらの機能を使用しない場合は、SGD でこれらのサポートを無効にすることをお勧めします。詳細については、次の節を参照してください。

SGD サーバーとアプリケーションサーバーの間のファイアウォール

SGD サーバーは、アプリケーションを実行するために、アプリケーションサーバーに接続できる必要があります。

SGD サーバーとアプリケーションサーバーの間の接続に使用されるポートは、アプリケーションのタイプ、およびアプリケーションサーバーへのログインに使用される接続方法によって決まります。ほかのポートは、アプリケーションの使用中にサポートを提供するために必要になります。

次の表に、SGD サーバーとアプリケーションサーバーの間の接続を可能にするために開く必要のあるポートを示します。


ソース 宛先 ポート プロトコル 目的
SGD サーバー アプリケーションサーバー 22 TCP SSH を使用して X アプリケーションと文字型アプリケーションに接続するために使用されます。
SGD サーバー アプリケーションサーバー 23 TCP Telnet を使用して Windows アプリケーション、X アプリケーション、および文字型アプリケーションに接続するために使用されます。
アプリケーションサーバー SGD サーバー 137 UDP WINS (Windows インターネットネームサービス) サービスとクライアントドライブとのマッピングに使用されます。サーバーが起動時にこのポートにバインドされるのは、WINS サービスが使用可能になっている場合に限られます。
アプリケーションサーバー SGD サーバー 139 TCP クライアントドライブマッピングサービスで使用されます。クライアントドライブマッピングサービスが使用可能になっているか否かに関係なく、サーバーは起動時にこのポートにバインドされます。
SGD サーバー アプリケーションサーバー 512 TCP rexec を使用して X アプリケーションに接続するために使用されます。
アプリケーションサーバー SGD サーバー 515 TCP アプリケーションサーバーから SGD サーバーに印刷ジョブを送信するために使用されます。
SGD サーバー アプリケーションサーバー 3389 TCP Microsoft RDP プロトコルを使用するように設定された Windows アプリケーションに接続するために使用されます。
SGD サーバー アプリケーションサーバー 3579 TCP プライマリ SGD サーバーと、アプリケーションサーバーで実行される SGD 負荷分散サービスとの間の接続に使用されます。
アプリケーションサーバー SGD サーバー 3579 UDP アプリケーションサーバーで実行される SGD 負荷分散サービスと、プライマリ SGD サーバーとの間の接続に使用されます。
SGD サーバー アプリケーションサーバー 5999 TCP Wincenter プロトコルと Telnet 接続を使用するように設定された Windows アプリケーションに接続するために使用されます。Wincenter プロトコルのサポートは終了していますが、以前の Windows アプリケーションオブジェクトで使用されている可能性があります。
アプリケーションサーバー SGD サーバー 6010 以上 TCP X アプリケーションを SGD サーバー上のプロトコルエンジンに接続するために使用されます。

UDP (User Datagram Protocol) ポート 137 と TCP ポート 139 は、Samba などの、Windows のファイルと印刷サービスを提供する製品でも使用されることがあります。これらのポートを開く必要があるのは、Microsoft Windows アプリケーションサーバーでクライアントドライブマッピングを使用する場合だけです。詳細については、クライアントドライブマッピングを参照してください。

X アプリケーションの場合、ポート 6010 以上が使用されるのは、X アプリケーションの接続方法が Telnet または rexec の場合だけです。接続方法が SSH の場合、接続にはポート 22 が使用されます。X アプリケーションのオーディオを有効にした場合は、アプリケーションサーバーと SGD の間ですべてのポートを開いておく必要があります。これは、SGD オーディオデーモンがランダムなポートで SGD サーバーに接続するからです。これは、接続方法が SSH の場合にも当てはまります。詳細については、オーディオを参照してください。

ポート 3579 は IANA に登録され、SGD 専用として予約されています。これらのポートを開く必要があるのは、SGD Advanced Load Management を使用する場合だけです。詳細については、アプリケーションの負荷分散を参照してください。

ほかのファイアウォール

認証サービスやディレクトリサービスが使用されている場合、SGD はこれらに接続する必要があります。

次の表に、SGD サーバーとほかのサービスの間の接続を可能にするために開く必要のあるポートを示します。


ソース 宛先 ポート プロトコル 目的
SGD サーバー Windows サーバー 88 TCP または UDP Microsoft Windows ドメインのユーザーを認証するために使用されます。
SGD サーバー Windows サーバー 137 UDP Microsoft Windows ドメインのユーザーを認証するために使用されます。
SGD サーバー Windows サーバー 139 TCP Microsoft Windows ドメインのユーザーを認証するために使用されます。
SGD サーバー LDAP ディレクトリサーバー 389 TCP LDAP (Lightweight Directory Access Protocol) ディレクトリを使用して、ユーザーの認証やユーザーへのアプリケーションの割り当てを行うために使用されます。
SGD サーバー Windows サーバー 464 TCP または UDP 有効期限が切れたパスワードの変更をユーザーに許可するために使用されます。
SGD サーバー LDAP ディレクトリサーバー 636 TCP LDAP ディレクトリへのセキュア接続 (LDAPS) を使用して、ユーザーの認証やユーザーへのアプリケーションの割り当てを行うために使用されます。
SecurID Authentication Manager SGD サーバー 1024 〜

65535

UDP SecurID を使用してユーザーを認証するために使用されます。
SGD サーバー Windows サーバー 3268 TCP Microsoft Windows ドメインのユーザーを認証するために使用されます。
SGD サーバー Windows サーバー 3269 TCP Microsoft Windows ドメインのユーザーを認証するために使用されます。
SGD サーバー SecurID Authentication Manager 5500 UDP SecurID を使用してユーザーを認証するために使用されます。

ポート 88、464、3268、3269 が必要なのは、Active Directory 認証を使用する場合だけです。ポート 88 および 464 は、パケットサイズと Kerberos 設定に応じて、TCP または UDP プロトコルを使用できます。詳細については、Kerberos 認証用の SGD の設定を参照してください。

ポート 137 および 139 が必要なのは、認証にドメインコントローラを使用する場合だけです。詳細については、Windows ドメイン認証を参照してください。

ポート 389 および 636 が必要なのは、LDAP ディレクトリを使用してユーザー識別情報を確立するか、アプリケーションをユーザーに割り当てる場合だけです。これは、次の認証機構に当てはまります。

ポート 1024 〜 65535 が必要なのは、SecurID 認証を使用する場合だけです。RSA SecurID Authentication Manager が Agent Host として動作する SGD サーバーと通信するためには、Master Authentication Manager および Slave Authentication Manager の IP アドレスからすべての Agent Host の IP アドレスまで、1024 〜 65535 のすべてのポートを開いておく必要があります。詳細については、SecurID 認証を参照してください。

ポート 5500 が必要なのは、SecurID 認証を使用する場合だけです。RSA SecurID Authentication Manager が Agent Host として動作する SGD サーバーと通信するためには、Agent Host の IP アドレスから Master Authentication Manager および Slave Authentication Manager の IP アドレスまで、ポート 5500 を開いておく必要があります。


クライアントデバイスと SGD サーバー間の接続の保護

クライアントデバイスと SGD サーバー間の接続をセキュリティー保護する場合に、考慮する必要のある接続を次に示します。

SGD を最初にインストールしたときは、SGD Web サーバーへの接続はセキュリティー保護されません。SGD Client と SGD サーバーの間の初期接続はセキュリティー保護されますが、ユーザーがログインしたあと、接続は標準接続にダウングレードされます。この節では、クライアントデバイスと SGD サーバーの間の接続をセキュリティー保護する方法について説明します。

この節の内容は、次のとおりです。

保護付きのクライアント接続の設定

保護付きのクライアント接続の設定は、自動設定でも手動設定でも行えます。

自動設定では、tarantella security enable コマンドを使って SGD サーバーへのセキュリティー保護された接続を設定します。ただし、自動設定を使用できるのは、SGD を新しくインストールしたばかりの、サーバーがアレイの一部になっていないときだけです。

保護付きのクライアント接続の設定 (自動設定)

自動設定を使って保護付きのクライアント接続を設定するには、次の手順を実行する必要があります。

  1. (省略可能) 証明書発行要求 (Certificate Signing Request、CSR) を生成して認証局 (CA) に送信します。

    証明書発行要求を生成する方法を参照してください。

    tarantella security certrequest コマンドで CSR を生成しないでサーバー証明書を取得する場合、または自己署名付き証明書を使用してセキュリティーを有効にする場合は、この手順を省略できます。

  2. サーバー証明書をインストールし、セキュリティーを有効にします。

    自動設定による SGD セキュリティーサービスの有効化を参照してください。

  3. (省略可能) 接続定義処理を設定します。

    接続定義を設定すると、セキュリティー保護された接続を使用するユーザーを決められます。

    接続定義の使用を参照してください。

保護付きのクライアント接続の設定 (手動設定)

手動設定を使って保護付きのクライアント接続を設定するには、次の手順を実行する必要があります。

  1. アレイ内の SGD サーバーごとに証明書を取得してインストールします。

    セキュリティー保護された接続を使用するには、SGD サーバーが SGD Client にそのサーバー自体を識別させるための証明書を提示する必要があります。

    サーバー証明書の取得とインストールを参照してください。

  2. HTTPS を使用するように、アレイ内の各 SGD Web サーバーを設定します。

    ブラウザと SGD Web サーバーの間の接続をセキュリティー保護するには、HTTPS 接続を有効にする必要があります。

    SGD Web サーバーへの HTTPS 接続の使用を参照してください。

  3. (省略可能) ファイアウォール越えに対応するように SGD を設定します。

    クライアントデバイスと SGD サーバーの間で TCP ポート 5307 を開けない場合は、ファイアウォール越えを使用してユーザーが単一のポート (通常はポート 443) で SGD にアクセスできるようにします。

    ファイアウォール越えの使用を参照してください。

  4. HTTPS を使用するように SOAP 接続を設定します。

    SGD Webtop などのクライアントアプリケーションでは、SOAP (Simple Object Access Protocol) プロトコルと HTTP を使用して、SGD サーバーから提供される Web サービスにアクセスします。

    SGD サーバーへの SOAP 接続の保護を参照してください。

  5. SGD セキュリティーサービスを有効にし、SGD を再起動します。

    セキュリティー保護された接続を有効にするには、SGD セキュリティーサービスを有効にし、SGD を再起動する必要があります。

    SGD セキュリティーサービスの有効化を参照してください。

  6. (省略可能) 接続定義処理を設定します。

    接続定義を設定すると、セキュリティー保護された接続を使用するユーザーを決められます。

    接続定義の使用を参照してください。

サーバー証明書の使用

証明書は、符号化されたファイルであり、Web サーバーなどのセキュリティー保護されたサービスがクライアントにそのサービス自体を識別させるために使用します。セキュリティーを有効にした場合、SGD サーバーには証明書が必要です。

SGD は、Privacy Enhanced Mail (PEM) Base 64 で符号化された X.509 証明書をサポートしています。このような証明書は、次のような構造になっています。

-----BEGIN CERTIFICATE-----
...証明書...
-----END CERTIFICATE-----

SGD は、サーバー証明書のサブジェクト代替名 (subjectAltName) 拡張をサポートしています。これにより、複数の DNS 名を証明書に関連付けることができます。証明書に subjectAltName フィールドがある場合は、subject フィールドは無視され、subjectAltName だけが使用されます。サブジェクト代替名のいずれかが接続先の SGD サーバーの名前に一致した場合は、SGD Client によって証明書が受け入れられます。

サポートされている認証局

サーバー証明書は CA によって発行されます。CA は信頼できるサードパーティーであり、CA 証明書またはルート証明書を使ってサーバー証明書をデジタル署名します。

SGD では、デフォルトでいくつかの CA 証明書をサポートしています。/opt/tarantella/etc/data/cacerts.txt ファイルには、SGD でサポートされるすべての CA 証明書の X.500 識別名 (Distinguished Name、DN) および MD5 シグニチャーが含まれています。

サポートされていない CA によって署名されたサーバー証明書を使用することもできます。ただし、このような証明書は SGD により有効性が検証されていないので、デフォルトでは、すべてのユーザーが証明書を承認するか拒否するかの確認を要求されます。これは、セキュリティーに対する潜在的な危険です。

SGD は、証明書チェーンの使用をサポートしています。証明書チェーンを使用すると、中間 CA は別の CA によって発行された CA 証明書を使って証明書に署名します。

使用しているサーバー証明書が、サポートされていない CA または中間 CA によって署名された場合は、CA 証明書または証明書チェーンをインストールする必要があります。

別の製品用として取得した証明書の使用

Web サーバーなど、もともと別の製品用として取得した証明書を使用することができます。このためには、その証明書の非公開鍵にアクセスできる必要があります。非公開鍵の暗号化に、SSLeay または OpenSSL 証明書ライブラリを使用する製品が利用されている場合は、この暗号化を解除することで非公開鍵を入手できます。詳細については、別の製品用として取得した証明書をインストールする方法を参照してください。

非公開鍵にアクセスできない場合、またはその鍵が SSLeay または OpenSSL 証明書ライブラリを使用する製品によって暗号化されていない場合は、新しいサーバー証明書を取得してインストールする必要があります。サーバー証明書の取得とインストールを参照してください。

自己署名付き証明書

SGD では、テスト目的で、たとえば証明書を生成できるようになるまでの登録要件の完了を待っている間に、自己署名付きサーバー証明書を作成することができます。

自己署名付き証明書は、正確にはセキュリティー保護されていないため、自己署名付きサーバー証明書はテスト環境でのみ使用してください。自己署名付きサーバー証明書はユーザーにセキュリティー保護された接続を提供するために使用できますが、ユーザーが接続しているサーバーが本物であるという保証はありません。

自己署名付き証明書は、次のコマンドを使用して作成できます。

  • tarantella security selfsigntarantella security certrequest コマンドを使用して生成された CSR に自己署名することができます。

  • tarantella security enable – セキュリティー保護された SGD サーバーを自動的に設定し、サーバー証明書をインストールすることができます。

サーバー証明書の取得とインストール

SGD サーバーの証明書を取得してインストールするには、次の設定手順を実行する必要があります。

  1. (省略可能) 証明書発行要求 (CSR) を生成して CA に送信します。

    証明書発行要求を生成する方法を参照してください。

    Web サーバーなど、別の製品用の証明書がすでにある場合は、その証明書を使用できることがあります。別の製品用として取得した証明書の使用を参照してください。

  2. サーバー証明書をインストールします。

    CA は CSR を受信すると、要求の有効性を検証して、署名付き証明書を返送します。証明書が返送されたら、その証明書を SGD サーバーにインストールします。サーバー証明書をインストールする方法を参照してください。

    別の製品用として取得した証明書をインストールする場合は、別の製品用として取得した証明書をインストールする方法を参照してください。

  3. (省略可能) CA 証明書をインストールします。

    この手順を実行するのは、サーバー証明書が、サポートされていない CA または中間 CA によって署名された場合だけです。サポートされている認証局を参照してください。

    インストールする必要がある証明書は、次のとおりです。

procedure icon  証明書発行要求を生成する方法

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. CSR を生成します。

    tarantella security certrequest コマンドを使用してCSR を生成します。

    SGD は、サーバー証明書のサブジェクト代替名 (subjectAltName) 拡張をサポートしています。これにより、複数の DNS 名を証明書に関連付けることができます。詳細については、DNS 名を参照してください。

    SGD は、ドメイン名の最初の部分にワイルドカード * を使用することをサポートしています。たとえば、*.indigo-insurance.com のように指定できます。

    CSR を生成すると、公開鍵と非公開鍵のペアも作成されます。

    SGD サーバーでは、CSR は /opt/tarantella/var/tsp/csr.pem ファイルに格納され、非公開鍵は /opt/tarantella/var/tsp/key.pending.pem ファイルに格納されされます。

    有効期限が近くなっているなどの理由でサーバー証明書を置き換えている場合は、現在の証明書に影響を与えることなく CSR を生成できます。

    次の例では、CSR が SGD サーバー boston.indigo-insurance.com に対して生成されます。このサーバーには www.indigo-insurance.com という外部 DNS 名も割り当てられているため、この名前がサブジェクト代替名として追加されます。


    # tarantella security certrequest \
    --country US --state Massachusetts --orgname "Indigo Insurance"
     
    The certificate’s common name (CN) will be: boston.indigo-insurance.com
     
    This hostname is included in the Certificate Signing Request (CSR) and
    corresponds to the name of the server that users will connect to.
     
     - If DNS names are used to connect to the server, the hostname above
       MUST be a fully qualified DNS name.
     
     - If clients are required to connect to the server using an IP address,
       the hostname above should be the IP address. A DNS record for this
       IP address SHOULD NOT exist.
     
    For clients to accept the certificate once it’s installed, a DNS
    lookup of the hostname followed by a reverse lookup of the result must
    return the original hostname.
     
    The hostname to be used in the certificate request is
    boston.indigo-insurance.com.
     
     
    Do you want to use this hostname? [yes] y
     
     
    Do you want to add any additional hostnames? [no] y
     
    Type in the subject alternative names for the certificate, one per line. Enter a 
    blank line to finish.
     
    subjectAltName: www.indigo-insurance.com
    subjectAltName:
    2048 semi-random bytes loaded
    Generating RSA private key, 1024 bit long modulus
    ..++++++
    ...........................................................++++++
    e is 65537 (0x10001)
     
    --------------------------------------------------------------------------
    Certificate Signing Request (CSR): Summary
    --------------------------------------------------------------------------
     
    Subject:
     C=US
     ST=Massachusetts
     O=Indigo Insurance
     CN=boston.indigo-insurance.com
     
     
    Subject Alternative Names:
     DNS:boston.indigo-insurance.com, DNS:www.indigo-insurance.com
     
    The information above will be contained in the CSR.
     
    Create CSR now? [yes] y
     
    Send the following Certificate Signing Request (CSR) to a Certificate
    Authority, such as VeriSign (www.verisign.com). Check with your CA
    that you’re providing all the information they need.
     
    ------CUT HERE------
    -----BEGIN CERTIFICATE REQUEST-----
    NhY2h1c2V0MIIB5TCCAU4CAQAwXDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3
    dpZS5VdHMxGTAXBgNVBAoTEEluZGlnbyBJbnN1cmFuY2UxGjAYBgNVBAMTEXJhZG
    sd+SmX7zz6Sy5TdW4uQ09NMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbWM
    sMqBs7gQw8Q1Gk3NAypySP6aRiEItLrfSlZ8XgKXmjmlLtb03V9JonjLfhH3fBzk
    gnOG6EpTmJM4y3OOpEXZZ2yhtWgsQsXyLWbfTLWZPfHLPI5ztEEJ7Z0G6dpeG0xg
    wODA2ApAp6sIrmBqbZG2Aaf5poB+FQ4lsmQIDAQABoEkwRwYJKoZIhvcNAQkOMTo
    N1cmFuBgNVHREELzAtghFyYWRnaWUuVUsuU3VuLkNPTYIYd3d3LmluZGlnby1pbn
    V617E7oFKY2UuY29tMA0GCSqGSIb3DQEBBQUAA4GBAMsOieZzrGHN7fkW6LmYNHW
    sW1tmHeFjekpiUiTLYE+KUZXKKCH9f1eo+nfwFdi9VOomIdga4uehl+4acqqiGEe
    W4iIb9BC9b/V1pA/lGJwWN0aDDB3/d47UGAlli+spW37chg53Fp7eP2xIYWfJR6O
    35eSPZm42dyp
    -----END CERTIFICATE REQUEST-----
    ------CUT HERE------
     
    When you receive your certificate, use ’tarantella security certuse’
    to install it.
    

  3. CSR を CA に送信します。

    SGD がデフォルトでサポートしている CA の詳細は、サポートされている認証局を参照してください。

    コマンド行の出力の CSR をコピーするか、SGD サーバーの /opt/tarantella/var/tsp/csr.pem ファイルに格納されている CSR のコピーを使用します。

    CA からサーバー証明書が返されるのを待っている間に、tarantella security selfsign コマンドを使用して、テスト目的で自己署名付き証明書を作成し、インストールすることができます。詳細については、自己署名付き証明書を参照してください。

procedure icon  サーバー証明書をインストールする方法

tarantella security certrequest コマンドで CSR を生成して取得したサーバー証明書をインストールするには、次の手順を実行します。

作業を開始する前に、サーバー証明書にアクセスできることを確認してください。証明書は PEM 形式で作成されている必要があります。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. サーバー証明書をインストールします。

    tarantella security certuse コマンドを使用して証明書をインストールします。

    元の証明書の有効期限が近くなっているなどの理由でサーバー証明書を置き換えている場合は、tarantella security certuse コマンドから、証明書と非公開鍵を上書きする前の確認が求められます。

    サーバー証明書をインストールすると、/opt/tarantella/var/tsp/key.pending.pem ファイルに格納されている非公開鍵が /opt/tarantella/var/tsp/key.pem ファイルに移動されます。

    ファイルのパスを指定する場合は、ファイルの「フルパス」を指定する必要があります。

    CSR、証明書、および非公開鍵が SGD サーバーの /opt/tarantella/var/tsp ディレクトリに格納されます。

    • 標準入力から証明書をインストールするには、次のコマンドを使用します。


      # tarantella security certuse
      

      サーバー証明書を標準入力にペーストし、Ctrl+D キーを押します。

    • 一時ファイルから証明書をインストールするには、次のコマンドを使用します。


      # tarantella security certuse < /tmp/cert
      

    • 永続的なファイルから証明書をインストールするには、次のコマンドを使用します。


      # tarantella security certuse --certfile /opt/certs/cert.pem
      



      caution icon

      Caution - このコマンドにより、SGD サーバーの /opt/tarantella/var/tsp ディレクトリにある証明書ファイルへの「シンボリックリンク」が作成されます。このコマンドを実行したあとに、証明書ファイルを削除したり移動したりしないでください。



procedure icon  別の製品用として取得した証明書をインストールする方法

tarantella security certrequest コマンドで CSR を生成しないで取得した証明書をインストールするには、次の手順を実行します。

別の製品用として取得した証明書をインストールするには、その証明書の非公開鍵が必要になります。非公開鍵の暗号化に、SSLeay または OpenSSL 証明書ライブラリを使用する製品が利用されている場合は、この暗号化を解除することで非公開鍵を入手できます。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. 証明書と鍵ファイルを、スーパーユーザー (root) だけがアクセスできる SGD ホストの安全な場所にコピーします。

    次に例を示します。


    # cp /etc/httpd/certs/boston-indigo-insurance.com.pem \
    /opt/tarantella/var/tsp
    # cp /etc/httpd/certs/boston-indigo-insurance.com.key.pem \
    /opt/tarantella/var/tsp
    

  3. (省略可能) 証明書の非公開鍵を復号化します。

    tarantella security decryptkey コマンドを使用します。

    次に例を示します。


    # tarantella security decryptkey \
    --enckey /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.pem \
    --deckey /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.out \
    --format PEM
    

  4. 証明書をインストールします。

    tarantella security certuse コマンドを使用して証明書をインストールします。

    証明書ファイルと鍵ファイルのパスを指定する場合は、「フルパス」を指定する必要があります。

    次に例を示します。


    # tarantella security certuse \
    --certfile /opt/tarantella/var/tsp/boston.indigo-insurance.com.pem \
    --keyfile /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.out
    



    caution icon

    Caution - このコマンドにより、SGD サーバーの /opt/tarantella/var/tsp ディレクトリにある証明書ファイルと鍵ファイルへの「シンボリックリンク」が作成されます。このコマンドを実行したあとに、証明書ファイルまたは鍵ファイルを削除したり移動したりしないでください。



procedure icon  サポートされていない CA の CA 証明書をインストールする方法

作業を開始する前に、CA 証明書にアクセスできることを確認してください。CA 証明書は PEM 形式で作成されている必要があります。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. CA 証明書をインストールします。

    tarantella security customca コマンドを使用します。

    • 標準入力から CA 証明書をインストールするには、次のコマンドを使用します。


      # tarantella security customca
      

      CA 証明書を標準入力にペーストし、Ctrl+D キーを押します。

    • ファイルから CA 証明書をインストールするには、次のコマンドを使用します。


      # tarantella security customca --rootfile /tmp/cert
      

procedure icon  CA 証明書チェーンをインストールする方法

作業を開始する前に、CA 証明書チェーン内にすべての証明書が存在することを確認してください。証明書は PEM 形式で作成されている必要があります。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. チェーン内のすべての証明書を結合して 1 つのファイルにします。

    たとえば、chainedcerts.pem というファイルを作成します。

    サーバー証明書の署名に使用される CA 証明書が最初に表示される必要があります。次に例を示します。

    -----BEGIN CERTIFICATE-----
    ...中間
    CA の証明書...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...CA
    ルート証明書...
    -----END CERTIFICATE-----

  3. CA 証明書チェーンをインストールします。

    tarantella security customca コマンドを使用します。

    • 標準入力から CA 証明書をインストールするには、次のコマンドを使用します。


      # tarantella security customca
      

      CA 証明書チェーンを標準入力にペーストし、Ctrl+D キーを押します。

    • ファイルから CA 証明書をインストールするには、次のコマンドを使用します。


      # tarantella security certuse --rootfile /tmp/chainedcerts.pem
      

procedure icon  サーバー証明書を置き換える方法

元の証明書の有効期限が近くなっているなどの理由で SGD サーバーのサーバー証明書を置き換えるには、次の手順を実行します。

  1. 新しいサーバー証明書を取得してインストールします。

    詳細については、サーバー証明書の取得とインストールを参照してください。

  2. SGD サーバーと SGD Web サーバーを再起動します。

    新しいサーバー証明書がセキュリティー保護された接続に確実に使用されるようにするには、SGD サーバーを再起動する必要があります。

    SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

    次のコマンドを使用します。


    # tarantella restart
    

自動設定による SGD セキュリティーサービスの有効化

tarantella security enable コマンドを使用すると、SGD セキュリティーサービスを迅速に設定して起動できます。このコマンドを使用できるのは、次の条件を両方とも満たしている場合だけです。

これらの条件が満たされない場合、tarantella security enable コマンドは失敗するため、手動でセキュリティーを設定して有効にする必要があります。保護付きのクライアント接続の設定 (手動設定)を参照してください。

tarantella security enable コマンドは、次の設定を行います。

インストールするサーバー証明書を指定しない場合は、tarantella security enable コマンドによって自己署名付き証明書が作成され、インストールされます。あとでサーバー証明書をインストールする場合は、tarantella security disable コマンドを使用してセキュリティー設定を以前の状態に戻します。次に、tarantella security enable コマンドを再度実行して、サーバー証明書を指定します。

procedure icon  自動設定を使って SGD セキュリティーサービスを有効にする方法

作業を開始する前に、サーバー証明書、および必要に応じて非公開鍵と CA 証明書にアクセスできることを確認してください。証明書は PEM 形式で作成されている必要があります。

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. サーバー証明書をインストールし、SGD セキュリティーサービスを有効にします。

    tarantella security enable コマンドを使用して、サーバー証明書をインストールし、SGD セキュリティーサービスを有効にします。

    tarantella security certrequest コマンドを使用して CSR を生成した場合は、--keyfile オプションを省略できます。/opt/tarantella/var/tsp/key.pending.pem ファイルに格納されている鍵が使用されます。サーバー証明書をインストールすると、非公開鍵が /opt/tarantella/var/tsp/key.pem ファイルに移動されます。



    caution icon

    Caution - --certfile オプションと --keyfile オプションを一緒に使用した場合は、SGD により、SGD サーバーの /opt/tarantella/var/tsp ディレクトリにある証明書ファイルと鍵ファイルへの「シンボリックリンク」が作成されます。このコマンドを実行したあとに、証明書ファイルまたは鍵ファイルを削除したり移動したりしないでください。



    インストールするサーバー証明書を指定しない場合は、tarantella security enable コマンドによって CSR が生成され、次に自己署名付き証明書が作成されてインストールされます。自己署名付き証明書は、テスト目的でのみ使用してください。

    SGD はデフォルトでいくつかの CA をサポートしています。--rootfile オプションは、サポートされていない CA、または中間 CA によってサーバー証明書が署名された場合にだけ使用します。詳細については、サポートされている認証局を参照してください。

    サーバー証明書が中間 CA によって署名された場合は、CA 証明書チェーン内のすべての証明書を 1 つのファイルにまとめます。証明書は PEM 形式で作成されている必要があります。サーバー証明書の署名に使用される CA 証明書が最初に表示される必要があります。次に例を示します。

    -----BEGIN CERTIFICATE-----
    ...中間
    CA の証明書...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...CA
    ルート証明書...
    -----END CERTIFICATE-----

    証明書または鍵ファイルのパスを指定する場合は、ファイルの「フルパス」を指定する必要があります。

    CSR、証明書、非公開鍵、および CA 証明書が SGD サーバーの /opt/tarantella/var/tsp ディレクトリに格納されます。

    • サーバー証明書が、サポートされる CA によって署名されており、CSR を生成するために tarantella security certrequest コマンドを使用した場合は、次のコマンドを使用します。


      # tarantella security enable \
      --certfile certificate-path
      

    • サーバー証明書が、サポートされる CA によって署名されており、CSR を生成するために tarantella security certrequest コマンドを使用しなかった場合は、次のコマンドを使用します。


      # tarantella security enable \
      --certfile certificate-path --keyfile key-path
      

    • サーバー証明書が、サポートされていない CA または中間 CA によって署名されている場合は、次のコマンドを使用します。


      # tarantella security enable \
      --certfile certificate-path [--keyfile key-path] \
      --rootfile CA-certificate-path
      

    • 自己署名付き証明書を使用して SGD セキュリティーサービスを有効にするには、次のコマンドを使用します。


      # tarantella security enable
      

SGD Web サーバーへの HTTPS 接続の使用

SGD セキュリティーサービスでは、SGD Client と SGD サーバーの間の接続だけをセキュリティー保護します。ブラウザと SGD ホスト上の SGD Web サーバー間の接続をセキュリティー保護するには、Web サーバーで HTTPS 接続を有効にする必要があります。

SGD Web サーバーは、HTTPS Web サーバーになるように事前構成されており、SGD サーバーと同じ証明書を使用します。これは、Apache 構成ファイル /opt/tarantella/webserver/apache/2.2.8_openssl-0.9.8g_jk1.2.25/conf/httpd.conf に設定されています。



注 - SGD Web サーバー用に別個の証明書を使うこともできます。



サーバー証明書をインストールしたあとは、SGD サーバーまたは SGD Web サーバーを起動するときに、--https 引数を使って HTTPS 接続を有効にします。SGD セキュリティーサービスの有効化を参照してください。

HTTPS 接続を有効にする場合は、アレイ内のすべての SGD Web サーバーに対して HTTPS 接続を有効にする必要があります。アレイ内のすべての SGD Web サーバーが同じ HTTPS ポートを使用する必要があります。

Web サーバーへのセキュリティー保護された接続を有効にしたあとは、ユーザーのクライアントプロファイルにログイン URL 用の HTTPS URL が含まれていることを確認してください。クライアントプロファイルを参照してください。

ファイアウォール越えの使用

SGD セキュリティーサービスが有効になっていると、SGD Client は TCP ポート 5307 で SGD サーバーに接続します。クライアントデバイスと SGD サーバーの間でこのポートを開けない場合は、「ファイアウォール越え」を使用してユーザーが単一のポート (通常はポート 443) で SGD にアクセスできるように設定できます。ファイアウォール越えを使用するときは、ポート 443 で待機するように SGD サーバーを設定します。その後、SGD サーバーは、AIP トラフィック以外のすべてのトラフィックを SGD Web サーバーに転送します。このため、ファイアウォール越えは「ファイアウォール転送」と呼ばれることもあります。

SGD がファイアウォール越えに対応するように設定されている場合は、クライアントデバイスの IP アドレスのフィルタリングに依存するどの SGD 機能も使用できません。つまり、次の機能は使用できません。

procedure icon  ファイアウォール越えを設定する方法

  1. localhost および TCP ポート 443 にバインドするようにアレイ内の各 SGD Web サーバーを設定します。

    1. SGD ホストにスーパーユーザー (root) としてログインします。

    2. Apache 構成ファイルを編集します。

      構成ファイルは /opt/tarantella/webserver/apache/2.2.8_openssl-0.9.8g_jk1.2.25/conf/httpd.conf です。

    3. SSL Support セクションの <IfDefine SSL> 指令を変更します。

      指令を次のように変更します。

      <IfDefine SSL>
      Listen 127.0.0.1:443
      </IfDefine>

    4. 変更を保存します。

  2. アレイのプライマリ SGD サーバーにスーパーユーザー (root) としてログインします。

  3. 暗号化された接続に TCP ポート 443 を使用するように、アレイ内の各 SGD サーバーを設定します。

    次のコマンドを使用します。


    # tarantella config edit --array-port-encrypted 443
    



    ヒント - Administration Console でポートを設定することもできます。「グローバル設定」→ 「通信」タブに移動します。「暗号化されている接続ポート」フィールドに 443 と入力します。



  4. HTTP トラフィックを SGD Web サーバーに転送するように、アレイ内の各 SGD サーバーを設定します。

    次のコマンドを使用します。


    # tarantella config edit --array \
    --security-firewallurl https://127.0.0.1:443
    



    ヒント - Administration Console でポートを設定することもできます。SGD サーバーを選択し、「セキュリティー」タブに移動します。「ファイアウォール転送 URL」フィールドに https://127.0.0.1:443 と入力します。



  5. アレイ内の SGD サーバーごとに、ファイアウォール転送 URL が有効になっていることを確認します。

    次のコマンドを使用して、各サーバーを確認します。


    # tarantella config list --server serv --security-firewallurl
    

SGD サーバーへの SOAP 接続の保護

SGD Webtop などのクライアントアプリケーションでは、SOAP プロトコルと HTTP を使用して、SGD サーバーから提供される Web サービスにアクセスします。HTTPS を使用して、これらの接続をセキュリティー保護することができます。

SOAP 接続をセキュリティー保護するには、HTTPS を使用するように、SGD Webtop などのクライアントアプリケーションを設定する必要があります。また、クライアントアプリケーションでは、アレイ内のどの SGD サーバーに対してもサーバー証明書の有効性を検証できる必要があります。このためには、クライアントアプリケーションのトラストストアに、サーバー証明書の署名に使用される CA 証明書または証明書チェーンが含まれている必要があります。

次の環境では、SGD への SOAP 接続をセキュリティー保護する必要があります。

procedure icon  SGD サーバーへの SOAP 接続をセキュリティー保護する方法

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. (省略可能) CA 証明書または証明書チェーンを CA 証明書のトラストストアにインポートします。

    SGD はデフォルトでいくつかの CA をサポートしています。CA 証明書をインポートする必要があるのは、サポートされていない CA または中間 CA によってアレイ内の SGD サーバーの証明書が署名された場合だけです。

    サポートされる CA の確認方法および CA 証明書のインポート方法の詳細は、CA 証明書トラストストアを参照してください。

  3. クライアントアプリケーションの Web サービスリソースファイルを設定します。

    1. 共有リソースディレクトリに移動します。


      # cd /opt/tarantella/webserver/tomcat/5.0.28_axis1.2
      # cd shared/classes/com/tarantella/tta/webservices/client/apis
      

    2. Resources.properties ファイルを編集します。

      プロパティーファイルに一覧表示された Web サービスごとに、URL を HTTPS URL に変更し、ポート番号をポート 443 に変更します。たとえば、https://server.example.com:443/axis/services/document/print のように指定します。ここで、server.example.com は SGD サーバーの名前です。

    3. 変更を保存します。

遠隔ホストからの SOAP 接続の保護

この節では、遠隔で実行されるクライアントアプリケーションから SGD への SOAP 接続をセキュリティー保護する方法について説明します。通常、これは次の環境で行われます。

  • SGD Webtop を別の JavaServer Pages (JSP) コンテナに再配置する。

  • 再配置された SGD com.tarantella.tta.webservices.client.views パッケージを使用してユーザー独自のクライアントアプリケーションを開発する。

SGD com.tarantella.tta.webservices.client.views パッケージを使用しないでユーザー独自のクライアントアプリケーションを開発する場合は、この節に記載されている原則に従って SGD サーバーへの SOAP 接続をセキュリティー保護する必要があります。

遠隔ホストから SOAP 接続をセキュリティー保護するには、次の設定を行います。

  • 遠隔ホストの CA 証明書のトラストストア

  • 遠隔ホストの Web サービスリソースファイル

  • SGD サーバーの CA 証明書のトラストストア

遠隔ホストでの CA 証明書のトラストストアの設定

遠隔ホストで、CA 証明書を JSP コンテナの Java Runtime Environment (JRE) トラストストアにインポートすることが必要な場合があります。このトラストストアは、クライアントアプリケーションから SGD サーバーへの HTTPS 接続に使用され、SGD サーバーが提示する証明書をクライアントアプリケーションで検証できるようにします。

JRE トラストストアに、アレイ内の SGD サーバーの証明書に署名するために使用された CA 証明書が含まれていることを確認する必要があります。サーバー証明書が中間 CA によって署名されたものである場合は、トラストストアに CA 証明書チェーン内のすべての証明書が含まれていることを確認してください。

tarantella security customca コマンドを使用して SGD サーバーに CA 証明書または証明書チェーンをインストールした場合は、/opt/tarantella/var/tsp/ca.pem ファイルに CA 証明書または証明書チェーンが格納されます。

証明書のインポート方法、および使用するトラストストアは、JSP コンテナによって変わります。

遠隔ホストでの Web サービスリソースファイルの設定

遠隔ホストで、SGD Web サービスへのアクセスに HTTPS URL を使用するようにクライアントアプリケーションを設定する必要があります。また、JSP コンテナの JRE トラストストアを使用するようにクライアントアプリケーションを設定する必要もあります。

SGD パッケージを使用するクライアントアプリケーションの場合、Web サービスの URL は、遠隔ホストの JSP コンテナ上の共有ライブラリディレクトリの Resources.properties ファイル内に設定されます。詳細については、Webtop を再配置するを参照してください。一覧表示された Web サービスごとに、URL を HTTPS URL に変更します。たとえば、https://server.example.com:443/axis/services/document/print のように指定します。

証明書を追加したあとは、次の行を追加することで、遠隔ホストの JRE トラストストアの詳細を Resources.properties ファイルに追加します。

keystore=keystore-path
keystorepass=password

Resources.properties ファイルの変更後は、JSP コンテナを再起動する必要があります。また、Web サーバーが HTTPS 接続を受け入れるように設定されていることを確認してから、Web サーバーを再起動する必要があります。

SGD サーバーでの CA 証明書のトラストストアの設定

SGD サーバーで、CA 証明書を SGD サーバーの CA 証明書のトラストストアにインポートすることが必要な場合があります。このトラストストアは、SGD サーバーから遠隔ホストへの HTTPS 接続に使用されます。この接続は、SGD サーバーからのイベント送信に使用されます。

SGD はデフォルトでいくつかの CA をサポートしています。CA 証明書をインポートする必要があるのは、サポートされていない CA または中間 CA によって「遠隔ホスト」の証明書が署名された場合だけです。サポートされる CA の確認方法および CA 証明書のインポート方法の詳細は、CA 証明書トラストストアを参照してください。

SGD セキュリティーサービスの有効化

SGD セキュリティーサービスの有効化は、コマンド行から行います。

セキュリティーサービスを最初に有効にしたときは、アレイ内のすべての SGD サーバーと SGD Web サーバーを再起動する必要があります。セキュリティーを一度有効にすると、SGD を再起動するたびに必ずセキュリティーサービスが使用可能になります。

ファイアウォール越えを有効にしたり、新しいサーバー証明書をインストールしたりするなどして SGD 設定を変更した場合は、SGD サーバーと SGD Web サーバーを再起動する必要があります。

ファイアウォール越えが有効になっている場合は、SGD サーバーを起動してから、SGD Web サーバーを起動する必要があります。ファイアウォール越えが有効になっていない場合は、SGD Web サーバーを起動してから、SGD サーバーを起動します。コマンドオプションを一切指定しないで tarantella start または tarantella restart コマンドを使用した場合は、ファイアウォール越えの設定に応じて、SGD サーバーと SGD Web サーバーが必ず正しい順序で起動されます。

procedure icon  SGD サーバーの SGD セキュリティーサービスを有効にする方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. SGD セキュリティーサービスを有効にします。

    次のコマンドを使用します。


    # tarantella security start
    

  3. SGD サーバーと SGD Web サーバーを再起動します。

    次のコマンドを使用します。


    # tarantella restart --https 
    

接続定義の使用

接続定義を使用すると、SGD Client と SGD サーバーの間でセキュリティー保護された接続と標準接続のどちらを使用するかを制御できます。接続タイプは、次の要因の影響を受けます。

SGD サーバーで SGD セキュリティーサービスが有効でない場合は、ユーザーの接続定義に関係なく、そのサーバーへのセキュリティー保護された接続は使用できません。



caution icon

注意 - SGD がファイアウォール越えに対応するように設定されている場合は、接続定義を使用しないでください。ファイアウォール越えでは常にセキュリティー保護された接続を使用します。ファイアウォール越えの使用を参照してください。



接続定義を使用するには、次の手順を実行する必要があります。

接続定義処理が有効になったら、標準接続またはセキュリティー保護された接続を使用するユーザーを判別するように接続定義を設定します。接続定義は、組織レベルで設定します。これは組織単位レベルまたはユーザープロファイルレベルで変更できます。デフォルトでは、SGD セキュリティーサービスが有効な場合、すべてのユーザーがセキュリティー保護された接続を使用できます。

接続定義では、クライアントデバイスと SGD サーバーの IP アドレスまたは DNS 名を使って、標準接続またはセキュリティー保護された接続のどちらが使用されるかを判断します。最初に一致したエントリが使用されるため、接続定義の順番は重要です。接続定義にワイルドカード * または ? を含めることで、複数の DNS 名や IP アドレスに一致させることができます。

たとえば、Elizabeth Blue のユーザープロファイルオブジェクトには、次の接続定義が設定されています。


クライアントデバイスのアドレス SGD サーバーのアドレス 接続タイプ
*.example.com * 標準
* * セキュア

Elizabeth が、通常使用するクライアントデバイス sales1.example.com から SGD にログインすると、リスト内の最初の接続定義が一致して、標準接続が使用されます。

Elizabeth が、example.com に所属しないクライアントデバイスから SGD にログインすると、リスト内の 2 番目の接続定義が一致して、セキュリティー保護された接続が使用されます。

Elizabeth が接続定義を保持していない場合は、組織階層内の親オブジェクトの接続定義により、接続タイプが決定されます。

procedure icon  接続定義処理を有効にする方法

  1. Administration Console で、「グローバル設定」→ 「セキュリティー」タブに移動します。

  2. 「接続定義」チェックボックスを選択します。

  3. 「保存」をクリックします。

procedure icon  接続定義を設定する方法

  1. Administration Console で、「ユーザープロファイル」タブに移動し、設定するオブジェクトを選択します。

    多数のユーザーの接続定義を一度に設定でき、管理が容易になるため、組織および組織単位オブジェクトに対して接続定義を設定することをお勧めします。

  2. 「セキュリティー」タブに移動します。

  3. 接続定義を追加します。

    接続定義内の DNS 名または IP アドレスには、ワイルドカード * または ? を含めることができます。

    1. 「接続定義」テーブルの「追加」ボタンをクリックします。

      「新規接続定義の追加」ウィンドウが表示されます。

    2. 「クライアントデバイスのアドレス」フィールドに、IP または DNS 名を入力します。

    3. 「Secure Global Desktop サーバーのアドレス」に、IP または DNS 名を入力します。

    4. リストから「接続タイプ」を選択します。

    5. 「追加」をクリックします。

      「新規接続定義の追加」ウィンドウが閉じて、接続定義が「接続定義」テーブルに追加されます。

  4. 必要に応じて、接続定義を追加します。

    「接続定義」テーブルには、組織階層内の親オブジェクトから継承した定義も表示されます。

  5. 「上に移動」および「下に移動」ボタンを使って、接続定義の順番を変更します。

    接続定義の順番は重要です。最初に一致したエントリが使用されます。固有の定義は、一般性の高い設定よりも前に配置するようにしてください。

クライアント接続とセキュリティーの警告

クライアントデバイスと SGD の間でセキュリティー保護された接続を使用するときは、次のセキュリティー警告の一部またはすべてが表示されます。



注 - SGD セキュリティーサービスが有効でない場合でも、これらの警告が表示されることがあります。これは、SGD Client と SGD サーバー間の初期接続が常にセキュリティー保護されるからです。



この節では、これらの警告が表示される理由とその対処方法について説明します。

ブラウザと Java Plug-in ツールのセキュリティー警告

SGD Web サーバーへのセキュリティー保護された接続 (HTTPS) を有効にしている場合、Web サーバー証明書の署名に使用される CA 証明書またはルート証明書がブラウザのブラウザの証明書ストアで使用可能になっていないと、警告が表示されます。セキュリティーの警告を表示しないで Web サーバー証明書の有効性を検証できるようにするには、CA 証明書またはルート証明書をユーザーのブラウザ証明書ストアにインポートします。このためには、ブラウザのツールを使用します。

ブラウザで Java テクノロジが有効になっている場合は、Java Plug-in ツールによって Web サーバーの証明書に関する警告が表示されることもあります。これは Java コントロールパネルの設定によります。デフォルトでは、Java Plug-in ツールはブラウザ証明書ストアにある証明書を使用する設定になっています。Plug-in ツールがこのような設定になっていない場合は、必要に応じ、Java コントロールパネルを使って CA 証明書またはルート証明書をインポートしてください。

SGD サーバー証明書のセキュリティー警告

サーバー証明書を保持している SGD サーバーにユーザーがログインすると、SGD Client は処理を続行する前に証明書の有効性を検証します。

サーバー証明書に問題がある場合は、セキュリティー警告メッセージが表示されます。セキュリティー警告メッセージを使用すると、ユーザーは、証明書を永続的に承認するか、一時的に承認するか、または拒否するかを選択する前に証明書の詳細を表示できます。図 1-3 は、セキュリティー警告メッセージの例を示しています。

図 1-3   SGD サーバー証明書のセキュリティー警告メッセージの例

セキュリティー警告メッセージの例のスクリーンショット


ユーザーが証明書を拒否した場合は、SGD への接続が終了します。

ユーザーが証明書を一時的に承認し、初期接続に同意した場合、証明書の詳細はユーザーセッションが存続している間キャッシュに保存されます。ユーザーが次回ログインするときに、証明書の確認メッセージが再度表示されます。ユーザーが証明書を永続的に承認し、初期接続に同意した場合は、ふたたび証明書の確認が求められることはありません。初期接続への同意の詳細については、信頼されない初期接続の警告を参照してください。

証明書に関するセキュリティー警告は、次の状況で表示されます。

  • 無効な日付 – 現在の日付が証明書内の「Not Before」の日付より前になっているか、または現在の日付が証明書内の「Not After」の日付のあとになっている

  • 正しくないホスト名 – SGD Client が接続しているホストの名前が、証明書内の「Subject」または「Subject Alt Name」に一致しない

  • 発行者不明 – 証明書が、サポートされていない CA によって署名されている

発行者不明のセキュリティー警告を回避する方法の詳細については、発行者不明のセキュリティー警告を回避するを参照してください。

信頼されない初期接続の警告

SGD では、信頼できるサーバーだけに接続するように、SGD への接続をユーザーが承認する必要があります。SGD サーバーに最初に接続するときは、図 1-4 に示すように、ユーザーがサーバーにはじめて接続していることを通知する「信頼されない初期接続」メッセージが表示されます。

図 1-4   信頼されない初期接続の警告

「信頼されない初期接続」警告のスクリーンキャプチャーです。


ユーザーは、「証明書の表示」ボタンをクリックし、有効期間とサブジェクトの詳細が正しいことを確認することによって証明書の詳細を確認できます。ユーザーは、この確認を行なってから、「はい」をクリックして接続に同意する必要があります。ユーザーが接続に同意すると、クライアントデバイス上の次のファイルが更新されます。

  • hostsvisited

  • certstore.pem

hostsvisited ファイルと certstore.pem ファイルは、ユーザーのクライアントプロファイルキャッシュと同じ場所に保存されます。詳細については、プロファイルキャッシュについてを参照してください。

ユーザーが SGD サーバーへの接続に同意すると、クライアントデバイス上の hostsvisited ファイルがその SGD サーバーの名前で更新されます。サーバー証明書が、サポートされていない CA によって署名されている場合は、CA 証明書のフィンガプリントも追加されます。問題が発生しないかぎり、接続に関するプロンプトがユーザーにふたたび表示されることはありません。

ユーザーが SGD サーバーへの接続に同意したときに、サーバー証明書が有効な場合は、そのサーバー証明書がクライアントデバイス上の certstore.pem ファイルに追加されます。

サポートされていない CA によって署名されているなどの理由でサーバー証明書に問題が発生した場合は、SGD サーバー証明書のセキュリティー警告で説明されているように、証明書のセキュリティー警告が表示されます。ユーザーが証明書、または証明書とその CA チェーンを永続的に承認し、SGD サーバーへの接続に同意した場合は、その証明書がクライアントデバイス上の certstore.pem ファイルに追加されます。ユーザーが次回ログインするときに、証明書の確認メッセージは表示されません。ユーザーが証明書を一時的に承認し、SGD サーバーへの接続に同意した場合、証明書はクライアントデバイス上の certstore.pem ファイルに追加されません。ユーザーが次回ログインするときに、証明書の確認メッセージが表示されます。

サーバー証明書が変更されたなどの理由で接続に問題が発生した場合は、図 1-5 に示すように、「安全でない可能性のある接続」メッセージが表示されます。

図 1-5   「安全でない可能性のある接続」メッセージ

「安全でない可能性のある接続」警告のスクリーンキャプチャーです。


ユーザーが信頼されている SGD サーバーだけに接続されるようにするために、SGD 管理者は次のことを実行できます。

  • SGD サーバーへの接続に同意するとセキュリティー上どのように影響があるかをユーザーに説明します。

  • 事前構成された hostsvisited ファイルをユーザーに提供します。事前構成された hostsvisited ファイルの使用を参照してください。

発行者不明のセキュリティー警告が表示されないようにする方法の詳細について、発行者不明のセキュリティー警告を回避するも参照してください。

事前構成された hostsvisited ファイルの使用

事前構成された hostsvisited ファイルは、SGD Client が SGD サーバーに最初に接続したとき警告が表示されないようにするために使用できます。また、このファイルは SGD Client が接続できる SGD サーバーを制限するためにも使用できます。

事前構成された hostsvisited ファイルを使用するには、最初にすべての SGD サーバーのホスト名が含まれているファイルを作成します。SGD サーバーのサーバー証明書が、サポートされていない CA によって署名されている場合は、CA 証明書のフィンガプリントも追加する必要があります。もっとも簡単な作成方法は、既存の hostsvisited ファイルをコピーおよび編集してから、クライアントデバイスにインストールすることです。また、tarantella security fingerprint コマンドを使用して CA 証明書のフィンガプリントを取得することもできます。

<allowhostoverride> 行を hostsvisited ファイルに手動で追加できます。<allowhostoverride> 行の値が 0 の場合、SGD Client は、hostsvisited ファイル内にエントリがある SGD サーバーにのみ接続できます。<allowhostoverride> 行の値が 1 の場合、または <allowhostoverride> 行がない場合、SGD Client は任意の SGD サーバーに接続できます。SGD Client が hostsvisited ファイルに一覧表示されていない SGD サーバーに接続した場合は、警告だけが表示されます。hostsvisited ファイルの例を次に示します。


<?xml version="1.0" encoding="UTF-8" ?>
<array>
 <allowhostoverride>0</allowhostoverride>
 <server peername="boston.indigo-insurance.com">
  <certfingerprint>51:B7:6D:FA:6E:3B:BE:ED:37:73:D4:9D:5B:C5:71:F6
  </certfingerprint>
 </server>
</array>

発行者不明のセキュリティー警告を回避する

発行者不明のセキュリティー警告は、SGD サーバーのサーバー証明書が、サポートされていない CA によって発行された場合に表示されます。この警告が表示されるのは、証明書の発行者を検証できないためです。

発行者不明のセキュリティー警告を回避するためのもっとも簡単な方法は、サーバー証明書が必ず、サポートされる CA によって署名されるようにすることです。詳細については、サポートされている認証局を参照してください。

証明書の有効性を検証できるようにするには、CA 証明書または証明書チェーンをインストールする必要があります。ただし、CA 証明書をインストールした場合でも、ユーザーが SGD サーバーに最初に接続するときは、証明書に関するセキュリティー警告が表示されます。証明書に関する警告が表示されないようにするための唯一の方法は、サーバー証明書をクライアントデバイス上の certstore.pem ファイルに追加することです。サーバー証明書は、各 SGD サーバーの /opt/tarantella/var/tsp/cert.pem ファイルに格納されます。

SSL デーモン

SSL デーモンは、SGD Client と SGD サーバーの間のセキュリティー保護された接続を処理する SGD コンポーネントです。SGD ホストでは、SSL デーモンは 1 つ以上の ttassl プロセスとして表示されます。

デフォルトでは、SSL デーモンは SSL で暗号化された AIP トラフィックを TCP ポート 5307 で待機します。ただし、ファイアウォール越えを使用している場合は、AIP トラフィックおよび HTTPS トラフィックを受け入れるデーモンとしてポート 443 で待機します。この場合、AIP トラフィックは処理しますが、HTTPS トラフィックは SGD Web サーバーに転送します。

SSL デーモンにかかる負荷でパフォーマンスが低下することがあります。負荷が増加したときに新しいプロセスを起動するように SSL デーモンを調整できます。マルチプロセッササーバーを使用している場合も、SSL デーモンプロセスの数をプロセッサの数に合わせることでパフォーマンスが向上する可能性があります。

SSL デーモンの調整は、各 SGD サーバーに固有の調整です。サーバーごとに個別に調整する必要があります。

デフォルトでは、SGD セキュリティーサービスが開始するときに、SSL デーモンプロセスが 1 つだけ起動します。接続数が増加しても、追加のプロセスは起動されません。SSL デーモンプロセスは、その最大数まで増加できます。これにより、SSL デーモンは接続数が増加したときに、プロセスの最大数まで新しいプロセスを起動できます。常に複数の SSL デーモンプロセスが必要になる場合は、SSL デーモンプロセスの最小数を増やすことができます。これにより、SGD セキュリティーサービスの開始時に自動的に起動される SSL デーモンプロセスの最小数が制御されます。SSL デーモンプロセスの最大数および最小数の変更方法の詳細は、SSL デーモンプロセスを調整する方法を参照してください。



caution icon

注意 - いったん起動した SSL デーモンプロセスは、負荷が減少しても実行し続けます。



SSL デーモンプロセスの監視には、ログフィルタを使用できます。デフォルトでは、すべてのエラーが記録されます。調整やトラブルシューティングに役立つように、ログ出力の量を増やすことできます。SSL デーモンのログフィルタを変更する方法を参照してください。使用するログフィルタの形式は、SGD サーバーに使用するログフィルタの形式と同じです。ログフィルタを使用した SGD サーバーのトラブルシューティングを参照してください。同じ重要度オプションおよび出力先ファイルオプションを使用できます。デフォルトでは、すべてのエラーが /opt/tarantella/var/log ディレクトリに記録されます。

SSL デーモンが予期せず終了した場合は、完全に失敗にする前に 10 回だけ再起動を試みます。再起動の最大試行回数は変更できます。SSL デーモンの再起動の最大試行回数を変更する方法を参照してください。

procedure icon  SSL デーモンプロセスを調整する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. SSL デーモンプロセスの最小数を変更します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-ssldaemon-minprocesses num
    

    デフォルトの最小数は 1 です。

  3. SSL デーモンプロセスの最大数を変更します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-ssldaemon-maxprocesses num
    

    デフォルトの最大数は 1 です。

  4. SGD サーバーを再起動します。

    変更内容を反映するには、SGD サーバーを再起動する必要があります。

procedure icon  SSL デーモンのログフィルタを変更する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. (省略可能) SSL デーモンのログフィルタを変更します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-ssldaemon-logfilter filter ...
    

    フィルタをコンマで区切ったリストを使用します。

    デフォルトのフィルタを次に示します。

    ssldaemon/*/*error,multi/daemon/*error:sslmulti%%PID%%.log

  3. (省略可能) SGD サーバーを再起動します。

    変更内容を反映するには、SGD サーバーを再起動する必要があります。

procedure icon  SSL デーモンの再起動の最大試行回数を変更する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. SSL デーモンの再起動の最大試行回数を変更します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-ssldaemon-maxrestarts num
    

    デフォルトの最大数は 10 です。再起動の試行回数を -1 に設定すると、再起動の試行回数に制限がなくなります。

  3. SGD サーバーを再起動します。

    変更内容を反映するには、SGD サーバーを再起動する必要があります。

保護付きのクライアント接続用の暗号化方式群の選択

SGD Client と SGD サーバーの間のセキュリティー保護された接続に使用される暗号化方式群を選択できます。詳細は、保護付きのクライアント接続用の暗号化方式群を変更する方法を参照してください。

暗号化方式群は、次の目的に使用される暗号化アルゴリズムの集まりです。

暗号化方式群では、これらの作業のために 1 つずつアルゴリズムを指定します。たとえば、RSA_WITH_RC4_128_MD5 暗号化方式群では、キー交換のために RSA、一括暗号化のために 128 ビットキーの RC4、およびメッセージ認証のために MD5 が使用されます。

表 1-1 に、サポートされている暗号化方式群の一覧を示します。


表 1-1   保護付きのクライアント接続用にサポートされている暗号化方式群
サポートされている暗号化方式群 クライアントの優先順位 OpenSSL 名
RSA_WITH_AES_256_CBC_SHA 1 AES256-SHA
RSA_WITH_AES_128_CBC_SHA 2 AES128-SHA
RSA_WITH_3DES_EDE_CBC_SHA 3 DES-CBC3-SHA
RSA_WITH_RC4_128_SHA 4 RC4-SHA
RSA_WITH_RC4_128_MD5 5 RC4-MD5
RSA_WITH_DES_CBC_SHA 6 DES-CBC-SHA

暗号化方式群を選択するときは、表 1-1 に示すように、暗号化方式群の OpenSSL 名を使用します。複数の暗号化方式群を選択した場合は、上記の表に示されているクライアントの優先順位に基づいて、SGD Client は使用する暗号化方式群を決めます。

デフォルトでは、SGD Client は RSA_WITH_AES_256_CBC_SHA 暗号化方式群を使用します。

procedure icon  保護付きのクライアント接続用の暗号化方式群を変更する方法

アレイ内の SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. アレイのプライマリ SGD サーバーにスーパーユーザー (root) としてログインします。

  2. アレイ内のすべての SGD サーバーを停止します。

  3. 暗号化方式群を指定します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-security-ciphers cipher-suite ...
    

    ここでの cipher-suite は暗号化方式群の OpenSSL 名です。

    複数の cipher-suite を指定する場合は、コロン区切りのリストを使用します。

    デフォルト値は AES256-SHA:RC4-MD5 です。

  4. アレイ内のすべての SGD サーバーを再起動します。

    変更内容を反映するには、SGD サーバーを再起動する必要があります。

外部 SSL アクセラレータの使用

SGD は、外部 SSL アクセラレータの使用をサポートしています。SSL 接続に必要な、プロセッサに負荷がかかるトランザクションを外部 SSL アクセラレータへオフロードすることでパフォーマンスが向上する可能性があります。外部 SSL アクセラレータは、サーバー証明書を集中管理するためにも使用できます。

SGD で外部 SSL アクセラレータを使用するには、次の手順を実行します。

外部 SSL アクセラレータのサポートを有効にすると、SGD の SSL デーモンはセキュリティー保護された接続用に設定されたポートでプレーンテキストトラフィックを受け入れ、自身で復号化した SSL トラフィックとして SGD に転送することができます。

サーバー側プロキシサーバーを使用している場合は、使用しているアレイルートを外部 SSL アクセラレータ用に設定することが必要になる場合があります。サーバー側のプロキシサーバーの設定を参照してください。

procedure icon  外部 SSL アクセラレータのサポートを有効にする方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. Administration Console で、「Secure Global Desktop サーバー」タブに移動し、SGD サーバーを選択します。

  2. 「セキュリティー」タブに移動します。

  3. 「SSL アクセラセータのサポート」チェックボックスを選択します。

  4. 「保存」をクリックします。

  5. SGD サーバーを再起動します。

    変更内容を反映するには、SGD サーバーを再起動する必要があります。


SGD サーバー間の接続の保護

標準インストールでは、アレイ内の SGD サーバー間で送信されるデータは暗号化されません。SGD 管理者は、SSL を使用してアレイのメンバー間の接続をセキュリティー保護することができます。これらの接続に SSL を使用すると、次のようにデータの完全性が保証されます。

このように SSL を使用する方法は、アレイ内のセキュア通信と呼ばれます。

アレイ内のセキュリティー保護された通信の使用

アレイ内のセキュリティー保護された通信を使用する場合、信頼できる認証局 (CA) によって署名された有効なサーバー証明書が、アレイ内の各 SGD サーバーで必要になります。

アレイ内のセキュリティー保護された通信用の 証明書は SGD の内部でのみ使用されるため、アレイ内のプライマリ SGD サーバーが CA として機能します。プライマリ SGD サーバーには、自己署名付きの CA 証明書と非公開鍵が格納されます。アレイ内のすべてのセカンダリ SGD サーバーの信頼できる証明書ストア (トラストストア) には、プライマリ SGD サーバーの CA 証明書のコピーが格納されます。

プライマリサーバーを含めて、アレイ内のすべての SGD サーバーに、サーバー証明書と非公開鍵が格納されます。サーバー証明書は、プライマリ SGD サーバーの CA 証明書によって署名され、SGD サーバーのピア DNS 名を共通名 (CN) として含んでいます。これらの証明書は自己署名付きの CA 証明書を使用して作成されるため、SGD 関連の他の接続の保護には使用できません。これらの証明書は「サーバーピア証明書」と呼ばれ、他の種類のサーバー証明書と区別されます。

アレイ内の 1 つの SGD サーバーが別のサーバーに接続する際 (管理ツールを使用する場合を含む)、接続先の SGD サーバーは SSL ネゴシエーションの一環として自身のサーバーピア証明書を提示します。接続元のサーバーはその証明書を評価し、次のことを確認します。

証明書が有効な場合は、セキュア接続が確立されます。

SGD サーバーでアレイ内のセキュリティー保護された通信を有効にできるのは、そのサーバーがアレイ内のほかの SGD サーバーと連結されていない場合だけです。アレイ内のセキュリティー保護された通信がアレイに対して有効になっているときは、同様にアレイ内のセキュリティー保護された通信が有効になっている SGD サーバーだけをそのアレイに追加できます。

CA 証明書とサーバーピア証明書の管理

アレイ内のセキュリティー保護された通信を有効にすると、SGD では CA 証明書とサーバーピア証明書が自動的に生成されて、アレイのメンバーに配布されます。アレイの構造が変更されるたびに、SGD では CA 証明書とサーバーピア証明書が自動的に更新されます。次の表に、動作の概要を示します。


アレイの変更 動作
サーバーがアレイに追加されたとき
  1. プライマリ SGD サーバーの CA 証明書が新しいセカンダリサーバーにインストールされます。

  2. 新しいセカンダリ SGD サーバーは、プライマリ SGD サーバーの CA 証明書によって署名された新しいサーバーピア証明書を取得します。

サーバーがアレイから切り離されたとき
  1. 切り離された SGD サーバーは、1 つのサーバーだけで構成されるアレイのプライマリ SGD サーバーになります。

  2. 切り離された SGD サーバーは、自身の新しい CA 証明書を作成します。

  3. 切り離された SGD サーバーは、自身の新しいサーバーピア証明書を作成します。

新しいプライマリサーバーが指定されたとき
  1. 新しいプライマリ SGD サーバーは、新しい CA 証明書を生成します。

  2. 新しいプライマリサーバーの CA 証明書がすべてのセカンダリ SGD サーバーにインストールされます。

  3. すべての SGD サーバーが、新しいプライマリ SGD サーバーの CA 証明書によって署名された新しいサーバーピア証明書を取得します。


SGD 管理者は、tarantella security peerca --show コマンドを使用してトラストストアに格納されている証明書を表示できます。トラストストアには、プライマリ SGD サーバーの CA 証明書が格納されています。

procedure icon  アレイ内のセキュリティー保護された通信を有効にする方法

アレイ内の SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

アレイ内のセキュリティー保護された通信の有効化は、コマンド行からのみ行うことができます。

  1. アレイを解除します。

    アレイ内のセキュリティー保護された通信がアレイに対して有効になっていない場合は、アレイを解除し、各 SGD サーバーでアレイ内のセキュリティー保護された通信を有効にしてから、アレイを再構築する必要があります。

    1. プライマリ SGD サーバーに SGD 管理者としてログインします。

    2. すべてのセカンダリサーバーを切り離して、アレイを解除します。

      次のコマンドを使用します。


      $ tarantella array detach --secondary server
      

    3. 各 SGD サーバーの状態を確認します。

      アレイの各メンバーで tarantella status コマンドを実行して、アレイが完全に解除されていることを確認します。

  2. アレイ内のセキュア通信を有効にします。

    SGD サーバーでアレイ内のセキュリティー保護された通信を有効にできるのは、そのサーバーがアレイ内のほかの SGD サーバーと連結されていない場合だけです。

    SGD サーバーに対してアレイ内のセキュリティー保護された通信を有効にするには、次の手順を実行します。

    1. SGD サーバーにスーパーユーザー (root) としてログインします。

    2. SGD サーバーを停止します。

    3. アレイ内のセキュア通信を有効にします。

      次のコマンドを使用します。


      # tarantella config edit \
      --tarantella-config-security-peerssl-enabled 1
      

    4. SGD サーバーを起動します。

  3. アレイを再構築します。

    アレイ内のセキュリティー保護された通信がアレイに対して有効になっているときは、同様にアレイ内のセキュリティー保護された通信が有効になっている SGD サーバーだけをそのアレイに追加できます。

    サーバーは一度に 1 つずつアレイに追加してください。

    アレイ内のセキュリティー保護された通信が有効になったら、次の手順に従って SGD サーバーをアレイに追加します。

    1. アレイに追加する SGD サーバーにスーパーユーザー (root) としてログインします。

    2. SGD サーバーの CA 証明書のフィンガプリントを表示します。

      次のコマンドを使用します。


      # tarantella security peerca --show
      

    3. SGD サーバーの CA 証明書のフィンガプリントを書き留めます。

    4. アレイのプライマリ SGD サーバーにスーパーユーザー (root) としてログインします。

    5. SGD サーバーをセカンダリサーバーとしてアレイに追加します。

      次のコマンドを使用して SGD サーバーを追加します。


      # tarantella array join --secondary serv
      

      セカンダリ SGD サーバーの CA 証明書を信頼するように要求され、証明書のフィンガプリントが表示されます。

    6. フィンガプリントが正しいことを確認し、アレイへの追加を完了します。

      証明書のフィンガプリントが手順 で表示されたフィンガプリントと一致していることを確認します。この作業は、プライマリ SGD サーバーが正規のセカンダリサーバーと通信することを確認するうえで重要です。

      フィンガプリントが一致している場合は、セカンダリ SGD サーバーの CA 証明書を受け入れてアレイへの追加を完了します。

    7. アレイの状態を確認します。

      tarantella status コマンドを使用して、アレイの状態を確認します。

アレイ内のセキュリティー保護された通信用の暗号化方式群の選択

アレイ内の SGD サーバー間のセキュリティー保護された接続に使用される暗号化方式群を選択できます。詳細は、アレイ内のセキュリティー保護された通信用の暗号化方式群を変更する方法を参照してください。

暗号化方式群は、次の目的に使用される暗号化アルゴリズムの集まりです。

暗号化方式群では、これらの作業のために 1 つずつアルゴリズムを指定します。たとえば、RSA_WITH_RC4_128_MD5 暗号化方式群では、キー交換のために RSA、一括暗号化のために 128 ビットキーの RC4、およびメッセージ認証のために MD5 が使用されます。

表 1-2 に、サポートされている暗号化方式群の一覧を示します。


表 1-2   アレイ内のセキュリティー保護された通信用にサポートされている暗号化方式群
サポートされている暗号化方式群 JSSE 名
RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_3DES_EDE_CBC_SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA
RSA_WITH_RC4_128_SHA SSL_RSA_WITH_RC4_128_SHA
RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_MD5
RSA_WITH_DES_CBC_SHA SSL_RSA_WITH_DES_CBC_SHA

暗号化方式群を選択するときは、表 1-2 に示すように、暗号化方式群の Java Secure Socket Extension (JSSE) 名を使用します。複数の暗号化方式群を選択した場合は、一覧表示された最初の暗号化方式群が使用されます。

デフォルトでは、SGD は RSA_WITH_AES_256_CBC_SHA 暗号化方式群を使用します。

procedure icon  アレイ内のセキュリティー保護された通信用の暗号化方式群を変更する方法

アレイ内の SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. アレイのプライマリ SGD サーバーにスーパーユーザー (root) としてログインします。

  2. アレイ内のすべての SGD サーバーを停止します。

  3. 暗号化方式群を指定します。

    次のコマンドを使用します。


    # tarantella config edit \
    --tarantella-config-security-peerssl-ciphers cipher-suite ...
    

    ここでの cipher-suite は暗号化方式群の JSSE 名です。

    複数の cipher-suite を指定する場合は、コロン区切りのリストを使用します。

    デフォルト値は TLS_RSA_WITH_AES_128_CBC_SHA です。

  4. アレイ内のすべての SGD サーバーを起動します。


SSH によるアプリケーションサーバーへの接続の保護

SGD は SSH を使って、SGD サーバーとアプリケーションサーバーの間のセキュリティー保護された接続を提供できます。SSH を使用することには、次の利点があります。

この節の内容は、次のとおりです。

SSH のサポート

SGD では、SSH version 2.x 以降の SSH を使用できます。SSH にはバージョン間の互換性の問題があるので、すべての SGD ホストとアプリケーションサーバーで、メジャーバージョンが同じ SSH (version 2 か version 3) を使用してください。

SGD は、SSH が次のいずれかのディレクトリにインストールされる場合には、そのことを自動的に検出できます。

SSH クライアントを別の場所から実行する場合、またはクライアントに対して特定のコマンド行引数を指定する場合、その詳細についてはSSH クライアントの設定を参照してください。

SSH を使用してアプリケーションサーバーに接続するには、次の条件が満たされている必要があります。

SSH を使用して X アプリケーションに接続するには、X11 転送を有効にする必要があります。詳細については、X11 転送の有効化を参照してください。

SSH クライアントの設定

SGD で SSH を使用する場合は、SSH クライアントで使用するコマンド行引数を設定できます。引数はグローバルに設定するか、個々のアプリケーションに対して設定するか、またはその両方を組み合わせて設定することができます。

SSH クライアントに対して「グローバルオプション」を設定するには、TTASSHCLIENT 環境変数を設定します。詳細は、SSH クライアントのグローバルオプションを設定する方法を参照してください。SSH クライアントのグローバル設定は、次の場合に使用します。

SSH クライアントに対して「アプリケーションオプション」を設定するには、「SSH 引数」属性をアプリケーションオブジェクトに対して設定します。詳細は、SSH クライアントのアプリケーションオプションを設定する方法を参照してください。

SSH クライアントのグローバル設定とアプリケーション設定を組み合わせて、SSH クライアントのパスとコマンド行引数を設定できます。



注 - この場合、グローバルなコマンド行引数はすべて無視されます。



次の表は、使用される ssh コマンドがグローバル設定とアプリケーション設定によってどのように影響されるかを示しています。


グローバル設定 アプリケーション設定 使用される SSH コマンド
[なし] [なし] ssh -l user@host
[なし] -X ssh -X -l user@host
/usr/ssh -X [なし] /usr/ssh -X -l user@host
/usr/ssh -X -p port /usr/ssh -p port -l user@host

procedure icon  SSH クライアントのグローバルオプションを設定する方法

SGD サーバーにログインしているユーザーがいないこと、および実行中のアプリケーションセッション (中断されているアプリケーションセッションを含む) がないことを確認してください。

  1. SGD ホストにスーパーユーザー (root) としてログオンします。

  2. SGD サーバーを停止します。

  3. TTASSHCLIENT 環境変数を設定します。

    SSH クライアントプログラムへのフルパスと必要なコマンド行引数を含めます。次に例を示します。


    # TTASSHCLIENT="/usr/local/bin/ssh -q -X"; export TTASSHCLIENT
    



    注 - SSH クライアントに対してコマンド行引数だけを設定する場合は、SSH クライアントプログラムへのフルパスを含める必要があります。これは、SSH プログラムが SGD によって自動的に検出される場所にある場合でも同様です。



  4. SGD サーバーを再起動します。

procedure icon  SSH クライアントのアプリケーションオプションを設定する方法

  1. Administration Console で、「アプリケーション」タブに移動し、アプリケーションを選択します。

  2. 「起動」タブに移動します。

  3. 「接続方法」の SSH オプションが選択されていることを確認します。

  4. 「ssh 引数」フィールドで、そのアプリケーションで使用する SSH 引数を入力します。

  5. 「保存」をクリックします。

X11 転送の有効化

SGD で SSH 接続を使用して X アプリケーションを表示するには、X11 転送を有効にする必要があります。

procedure icon  X11 転送を有効にする方法

  1. SGD ホストにスーパーユーザー (root) としてログインします。

  2. SSH デーモンを設定します。

    sshd_config ファイルを編集して、次の行を追加します。

    X11Forwarding yes

  3. SSH クライアントを設定します。

    次のいずれかを実行します。

    • ssh_config ファイルを編集して、次の行を追加します。

      ForwardAgent yes

      ForwardX11 yes

    • -X コマンド行引数を使用するように SSH クライアントを設定します。

      詳細については、SSH クライアントの設定を参照してください。

  4. SSH デーモンを再起動します。

SSH と X セキュリティー拡張機能の使用

SGD は X セキュリティー拡張機能をサポートします。X セキュリティー拡張機能は、-Y オプションをサポートする SSH のバージョンでのみ動作します。OpenSSH の場合、これは 3.8 以降のバージョンです。X セキュリティー拡張機能を有効にするには、次に示すように個々のアプリケーションのアプリケーションオブジェクトを設定します。

procedure icon  X セキュリティー拡張機能を有効にする方法

  1. Administration Console で、「アプリケーション」タブに移動し、アプリケーションを選択します。

  2. 「起動」タブに移動します。

  3. 「接続方法」の SSH オプションが選択されていることを確認します。

  4. 「X セキュリティー拡張機能」チェックボックスを選択します。

  5. 「保存」をクリックします。

SSH と X 認証の使用

X 認証が有効になっているときに SSH 接続に失敗する場合は、IPv4 だけを使用するモードで SSH デーモンを実行してみてください。これは、サーバーで使用している Xsecurity 拡張が SGD でサポートされていないことがあるためです。IP version 4 モードを有効にするには、システムの SSH 構成ファイルを編集します。次に例を示します。



注 - システムに SSH 構成ファイルがない場合は、作成することができます。



この変更を加えたら、SSH デーモンを再起動する必要があります。

高度な SSH 機能の使用

クライアント鍵などの一部の SSH 機能では、SSH クライアントプロセスを特権ユーザーとして実行する必要があります。しかし、セキュリティー上の理由により、SGD サーバープロセスおよび SSH クライアントプロセスを非特権ユーザーとして実行します。

高度な SSH 機能を使用するには、SGD ttasshhelper アプリケーションを setuid root プロセスにする必要があります。このためには、アレイ内の各 SGD サーバーでスーパーユーザー (root) として次のコマンドを実行します。


# chown root /opt/tarantella/bin/bin/ttasshhelper
# chmod 4510 /opt/tarantella/bin/bin/ttasshhelper



caution icon

注意 - これらの変更を行った場合は、承認されていないアクセスから SGD サーバーを保護する必要があります。



クライアント鍵に関する既知の制限

SSH クライアント鍵の機能を使用している場合、ユーザーがアプリケーションを起動したときに、ユーザー名とパスワードの入力を要求されることがあります。この入力を要求されるのは、SSH 接続のために使用するユーザー名を SGD が認識している必要があるためです。ユーザーはパスワードの入力も要求されますが、このパスワードは実際には使用されません。ユーザーがユーザー名とパスワードの入力を要求されるのは、アプリケーションサーバーのパスワードキャッシュ内にそのユーザーのエントリがない場合か、またはパスワードキャッシュが無効になっている場合だけです。ユーザーが入力を要求された場合、指定する必要があるのはユーザー名だけです。パスワードフィールドは空白のままにすることができます。