転送中TLS暗号化の使用
oci-fss-utils
またはstunnelを使用した転送中暗号化では、TLS v.1.2 (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
パッケージをダウンロードします。手順については、タスク1: OCI-FSS-UTILSパッケージのダウンロードを参照してくださいoci-fss-utils
パッケージをインスタンスにインストールします。手順については、タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールを参照してください- 転送中暗号化コマンドを使用して、ファイル・システムをマウントします。詳細は、タスク3: 暗号化コマンドを使用したファイル・システムのマウントを参照してください
制限事項および考慮事項
- 転送中暗号化インストール・パッケージは、Oracle LinuxおよびCentOSのRPMとして配布され、cloud-infrastructure-file-storage-downloads.htmlでダウンロードできます
- マウント・ターゲットへの暗号化アクセスを必要とするすべてのインスタンスに、
oci-fss-utils
パッケージをインストールする必要があります。 - 1つのマウント・ターゲットの暗号化されたNFS/TLS接続の数は4096に制限されています。
- DNSホスト名は、
oci-fss-forwarder
を使用して暗号化されたファイル・システムをマウントする場合にはサポートされていません。暗号化されたファイル・システムをマウントするには、マウント・ターゲットのIPアドレスを使用してください。
最新バージョンの
oci-fss-utils
パッケージを使用していない場合は、SSL接続に失敗する可能性があります。SSL接続が失敗すると、NFSv3操作が失敗する可能性があります。 最新バージョンのoci-fss-utils
パッケージが使用可能になったら、できるだけ早くアップグレードすることをお薦めします。新しいRPMバージョン・リリースの詳細は、ファイル・ストレージのリリース・ノートを参照してください。
Linuxでの転送中暗号化の設定
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>
-
cloud-infrastructure-file-storage-downloads.htmlから、宛先インスタンスのディレクトリまたはネットワーク上のステージング・インスタンスに
oci-fss-utils
パッケージをダウンロードします。パッケージを宛先インスタンスに直接ダウンロードした場合は、次のステップをスキップしてタスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールに直接進みます。
パッケージをステージング・インスタンスにダウンロードした場合は、手順の次のステップに進みます。
-
ステージング・インスタンス上のターミナル・ウィンドウを開き、
scp
コマンドを使用して、RPMをステージング・インスタンスから宛先インスタンスにセキュアにコピーします。例:scp -i <private_key> <downloaded_file_name> <username>@<destination_public_ip_address>:/<rpm_directory_name>
RPMパッケージをターゲット・インスタンスにダウンロードした後、タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールに進みます。
- 宛先インスタンスでターミナル・ウィンドウを開きます。
-
ダウンロードしたパッケージのファイル名にパッケージのバージョンとアーキテクチャが含まれていない場合は、次のコマンドを使用して、インストールする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
というネームスペースを作成します。これには、イーサネット・トラフィックのデフォルトのネットワーク・インタフェースが含まれています。ネットワーク・インタフェースのペアは、マウント・ターゲットごとに作成されます。
パッケージのインストールが完了したら、タスク3: 暗号化コマンドを使用したファイル・システムのマウントに進みます。
- インスタンスのターミナル・ウィンドウを開きます。
-
次のように入力し、
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以上がインストールされている場合は、mountコマンドに-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.service
、oci-fss-3.service
などです。ヒント
resvport
オプションを使用して、クライアントが特定の予約されたポートを使用するように制限できます。例:sudo mount -t oci-fss -o resvport=900 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Linuxでの転送中暗号化の管理
自動マウントでは、再起動された場合に、インスタンスにファイル・システムが自動的に再マウントされます。
- インスタンス上でターミナル・ウィンドウを開きます。タスク2: Oracle LinuxまたはCentOSでのOCI-FSS-UTILSパッケージのインストールの説明に従って、ファイル・システムをマウントします。
-
/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
パッケージをアンインストールします: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: