- が動作するインフラストラクチャの保護
- 内のデータの保護
インフラストラクチャの保護
多くのセキュリティ設定は、サーバーの設定ファイルによって管理されます。 に含まれる組み込みWeb サーバーを使用する場合、サーバー設定ファイルは次の場所にあります:- .NET 版— インストールディレクトリ内の
wwwフォルダにあるWeb.Configファイル(デフォルトではC:\Program Files\CData\CData Arc) - Java 版— インストールディレクトリにある
arc.propertiesファイル
インバウンドトラフィックのTLS/SSL の有効化
CData では、サーバーでTLS/SSL を有効にすることを強くお勧めします。TLS/SSL は、公開鍵 / 秘密鍵暗号化を使用して、クライアントとサーバー間の通信チャネルを暗号化します。この暗号化により、 においてデータの機密性、信頼性、完全性が保護されます。さらに、デジタル証明書を使用することで、TLS はクライアント / サーバーのID 確認機能を提供します。 インバウンドTLS/SSL の有効化は、2つのカテゴリに分類できます:- ホストWeb サーバーのTLS。これは、下位でHTTP を使用するプロトコル(AS2 やAS4 など)を含むHTTP トラフィックに関連します。これらのリクエストの処理には、 をホストするWeb サーバーが使用されるため、Web サーバーレベルでTLS を有効にする必要があります。
- その他すべてのサーバーのTLS。これは、FTP やOFTP のような非HTTP トラフィックに関連します。これらのインバウンド接続を処理するサーバーは をホストするWeb サーバーとは異なるため、 インターフェースのプロファイルページのタブで、適切なプロトコルに対しこれらのオプションを有効にする必要があります。
Web サーバーのTLS/SSL
- .NET 版 については、組み込みサーバーの使用 またはIIS の使用 を参照してください。
- クロスプラットフォーム版については、TLS/SSL の有効化 を参照してください。
その他のサーバーのTLS/SSL
次のサーバーのTLS/SSL を有効化するには、プロファイルページを使用します: 各サーバーには、プロファイルページにTLS/SSL を有効または無効にできるタブがあります。ファイアウォールの設定とDMZ の使用
がメッセージを送受信するには、関連する送信ポートと受信ポートでファイアウォールの干渉を受けないようにする必要があります。ファイアウォール内で特定のIP をホワイトリストに登録し、予想されるソースからのみトラフィックが送信されるようにすることが最善のオプションです。これが不可能な場合は、 がインバウンドメッセージをリッスンする重要なポートでファイアウォールを開く必要があります。 は、ログインポータルの背後で構成リソースを保護します。 デフォルトでは、 Web サーバーはポート8001 をリッスンします。非Web プロトコルのポートは、アプリケーションで直接構成できます。例えば、OFTP サーバーのリスニングポートは、プロファイルページのOFTP サーバータブで設定可能です。DMZ
.NET 版 には、非武装地帯(DMZ)内で をホストするためのリバースSSH トンネルを確立するためのサポートが含まれており、プライベートネットワークのファイアウォールを直接開かないようにすることができます。クラウドホスティングについての詳細は、DMZ Gateway を参照してください。パブリックエンドポイントをWeb インターフェースから分離
デフォルトでは、 は同じWeb サーバーポートを使用して、管理コンソール( が構成および管理される場所)と、リモートパートナーがアプリケーションにデータを送信するために使用するパブリック受信エンドポイントの両方をホストします。管理コンソールは、リモートパートナーがアクセスできないように認証情報によって保護されています。しかし、パブリック受信エンドポイントを別のポートでホスティングすることで、ネットワーク / ファイアウォールのルールを使用して冗長性を追加し、セキュリティを強化することができます。別のネットワークポートでパブリック受信エンドポイントをホストする方法の詳細については、分離プレーンデプロイメントを参照してください。サーバーのセキュリティ設定の強化
Arc の設定ファイルにScriptingEngineHardeningLevel コンフィギュレーションパラメータを設定することで、 サーバーのセキュリティを高めることができます。デフォルトでは、このパラメータは0 に設定されており、いかなる操作もブロックされません。値は0 から3 まで設定でき、値が大きいほど特定の操作が無効になり、セキュリティが強化されます。次のテーブルは、各ハードニングレベルでどの操作が無効になるかを示しています:
次のセクションを参考に、インストールのハードニングレベルを設定します。
.NET
テキストエディタを使用して、インストールディレクトリ内のwww フォルダにあるWeb.Config ファイルを開きます。一番下の<appSettings> タグの中に次の行を追加し、value を希望のレベルに設定します:
Java
テキストエディタを使用して、インストールディレクトリにあるarc.properties ファイルを開きます。次のプロパティの行を追加し、数値を希望のレベルに設定します:
外部マルウェアおよびアンチウイルスファイルスキャナーとの関係
は、ファイル処理中にアプリケーションディレクトリのコンテンツに排他的にアクセスできることを想定しています。アプリケーションは、複数のスレッドが同じファイルを処理しないように、アプリケーションディレクトリのリソースロックなど、時間に敏感なリソースを使用します。コネクタのトランザクションタブ内のファイルをスキャンしてメッセージにメタデータを適用し、コネクタ間でファイルを移動するときは、コネクタのディレクトリ間で即座にファイルを移動してフロー内の複数ステップにわたる迅速な処理を保証します。 ファイルやファイルハンドルをスキャンするプロセスは のパフォーマンスに影響を与え、ファイル自動化の中断、トラフィックのログの失敗、コネクタ間のメッセージ移動の失敗、処理パフォーマンスの低下など、アプリケーションで予期せぬ動作を引き起こす可能性があります。 CData では、ファイルスキャンユーティリティを のアプリケーションディレクトリまたはそのサブディレクトリに指定しないことをお勧めします。ローカルシステムに到着したファイルに対してウイルスやマルウェアのスキャンを実行する必要がある場合は、File コネクタ を使用して、ファイルをアプリケーションディレクトリ外のディスク上のパスに移動することをお勧めします。その場所は、ファイルスキャン用のステージングフォルダとして使用できます。File コネクタを使用してスキャンしたファイルの処理を続行する
他のプロセスと共有されているディスク上のフォルダからファイルを受信する場合、File コネクタを使用して受信の遅延を設定し、コネクタが受信ファイルを受信および処理するまでの待機時間(秒単位)を設定できます。デフォルトの間隔は5秒です。この値を大きくすると、ファイルスキャナーが完了するまでの時間が長くなります。内のデータの保護
次のセクションは、 内のデータのセキュリティに関するものであり、アプリケーションを流れるメッセージ / データ、およびフロー設定そのものを含みます。アウトバウンドトラフィックのTLS/SSL の有効化
は、アウトバウンド接続のターゲットURL に基づいて、TLS/SSL をネゴシエートするかどうかを自動的にパースします。例えば、AS2 アウトバウンド接続がhttps URL をターゲットにしている場合、 はTLS をネゴシエートします。
TLS/SSL は、暗号化メカニズムが組み込まれていないプロトコルを介してデータを転送する場合に強く推奨されます。つまり、Web トラフィックはhttps エンドポイントに送信され、FTP トラフィックはftps エンドポイントに送信される必要がある、などです。ターゲットURL を正しく設定する以外に、 がTLS/SSL 暗号化をネゴシエートするために追加の手順は必要ありません。
TLS/SSL サーバー証明書とSSH キーの検証
TLS/SSL またはSSH サーバーへのアウトバウンド接続を行う場合、接続を確立するコネクタ(例えば、REST、AS2、SFTP)は、サーバーから提供された証明書またはキーの検証を試みます。コネクタ設定にサーバー証明書 / キーが設定されていない場合、 は基盤となるシステム(OS やJRE)に存在する検証プロセスを使用して、サーバーの証明書が信頼できるかどうかを判断します。 特定のTLS/SSL 証明書またはSSH キーのサムプリントを使用してコネクタを構成して、基盤となるシステム動作をオーバーライドできます。アウトバウンド接続を行うときに、サーバーの証明書がコネクタで構成されている証明書と一致する場合、コネクタはサーバーを信頼します。このオプションは最高レベルのセキュリティを提供します。 TLS サーバー証明書フィールドを Any Certificate に設定すると、コネクタはサーバーのID を暗黙的に信頼します。サーバーのなりすまし攻撃の心配がない場合にのみ、これを実行してください。ユーザーと管理者の管理およびAPI へのアクセス
は、 Web インターフェースにログインしてアプリケーションを使用する権限を持つユーザーの一連のユーザー名とパスワード資格情報を保持します。Admin ロールを含むユーザーとロールの詳細については、ユーザー管理とロールを参照してください。 Admin ロールを持つユーザーは、他のユーザーのパスワードにアクセスして変更することができます。 の最初の起動時に作成されたAdmin ユーザーの資格情報は、このアカウントが安全で回復可能であることを保証するために、外部の場所に安全に保存する必要があります。管理API
ユーザーは、管理API への呼び出しを通じてすべてのアプリケーション管理タスクを実行できるため、このAPI へのアクセスを保護することは、Web インターフェースへのアクセスを保護することと同じくらい重要です。 ユーザーが作成されると、このユーザーにAPI へのアクセスを許可する認証トークンを生成できます(アプリケーション内でのユーザーのロールに応じた制限があります)。認証トークンを使用して管理API にアクセスする方法の詳細については、API 認証を参照してください。ユーザーの認証トークンは作成後は表示されないため、外部の場所に安全に保管する必要があります。
FIPS 準拠
連邦情報処理標準(FIPS)は、セキュリティ、相互運用性、データの完全性を確保するため、コンピューターシステムでの使用を目的として米国連邦政府によって開発されたセキュリティ標準のセットです。 でFIPS を有効にするには、以下のエディション固有の手順に従います。Java 版
組み込みJetty Web サーバーでFIPS を有効にするには、まず必要なBouncy Castle FIPS jar ファイルをダウンロードしてインストールする必要があります。https://www.bouncycastle.org/download/bouncy-castle-java-fips/#latest から以下のjar ファイルをダウンロードし、arc.jar と同じディレクトリにあるlib フォルダに配置します:
bcutil-fips-2.x.jarbc-fips-2.x.jarbcpkix-fips-2.x.jarbctls-fips-2.x.jar
HTTP
がクライアントにTLS/SSL を提供するリバースプロキシの背後で動作し、 を実行するサーバーがそのプロキシとHTTP 経由で通信している場合は、単にarc.properties ファイルにcdata.fips.enabled=true を追加します。
TLS/SSL
TLS/SSL(HTTPS)を使用するように設定されている場合にFIPS を有効にするには、まず以下のコマンドを使用してBCFKS キーストアを作成する必要があります:arc.properties ファイルを以下の設定で更新します:
組み込みJetty Web サーバーでFIPS を有効にする場合、最小パスワード長は14文字です。FIPS が有効になっていてパスワードが14文字未満の場合、 にログインできません。
.NET 版
.NET の組み込みWeb サーバーでFIPS を有効にする場合、またはアプリケーションをIIS でホストする場合は、Web.Config ファイルに以下のステートメントを追加します。