最新バージョン: 1.0.1-2

|
早見表 |
|
|
カタログ |
システム |
|
カテゴリ |
ゲートウェイ |
|
ユーザ ボリューム |
はい |
|
最小 メモリ |
192 M |
|
OS |
Linux |
|
制約 |
いいえ |
INSSLR2 アプライアンスはセキュアな HTTP リクエストのレイヤ 7 ゲートウェイです。 リクエストをエンコードされていない HTTP リクエストに変換します。 クライアント側で安全な HTTP をサポートするためにこの機能を使用できます。
ただし、バックエンド処理インフラストラクチャでは、以下のような場合の SSL をサポートしないかサポートできません。
設定された場合、INSSLR2 はクライアント証明書認証もサポートします。 SSL 相互認証の場合には、クライアントおよびサーバの両方が証明書および対応する公開鍵を交換します。 処理を進める前に、クライアントおよびサーバの両方は証明書を発行した証明機関(CA)に連絡して証明書が信頼できることを確認することができます。
そのデフォルト設定で、INSSLR2 は安全な HTTP リクエスト用のレイヤ -7 ゲートウェイとして動作します。 また、アプリケーションに送信されるネットワーク トラフィックに対してファイアウォール保護されたエントリ ポイントを提供します。 これはインターネット アクセス可能な静的 IP アドレスを使用して設定できます。
設定されると、2 つの INSSLR2 アプライアンスは冗長サービスを提供するためにフェールオーバ モードで使用できます。 この場合、INSSLR2 IP アドレスは 1 つのノード上でのみ実行され、失敗した場合には他の INSSLR2 アプライアンスに自動で転送されます。 一度にアクティブにする INSSLR2 アプライアンスは 1 つのみです。 フェールオーバ モードで実行する場合。INSSLR2 は複数のモードで動作するよう設定できます。
プライマリ ノードが失敗または停止した場合、バックアップ アプライアンスがアクティブになります。 プライマリ アプライアンスが再度使用可能になると、IP アドレスを再び引き継ぎ、アクティブになります。 プライマリ アプライアンスは、fover インターフェースで最も低い IP アドレス(文字列比較)のものになります。
最初のアプライアンスが再度使用可能なった場合、自動で IP アドレスを引き継ぐことはありません。
冗長モードで実行されるとき、INSSLR2 は以下について ctl 端子へのインターフェースを提供します。
INSSLR2 は、その http 端子へ接続されたバックエンド アプライアンスの健全性を常にモニタします。 INSSLR2 が行う健全性状態チェックには、簡易 TCP 接続チェックまたはより複雑な HTTP リクエスト(INSSLR2 の境界上で指定されている場合)が含まれる場合があります。
接続されたアプライアンスが失敗した場合には、INSSLR2 は、グリッド ダッシュボードへエラーをレポートします。または、冗長モードで、設定されている場合は、バックアップ INSSLR2 アプライアンスにフェールオーバを実行します。
複数のサービス用に単一 IP アドレスで表示する必要があるアプリケーションをサポートするには、非 HTTP トラフィックを透過的に個別の出力端子に転送するように INSSLR2 を設定します。 そのような接続で、このアプライアンスはレイヤ -3 ファイアウォール/NAT ルータとして動作します。
リソース
|
リソース |
最小値 |
最大値 |
デフォルト |
|
CPU 使用率 |
0.05 |
4 |
0.05 |
|
メモリ使用量 |
192 MB |
2 G |
192 M |
|
帯域幅 |
1 Mbps |
2 Gbps |
200 Mbps |
メモ
端子
|
名前 |
方向 |
プロトコル |
説明 |
|
ctl |
in |
http |
アプライアンスがプライマリ/バックアップになることを強制する通知を受信します。 fover_mode が none でない場合のみ、この端子は接続を受け付けます。 アプライアンスをアクティブまたはパッシブにする有効な http リクエストは次のとおりです。 /?action=<active|passive|kill|status> 他方のノードがアクティブでなく、フェールオーバを完了できない場合、このアクションは成功しない可能性があります。また、エラーは返されません。 次のリクエストによってアプライアンスのステータスを確認するのは、呼び出しを行うアプリケーションです。 /?action=status status は、アプライアンスの現在の状態(アクティブまたはパッシブ)を返します。 kill は、アプライアンスの強制的なシャットダウンを実行します。 これにより、他方のノードが実行中の場合、そのノードに引き継がせます。 |
|
in |
in |
任意 |
受信トラフィックをすべて受け付けます。 アプリケーション設定エディタの[インターフェース]タブを使用して、この端子に接続されたインターフェースを設定できます。 |
|
fover |
in |
raw |
2 つの INSSLR2 インスタンス間の相互通信用のインターフェースをフェールオーバします。 アプリケーション設定エディタの[インターフェース]タブを使用して、この端子に接続されたインターフェースを設定できます。 |
|
http |
out |
http |
設定された外部 IP アドレス上で受信された HTTPS または HTTP リクエスト(またはその両方)は、標準の HTTP ポート 80 を使用して、プレーン HTTP リクエストとして出力 http に転送されます。 クライアント提供の HTTP ヘッダに加えて、転送されたリクエストには以下の情報ヘッダが含まれます。
|
|
fs |
out |
nfs |
キーの格納場所であるローカル キー ボリュームの代わりの場所として、nfs マウントを提供します。 ローカル キー ボリュームおよび fs 端子接続の両方が提供される場合、アプライアンスは開始しません。 この端子は未接続のままにできます。 |
|
aux |
out |
任意 |
他のプロトコルの出力(設定されている場合)。 詳細については、l3_accept_* プロパティを参照してください。 |
|
nfy |
out |
http |
フェールオーバが発生するたびに通知を送信します。 fover_nfy_prefix も参照してください。 この端子は未接続のままにできます。 |
|
mon |
out |
cce |
パフォーマンスとリソースの使用状況統計を送信します。 |
プロパティ
|
名前 |
タイプ |
説明 |
|
dns1 |
IP アドレス |
プライマリ DNS サーバを定義します。 リモート ホストがその IP アドレスによって指定されている場合、dns1 は空白にしておくことができます。 そうでない場合は、dns1 を指定します。 デフォルト:(空) |
|
dns2 |
IP アドレス |
プライマリ DNS サーバが応答しない場合に使用されるセカンダリ DNS サーバを定義します。 デフォルト:(空) |
|
l7_accept |
enum |
http 端子に転送するために受け付ける HTTP トラフィックの種類を指定します。 有効な値: https、http、both、none。 none に設定された場合、トラフィックはすべて l3_accept_* プロパティのみに従ってリダイレクトされます。 デフォルト: both |
|
l3_accept_proto |
enum |
どのプロトコルを aux 端子へ転送する必要があるかを指定します。 有効な値: none、tcp、udp、raw、all。 raw に設定した場合、l3_accept_port プロパティがプロトコル番号を指定します。 all に設定した場合、外部インターフェース上のすべての受信トラフィックが aux 端子に転送されます。 これよりも l7_accept プロパティの方が優先されます。 注: l7_accept を none 以外の値に設定した場合、すべての http(s) が http 端子へ転送され、残りのトラフィックはこのプロパティの指定どおりに aux へ転送されます。 デフォルト: none |
|
l3_accept_port |
String |
aux 端子への l3_accept_proto によって指定されたプロトコルで受け付け、ルーティングするプロトコルのカンマまたはスペース区切りリスト。 このリスト内のプロトコルは、ポート番号または標準プロトコル名として指定できます(TCP または UDP ポートを指定する場合は ftp、smtp など、raw プロトコルを使用する場合は gre、tcp)。 ポート範囲も指定できます(1024:10000、0:1024)。 空の場合、指定されたプロトコルのすべてのポートが転送されます。 注: l3_accept_proto を raw に設定した場合、このプロパティを指定する必要があります。この場合、プロトコル番号を指定します。 複数の raw プロトコルを指定できますが、20:30 などのプロトコル範囲は指定できません。 デフォルト: all |
|
allowed_hosts |
String |
接続できるホストまたはサブネットのリスト。 スペースまたはカンマで複数のエントリを区切る必要があります。 サポートされている形式の例: 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0。 デフォルト: 0.0.0.0/0(すべて許可) |
|
key_on_fs |
String |
キーが fs 端子を介して nfs マウントに格納されるか(on)、またはローカル キー ボリューム(off)上に格納されるかを示します。 有効な値: on および off デフォルト: off |
|
cert_file |
String |
このゲートウェイ インスタンスでクライアントに提示する必要があるサーバ証明書のファイル名(データ ボリュームのルートを基準にした)。 l7_accept を https または both に設定した場合、このプロパティによって指定された場所の設定済みデータ ボリューム上に有効な証明書を配置する必要があります。 そうしないと、INSSLR2 は起動に失敗します。 詳細については、「ボリューム」を参照してください。 デフォルト: server.pem |
|
unsafe_ssl |
String |
レガシー ブラウザとの互換性のため「安全でない」ssl 暗号の使用を有効にします。 デフォルト値の disabled では、SSLv2 暗号だけでなく、安全と見なされない他のいくつかの SSLv3 および TLSv1 暗号も無効にします。 SSLv2 のみで作動するレガシー ブラウザ用の https セッションをサポートする必要がない限り、このプロパティを disabled のままにすることをお勧めします。 enabled に設定すると、システムで利用可能なすべての SSL 暗号が https セッションで使用できます。 これには SSLv2 が含まれます。 デフォルト: 無効 このプロパティはバージョン 1.2.1 に追加されました。 |
|
keepalive |
Integer |
INSSLR2 とクライアントの間の最大 keepalive 時間を指定します。 時間は秒単位で指定されます。 デフォルト: 15。 |
|
timeout |
Integer |
INSSLR2 がバックエンド サーバからの出力を何秒間待つかを指定します。 バックエンド サーバがタイムアウト秒の出力を送信しない場合、接続が閉じられます。 デフォルト: 300 |
|
max_request_size |
Integer |
クライアント リクエストの最大サイズ(MB)。 アプリケーションで大きなクライアント アップロードを処理する必要がある場合は増やします。 デフォルト: 10 |
|
adv_config |
String |
http と https の両方のリスナ(いずれか有効な方)用ロケーション ブロック内で nginx conf に挿入される raw 設定を追加します。 たとえば、カスタム ヘッダを追加するには、proxy_set_header myport$proxy_port に adv_config を設定します。 これにより、myport : 80 がバックエンド サーバに送信されるリクエストに追加されます。 adv_config はロケーション ブロックに対して任意の有効なステートメントに設定することができます。 詳細については、nginx ドキュメントを参照してください。 複数の設定行は ; で区切ることによって追加できます。 注: 設定されている場合、このプロパティには有効な nginx 構文(; で終了)が含まれている必要があります。そうなっていない場合、アプライアンスは起動に失敗します。 デフォルト:(空) |
|
client_cert |
String |
クライアント証明書認証を有効にします。 有効な値: on、ask、および off on に設定した場合、クライアント証明書認証が強制され、有効な証明書を持っているクライアントのみが INSSLR2 へのリクエストに成功します。 ask に設定した場合、クライアントは証明書を提示するよう求められます。しかし、有効な証明書を提示しなくても接続は確立されます。 デフォルト: off |
|
client_depth |
Integer |
チェーンのクライアント証明書内で追求する検証の深さ。 client_cert が設定されていない場合、このプロパティは効果がありません。 有効な値: 1 ~ 9 デフォルト: 1 |
|
ca_list_client |
String |
PEM 形式の CA 証明書のシーケンスが含まれるファイル。 リストされた CA 証明書の名前が、接続時にクライアントに送信されます。 これはクライアントに対し、どのクライアント証明書を送信する必要があるかを通知します。 同じリストがクライアント証明書の確認にも使用されます。 ファイル名は、マウント済みキー ボリュームのルートまたは fs 端子を使用して行った nfs マウントのルートに相対するもので、次のようにパスを含めてもかまいません。 path/to/keys/ca_list_client.pem デフォルト: ca_list_client.pem |
|
cert_revocation_list |
String |
証明機関によって生成される証明書失効リスト(CRL)が含まれるファイル。 このリストは、CA によって無効にされたクライアント証明書を識別します。 INSSLR2 に対して提示されるすべてのクライアント証明書が検索され、証明書の失効が判明した場合、INSSLR2 はクライアントに対して SSL 証明書エラー応答を発行します。 ca_list_client と同様、ファイル名はマウント済みキー ボリュームのルートまたは fs 端子を使用して行った nfs マウントのルートに相対するもので、次のようにパスを含めてもかまいません。 path/to/keys/ca_list_client.pem デフォルト: empty |
ヘルス チェック プロパティ
|
名前 |
タイプ |
説明 |
|
healthcheck_method |
String |
バックエンド Web サーバのヘルス チェックに使用されるメソッド。
デフォルト: off。 |
|
healthcheck_url |
String |
http_get および http_head のヘルス チェック メソッドを通じてバックエンド Web サーバのヘルス チェックを実行するのに使用される URL。 完全な URL(http://host.name/file/to/check/for.php)、または相対パス(/file/to/check/for.php)として指定可能です。 URL として指定された場合、INSSLR2 は HTTP/1.1 プロトコルを使用する一方で、Host: ヘッダ内の UR から抽出されたホスト名を使用して、ヘルス チェックを実行します。 これにより、仮想ホストの使用が可能になります。 相対パスとして指定されると、INSSLR2 は HTTP/1.0 プロトコルを使用し、このプロパティによって指定されたドキュメントをチェックします。 デフォルト: / |
|
healthcheck_agent |
String |
http_get と http_head のヘルス チェック メソッド用のエージェント識別子として使用される文字列。 デフォルト: INSSLR2-health-check |
|
healthcheck_regexp |
String |
http_head および http_get ヘルス チェック モードで使用されるテスト文字列。 OK などの短い、または一般的な値は誤検出の一致の原因になる場合があります。 この文字列は Perl の正規表現です。 デフォルト: ^HTTP¥/1¥.¥d¥s+200 |
|
healthcheck_interval |
Integer |
バックエンド Web サーバのヘルス チェックの間隔。 これは秒単位で指定します。 デフォルト: 60 秒 |
|
healthcheck_timeout |
Integer |
ヘルス チェックに要する最大時間(単位: 秒)。 タイムアウトを超えた場合、 チェックは失敗したとみなされ、終了します。 新しいチェックが開始されます。 デフォルト: 10 |
|
healthcheck_alert |
Integer |
INSSLR2 がグリッド ダッシュボード上でエラーをダンプし始めるまでのヘルス チェックの失敗回数。 0 に設定した場合、エラーはダッシュボードにレポートされませんが、ヘルス チェックは有効なままです。 アプリケーションを起動/停止するとき、誤った判定による警告を回避するため、値の設定を小さくし過ぎないでください。 INSSLR2 を冗長モードで実行しており、バックエンド サーバが失敗した場合にバックアップ ノードへスイッチを移動する場合は、fover_on_healthcheck も参照してください。 既定値: 3 |
フェールオーバ シナリオで使用する詳細プロパティ
|
名前 |
タイプ |
説明 |
|
fover_mode |
String |
フェールオーバ モード。 有効な値: none (フェールオーバなし)、symmetric、asymmetric none に設定した場合、INSSLR2 は INSSLR2 アプライアンスのように動作し、フェールオーバ機能は提供されません。 symmetric に設定すると、INSSLR2 は対称なフェールオーバ モードで実行されます。 どちらも対称なフェールオーバ モードで実行される 2 つの INSSLR2 アプライアンスを必要とします。 asymmetric に設定すると、INSSLR2 は、非対称なフェールオーバ モードで実行されます。 どちらも非対称なフェールオーバ モードで実行される 2 つの INSSLR2 アプライアンスを必要とします。 注: フェールオーバ モードで実行する場合、両方のアプライアンスの fover_mode が同じ値に設定されている必要があります。 デフォルト: none |
|
fover_remote_ip |
IP アドレス |
フェールオーバ モードで使用される別の INSSLR2 アプライアンスのリモート IP アドレス。 注: fover_mode を none に設定している場合は、これを空にしておきます。 デフォルト:(空) |
|
fover_nfy_prefix |
String |
フェールオーバが発生するたびにリクエストされる URL プレフィックス。 リクエストされる URL は以下のとおりです。 http://nfy/ fover_nfy_prefix fover_mode= fover_mode &state= <start|stop> &ip_addr= ip_addr &fover_local_ip= fover_local_ip &fover_remote_ip= fover_remote_ip &fover_netmask= fover_netmask、nfy 端子経由で送信されます。 デフォルト: ? |
|
fover_on_healthcheck |
Integer |
http 端子上のヘルス チェックが失敗したときに、INSSLR2 がバックアップ ノードにフェールオーバを実行するかどうかを指定します。 ゼロ以外の値に設定されている場合、INSSLR2 はその後の何回にもわたるヘルス チェックの失敗後にフェールオーバを実行します。 アプリケーションを起動/停止するとき、誤った判定による警告を回避するため、値の設定を小さくし過ぎないでください。 単に失敗時の通知が必要な場合は、healthcheck_alert を参照してください。 デフォルト: 0(無効) |
ボリューム
|
名前 |
説明 |
|
key |
最低限、SSL サーバの署名キーが含まれる読み取り専用データ ボリューム(プレースホルダ)。 ファイルは PEM 形式である必要があります。 cert_file プロパティが別の名前を指定するように変更されない場合、証明書は server.pem という名前のキー ボリュームのルート ディレクトリ内に存在する必要があります。 |
アプライアンスが開始に失敗すると、以下のメッセージが、アプライアンスのログ ファイルまたはグリッド コントローラのシステム ログのいずれかに表示される場合があります。
INSSLR2 は、およそ 10 秒で INSSLR2 の失敗を検出し、別のアプリケーションへのフェールオーバにさらに 10 秒を必要とします。 アプリケーションの失敗が最初に発生してから、別のアプリケーションにトラフィックが引き継がれるまでの合計時間は、約 20 秒です。
ドキュメント サイズや利用可能なネットワーク帯域幅にもよりますが、INSSLR2 は毎秒 3000 以上のトランザクション(リクエスト/応答ペア)をルーティングします。
ドキュメント サイズや利用可能なネットワーク帯域幅にもよりますが、INSSLR2 は 7 MB/秒以上でルーティングします。
デフォルト メモリで、INSSLR2 は 500 以上の同時保留リクエストをサポートします。 クライアントからのオープン TCP 接続である保留リクエストで、1 つ以上の未完了 HTTP リクエストが進行中です。
同時接続の最大数は、利用可能な空きメモリに依存します。 16MB の増設メモリは、それぞれ同時 http トランザクションの数を 500 ずつ増やします。
たとえば、冗長モードで実行していて、2000 の同時接続に対応できるようにするには、100M + 3*16M = 148M が必要となります。 冗長モードで実行する場合の最小メモリは 100M です。
冗長モード(fover_mode が none ではない)で実行する場合、INSSLR2 はアクティブまたはパッシブに移行するごとに通知をトリガします。 これは、アクティブなノードの起動時またはフェールオーバの発生時に実行されます。 アクティブまたはパッシブになると通知が各ノードによって送信されます。
INSSLR2 は、次の 2 つの通知を送信します。
リクエストされる URL は以下のとおりです。
http://nfy/ fover_nfy_prefix fover_mode= fover_mode &state= <start|stop> &ip_addr= ip_addr &fover_local_ip= fover_local_ip &fover_remote_ip= fover_remote_ip &fover_netmask= fover_netmask
fover_nfy_prefix を使用して、呼び出されるリモート スクリプトの場所を変更するか、またはパラメータを追加できます(またはその両方)。
fover_nfy_prefix 値の例:
/path/to/script.php?, /path/to/script.php?username=user&password=pass&。
注:
INSSLR2 は、1 分ごとに以下を確認する cronjob を実行します。
いずれかが true の場合は、エラー メッセージがグリッド ダッシュボードに送信されます。 複数のテストに失敗した場合は、すべてのエラーを示すサマリ メッセージがグリッド ダッシュボードにポストされます。
それぞれのエラーは 1 時間に 1 回のみグリッド ダッシュボードに送信されます。 アプライアンス起動後の最初の 5 分間はエラーはレポートされません。 これは、レプリケーションでの他のノードが開始されていないときの間違ったアラームを防止するためです。
SSL を使用するには、署名された証明書と暗号化に使用された秘密キーの両方が必要です。 キーと証明書は、PEM 形式にし、cert_file プロパティによって指定された単一のファイルに配置する必要があります。
サーバ証明書の生成
信頼された証明機関(CA)によって有料で署名できるサーバ証明書を生成するか、自己署名証明書を作成できます。
以下の手順に従います。
openssl genrsa -out privkey.pem 2048
また、以下のコマンドを使用して、パスワード保護されたキーを生成できます。 ただし、パスワード保護されたキーを作成する場合は、INSSLR2 で使用する前にパスワードを削除する必要があります。 INSSLR2 ではパスワードなしのキーが必要です。
openssl genrsa -des3 -out privkey.pem 2048
以下を実行します。
openssl req -new -key privkey.pem -out server.csr
信頼された証明機関へ .csr ファイルを送信した後、署名付き証明書(.crt ファイル)が戻されるので、これを使用できます。
以下を実行します。
openssl req -new -x509 -key privkey.pem -out server.crt -days 1095
サーバ証明書の使用
これで、ファイルに証明書とキーを配置し、以下のコマンドを実行することにより INSSLR2 で使用できるようになります。
cat privkey.pem server.crt > server.pem
キーがパスワード保護されている場合は、以下のコマンドを実行してパスワードを削除できます。
openssl rsa -in key_with_pass.pem -out privkey.pem
既存の apache+mod_ssl サーバ証明書の使用
INSSLR2 では、Apache で使用する既存の証明書を使用できます。 上記の手順に従ってキーがパスワード保護されていないことを確認し、単一のファイルにプライベート証明書とキーを配置します。
例:
チェーン証明書を使用する場合は、発行者によって提供される中間証明書も含める必要があります。 秘密キー、証明書、中間証明書をこの順序で単一ファイル内に配置してください。
例:
重要: サーバ署名キーは、ユーザの Web サイトのアイデンティティを証明するものです。 ユーザの介入なしでアプライアンスが読み取れるようにするためにパスワード暗号化されないので、脆弱でもあります。
データ ボリュームにインストールするときは、キー ファイルを保護するための手段を講じます。 同じデータ ボリュームを他の目的に使用しないでください。また、Web サーバから見られる状態にしないでください。 (例: HTML ページやスクリプトなどの Web アクセス可能なデータをホストするなど)
以下の例は、ユーザ自身の証明機関を作成し、OpenSSL を使用して、自分の証明書に署名する方法の概要を示しています。 これは OpenSSL 0.9.8b (INSSLR2 にインストールされているものと同じバージョン)を使用してテストされました。
証明機関の作成
自己署名付きサーバ証明書の作成に使用するご自身の証明機関をすでにお持ちの場合は、この手順をスキップして、その証明機関を使用することができます。 ユーザのアプリケーションに対する信頼された権限のインスツルメントを作成するときは、環境が安全であることが重要です。
重要: 証明機関用の秘密キーはアプリケーションの信頼性の基盤です。 誰にでもわかるような場所に保管したり、他者に提供したりしないでください。
以下の手順に従います。
openssl genrsa -des3 -out CA/private/CA_key.pem 2048
openssl req -new -key CA/private/CA_key.pem -x509 -days 365 -out CA/CA_cert.pem
証明機関の署名付きクライアント証明書の作成
証明機関の署名付きクライアント証明書を作成することができます。
以下の手順に従います。
openssl genrsa -out clientA_privkey.pem 2048
パスワード保護されているキーを作成するには、-des3 スイッチを使用します
openssl req -new -key clientA_privkey.pem -out clientA_request.csr
openssl x509 -req -days 365 -in clientA_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAcreateserial -out clientA.cer
注:
例:
openssl genrsa -out clientB_privkey.pem 2048
openssl req -new -key clientB_privkey.pem -out clientB_request.csr
openssl x509 -req -days 365 -in clientB_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAserial CA/CA_cert.srl -out clientB.cer
cat clientA_privkey.pem clientA.cer > clientA.pem
openssl pkcs12 -export -in clientA.cer -inkey clientA_privkey.pem -out clientA.p12
INSSLR2 によって使用される CA リスト ファイルの作成
CA の署名付きクライアント証明書の無効化
CA によって発行されたクライアント証明書を無効にするには、以下のコマンドを使用します。
openssl ca -config openssl.conf -revoke clientB.cer -crl_reason keyCompromise
この例で「openssl.conf」は以下に示すとおりであり、「crl_reason」パラメータは、unspecified、keyCompromise、CACompromise、affiliationChanged、superseded、cessationOfOperation、certificateHold、removeFromCRL のうちのいずれかです。 理由の一致では、大文字と小文字を区別しません。
証明書失効リスト(CRL)を再生成する方法
openssl ca -config openssl.conf -gencrl -out CA/crl.pem
この例で、「crl.pem 」は「cert_revocation_list」プロパティとして INSSLR2 に提供されるファイルです。
上記の例に使用される環境設定ファイルの一例を以下に示します。
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
####################################################################
[ CA_default ]
dir = ./CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = sha1 # which md to use.
preserve = no # keep passed DN ordering
policy = policy_anything
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
INSSLR2 が使用する証明機関リスト ファイルの作成
INSSLR2 が使用する証明機関リスト ファイルを作成できます。
ca_list_client プロパティによって識別されるファイルを作成する方法
cat CA/private/CA_key.pem CA/CA_cert.pem > ca_list_client.pem
必要であれば、INSSLR2 サーバ証明書(server.pem など)もクライアント証明書と同じ方法で作成し、作成済みの証明機関によって同様に署名することができます。 この証明書にはパスワードを使用しないでください。
[ツール]-[オプション]-[証明書を表示]-[あなたの証明書]-[インポート]。 INSSLR2 の IP アドレスでブラウザをポイントします。
openssl s_client -host IP-address -port 443 -showcerts -ssl3 -cert clientA.cer -key clientA_privkey.pem -state
クライアント証明書ヘッダ
HTTPS を使用してクライアントを INSSLR2 に接続する場合、およびクライアント証明書を提示する場合、INSSLR2 はバックエンド サーバに返されるリクエストに以下のヘッダを追加します。
これらのヘッダを利用するかどうかはアプリケーションによって判断されます。 INSSLR2 は、特に確認せずに(シグネチャと正しい暗号化のチェックは例外)この情報を渡します。
Web アプリケーション
アプリケーションへの http または https アクセスを行うには、WEB アプライアンスに http 端子を直接接続します。

拡張性のある Web アプリケーションの場合は、HALB アプライアンスに http 端子をフックします。

設定例の一覧は、デフォルト以外の値に設定されたプロパティのみを表示しています。
|
名前 |
タイプ |
説明 |
|
17_accept |
http/https/both |
どの l7 プロトコルが使用されるかを指定します。 https または both を指定する場合、重要なボリュームには cert_file プロパティによって指定された ssl 証明書を含める必要があります。 |
サービスを追加した Web アプリケーション
アプリケーション内に http 以外にもサービスがある場合、INSSLR2 を使用して http トラフィックをその http 端子へ渡し、他のサービス用の aux 端子を使用することができます。

|
プロパティ |
値 |
メモ |
|
17_accept |
http/https/both |
どの l7 プロトコルが使用されるかを指定します。 https または both を指定する場合、重要なボリュームには cert_file プロパティによって指定された ssl 証明書を含める必要があります。 |
|
l3_accept_proto |
tcp |
tcp ポート 25、110、143 を aux 端子へリダイレクトします。 |
|
l3_accept_port |
25,110,143 |
tcp ポート 25、110、143 を aux 端子へリダイレクトします。 |
複数サービスを追加した Web アプリケーション
複数の TCP/UDP サービスおよび HTTP を使用する場合、INSSLR2 を使用して HTTP トラフィックをその HTTP 端子へ渡し、aux を使用して残りのトラフィックを PS8 にフィードします。 PS8 から必要なトラフィックがバックエンド サーバにフィードされます。

|
プロパティ |
値 |
メモ |
|
17_accept |
http/https/both |
どの l7 プロトコルが使用されるかを指定します。 https または both を指定する場合、重要なボリュームには cert_file プロパティによって指定された ssl 証明書を含める必要があります。 |
|
l3_accept_proto |
all |
http 端子へ渡されないすべての IP (icmp 以外の)トラフィックを aux 端子へリダイレクトします。 |
冗長性のある Web アプリケーション
冗長性のある Web アプリケーションが必要な場合は、アプリケーションをコピーし、INSSLR2 を使用して、外部 IP アドレスにフェールオーバ機能を提供することができます。
注: 同じアプリケーション内の 2 つの INSSLR2 アプライアンスが冗長モードで実行されるように設定する場合、同じ IP アドレスを 2 つの異なるインターフェース上に設定した場合、警告メッセージが表示されます。 そのエラーは無視してください。
バックアップ Web アプリケーション
ユーザにダウンタイムを通知するバックアップ アプリケーションのみが必要な場合は、INSSLR2 を使用して、最小限のリソースを必要とするバックアップ アプリケーションを構築します。
使用中のアプライアンス:
プライマリ アプリケーション上の INSSLR2
|
プロパティ |
値 |
メモ |
|
fover_mode |
asymmetric |
プライマリがダウンしているときに限りバックアップ アプリケーションを使用するので、asymmetric モードで実行されます。 |
|
fover_remote_ip |
192.168.100.2 |
2 つのアプリケーション内の INSSLR2 アプライアンス間の通信に使用されるリモート IP アドレス。 |
バックアップ アプリケーション上の INSSLR2
|
プロパティ |
値 |
メモ |
|
fover_mode |
asymmetric |
プライマリがダウンしているときに限りバックアップ アプリケーションを使用するので、asymmetric モードで実行されます。 |
|
fover_remote_ip |
192.168.100.1 |
2 つのアプリケーション内の INSSLR2 アプライアンス間の通信に使用されるリモート IP アドレス。 |
注: アプリケーション設定エディタの[インターフェース]タブを使用して、fover 端子に接続されたインターフェースの属性を設定できます。 例: fover_local_ip および fover_netmask プロパティ。
単一アプリケーション内の冗長性のある Web アプリケーション
新規のアプリケーションを作成しないで、アプリケーションを冗長モードで実行する場合、単純にアプライアンスを二重にすれば冗長モードで実行できます。 この場合は(少なくとも) 2 つの Web サーバと 2 つのデータベース アプライアンスが標準モードで使用され、すべてが使用されるため拡張性が提供されます。 これらはいずれも、一方のアプライアンスに障害が発生した場合、単独でアプリケーションにサービスを提供できます。
追加の拡張性を必要とする場合は、さらに多くの Web とデータベースのアプライアンスを追加できます。 この例では、アプライアンスの半分(in1、sw1、web1、db1)が 1 つのフェールオーバ グループ内で実行され、残り(in2、sw2、web2、db2)は別のフェールオーバ グループ内で実行されるので、アプリケーションはサーバ クラッシュに耐えることができます。 すべてのアプライアンス(要求されるリソースが非常に少ない 1 つの INSSLR2 および 1 つの HALB のアプライアンスを除く)がアクティブ状態にあり、プライマリが失敗したときにのみ実行されるバックアップ アプリケーションにはリソースが費やされないので、このアプリケーションは非常に低コストで冗長性を提供します。

in1
|
プロパティ |
値 |
メモ |
|
fover_mode |
symmetric |
symmetric モードで実行されます。 |
|
fover_remote_ip |
192.168.100.2 |
2 つのアプリケーション内の INSSLR2 アプライアンス間の通信に使用されるリモート IP アドレス。 |
in2
|
プロパティ |
値 |
メモ |
|
fover_mode |
symmetric |
symmetric モードで実行されます。 |
|
fover_remote_ip |
192.168.100.1 |
2 つのアプリケーション内の INSSLR2 アプライアンス間の通信に使用されるリモート IP アドレス。 |
db1
|
プロパティ名 |
値 |
メモ |
|
auto_create |
1 |
ボリュームが空の場合は、データベースを作成します。 |
|
server_id |
1 |
マスタ サーバ 1。 これはリモート アプリケーション上では異なります。 |
|
rpl_mode |
master_and_slave |
マスタとスレーブ |
db2
|
プロパティ名 |
値 |
メモ |
|
auto_create |
1 |
ボリュームが空の場合は、データベースを作成します。 |
|
server_id |
1 |
マスタ サーバ 1。これはリモート アプリケーション上では異なります。 |
|
rpl_mode |
master_and_slave |
マスタとスレーブ |
2 つの同一アプリケーションを実行する冗長性のある Web アプリケーション
2 つの同一のアプリケーションを同じグリッド(ただし、IP アドレスが両方のグリッドからアクセス可能である場合は、別々のサーバまたは別々のグリッド)で実行できます。 これは、サーバの 1 つが失敗してもアプリケーションのうちの 1 つにしか影響しないようにするためです。
注: 同じアプリケーション内の 2 つの INSSLR2 アプライアンスが冗長モードで実行されるように設定する場合、同じ IP アドレスを 2 つの異なるインターフェース上に設定した場合、警告メッセージが表示されます。 そのエラーは無視してください。
以下の例は、冗長モードでも実行されているデータベース アプライアンスを使用したアプリケーションを示しています。 このため、1 つのアプリケーションで失敗した場合でも、別のアプリケーションが引き継ぐのでデータが損失しません。

使用中のアプライアンス:
クライアント リクエストは insslr ゲートウェイ上に送られます。 ゲートウェイは web_lb ロード バランサにリクエストを転送し、web_lb ロード バランサは web1 と web2 のいずれかの Web サーバにリクエストを伝えます。
Web サーバは db データベースにアクセスします。 db アプライアンスはリモート アプリケーションに接続します。 データベースをレプリケートするには、リモート アプリケーションが同じもののコピーで、唯一異なるのは db の server_id とネットワーク設定のみである必要があります。
リモート アプリケーションは、リモート アプリケーションの repl_out ゲートウェイからのみ接続が許可されるように設定された repl_in ゲートウェイを使用して、db アプライアンスに接続します。 2 つのアプリケーション内の db アプライアンスはマスタ/マスタ設定で実行されるので、これらのデータは常に同一です。
プロパティ設定の例
リストに表示されていないプロパティはデフォルト値のままにしてください。 db への Web アクセスは、ポート 8080 上の admin ゲートウェイを使用すれば可能です。
insslr
|
プロパティ |
値 |
メモ |
|
fover_mode |
symmetric |
symmetric モードで実行されます。 |
|
fover_remote_ip |
192.168.100.2 |
2 つのアプリケーション内の INSSLR2 アプライアンス間の通信に使用されるリモート IP アドレス。 リモート アプリケーションでは、これを 192.168.100.1 に変更します。 |
db
|
プロパティ名 |
値 |
メモ |
|
auto_create |
1 |
ボリュームが空の場合は、データベースを作成します。 |
|
error_log_filename |
db.error |
logs データ ボリューム上に格納されるエラー ログ ファイルの名前。 |
|
error_log_level |
error |
エラー ログ レベル |
|
server_id |
1 |
マスタ サーバ 1。これは第 2 アプリケーション上では異なります。 |
|
rpl_mode |
master_and_slave |
マスタとスレーブ |
重要: 常にアクティブなのは 1 つのアプリケーションだけです。他方のアプリケーションはフェールオーバ用に実行され、アクティブなアプリケーションに障害が発生した場合に使用されます。
注:
INSSLR2 は、ベース クラス LUX6 で使用されるサードパーティのオープン ソース パッケージに加えて、以下のサードパーティのオープン ソース パッケージを使用します。
|
ソフトウェア |
バージョン |
変更 |
ライセンス |
メモ |
|
PyXML |
0.8.4-19 |
いいえ |
該当なし |
|
|
heartbeat |
3.0.4-1 |
いいえ |
該当なし |
|
|
heartbeat-libs |
3.0.4-1 |
いいえ |
該当なし |
|
|
iptables |
1.4.7-5.1.el6_2 |
いいえ |
該当なし |
|
|
libgcrypt |
1.4.5-9.el6_2.2 |
いいえ |
GPLv2 |
該当なし |
|
libgpg-error |
1.7-4 |
いいえ |
該当なし |
|
|
lighttpd |
1.4.18-1 |
いいえ |
該当なし |
|
|
nginx |
0.7.62-1 |
はい |
該当なし |
|
|
sudo |
1.7.4p5-13.el6_3 |
いいえ |
該当なし |
|
|
telnet |
0.17-47 |
いいえ |
該当なし |
|
Copyright © 2013 CA.
All rights reserved.
|
|