sql >> データベース >  >> RDS >> Sqlserver

暗号化された接続SQLServerの証明書の展開

    はじめに

    昨年、SQLServerインスタンスへの暗号化された接続を確保する必要がありました。以前は、それが必要であるとは考えていませんでした。すべてのインスタンスは、アプリケーションサービスによって内部的にアクセスされていました。それでも、安全な接続はインスタンスとクライアントを中間者としての攻撃から保護するため、私たちはそれを行いました。

    接続暗号化は透過的データ暗号化とは異なりますが、どちらの場合も証明書が必要です。この記事では、SQLServerインスタンスの暗号化された接続を設定する手順について説明します。

    MMCでの証明書スナップインの設定

    証明書は、接続を暗号化する公開鍵と秘密鍵を含むデジタル署名されたドキュメントです。公開鍵と秘密鍵は「鍵ペア」です。公開鍵はデータを暗号化し、それらを復号化できるのは秘密鍵だけです。

    証明書は、サーバーとクライアントの両方が信頼するエンティティである認証局によって発行されます。この例では、SQLServerをホストしているサーバーから証明書を生成しました。

    このプロセスは、Microsoft管理コンソール( mmc.exe)を起動することから開始します。 。

    MMCが起動したら、ファイル>スナップインの追加と削除…に移動します。 (図1)。ここでは、Certificate Managerスナップインをコンソールに追加して、サーバー上の証明書を管理します。この点に到達する方法は他にもあることに注意してください。

    他の管理者が証明書を管理する必要があるときに、他の管理者がアクセス許可に問題を起こさないように、コンピューターアカウントからの証明書を管理したいと考えています(図2)。

    この記事では、SQL Serverインスタンスがインストールされているローカルコンピューターでの証明書の管理について説明します(図3)。

    証明書スナップインの作成プロセスが完了すると、それを使用できるようになります。

    [すべてのタスク]>[新しい証明書のリクエスト]を選択することから始めます :

    MMC証明書の登録

    図5のアクションにより、ウィザードが起動します。すぐに実行します。詳細はWindows管理者にとってより適切ですが、重要なことはSQLServerが使用できる有効な証明書を取得することです。

    必要な条件を確認します:

    登録ポリシーと必要な証明書の種類を選択します。この例では、このような目的でドメイン管理者が構成したポリシーを選択しました。ドメイン管理者に相談して、環境に最適なオプションを定義することもできます。

    証明書の登録は、認証局にデジタル証明書を要求するプロセスです。一部の環境では、CAは公開鍵インフラストラクチャの一部です。

    SQLServerの構成

    証明書を取得したら、SQL Serverに移動し、その証明書を使用するように構成します。

    • SQL Server構成マネージャーを開き、SQLServerネットワーク構成>MSSQLServerのプロトコルに移動します。 。
    • このアイテムを右クリックして、プロパティを選択します ドロップダウンメニューから(図11):
    • プロパティ ウィンドウで、証明書を選択します タブ。証明書の登録が正しく行われている場合は、証明書というラベルの付いたドロップダウンメニューに証明書が表示されているはずです。 (図12)。これにより、この証明書をSQLServerインスタンスに関連付けます。 SQLServer構成マネージャーでも証明書の詳細を確認できることに注意してください。
    • 有効な証明書の適用が完了したら、フラグを確認します。 タブをクリックして、暗号化の強制を設定します はいにフラグを立てます 。これにより、SQLServerへのすべての接続が暗号化されます。

    SQL Serverが接続の暗号化に使用する暗号化プロトコルは、オペレーティングシステムの構成によって異なります。次に、SQLServerインスタンスを再起動する必要があります。その後、この新しい証明書をロードします。

    データはWindowsイベントビューア(SQL Serverエラーログ)で確認できます。 Sys Internalsのネットワークモニターなどのツールを使用して、接続の暗号化を確認することもできます(図14)。

    結論

    暗号化された接続は通常、セキュリティを懸念する組織で必要です。この記事では、SQLServerで暗号化された接続を構成する方法に関する経験を共有しました。

    私たちのアプローチでは、証明書を登録し、その証明書をSQL Serverインスタンスに適用し、強制暗号化を有効にしました。 SQLServerで[暗号化の強制]を[はい]に設定すると、インスタンスに接続するすべてのクライアントが同じ暗号化プロトコルを使用する必要があることに注意してください。

    参照

    1. 暗号化された接続を有効にする
    2. SQLServer証明書と非対称キー

    1. GUIを使用してMySQLWorkbenchでユーザー権限を確認する方法

    2. SQLServerのメンテナンスプランを使用してバックアップとメンテナンスのジョブを自動化する

    3. Exp()関数がPostgreSQLでどのように機能するか

    4. INITCAP()–PostgreSQLで初期キャップに変換