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