転送中暗号化の使用

転送中暗号化を使用すると、TLS v.1.2 (Transport Layer Security)暗号化を使用して、インスタンスとマウントされたファイル・システム間でデータを保護できます。Oracle Cloud Infrastructure Vault (KMS)やファイル・ストレージの保存中の暗号化などのその他のセキュリティ方式とともに、転送中暗号化はエンドツーエンドのセキュリティを実現します。

転送中暗号化では、ファイル・システムのマウント・ターゲットまたはエクスポート構成を更新する必要はありませんが、ステップはLinuxユーザーおよびWindowsユーザーによって異なります。

前提条件

マウント・ターゲットのサブネットのセキュリティ・リストに次の新しいルールを追加します。また、次のルールをネットワーク・セキュリティ・グループ(NSG)に追加し、マウント・ターゲットをNSGに追加することもできます。ファイル・ストレージに対するセキュリティ・リスト・ルールの追加の詳細および手順は、ファイル・ストレージに対するVCNセキュリティ・ルールの構成を参照してください。

  • 宛先ポート範囲2051へのTCPトラフィックを許可するステートフル・イングレス・ルール。
  • ソース・ポート範囲(2051)からTCPトラフィックを許可するステートフル・エグレス・ルール。
重要

ファイル・ストレージのマウント・ターゲットへの標準(暗号化されていない)アクセスでは、次のポートへのアクセスが必要です:

  • TCPポート111、2048、2049および2050へのステートフル・イングレス。
  • UDPポート111および2048へのステートフル・イングレス。
  • TCPポート111、2048、2049および2050からのステートフル・エグレス。
  • UDPポート111からのステートフル・エグレス。

以前に標準アクセスのルールを設定してあり、暗号化アクセスのみを適用する場合は、標準アクセス・ポートを無効にできます。

暗号化アクセスには、TCPポート2051のルールのみが必要です。

Linuxユーザーの転送中暗号化

転送中暗号化を有効にするには、oci-fss-utilsというパッケージをインスタンスにインストールします。oci-fss-utilsは、次のインスタンス・タイプで使用できます。

インスタンス・タイプ 回転数
Oracle Linux、CentOS 7 x86 oci-fss-utils-3.0-0.el7.x86_64.rpm
Oracle Linux、CentOS 8 x86 oci-fss-utils-3.0-0.el8.x86_64.rpm
Oracle Linux、CentOS 7 Arm* oci-fss-utils-3.0-0.el7.aarch64.rpm
Oracle Linux、CentOS 8 Arm* oci-fss-utils-3.0-0.el8.aarch64.rpm

*Oracleは、Ampere Altraプロセッサに基づいたArmベースのコンピュート・プラットフォームを提供します。詳細は、「Armベースのコンピュート」を参照してください。

転送中暗号化を有効化する方法

oci-fss-utilsパッケージは、インスタンス上にネットワーク・ネームスペースと仮想ネットワーク・インタフェースを作成し、ローカルのNFSエンドポイントを提供します。oci-fss-utilsパッケージは、oci-fss-forwarderという転送プロセスもバックグラウンドで実行します。

ネットワーク・ネームスペースによって、転送プロセスがインスタンスのネットワーキング環境から分離されます。仮想ネットワーク・インタフェースによって、転送プロセスに一意のIPアドレスが提供されます。ローカルのNFSエンドポイントでNFS接続機能が提供されます。

ファイル・システムは、暗号化を開始する特殊なコマンドを使用してマウントされます。ファイル・システムのマウント後、oci-fss-forwarderプロセスは、ローカルのNFSクライアントをNFSエンドポイントに接続します。その後、プロセスはNFSクライアントからリクエストを受信し、それらを暗号化してTLSトンネルを使用してマウント・ターゲットに送信します。

転送中暗号化を設定する一般的なステップは次のとおりです:

  1. 転送中暗号化を設定する前に、前提条件を満たしていることを確認してください。
  2. oci-fss-utilsパッケージをダウンロードします。手順については、タスク1: OCI-FSS-UTILSパッケージのダウンロードを参照してください
  3. oci-fss-utilsパッケージをインスタンスにインストールします。手順については、タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールを参照してください
  4. 転送中暗号化コマンドを使用して、ファイル・システムをマウントします。詳細は、タスク3: 暗号化コマンドを使用したファイル・システムのマウントを参照してください

制限事項および考慮事項

  • 転送中暗号化インストール・パッケージは、Oracle LinuxおよびCentOSのRPMとして配布され、cloud-infrastructure-file-storage-downloads.htmlでダウンロードできます
  • マウント・ターゲットへの暗号化アクセスを必要とするすべてのインスタンスに、oci-fss-utilsパッケージをインストールする必要があります。
  • 1つのマウント・ターゲットの暗号化されたNFS/TLS接続の数は、64に制限されています。この制限は、TLSメモリー要件が原因です。NFS接続とは異なり、TLS接続はメモリー・バッファを共有しません。したがって、TLS接続が確立されると、割り当てられたメモリーは専用のままになります。
  • oci-fss-forwarderを使用して暗号化されたファイル・システムをマウントする場合、DNSホスト名はサポートされていません。マウント・ターゲットのIPアドレスを使用して、暗号化されたファイル・システムをマウントします。
重要

最新バージョンのoci-fss-utilsパッケージを使用しない場合は、SSL接続障害が発生する可能性があります。SSL接続が失敗すると、NFSv3操作が失敗することがあります。

oci-fss-utilsパッケージが使用可能になると、常に最新バージョンにアップグレードすることをお薦めします。新しいRPMバージョン・リリースの詳細は、ファイル・ストレージ・リリース・ノートを参照してください。

Linux用の転送中暗号化の設定

タスク1: OCI-FSS-UTILSパッケージのダウンロード

RPMインストール・パッケージをダウンロードするにはインターネット・アクセスが必要です。宛先インスタンスにインターネット・アクセスがない場合は、RPMをネットワーク上のステージング・インスタンスにダウンロードし、scpコマンドを使用してRPMをステージング・インスタンスから宛先インスタンスに安全にコピーできます。

scpコマンドには、リモート・ユーザーを認証するためのSSHキー・ペアが必要です。インスタンスがUNIXスタイルのシステムの場合は、ssh-keygenユーティリティがすでにインストールされている可能性があります。インストールされているかどうかを確認するには、シェルまたはターミナルを開き、コマンドラインでssh-keygenと入力します。インストールされていない場合は、http://www.openssh.com/portable.htmlからOpenSSH for UNIXを取得できます。

  1. (オプション) 宛先インスタンスにRPMインストール・パッケージのディレクトリを作成します。例: 

    sudo mkdir -p /<rpm_directory_name>
  2. cloud-infrastructure-file-storage-downloads.htmlから、宛先インスタンスのディレクトリまたはネットワーク上のステージング・インスタンスにoci-fss-utilsパッケージをダウンロードします。

    パッケージを宛先インスタンスに直接ダウンロードした場合は、次のステップをスキップしてタスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールに直接進みます。

    パッケージをステージング・インスタンスにダウンロードした場合は、手順の次のステップに進みます。

  3. ステージング・インスタンスでターミナル・ウィンドウを開き、scpコマンドを使用してRPMをステージング・インスタンスから宛先インスタンスに安全にコピーします。例:

    scp -i <private_key> <path_to_.rpm> <username>@<destination-public-ip-address>:/<rpm_directory_name>

    RPMパッケージをターゲット・インスタンスにダウンロードした後、タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールに進みます。

タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストール
  1. 宛先インスタンスでターミナル・ウィンドウを開きます。
  2. 次のコマンドを使用して、パッケージをインストールします:

    sudo yum localinstall oci-fss-utils-<version>.rpm

このパッケージは、インスタンス内でns1というネームスペースを作成します。これには、イーサネット・トラフィックのデフォルトのネットワーク・インタフェースが含まれています。ネットワーク・インタフェースのペアは、マウント・ターゲットごとに作成されます。

パッケージのインストールが完了したら、タスク3: 暗号化コマンドを使用したファイル・システムのマウントに進みます。

タスク3: 暗号化コマンドを使用したファイル・システムのマウント
  1. インスタンスのターミナル・ウィンドウを開きます。
  2. 次のように入力し、yourmountpoint をファイル・システムへのアクセス元となるローカル・ディレクトリに置き換えて、マウント・ポイントを作成します。

    sudo mkdir -p /mnt/yourmountpoint
    						
  3. 次のコマンドを使用して、ファイル・システムをマウントします:

    sudo mount -t oci-fss 10.x.x.x:/fs-export-path /mnt/yourmountpoint

    10.x.x.x:を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレスに置き換え、fs-export-pathを、マウント・ターゲットにファイル・システムを関連付ける際に指定したエクスポート・パスに置き換え、yourmountpointをローカル・マウント・ポイントへのパスに置き換えます。エクスポート・パスは、ファイル・システムへのパス(マウント・ターゲットのIPアドレスに対して相対的)です。

    oci-fss-utilsバージョン2.0-1以上をインストールした場合は、マウント・コマンドに-o fipsを含めることで、ファイル・システムをFIPS承認モードでマウントできます。例:
    sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
    重要

    DNSホスト名は、mount -t oci-fssコマンドを使用したファイル・システムのマウントでは現在サポートされていません。マウント・ターゲットIPアドレスを使用する必要があります。

    mount -t oci-fssコマンドの出力例:

    Created symlink from /etc/systemd/system/multi-user.target.wants/oci-fss-2.service to /usr/lib/systemd/system/oci-fss-2.service.

    このコマンドを使用してファイル・システムをマウントするたびに、新しいoci-fssサービスが、2から255まで増加する順序番号で開始されます。たとえば、oci-fss-2.serviceoci-fss-3.serviceなどです。

    ヒント

    resvportオプションを使用すると、クライアントが特定の予約されたポートを使用するように制限できます。例:

    sudo mount -t oci-fss -o resvport=900 10.x.x.x:/fs-export-path /mnt/yourmountpoint

Linux用転送中暗号化の管理

ファイル・システムを自動マウントするには

自動マウントでは、再起動された場合に、インスタンスにファイル・システムが自動的に再マウントされます。

  1. インスタンス上でターミナル・ウィンドウを開きます。タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールの説明に従って、ファイル・システムをマウントします。
  2. 編集のために/etc/fstabファイルを開きます:

    cd /etc
    vi fstab
  3. fstabファイルに次の行を追加します:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail 0 0

    10.x.x.x:を、マウント・ターゲットに割り当てられたローカル・サブネットIPアドレス、fs-export-pathを、ファイル・システムをマウント・ターゲットに関連付ける際に指定したエクスポート・パス、yourmountpointをローカル・マウント・ポイントへのパスに置き換えます。

    oci-fss-utilsバージョン2.0-1以上をインストールした場合は、マウント・コマンドに-o fipsを含めることで、ファイル・システムをFIPS承認モードでマウントできます。例:
    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
    重要

    DNSホスト名は、mount -t oci-fssコマンドを使用してファイル・システムをマウントするために現在サポートされていません。マウント・ターゲットのIPアドレスを使用する必要があります。
    ヒント

    resvportオプションを使用して、クライアントが特定の予約されたポートを使用するように制限できます。例:

    10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
ファイル・システムをアンマウントするには

ファイル・システムをアンマウントする場合は、別のoci-fss-utilsコマンドを使用して、関連するローカル・ネットワーク・ネームスペースが削除されていることを確認する必要があります。

  1. インスタンス上でターミナル・ウィンドウを開きます。
  2. 次のコマンドを使って、ファイル・システムをアンマウントします:

    sudo umount -t oci-fss /mnt/yourmountpoint

    yourmountpointをローカル・マウント・ポイントへのパスに置き換えます。

OCI-FSS-UTILSパッケージをアンインストールするには
  1. まず、マウントされているすべてのファイル・システムをアンマウントします。手順については、ファイル・システムをアンマウントするにはを参照してください。
  2. インスタンス上でターミナル・ウィンドウを開きます。
  3. 次のコマンドを入力して、oci-fssパッケージをアンインストールします。

    sudo yum remove oci-fss-utils

Windowsユーザーの転送中暗号化

Windowsクライアントは、ストネルを使用して、ファイル・システムへの転送中暗号化を有効にできます。

制限事項および考慮事項

  • 1つのマウント・ターゲットの暗号化されたNFS/TLS接続の数は、64に制限されています。この制限は、TLSメモリー要件が原因です。NFS接続とは異なり、TLS接続はメモリー・バッファを共有しません。したがって、TLS接続が確立されると、割り当てられたメモリーは専用のままになります。
  • 暗号化されたファイルシステムのマウントでは、DNSホスト名はサポートされていません。マウント・ターゲットのIPアドレスを使用して、暗号化されたファイル・システムをマウントします。

Windowsの移動中暗号化の設定

これらの手順では、ファイル・システムで転送中暗号化を使用するように、stunnelをインストールして設定する方法について説明します。転送中暗号化を設定する前に、前提条件を満たしていることを確認してください。

ヒント

次のステップを含むバッチ・スクリプトを使用して、このプロセスを自動化できます。

設定タスク

タスク1: Windows NFSクライアントのインストール
  1. ターゲット・インスタンスでWindows PowerShellを開き、次のコマンドを使用してWindows NFSクライアントをインストールします:

    Install-WindowsFeature NFS-Client

    クライアントのインストール後、タスク2:スタネルのダウンロードおよびインストールに進みます。

タスク2:スタネルのダウンロードとインストール
  1. スタネルを https://www.stunnel.org/downloads.htmlからダウンロードしてインストールします。

    ノート

    最後のインストール・ステップでは、証明書情報が要求されます。ここへの値の入力はオプションです。

    デフォルトでは、ストーネルは次のディレクトリにインストールされます: C:\Program Files (x86)\stunnel

  2. 編集のためにファイル C:\Program Files (x86)\stunnel\config\stunnel.cfgを開き、次の構成を指定します。

    [mount]
        client=yes
        accept=127.0.0.1:2048
        connect=10.0.1.155:2051
     
    [nfs]
        client=yes
        accept=127.0.0.1:2049
        connect=10.0.1.155:2051
     
    [nlm]
        client=yes
        accept=127.0.0.1:2050
        connect=10.0.1.155:2051
     
    [rpcbind]
        client=yes
        accept=127.0.0.1:111
        connect=10.0.1.155:2051
  3. C:\Program Files (x86)\stunnel\bin\tstunnel.exeを使用してトンネルを開始します。

    タスク3:接続のマウントおよびテストに進みます。

タスク3:接続のマウントおよびテスト

コマンド・プロンプトを開き、次の一連のコマンドを入力します。

  1. ファイル・システムをマウントします。

    mount \\127.0.0.1\fss z:
  2. ディレクトリの内容をリストして、ファイル・システムへの接続をテストします。

    dir z:
  3. ファイル・システムをアンマウントします。

    umount z: