このセクションは、リモートで MS SQL Server を実行する場合や、性能の低いプロトコル (SSL 3.0、TLS 1.0-1.1など) で既存の MS SQL Server が稼働している場合に重要です。多くのデータセキュリティ標準 (DSS) (たとえば PCI 3.1 など) では、データのプライバシーと整合性を確保するために TLS 1.2 の使用を求めています。
始める前の注意事項以下の手順には、MOVEit Transfer の外部でユーザーまたは MS SQL 管理者が実行する手順が含まれています。Ipswitch では、Microsoft またはその他のサードパーティベンダーに由来するドキュメント、オンラインリソース、ホストされているソフトウェアに対する変更について責任を負わないものとします。以下のドキュメントは、MOVEit Transfer の本リリースの時点で正確です。
PCI 3.1 には、後方互換性や「フォールバック」接続のないエンドツーエンドの TLS 1.2 が必要です。たとえば、サーバーで SSL/TLS バージョンの範囲がサポートされており、クライアントが TLS 1.2 より安全性の低い旧バージョンのプロトコルで実行されている場合、クライアントとサーバー間の「フォールバック」接続をネゴシエートする必要があります。
MS SQL Server など、MOVEit Transfer Server とはホストが異なるデータベースサーバーを実行している場合、MS SQL Server で適切なレベルのセキュリティがトランザクションに適用されていることを確認する必要があります。
MS SQL Server での MOVEit Transfer データベーストランザクションが、TLS 1.2 上で実行されていることを確認するには、以下を行う必要があります。
TLS 1.2 接続上で SQL Server を実行するには、以下の手順を行います。
注: これらの変更に伴う、セキュリティと可用性のトレードオフ、タイミング、影響を常に考慮してください。厳しいエンドポイントセキュリティポリシーを適用すると、準拠していない、または仕様を満たさないクライアントへの接続が拒否される可能性があります。
以下の方法を使用すると、MOVEit Transfer Server で TLS 1.2 を使用して、リモート MS SQL Server に (SQL クライアントで) 接続することができます。これは制限措置ではありません。(この設定を最初に適用することで、ステップ 3 -- MS SQL Server ホストで通信を制限した後でも確実に接続できるようになります)。
MOVEit Transfer Server には Windows Server が必要です。このサーバーは SSPI (Security Support Provider Interface) の一部として、デフォルトで Schannel Library (Schannel.dll) を使用します。これらの手順には、実行時設定として Schannel が想定するレジストリキー値を適用する方法の詳細が記載されています (TLS/SSL 接続)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
TLS 1.2 で HTTPS と FTPS を使用するように MOVEit エンドユーザークライアント接続を制限するには、MOVEit Transfer Configuration ユーティリティを使用します。TLS 1.2 が有効になっていることを確認しますが、性能の低いプロトコルは選択を解除することができます (MOVEit Transfer Configuration ユーティリティは、MOVEit Transfer Server ホスト上で実行されます)。
MS SQL Server には Windows Server が必要です。このサーバーは SSPI (Security Support Provider Interface) の一部として、デフォルトで Schannel Library (Schannel.dll) を使用します。これらの手順には、実行時設定として Schannel が想定するレジストリキー値を適用する方法の詳細が記載されています (TLS/SSL 接続)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
SCHANNEL\Protocols\TLS 1.2\Client
SCHANNEL\Protocols\TLS 1.2\Server
MS SQL ホストマシンで、DWORD DisabledByDefault エントリの値が "TLS 1.2\Server" サブキーに対してゼロ (0x0)
、つまり false に設定されており、TLS 1.2 がデフォルトで Schannel で使用されることが示されていることを確認します。TLS 1.2\Server\DisabledByDefault
サブキーの場合。
DisabledByDefault = 1
および Enabled = 0
となるように設定してください。注: 特定範囲の SSL プロトコルが MS SQL Server ホストで有効になっている場合、一方の暗号化された接続で再度ネゴシエートやダウングレードができるほか、接続単位でクライアントホスト上で実行されている性能の低いプロトコルに合わせて調整することができます。この動作を防ぐためには、MS SQL サーバーホストで暗号化を必須にし、性能の低いセキュリティプロトコルの使用を明示的にデフォルトで false 状態にする必要があります。
次に、リモートデータベースホストで SQL Server 設定マネージャーを開き、SQL クライアントが暗号化を使用して接続するように接続ポリシーを変更します。
MS SQL Server ホストマシンで以下を実行します。
--ここで <my-sql-server-db> はお使いの Microsoft SQL Server DB サーバーの名前になります。
[適用] をクリックすると、変更を有効にするにはデータベースサーバーの再起動が必要であることを再確認するポップアップダイアログが表示されます。
最後のステップとして、MOVEit Transfer クライアントを使用して MOVEit Transfer Server との要求トラフィックを生成し、トランザクションをリモート MS SQL データベースに送信します。
ip.addr == <transfer-server-ip-address>
MOVEit Transfer Server ホストと MS SQL Server 間の TDS 交換 (SQL クエリなど) に、TLS プロトコルデータユニット情報の TDS トラフィックが表示されます (SQL クエリとバッチクエリは読み取れません)。
TDS トラフィックが TLS で暗号化されていることを確認したら、MS SQL Server ホストで使用できる暗号が厳密に TLS バージョン 1.2 であることを確認します。これは Nmap などのポートスキャナーを使用して行うことができます。たとえば、コマンド: nmap --script ssl-enum-ciphers -p 1433 <my-sql-server-host>
では、TLS のバージョンが警告と一緒に返されます (該当する場合)。