PostgreSQL には組み込みの暗号化オプションはありませんが、サードパーティの暗号化方式を使用して保存時のデータ暗号化を設定できます。今日のチュートリアルは、透過的データ暗号化 (TDE) 方式を利用してファイル システム レベルの暗号化を有効にすることに焦点を当てています。
PostgreSQL で保存時のデータ暗号化をセットアップする方法
PostgreSQL で保存時のデータ暗号化を設定する場合、目的は、復号化キーを要求することで、ファイル システム上でデータを読み取れないようにすることです。これにより、不正アクセスが排除されます。
PostgreSQL がサーバー上で実行されている場合、Linux Unified Key Setup (LUKS) などのサードパーティ ツールを使用してファイルシステム レベルの暗号化をセットアップできます。あなたのシステムに適切なソリューションが見つかります。ここでは、Ubuntu を使用し、次の手順を使用してデータ暗号化をセットアップします。
ステップ 1: ファイルシステム暗号化ツールをインストールする
暗号化方法を選択したら、必要なツールをインストールする必要があります。ファイルシステムレベルの暗号化方式を選択し、LUKS をインストールします。 LUKS をインストールするには、次のように cryptsetup をインストールします。
須藤 apt-get インストール 暗号化セットアップ
「y」を押してインストールを続行し、すべてが期待どおりにインストールされることを確認します。
ステップ 2: 暗号化されたコンテナをセットアップする
ファイルシステムレベルの暗号化を設定しているため、PostgreSQL データを含む暗号化されたディレクトリをディスク上に作成する必要があります。次のコマンドを使用して、オペレーティング システムで利用可能なデバイスを確認します。
須藤 fdisk -l
次に、適切なデバイスを選択し、次のコマンドを実行します。ここで使用するのは、 /dev/sdb デバイス。 「YES」と入力してアクションを確認するよう求められ、パスフレーズを入力します。
次に、次のコマンドを実行して、LUKS を使用して暗号化する必要があります。
ステップ 3: コンテナをフォーマットする
作成したコンテナーについては、フォーマットする必要があります。次のコードを実行して「mkfs.ext4」オプションを使用します。
須藤 mkfs.ext4 / 開発者 / マッパー / postgres_encrypted
ステップ 4: コンテナをマウントする
次に、暗号化されたコンテナをマウントしましょう。まず、ディレクトリを作成します。 /mnt/ 次のように:
須藤 mkdir / 分 / ポストグレディレクトリが作成されたら、「mount」コマンドを使用して暗号化されたコンテナをマウントし、パスを指定します。
須藤 マウント / 開発者 / マッパー / postgres_encrypted / 分 / ポストグレ /ステップ 5: PostgreSQL データを移動する
これまでのところ、PostgreSQL データを保存するための暗号化コンテナを作成しましたが、データはまだ移動していません。データを移動する前に、PostgreSQL サービスを停止する必要があります。
須藤 systemctl postgresql を停止しますPostgreSQL データを移動するには、次の「copy」コマンドを実行し、前に作成したディレクトリに確実にコピーします。
須藤 rsync -の / だった / ライブラリ / ポストグレSQL / 分 / ポストグレ次に、元の PostgreSQL データをバックアップ場所に移動してバックアップします。
須藤 MV / だった / ライブラリ / ポストグレSQL / だった / ライブラリ / postgresql_backup
次に、迅速にアクセスできるように、ディレクトリのシンボリック リンクを作成する必要があります。
それでおしまい。 PostgreSQL データをファイルシステム レベルの暗号化コンテナにコピーして移動することに成功し、保存中のデータを確実に保護しました。
ステップ 6: PostgreSQL 構成ファイルを編集する
構成ファイル内の data_directory は、貴重な PostgreSQL データの場所を反映しています。ただし、作成した暗号化コンテナ内の PostgreSQL データの場所と一致するように編集する必要があります。したがって、テキスト エディタを使用して PostgreSQL 構成ファイルを開きます。 data_directory セクションを見つけます。編集する前は次のように表示されます。パスは、システムにインストールされている PostgreSQL のバージョンによって異なる場合があります。
ステップ 4 で作成した暗号化されたコンテナーにダイレクトされるようにパスを変更します。この場合、新しいパスは次のとおりです。
ステップ 7: 保存、終了、再起動
PostgreSQL 構成ファイルを保存して終了します。次に、PostgreSQL を起動または再起動します。 PostgreSQL で保存時のデータ暗号化をセットアップすることができました。
それでおしまい! PostgreSQL を引き続き安全に使用し、新しいファイルシステム レベルの暗号化を活用できます。
結論
PostgreSQL で保存時のデータ暗号化を設定するには、使用する暗号化方法を決定し、それを設定する必要があります。ファイルシステムレベルの暗号化をセットアップするために、LUKS を使用した TDE 暗号化を選択しました。さらに、セットアップするために実行するすべての手順を詳しく説明しました。それでおしまい!試してみて、示された手順に従ってください。