転送中TLS暗号化の使用
oci-fss-utils
またはstunnelを使用した転送中暗号化では、TLS v.1.3 (Transport Layer Security)暗号化を使用して、インスタンスとマウントされたファイル・システムの間でデータを保護できます。Oracle Cloud Infrastructure Vaultやファイル・ストレージの保存中の暗号化など、他のセキュリティ方式とともに、転送中暗号化はエンドツーエンドのセキュリティを実現します。
認証にKerberosを使用する場合、KRB5Pセキュリティ・オプションは、代替の転送中暗号化オプションとして、NFSに対する認証、データ整合性(転送中のデータの無許可の変更)、およびデータ・プライバシを提供します。
- ファイル・システムの開始の詳細は、ファイル・ストレージの概要を参照してください。
- ボールト・サービスの詳細は、ボールトの概要を参照してください。
- ファイル・システムの保護の詳細は、ファイル・ストレージ・セキュリティについておよびセキュリティ・ガイドのファイル・ストレージの保護に関するリファレンスを参照してください。
oci-fss-utils
またはstunnelを使用した転送中暗号化では、ファイル・システムのマウント・ターゲットやエクスポート構成の更新は必要ありませんが、LinuxユーザーとWindowsユーザーでステップが異なります。
前提条件
マウント・ターゲットのサブネットのセキュリティ・リストに必須ルールを追加します。また、次のルールをネットワーク・セキュリティ・グループ(NSG)に追加し、マウント・ターゲットをNSGに追加することもできます。ファイル・ストレージに対するセキュリティ・リスト・ルールの追加の詳細および手順は、ファイル・ストレージに対するVCNセキュリティ・ルールの構成、特にシナリオC: マウント・ターゲットおよびインスタンスでのTLS転送中暗号化の使用を参照してください。
暗号化アクセスには、TCPポート2051のルールのみが必要です。
Linuxユーザーの転送中暗号化
転送中暗号化を有効にするには、oci-fss-utils
というパッケージをインスタンスにインストールします。oci-fss-utils
ツールは、次のインスタンス・タイプで使用できます:
- Oracle Linux、CentOS 7 x86
- Oracle Linux、CentOS 8 x86
- Oracle Linux、CentOS 9 x86
- Oracle Linux、CentOS 7 Arm*
- Oracle Linux、CentOS 8 Arm*
- Oracle Linux、CentOS 9 Arm*
*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トンネルを使用してマウント・ターゲットに送信します。
転送中暗号化を設定する一般的なステップは次のとおりです:
- 転送中暗号化を設定する前に、前提条件を満たしていることを確認してください。
-
oci-fss-utils
パッケージをインストールします。- If you're using Oracle Linux, see 1. Install the OCI-FSS-UTILS package.
- CentOSを使用している場合は、手動およびオフライン・インストールを参照してください。
- 転送中暗号化コマンドを使用して、ファイル・システムをマウントします。For instructions, see 2. Mount the file system with the encryption command.
制限事項および考慮事項
- 転送中暗号化インストール・パッケージは、Oracle LinuxおよびCentOSのRPMとして配布されます。Oracle Linuxユーザーは、yumを使用してパッケージをインストールできます。Oracle Linux yum Repositoryからダウンロードすることもできます。
- マウント・ターゲットへの暗号化アクセスを必要とするすべてのインスタンスに、
oci-fss-utils
パッケージをインストールする必要があります。 - 1つのマウント・ターゲットの暗号化されたNFS/TLS接続の数は4096に制限されています。
- DNSホスト名は、
oci-fss-forwarder
を使用して暗号化されたファイル・システムをマウントする場合にはサポートされていません。暗号化されたファイル・システムをマウントするには、マウント・ターゲットのIPアドレスを使用してください。
最新バージョンの
oci-fss-utils
パッケージを使用していない場合は、SSL接続に失敗する可能性があります。SSL接続が失敗すると、NFSv3操作が失敗する可能性があります。 oci-fss-utils
パッケージの最新バージョンにアップグレードすることは、できるだけ早く行うことをお薦めします。新しいRPMバージョン・リリースの詳細は、ファイル・ストレージのリリース・ノートを参照してください。
Linuxでの転送中暗号化の設定
Oracle Linuxユーザーは、Oracle Linux yumリポジトリからTLSユーティリティを直接インストールできます。
- 宛先インスタンスでターミナル・ウィンドウを開きます。
-
次のコマンドを使用して、Oracle開発者yumリポジトリがOracle Linuxのバージョンに対して有効になっていることを確認します。
sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer
次のコマンドを使用して、パッケージをインストールします:
sudo yum install oci-fss-utils
このパッケージは、インスタンス内でns1
というネームスペースを作成します。これには、イーサネット・トラフィックのデフォルトのネットワーク・インタフェースが含まれています。ネットワーク・インタフェースのペアは、マウント・ターゲットごとに作成されます。
After the package has finished installing, proceed to 2. Mount the file system with the encryption command.
RPMインストール・パッケージをダウンロードするにはインターネット・アクセスが必要です。宛先インスタンスにインターネット・アクセス権がない場合、RPMをネットワーク上のステージング・インスタンスにダウンロードし、scp
コマンドを使用してRPMをステージング・インスタンスから宛先インスタンスにセキュアにコピーします。
scp
コマンドには、リモート・ユーザーを認証するためのSSHキー・ペアが必要です。インスタンスがUNIXスタイルのシステムの場合は、ssh-keygen
ユーティリティがすでにインストールされている可能性があります。インストールされているかどうかを確認するには、シェルまたはターミナルを開き、コマンドラインでssh-keygen
と入力します。インストールされていない場合は、http://www.openssh.com/portable.htmlからOpenSSH for UNIXを取得できます.
-
(オプション) 宛先インスタンスにRPMインストール・パッケージのディレクトリを作成します。例:
sudo mkdir -p /<rpm_directory_name>
-
最新の
oci-fss-utils
パッケージをOracle Linux yumリポジトリから宛先インスタンス上のディレクトリまたはネットワーク上のステージング・インスタンスにダウンロードします。- Oracle Linux yumリポジトリ・ページの「リポジトリの参照」で、Oracle Linuxバージョンを選択します。
- 「テストおよび開発用のパッケージ」で、「開発者パッケージ」を検索し、Linuxアーキテクチャ・タイプ(x86_64やaarch64など)を選択します。
-
oci-fss-utils
パッケージの最新バージョンを検索して選択します。最新バージョンの詳細は、ファイル・ストレージのリリース・ノートを参照してください。
-
パッケージをステージング・インスタンスにダウンロードした場合は、ステージング・インスタンスのターミナル・ウィンドウを開き、
scp
コマンドを使用して、RPMをステージング・インスタンスから宛先インスタンスにセキュアにコピーします。例:scp -i <private_key> <downloaded_file_name> <username>@<destination_public_ip_address>:/<rpm_directory_name>
パッケージを宛先インスタンスに直接ダウンロードした場合は、このステップをスキップします。
-
ダウンロードしたパッケージのファイル名にパッケージのバージョンとアーキテクチャが含まれていない場合は、次のコマンドを使用して、インストールするRPMファイルを識別します。
rpm -qp <downloaded_file_name>
パッケージが識別されたら、問合せによって返されたRPMを使用してファイルの名前を変更します。例:
mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
-
次のコマンドを使用して、パッケージをインストールします:
sudo yum localinstall oci-fss-utils-<version>.rpm
このパッケージは、インスタンスでns1
というネームスペースを作成します。これには、サブネット・トラフィック用のデフォルトのネットワーク・インタフェースが含まれています。ネットワーク・インタフェースのペアは、マウント・ターゲットごとに作成されます。
After the package has finished installing, proceed to 2. Mount the file system with the encryption command.
- インスタンス内でターミナル・ウィンドウを開きます。
-
次のように入力し、
yourmountpoint
をファイル・システムへのアクセス元となるローカル・ディレクトリに置き換えて、マウント・ポイントを作成します。sudo mkdir -p /mnt/yourmountpoint
-
次のコマンドを使用して、ファイル・システムをマウントします:
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アドレスを使用する必要があります。このコマンドを使用してファイル・システムをマウントするたびに、
systemd-managed
サービスによって、oci-fss-0<number>.service
などの名前の新しいoci-fss-forwarder
サービスが作成されます。ヒント
デフォルトでは、このツールのNFSクライアントはマウント時に予約済ポートを使用します。非特権ポートを使用する必要がある場合は、マウントオプション
noresvport
を使用します。
Linuxでの転送中暗号化の管理
自動マウントでは、再起動された場合に、インスタンスにファイル・システムが自動的に再マウントされます。
- インスタンス上でターミナル・ウィンドウを開きます。説明に従ってファイル・システムをマウントします。暗号化コマンドを使用してファイル・システムをマウントします。
-
/etc/fstab
ファイルを編集のために開きます:cd /etc
vi fstab
-
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以上がインストールされている場合は、mountコマンドに-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
コマンドを使用して、関連付けられたローカル・ネットワーク・ネームスペースが削除されていることを確認する必要があります:
- インスタンス上でターミナル・ウィンドウを開きます。
-
次のコマンドを使って、ファイル・システムをアンマウントします:
sudo umount -t oci-fss /mnt/yourmountpoint
yourmountpoint
をローカル・マウント・ポイントへのパスに置き換えます。
oci-fss-utils-3.x
などの非推奨バージョンのoci-fss-utils
ユーティリティを使用している場合、または新機能を利用する場合は、新しいバージョンにアップグレードできます。バージョン情報は、File Storageリリース・ノートにあります。
oci-fss-utils
を新しいバージョンにアップグレードする場合、新しいIPアドレスやTLSフォワーダ・プロセス名などの新しい設定は、ファイル・システムが再マウントされるまで適用されません。
TLSクライアントがIPv6アドレスを使用できるように
oci-fss-utils
ユーティリティをアップグレードする場合は、再マウントが必要です。マウントされたファイル・システムを使用するアプリケーションでは、ファイル・システムを再マウントする際に停止時間が発生します。- 宛先インスタンスでターミナル・ウィンドウを開きます。
-
パッケージをアップグレードします。
-
Oracle Linuxユーザーは、Oracle Linux yumリポジトリから
oci-fss-utils
をアップグレードできます。次のコマンドを使用して、Oracle開発者yumリポジトリがOracle Linuxのバージョンに対して有効になっていることを確認します。sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer
次に、次のコマンドを使用して、パッケージをアップグレードします。
sudo yum update -y oci-fss-utils
-
Oracle Linuxを使用しない場合は、Oracle Linux yumリポジトリから最新の
oci-fss-utils
パッケージをダウンロードします。手順については、Manual and offline installationを参照してください。次に、次のコマンドを使用して、パッケージをアップグレードします。sudo yum localinstall -y oci-fss-utils-<version>.rpm
-
-
アップグレード後、次のコマンドを使用して
oci-fss-utils
のバージョンを確認します。sudo rpm -qa | grep oci-fss-utils
- 新しい設定を有効にできるように、ファイル・システムをアンマウントしてファイル・システムを再マウントします。
- まず、マウントされているすべてのファイル・システムをアンマウントします。手順については、ファイル・システムのアンマウントを参照してください。
- インスタンス上でターミナル・ウィンドウを開きます。
-
次のコマンドを入力して、
oci-fss
パッケージをアンインストールします:sudo yum remove oci-fss-utils
Windowsユーザーの転送中暗号化
Windowsクライアントは、stunnelを使用してファイル・システムへの転送中暗号化を有効にできます。
制限事項および考慮事項
- 1つのマウント・ターゲットの暗号化されたNFS/TLS接続の数は、64に制限されています。この制限は、TLSメモリー要件が原因です。NFS接続とは異なり、TLS接続はメモリー・バッファを共有しません。したがって、TLS接続が確立されると、割り当てられたメモリーは専用のままになります。
- DNSホスト名は、暗号化されたファイル・システムをマウントする場合にはサポートされていません。暗号化されたファイル・システムをマウントするには、マウント・ターゲットのIPアドレスを使用してください。
Windowsでの転送中暗号化の設定
次の手順では、ファイル・システムで転送中暗号化が使用されるようにstunnelをインストールおよび設定する方法について説明します。転送中暗号化を設定する前に、前提条件を満たしていることを確認してください。
このプロセスは、次のステップを含むバッチ・スクリプトを使用して自動化できます。
設定タスク
-
ターゲット・インスタンスでWindows PowerShellを開き、次のコマンドを使用してWindows NFSクライアントをインストールします:
Install-WindowsFeature NFS-Client
クライアントがインストールされたら、タスク2: stunnelのダウンロードとインストールに進みます。
-
https://www.stunnel.org/downloads.htmlからstunnelをダウンロードしてインストールします。
ノート
最後のインストール・ステップで、証明書情報をリクエストします。ここでの値の入力はオプションです。デフォルトでは、stunnelは
C:\Program Files (x86)\stunnel
ディレクトリにインストールされます -
ファイル
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
-
C:\Program Files (x86)\stunnel\bin\tstunnel.exe
を使用してstunnelを起動します。タスク3: 接続のマウントとテストに進みます。
コマンド・プロンプトを開き、次の一連のコマンドを入力します:
-
ファイル・システムをマウントします:
mount \\127.0.0.1\fss z:
-
ディレクトリの内容をリストして、ファイル・システムへの接続をテストします:
dir z:
-
ファイル・システムをアンマウントします:
umount z: