SMB
寄稿者
"SMB" は、Microsoftが開発したネットワークファイル共有プロトコルです。ユーザ/グループの認証、権限、ロック、およびファイル共有を、イーサネットネットワークを介して複数のSMBクライアントに一元的に提供します。ファイルとフォルダは共有を通じてクライアントに提供されます。共有は、さまざまな共有プロパティを設定したり、共有レベルの権限を通じてアクセスを制御したりすることができます。SMBは、Windows、Apple、Linuxクライアントなど、このプロトコルをサポートする任意のクライアントに提供できます。
Cloud Volumes Service では、SMB 2.1および3.xバージョンのプロトコルがサポートされます。
アクセス制御/ SMB共有
-
Windowsユーザ名がCloud Volumes Service ボリュームへのアクセスを要求すると、Cloud Volumes Service はCloud Volumes Service 管理者が設定した方法を使用してUNIXユーザ名を検索します。
-
外部UNIXアイデンティティ・プロバイダ(LDAP)が設定されていて、Windows/UNIXユーザ名が同一の場合、Windowsユーザ名は、追加の設定を必要とせずに1:1でUNIXユーザ名にマッピングされます。LDAPを有効にすると、Active Directoryを使用してユーザオブジェクトとグループオブジェクトのUNIX属性がホストされます。
-
Windows名とUNIX名が同じ設定にならない場合は、Cloud Volumes Service がLDAPネームマッピングの設定を使用できるようにLDAPを設定する必要があります(を参照) "「LDAPを使用した非対称ネームマッピング」")。
-
LDAPが使用されていない場合、Windows SMBユーザは、Cloud Volumes Service で「pcuser」という名前のデフォルトのローカルUNIXユーザにマッピングされます。つまり’マルチプロトコルのNAS環境では’pcuserにマップされているユーザーによってWindowsに書き込まれたファイルは’UNIXの所有権をpcuserとして表示しますここでは’pcuserがLinux環境では’nobodyユーザー(UID 65534)となっています
SMBのみの導入では、「pcuser」のマッピングは引き続き有効ですが、Windowsのユーザとグループの所有権が正しく表示され、SMBのみのボリュームへのNFSアクセスは許可されないため、問題ありません。また、SMBのみのボリュームでは、NFSまたはデュアルプロトコルのボリューム作成後のボリュームへの変換はサポートされません。
Windowsは、Active Directoryドメインコントローラでのユーザ名認証にKerberosを使用します。これには、Cloud Volumes Service インスタンスの外部にあるAD DCとのユーザ名/パスワードの交換が必要です。Kerberos認証は'\\servername’UNCパスがSMBクライアントによって使用され’次の場合に使用されます
-
servernameにはDNS A/AAAAエントリがあります
-
servernameに対するSMB / CIFSアクセス用の有効なSPNが存在します
Cloud Volumes Service SMBボリュームを作成すると、セクションの定義に従ってマシンアカウント名が作成されます "「Cloud Volumes Service がActive Directoryにどのように表示されるか」" Cloud Volumes Service は動的DNS(DDNS)を利用してDNSに必要なA/AAAAエントリとPTRエントリ、マシンアカウントプリンシパルの必要なSPNエントリを作成するため、そのマシンアカウント名もSMB共有アクセスパスになります。
|
PTRエントリを作成するには、Cloud Volumes Service インスタンスIPアドレスの逆引き参照ゾーンがDNSサーバ上に存在している必要があります。 |
たとえば、このCloud Volumes Service ボリュームはUNC共有パス「\\cvs-east-433d.cvsdemo.local」を使用します。
Active Directoryでは、次のエントリがCloud Volume サービスによって生成されたSPNエントリです。
DNS前方/後方参照の結果は次のとおりです。
PS C:\> nslookup CVS-EAST-433D Server: activedirectory. region. lab. internal Address: 10. xx.0. xx Name: CVS-EAST-433D.cvsdemo.local Address: 10. xxx.0. x PS C:\> nslookup 10. xxx.0. x Server: activedirectory.region.lab.internal Address: 10.xx.0.xx Name: CVS-EAST-433D.CVSDEMO.LOCAL Address: 10. xxx.0. x
必要に応じて、Cloud Volumes Service 内のSMB共有に対してSMB暗号化を有効または要求することで、より多くのアクセス制御を適用できます。いずれかのエンドポイントでSMB暗号化がサポートされていない場合、アクセスは許可されません。
SMB名エイリアスを使用する
場合によっては、エンドユーザがCloud Volumes Service で使用するマシンアカウント名を把握することがセキュリティ上の懸念事項になることがあります。また、単にエンドユーザへのアクセスパスを単純化することもできます。このような場合は、SMBエイリアスを作成できます。
SMB共有パスのエイリアスを作成する場合は、DNSでCNAMEレコードと呼ばれるものを利用できます。たとえば'\\cvs-east-433d.cvsdemo.local’ではなく'`\\CIFS’という名前を使用して共有にアクセスするが’Kerberos認証を使用する場合は’A/AAAAレコードを指すDNSのCNAMEと’既存のマシンアカウントに追加されたSPNがKerberosアクセスを提供します
CNAMEを追加したあとのDNS前方参照の結果を次に示します。
PS C:\> nslookup cifs Server: ok-activedirectory.us-east4-a.c.cv-solution-architect-lab.internal Address: 10. xx.0. xx Name: CVS-EAST-433D.cvsdemo.local Address: 10. xxx.0. x Aliases: cifs.cvsdemo.local
新しいSPNを追加したあとのSPNクエリの結果を次に示します。
パケットキャプチャでは、CNAMEに関連付けられたSPNを使用してセッション設定要求を確認できます。
SMB認証ダイアレクト
Cloud Volumes Service では、次の機能がサポートされ "方言" SMB認証の場合:
-
LM
-
NTLM
-
NTLMv2
-
Kerberos
SMB共有アクセスのKerberos認証は、使用できる最も安全な認証レベルです。AESおよびSMB暗号化が有効になっていると、セキュリティレベルがさらに向上します。
Cloud Volumes Service では、LMおよびNTLM認証の下位互換性もサポートされています。Kerberosの設定が正しくない場合(SMBエイリアスの作成時など)、共有アクセスはより脆弱な認証方法(NTLMv2など)にフォールバックされます。これらのメカニズムは安全性が低いため、一部のActive Directory環境では無効になっています。より脆弱な認証方法が無効になっていて、Kerberosが適切に設定されていない場合、フォールバックする有効な認証方法がないため、共有アクセスは失敗します。
Active Directoryでサポートされている認証レベルの設定/表示については、を参照してください "ネットワークセキュリティ:LAN Manager認証レベル"。
アクセス許可モデル
NTFS /ファイル権限
NTFS権限とは、NTFSロジックに準拠したファイルシステム内のファイルおよびフォルダに適用される権限です。NTFSアクセス権は’Basic’または’Advanced’で適用でき’アクセス制御の場合は’allow’または[Deny]に設定できます
基本的な権限は次のとおりです。
-
フルコントロール
-
変更
-
読み取りと実行
-
読み取り
-
書き込み
ACEと呼ばれるユーザまたはグループに権限を設定すると、ACLに含まれます。NTFS権限では、UNIXモードビットと同じ読み取り/書き込み/実行の基本が使用されますが、所有権の取得、フォルダの作成/追加、データの書き込み、属性の書き込みなど、より詳細で拡張されたアクセス制御(特別な権限)にも拡張できます。
標準UNIXモードビットは、NTFSアクセス権と同じレベルの粒度を提供しません(ACL内の個々のユーザおよびグループオブジェクトにアクセス権を設定したり、拡張属性を設定したりすることなど)。ただし、NFSv4.1 ACLは、NTFS ACLと同じ機能を提供します。
NTFS権限は共有権限よりも限定的であり、共有権限と組み合わせて使用できます。NTFSの権限構造では、最も制限があります。このため、アクセス権を定義するときに、ユーザまたはグループに対する明示的な拒否もフルコントロールよりも優先されます。
NTFSアクセス権はWindows SMBクライアントから制御されます。
共有権限
共有権限は、NTFS権限(読み取り/変更/フルコントロールのみ)よりも一般的で、NFSエクスポートポリシールールの仕組みと同様に、SMB共有への最初のエントリを制御します。
NFSエクスポートポリシールールは、IPアドレスやホスト名などのホストベースの情報を介したアクセスを制御しますが、SMB共有権限は共有ACLでユーザおよびグループACEを使用してアクセスを制御できます。共有ACLは、WindowsクライアントまたはCloud Volumes Service 管理UIから設定できます。
デフォルトでは、共有ACLと初期ボリュームACLにはフルコントロールを使用したすべてのメンバーが含まれます。ファイルACLを変更する必要がありますが、共有内のオブジェクトのファイル権限によって共有権限が上書きされます。
たとえば、ユーザにCloud Volumes Service ボリュームファイルACLへの読み取りアクセスのみが許可されている場合、次の図に示すように、共有ACLがフルコントロールを使用するEveryoneに設定されていても、ファイルおよびフォルダの作成アクセスは拒否されます。
セキュリティ上の最善の結果を得るには、次の手順を実行します。
-
共有およびファイルのACLからすべてのユーザを削除し、代わりにユーザまたはグループの共有アクセスを設定します。
-
個々のユーザではなくグループを使用してアクセス制御を行うと、管理が容易になり、グループ管理を通じてユーザの削除や追加を迅速に行うことができます。
-
共有権限のACEに対する制限が厳しくなく、一般的な共有アクセスを許可し、ファイル権限を持つユーザとグループにロックダウンされて、より詳細なアクセス制御が可能になります。
-
明示的なDENY ACLは、ALLOW ACLより優先されるため、一般的に使用しないでください。ファイルシステムへのアクセスを迅速に制限する必要があるユーザまたはグループに対する明示的なDENY ACLの使用を制限してください。
-
に注意を払ってください "ACLの継承" 権限を変更する際の設定。ファイル数の多いディレクトリまたはボリュームの最上位で継承フラグを設定すると、そのディレクトリまたはボリュームの下の各ファイルに継承された権限が追加されます。 これにより、各ファイルの調整時に意図しないアクセス/拒否や権限の大幅な変更など、不要な動作が発生する可能性があります。
SMB共有のセキュリティ機能
Cloud Volumes Service でSMBアクセスを使用するボリュームを最初に作成するときに、そのボリュームを保護するための一連の選択肢が表示されます。
Cloud Volumes Service レベル(パフォーマンスまたはソフトウェア)に応じて、次の選択肢があります。
-
*スナップショット・ディレクトリを表示する(CVS -パフォーマンスとCVS - SWの両方で利用可能)*このオプションはSMBクライアントがSMB共有内のスナップショット・ディレクトリにアクセスできるかどうかを制御します(\\server\share\~snapshotタブまたはPrevious Versionsタブ)。デフォルトの設定はチェックされませんボリュームのデフォルトは'~snapshot’ディレクトリへのアクセスを非表示にして拒否し’ボリュームの[以前のバージョン]タブにスナップショット・コピーは表示されません
セキュリティ上の理由、パフォーマンス上の理由(これらのフォルダをAVスキャンから非表示にする)、または設定上の理由から、エンドユーザに対してSnapshotコピーを非表示にすることが望ましい場合があります。Cloud Volumes Service スナップショットは読み取り専用であるため、これらのスナップショットが表示されていても、エンドユーザーはスナップショットディレクトリ内のファイルを削除または変更することはできません。Snapshotコピーが作成された時点のファイルまたはフォルダのファイル権限Snapshotコピー間でファイルまたはフォルダの権限が変更された場合、変更内容はSnapshotディレクトリ内のファイルまたはフォルダにも適用されます。ユーザとグループは、権限に基づいてこれらのファイルやフォルダにアクセスできます。Snapshotディレクトリ内のファイルの削除または変更はできませんが、ファイルまたはフォルダをSnapshotディレクトリからコピーすることは可能です。
-
* SMB暗号化を有効にします(CVS -パフォーマンスとCVS - SWの両方で利用可能)。* SMB暗号化は、SMB共有ではデフォルトで無効になっています(オフ)。このチェックボックスをオンにすると、SMB暗号化が有効になります。つまり、SMBクライアントとサーバ間のトラフィックが、ネゴシエートされたサポート対象の最大暗号化レベルで転送中に暗号化されます。Cloud Volumes Service は、SMBで最大AES-256暗号化をサポートしています。SMB暗号化を有効にした場合、SMBクライアントが気づくことがあるパフォーマンス低下はありません。約10~20%の範囲になります。ネットアップでは、パフォーマンスへの影響が許容されるかどうかをテストで確認することを強く推奨してい
-
* SMB共有を非表示にします(CVS -パフォーマンスとCVS - SWの両方に利用できます)。*このオプションを設定すると、SMB共有パスが通常の閲覧から見えなくなります。つまり、共有パスがわからないクライアントは、デフォルトのUNCパス(例:\\cvs-smb)にアクセスすると共有を参照できません。このチェックボックスをオンにすると、SMB共有パスを明示的に知っているクライアント、またはグループポリシーオブジェクトによって定義された共有パスを持つクライアントだけが、このパスにアクセスできます(難読化によるセキュリティ)。
-
アクセスベースの列挙(ABE)を有効にします(CVS - SWのみ)。 SMB共有を非表示にするのと似ています。ただし、共有やファイルは、オブジェクトへのアクセス権限がないユーザまたはグループに対してのみ表示されます。たとえば、Windowsユーザ「joe」に許可されているアクセス許可で少なくとも読み取りアクセスが許可されていない場合、Windowsユーザ「joe」はSMB共有またはファイルをまったく表示できません。このオプションはデフォルトでは無効になっており、チェックボックスを選択することで有効にできます。ABEの詳細については、ネットアップの技術情報アーティクルを参照してください "アクセスベースの列挙(ABE)の仕組み"
-
継続的可用性(CA)共有のサポートを有効にします(CVS -パフォーマンスのみ)。 "継続的可用性を備えたSMB共有" Cloud Volumes Service バックエンドシステム内のノード間でロック状態をレプリケートすることで、フェイルオーバーイベント中のアプリケーションの停止を最小限に抑えることができます。これはセキュリティ機能ではありませんが、全体的な耐障害性は向上します。現在、この機能では、SQL ServerとFSLogixアプリケーションのみがサポートされています。
デフォルトの非表示共有
Cloud Volumes Service でSMBサーバを作成すると、その場所に配置されます "非表示の管理共有" データボリュームのSMB共有に加えて作成される($命名規則を使用)。これには、C$(名前空間アクセス)とIPC$(Microsoft管理コンソール(MMC)へのアクセスに使用されるリモート手順 呼び出し(RPC)などのプログラム間の通信用の名前付きパイプの共有)が含まれます。
IPC$共有には共有ACLは含まれておらず、変更することはできません。これはRPC呼び出しおよびにのみ使用されます "Windowsは、これらの共有への匿名アクセスをデフォルトで禁止します"。
C$共有ではデフォルトでBUILTIN\Administratorsアクセスが許可されますが、Cloud Volumes Service 自動化によって共有ACLが削除され、C$共有へのアクセスによってCloud Volumes Service ファイルシステム内のマウントされたすべてのボリュームが可視化されるため、すべてのユーザにアクセスすることはできません。その結果'\\server\C$'への移動は失敗します
ローカル/ BUILTIN管理者/バックアップ権限を持つアカウント
Cloud Volumes Service SMBサーバは、選択したドメインユーザおよびグループにアクセス権を適用するローカルグループ(BUILTIN\Administratorsなど)があることに、通常のWindows SMBサーバと同様の機能を維持します。
バックアップユーザに追加するユーザを指定すると、そのActive Directory接続を使用するCloud Volumes Service インスタンスのBUILTIN\Backup Operatorsグループにユーザが追加され、が取得されます "SeBackupPrivilegeおよびSeRestorePrivilege"。
Security Privilegeユーザにユーザを追加すると、そのユーザにはSeSecurityPrivilegeが付与されます。これは、などの一部のアプリケーションユースケースで役立ちます "SMB共有上のSQL Server"。
Cloud Volumes Service ローカルグループメンバーシップは、適切な権限を持つMMCを使用して表示できます。次の図に、Cloud Volumes Service コンソールを使用して追加されたユーザを示します。
次の表に、デフォルトのBUILTINグループのリストと、デフォルトで追加されるユーザ/グループを示します。
ローカル/ BUILTINグループ | デフォルトのメンバー |
---|---|
builtin\Administrators* |
Domain\Domain Adminsの略 |
Builtin\Backup Operators* |
なし |
組み込みのゲスト |
Domain\Domainゲスト |
Builtin\Power Usersの場合 |
なし |
組み込みのドメインユーザ |
Domain\Domain Usersの略 |
*グループメンバーシップはCloud Volumes Service Active Directory接続設定で制御されます。
MMCウィンドウにはローカルユーザとローカルグループ(およびグループメンバー)を表示できますが、このコンソールからオブジェクトの追加や削除、グループメンバーシップの変更はできません。デフォルトでは、Cloud Volumes Service のBUILTIN\AdministratorsグループとAdministratorのみが追加されます。現時点では、これを変更することはできません。
MMC /コンピュータ管理アクセス
Cloud Volumes Service のSMBアクセスはコンピュータの管理MMCへの接続を提供します。MMCを使用すると、共有の表示、共有ACLの管理、SMBセッションの表示と管理、および開いているファイルの表示を行うことができます。
MMCを使用してCloud Volumes Service のSMB共有およびセッションを表示するには、現在ログインしているユーザがドメイン管理者である必要があります。他のユーザには、MMCを使用したSMBサーバの表示または管理へのアクセスを許可されているほか、Cloud Volumes Service SMBインスタンスで共有やセッションを表示しようとすると、[You do not have Permissions]ダイアログボックスが表示されます。
SMBサーバーに接続するには、[コンピューターの管理]を開き、[コンピューターの管理]を右クリックして、[別のコンピューターに接続]を選択します。コンピュータの選択ダイアログボックスが開き、SMBサーバ名(Cloud Volumes Service ボリューム情報に含まれています)を入力できます。
適切な権限を持つSMB共有を表示すると、Active Directory接続を共有するCloud Volumes Service インスタンス内の使用可能なすべての共有が表示されます。この動作を制御するには、Cloud Volumes Service ボリュームインスタンスでSMB共有を非表示オプションを設定します。
リージョンごとに許可されるActive Directory接続は1つだけです。
次の表に、MMCでサポートされる機能とサポートされない機能を示します。
サポートされている機能 | サポートされていない機能 |
---|---|
|
|
SMBサーバのセキュリティ情報
Cloud Volumes Service のSMBサーバでは、Kerberosのクロックスキュー、チケットの有効期間、暗号化など、SMB接続のセキュリティポリシーを定義する一連のオプションを使用します。
次の表に、これらのオプションとその機能、デフォルト設定、およびCloud Volumes Service で変更できるかどうかを示します。一部のオプションはCloud Volumes Service には適用されません。
セキュリティオプション | 機能 | デフォルト値 | 変更は可能ですか? |
---|---|---|---|
Kerberosの最大クロックスキュー(分) |
Cloud Volumes Service とドメインコントローラ間の最大時間スキューを指定します。時刻のずれが5分を超えるとKerberos認証は失敗します。これはActive Directoryのデフォルト値に設定されています。 |
5. |
いいえ |
Kerberosチケットの有効期間(時間) |
Kerberosチケットの有効期間が終了しないと更新が必要になります。10時間以内に更新が行われない場合は、新しいチケットを取得する必要があります。Cloud Volumes Service は、これらの更新を自動的に実行します。Active Directoryのデフォルト値は10時間です。 |
10. |
いいえ |
Kerberosチケットの最大更新日数 |
新しい許可要求が必要になるまでKerberosチケットを更新できる最大日数。Cloud Volumes Service はSMB接続のチケットを自動的に更新します。Active Directoryのデフォルト値は7日です。 |
7. |
いいえ |
Kerberos KDC接続タイムアウト(秒) |
KDC接続がタイムアウトするまでの秒数。 |
3. |
いいえ |
受信SMBトラフィックに署名を要求します |
SMBトラフィックに署名を要求するかどうかを設定します。trueに設定すると、署名をサポートしていないクライアントは接続に失敗します。 |
いいえ |
|
ローカルユーザアカウントに複雑なパスワードを要求します |
ローカルSMBユーザのパスワードに使用します。Cloud Volumes Service ではローカルユーザの作成はサポートされないため、このオプションはCloud Volumes Service には適用されません。 |
正しいです |
いいえ |
Active Directory LDAP接続にはstart_tlsを使用します |
Active Directory LDAPのStart TLS接続を有効にするために使用します。現在、Cloud Volumes Service ではこの機能の有効化がサポートされていませ |
いいえ |
いいえ |
は、KerberosのAES-128およびAES-256暗号化を有効にします |
Active Directory接続にAES暗号化を使用するかどうかを制御し、Active Directory接続の作成/変更時にActive Directory認証用のAES暗号化を有効にするオプションで制御します。 |
いいえ |
はい。 |
LM互換性レベル |
Active Directory接続でサポートされている認証ダイアレクトのレベル。「」を参照してくださいSMB認証ダイアレクト」を参照してください。 |
NTLMv2 - krb |
いいえ |
受信CIFSトラフィックにSMB暗号化を要求します |
すべての共有でSMB暗号化が必要です。これはCloud Volumes Service では使用されません。代わりに、ボリューム単位で暗号化を設定します(「」を参照)SMB共有のセキュリティ機能」)をクリックします。 |
いいえ |
いいえ |
クライアントセッションセキュリティ |
LDAP通信の署名と封印を設定します。この機能は現在Cloud Volumes Service には設定されていませんが、今後のリリースでサポートする必要が生じる可能性があります。WindowsパッチによるLDAP認証の問題に対する修正については、セクションで説明しています "「LDAPチャネルバインディング」"。 |
なし |
いいえ |
DC接続のSMB2有効化 |
DC接続にSMB2を使用します。デフォルトは有効です。 |
システム-デフォルト |
いいえ |
LDAPリファーラル追跡 |
複数のLDAPサーバを使用している場合、リファーラル追跡を使用すると、クライアントが最初のサーバでエントリが見つからなかったときに、リスト内の他のLDAPサーバを参照することができます。これは現在、Cloud Volumes Service ではサポートされていません。 |
いいえ |
いいえ |
セキュアなActive Directory接続にLDAPSを使用します |
LDAP over SSLを有効にします。現在、Cloud Volumes Service ではサポートされていません。 |
いいえ |
いいえ |
DC接続には暗号化が必要です |
DC接続を成功させるには暗号化が必要です。Cloud Volumes Service ではデフォルトで無効になっています。 |
いいえ |
いいえ |