ほとんどの場合、組織にサーバーが必要なのはなぜですか? Active Directory、RDS、プリントサーバー、および小規模および大規模なサービスの束。 おそらく、最も目立つ役割はファイルサーバーです。 他の役割とは異なり、人々は彼と最も意識的に仕事をします。 彼らは、どのフォルダにあるのか、どこにドキュメントのスキャンがあるのか、どこに自分のレポートがあるのか、どこにあるのか、ファックスはどこにあるのか、すべてにアクセスできる共有フォルダはどこにあるのか、どこの部門にしかアクセスできないのか、さらには何も知らないのを覚えている
サーバー上のネットワークおよびローカルフォルダーへのアクセスについて説明します。
サーバー上の共有リソースへのアクセスは、誰もが知っているように、すでに3.0のSMBプロトコルによって実行されます。 フォルダへのネットワークアクセスは、SMBおよびNTFSアクセス許可によって制限できます。 SMBアクセス許可は、ネットワーク経由で共有フォルダーにアクセスする場合にのみ機能し、特定のフォルダーの可用性にローカルでは影響しません。 NTFSアクセス許可は、ネットワーク上とローカルの両方で機能し、アクセス許可を作成する際の柔軟性が大幅に向上します。 SMBとNTFSのアクセス許可は個別に機能するのではなく、最大の権利制限の原則に従って互いに補完します。
SMB共有コマンドレットグループでServer 2012のフォルダーを共有するために、New-SMBShareコマンドレットが表示されました。 このコマンドレットを例として使用すると、クラスター構成を除く、共有フォルダーの作成時に使用可能なすべての機能が表示されます(これは別の大きなトピックです)。
新しい共有フォルダーの作成は非常に簡単です。
net share homefolder=s:\ivanivanov /grant:"admin",full /grant:"folderowner",change /grant:"manager",read /cache:programs /remark:"Ivanov"
または
new-smbshare homefolder s:\ivanivanov –cachingmode programs –fullaccess admin –changeaccess folderowner –readaccess manager –noaccess all –folderenumerationmode accessbased -description "Ivanov"
私たちは理解しています:
-name
ネットワーク上の共有フォルダーの名前は、ローカルコンピューター上のフォルダーの名前と異なる場合があります。 80文字の制限があり、名前のパイプとメールスロットは使用できません。
-path
共有するローカルフォルダーへのパス。 パスは、ディスクのルートから完全でなければなりません。
-cachingmode
共有フォルダー内のファイルの自律性を設定します。
スタンドアロンファイルとは何ですか?オフラインファイルは、サーバー上にあるファイルのコピーです。 このコピーはローカルコンピューターにあり、サーバーに接続せずにファイルを操作できます。 接続すると、変更が同期されます。 これらは双方向に同期されます。オフラインファイルに変更を加えた場合、次回接続すると、サーバー上のファイルが変更されます。 サーバーで誰かが変更を加えた場合、ローカルコピーが変更されます。 両方のファイルで一度に変更が行われた場合、同期エラーが発生するため、保存するバージョンを選択する必要があります。 コラボレーションのために、私はこの機会を利用しませんが、各ユーザーに対してボールを作成し、書き込みの可能性なしに他のユーザーが読むためのアクセスを制限する場合、次のバンを取得します:
- 作業はネットワークに依存しません-スイッチが焼損したり、サーバーが再起動したり、ワイヤが破損したり、アクセスポイントがオフになったりする可能性があります-ユーザーは自分のコピーを操作します
- ユーザーはどこでも仕事をすることができます:国、バス、飛行機-何らかの理由でVPNへの接続が利用できない場所。
- ユーザーがVPNを介して作業しているにもかかわらず、接続が非常に遅いか、絶えず切断されている場合、サーバー上で何かをしようとするよりもオフラインコピーを使用して変更を同期する方が簡単です。
- ユーザーにそのような機会を与えれば、ユーザー自身が何をいつ同期するかを選択できます。
以下の値を取ります。
- none-ファイルはオフラインでは使用できません;ファイルへのアクセスにはサーバーへのアクセスが必要です
- マニュアル-ユーザー自身がオフラインで利用できるファイルを選択します
- プログラム-フォルダー内のすべてがオフラインで使用可能(ドキュメントおよびプログラム(拡張子が* .exe、* .dllのファイル))
- ドキュメント-ドキュメントは利用可能、プログラムはありません
- branchcache-ユーザーのローカルコンピューターの代わりにBranchCacheサーバーでキャッシュが発生します。ユーザーは自分でオフラインファイルを選択します
-noaccess, -readaccess, -changeaccess, -fullaccess
共有許可
これらの許可には1つの大きな利点があります-非常に単純です。
-noaccess秘書、スチュワード-秘書と配信マネージャーは、パブリックアカウンティングフォルダーでは何の関係もありません
-readaccess audit-アカウンティングの作業をチェックする監査者は、共有フォルダー内のファイルとサブフォルダーの名前を確認したり、読み取り用にファイルを開いたり、プログラムを実行したりできます。
-changeaccess accountant-共有フォルダーの会計士は、ファイルとサブフォルダーの作成、既存のファイルの変更、ファイルとサブフォルダーの削除ができます
-fullaccess admin-fullaccessは、readaccess + changeaccessとパーミッションを変更する機能です。
共有フォルダーを作成すると、最も制限の厳しいルールが自動的に適用されます-Everyoneグループには読み取り権限が与えられます。
これらのアクセス許可は、ネットワーク経由で共有フォルダーにアクセスするユーザーにのみ適用されます。 たとえば、ターミナルサーバーの場合、ローカルにログインすると、秘書とマネージャーの両方が経理部門で必要なすべてを見ることができます。 これはNTFSアクセス許可によって修正されます。 SMBアクセス許可は、共有リソース上のすべてのファイルとフォルダーに適用されます。 アクセス権のより詳細な調整は、NTFSアクセス許可によっても実行されます。
-concurrentuserlimit
このパラメーターを使用すると、共有フォルダーへの接続の最大数を制限できます。 原則として、フォルダへのアクセスを制限し、NTFSアクセス許可を補完するために使用することもできます。必要な接続数を確認する必要があるだけです。
-description
ネットワーク環境で表示される共有リソースの説明。 説明は多くの人が無視する非常に良いことです。
-encryptdata
暗号化
バージョン3.0より前のSMBでは、ファイルサーバーからクライアントへのトラフィックを保護する唯一の方法はVPNでした。 実装方法は、システム管理者の設定(SSL、PPTP、IPSECトンネルなど)に完全に依存していました。 Server 2012では、暗号化は特別なインフラストラクチャソリューションを必要とせずに、通常のローカルネットワークまたは信頼できないネットワークを介して、箱から出して機能します。 サーバー全体と個々のパブリックフォルダの両方で有効にできます。 SMB 3.0の暗号化アルゴリズムは
AES-CCMで、HMAC-SHA256の代わりのハッシュアルゴリズムは
AES-CMACです。 良いニュースは、SMB 3.0がハードウェアAES(
AES-NI )をサポートしていることです。悪いニュースは、ロシアがAES-NIをサポートしていないことです。
暗号化の導入を脅かすものは何ですか? SMB 3.0、つまりWindows 8をサポートするクライアントのみが暗号化された共有フォルダーを操作できるという事実により、その理由は、ユーザー権利の最大許容制限です。 管理者は、自分が何をしているかを知っており、必要に応じて、異なるバージョンのSMBを持つクライアントにアクセスできると想定されています。 ただし、SMB 3.0では新しい暗号化およびハッシュアルゴリズムが使用されるため、SMBの異なるバージョンのクライアントトラフィックは暗号化されないため、VPNが必要です。 このコマンドは、すべてのクライアントが暗号化を有効にしてファイルサーバーに入るのに役立ちます。
set-smbserverconfiguration –rejectunencryptedaccess $false
既定の構成(暗号化されたパブリックフォルダーへの暗号化されていないトラフィックは禁止されています)では、クライアントで3.0より下のSMBバージョンでクライアントフォルダーにアクセスしようとすると、「アクセスエラー」が発生します。 イベント1003は、サーバー上のMicrosoft-Windows-SmbServer /操作ログに追加され、アクセスしようとしているクライアントのIPアドレスを見つけることができます。
SMBとEFSの暗号化は、互いに関係のない2つの異なるものです。つまり、FATおよびReFSボリュームで使用できます。
-folderenumerationmode
これはアクセスベースの列挙です。 アクセスベースの列挙を有効にすると、共有フォルダーにアクセスできないユーザーはファイルサーバーに表示されないため、このフォルダーまたはそのフォルダーにアクセスできない理由が少なくなります。 ユーザーは自分のアクセス可能なフォルダーを見て、他の人の事柄に入ろうとはしません。 デフォルトはオフです。
-temporary
このキーは、サーバーの再起動後にアクセスが終了する一時共有フォルダーを作成します。 永続的な共有フォルダーはデフォルトで作成されます。
NTFSアクセス許可
NTFSアクセス許可を使用すると、フォルダ内の権限をより詳細に区別できます。 特定のグループが特定のファイルを変更するのを防ぎ、基本的なすべてを編集できるようにします。 同じフォルダ内で、1つのユーザーグループが1つのファイルを変更する権利を持ち、別のユーザーグループが編集した他のファイルを表示することはできません。 つまり、NTFSアクセス許可を使用すると、非常に柔軟なアクセスシステムを作成できます。主なことは、後で混乱しないことです。 さらに、NTFSアクセス許可は、ネットワーク経由でフォルダーにアクセスするとき、共有アクセス許可を補足するとき、およびファイルとフォルダーにローカルにアクセスするときの両方で機能します。
6つの基本的な権限があり、14の高度な権限の組み合わせです。
基本的な許可
フルアクセス(フルコントロール) -フォルダーまたはファイルへのフルアクセス。フォルダーとファイルのアクセス権と監査ルールを変更できます。
変更 -フォルダーの内容の読み取り、変更、表示、フォルダー/ファイルの削除、および実行可能ファイルの実行を行う権利。 読み取りと実行(読み取りと実行)、書き込み(書き込み)、削除(削除)が含まれます。
読み取りと実行(readandexecute) -書き込みの可能性なしに、読み取りのためにフォルダーとファイルを開く権利。 実行可能ファイルを実行することもできます。
フォルダーの内容の一覧表示(ディレクトリの一覧表示) -フォルダーの内容を表示する権利
読み取り -書き込みの可能性なしに、読み取りのためにフォルダーとファイルを開く権利。 フォルダーの内容/データの読み取り(readdata)、属性の読み取り(readattributes)、追加の属性の読み取り(readextendedattributes)、読み取り許可(readpermissions)が含まれます
書き込み(書き込み) -フォルダーとファイルを作成し、ファイルを変更する権利。 ファイル作成/データ書き込み(writedata)、フォルダー作成/データ記録(appenddata)、属性の書き込み(writeattributes)、追加属性の書き込み(writeextendedattributes)が含まれます。
追加の許可
フォルダーに14のアクセス許可のうち1つだけを設定し、何が起こるかを調べました。 現実の世界では、ほとんどの場合、基本的なアクセス許可で十分ですが、最も制限された権限を持つフォルダーとファイルの動作に興味がありました。
フォルダートラバース/ファイル実行(トラバース) -フォルダーのアクセス許可に関係なく、ファイルを実行および読み取る権利。 ユーザーはフォルダーにアクセスできません(フォルダー内の内容は謎のままです)が、フォルダー内のファイルには直接リンク(完全、相対、またはUNCパス)を介してアクセスできます。 Traverseフォルダーにフォルダーを配置し、ユーザーが作業するために必要なその他のアクセス許可をファイルに配置できます。 ユーザーは、フォルダー内のファイルを作成および削除できません。
フォルダーの内容/データの読み取り(readdata) -変更の可能性なしにフォルダーの内容を表示する権利。 表示しているフォルダ内のファイルを実行して開くことはできません
読み取り属性(readattributes) -フォルダーまたはファイルの属性(
FileAttributes )を表示する権利。
フォルダーまたはファイルの内容を表示したり、属性を変更したりすることはできません。
追加属性の読み取り(readextendedattributes) -フォルダーまたはファイルの追加属性を表示する権利。
追加の属性で見つけることができたのは、OS / 2アプリケーションとの下位互換性を提供するために使用されることだけでした。 (
Windows Internals、Part 2:Covering Windows Server 2008 R2 and Windows 7 )。 私はそれらについて何も知りません。
ファイルの作成/データの書き込み(writedata) -ユーザーがアクセスできないフォルダーにファイルを作成できるようにします。 ファイルをフォルダーにコピーし、フォルダーに新しいファイルを作成できます。 フォルダーの内容の表示、新しいフォルダーの作成、または既存のファイルの変更はできません。 このファイルの所有者であっても、ユーザーはファイルを変更できません-作成のみ。
Create folder / appenddata-ユーザーは、既存のコンテンツを変更せずに、フォルダーにサブフォルダーを作成し、ファイルの最後にデータを追加できます。
確認するサブフォルダーを作成すると、すべてが明確になります。
ni c:\testperms\testappend –itemtype directory
期待どおりに動作します-ユーザーフォルダーtestpermsを表示するためにアクセス不能な場所にtestappendサブフォルダーを作成します。 ファイルの最後に行を追加してみましょう-ある種のログのメンテナンスをエミュレートします。
newevent >> c:\testperms\user.log .
うーん...それはCMDでは動作しません。 もしそうなら。
ac c:\testperms\user.log newevent ac : "C:\testperms\user.log".
コンベア上で?
"newevent" | out-file c:\testperms\user.log -append out-file : "C:\testperms\user.log".
そして、それはそのように機能しません。
ブラックマジックのセッションを開始します。Fileクラスの
AppendTextメソッドを使用します。 ログオブジェクトを取得します。
$log = [io.file]::appendtext("c:\testperms\user.log") "AppendText" "1" : " "c:\testperms\user.log"."
AppendAllTextは試してみる価値
がなくなったと思う
$log = [io.file]::appendalltext("c:\testperms\user.log","newevent") "AppendAllText" "2" : " "c:\testperms\user.log"."
原則として、問題は明確です。 ファイルにデータを追加する権限だけでは上記の方法には不十分であり、ファイルに書き込む必要があります。 しかし、これとともに、エントリを追加するだけでなく、ファイルを変更する機会を与えます。つまり、ファイルの内容全体を破壊する可能性を開きます。
概念を修正する必要があります。ログオブジェクトを取得するのではなく、関心のあるすべてのパラメーターを設定する新しいオブジェクトを作成しましょう。 アクセス権を明示的に指定できる場所が必要です。
FileStreamが必要です。具体的には、
FileStreamコンストラクター(String、FileMode、FileSystemRights、FileShare、Int32、FileOptions)が役立ちます。 以下のパラメーターが必要です。
- ファイルへのパスは理解できる
- ファイルを開く方法-ファイルを開き、ファイルの終わりを見つける
- ファイル許可-データの追加
- 他のFileStreamオブジェクトへのアクセス-不要
- バッファサイズ-デフォルトの8バイト
- 追加オプション-いいえ
次のようになります。
$log = new-object io.filestream("c:\testperms\user.log",[io.filemode]::append,[security.accesscontrol.filesystemrights]::appenddata,[io.fileshare]::none,8,[io.fileoptions]::none)
うまくいく! ログオブジェクトを作成し、
そこに何かを
書き込もうと
しました 。 FileStream.Writeメソッドは、入力値をバイト単位で受け入れます。 バイトに書き込むイベント
-Encoding クラス 、
GetEncodingメソッド(出力にkrakozyabraは必要ありません)、
GetBytes (実際には変換)を
追い越します
$event = " ." $eventbytes = [text.encoding]::getencoding("windows-1251").getbytes($event)
パラメーターFileStream.Write:
何を書くか; 書き込みを開始する場所。 書き込まれるバイト数
私たちは書きます:
$log.write($eventbytes,0,$eventbytes.count)
確認します。
gc c:\testperms\user.log gc : "C:\testperms\user.log ".
すべてが正常であり、ユーザーには書かれた内容を表示する権限がありません。 管理者の下でログインしています。
gc c:\testperms\user.log .
すべてが機能します。
ファイルのあるフォルダーには、フォルダーの作成/データのバックアップの許可に加えて、フォルダーの内容/データの読み取りの許可が必要です。 ファイルには、フォルダの作成/継承を無効にしたデータのバックアップのみで十分です。 ユーザーが何かを書き込む必要のあるファイルからユーザーを完全に保護することはできません(ユーザーは攻撃者である可能性があります)が、一方で、フォルダー内のファイルのリストを除き、ユーザーは何も表示されず、実行できません。
この結論は簡単です。バッチファイルでは、セキュリティで保護されたログを実装することはできませんが、PowerShellは.NETオブジェクトを操作する機能を節約します。
属性(writeattributes)の書き込み -ユーザーがファイルまたはフォルダーの属性を変更できるようにします。 すべてが単純なようです。 しかし、次の質問に答えるだけです。「私の猫の写真は私のプロフィールのほぼ全体を占めているので、ビジネス上のやりとりはできません。 猫でフォルダを圧縮したいのですが、管理者権限が必要です。 あなたは私がフォルダの属性を変更する権利を持っていると言った。 これは属性ですか? なぜ変更できないのですか?」
はい、属性を書き込む権利を持つユーザーは、圧縮および暗号化属性を除き、ファイルおよびフォルダーのほとんどすべての表示属性を変更できます。 技術的には、ユーザーには
SetFileAttributes関数を実行する権利が与えられます。 また、ファイル圧縮は、FSCTL_SET_COMPRESSIONパラメーターを渡す必要がある
DeviceIOControl関数によって実行されます。ファイル圧縮は、その唯一の仕事からはほど遠いものです。 この機能を使用して、システム内のすべてのデバイスとそのリソースを管理できます。おそらく、ユーザーにこの機能を実行する権利を与えることは、管理者になることを意味します。
暗号化の場合も同様です。暗号化を担当する
EncryptFile関数では、ユーザーにフォルダコンテンツ/データの読み取り、ファイルの作成/データの書き込み、属性の読み取り、属性の書き込み、オブジェクトへの同期の権限が必要です。 それらなしでは何も機能しません。
拡張属性(writextendedattributes)の書き込み 。 ええ、これらはOS / 2アプリケーションとの下位互換性のために使用されるものです。 まあ、C:\ Windows \ system32 \ services.exeファイルの高度な属性でも、最近トロイの木馬(
ZeroAccess.C )を書き始めました。 たぶん、最高レベルでそれらをオフにする必要がありますか? 理論的には、この質問に答えることはできません-実際に生産する価値があるかもしれません-試したことはありません。
サブフォルダーとファイルを削除します。 (deletesubdirectoriesandfiles)フォルダにのみ適用される興味深い許可。 一番下の行は、ユーザーが削除権限を与えずに親フォルダー内のサブフォルダーとファイルを削除できるようにすることです。
ユーザーがデータを入力する製品カタログがあるとします。 サブフォルダー内にアルファベット順にAからZまでの親フォルダーCatalogがあり、その中にはいくつかの名前があります。 名前は毎日変わり、何かが追加され、何かが変更され、何かが古くなり、古くなった情報を削除する必要があります。 ただし、公園または悪意があるために、誰かがKディレクトリ全体を叩くのはあまり良くありません。これは、ユーザーが削除権を持っている場合に非常に可能です。 ユーザーから削除する権利を削除した場合、管理者は特定のアイテムの削除要求を終日実行するため、作業を安全に変更できます。
これには、サブフォルダーとファイルの削除が含まれます。 アルファベットのすべての文字で、継承が無効になり、ユーザーはサブフォルダーとファイルを削除する権限が追加されます。 その結果、ユーザーはカタログフォルダー内の単一のレターを削除できませんが、レター内のすべてを削除できます。
削除(削除)。 ここではすべてが簡単です。 削除は削除です。 読み取り許可がないと機能しません。
読み取りアクセス許可(readpermissions)は、ユーザーにフォルダーまたはファイルのアクセス許可を表示する権利を与えます。 権限なし-ユーザーには[セキュリティ]タブで権限が表示されません
権限の変更 -ユーザーは権限を変更でき、基本的にユーザーをフォルダーの管理者にします。 たとえば、テクニカルサポートに権限を委任するために使用できます。 読み取り権限がないと、意味がありません。 アクセス許可を変更しても、フォルダーの所有者が変更されるわけではありません。
所有権の変更(所有権) -
そもそも所有者です。 所有者は、ファイルまたはフォルダーを作成したユーザーです。
所有者の特性は、作成したフォルダーへのフルアクセスがあり、作成したフォルダーへのアクセス許可を付与できることですが、さらに重要なことは、所有者からフォルダーまたはファイルのアクセス許可を変更する権利を奪うことはできません。 Vasyaがフォルダーを作成し、Peteにフルアクセス権を与え、Petyaが入って一般的なフォルダー、特にVasyaへのユーザーのアクセスを非難した場合、Vasyaはフォルダーの所有者であるため、現状を簡単に復元できます。 Petyaは、所有権の変更の許可を持っている場合でも、フォルダーの所有者を変更できません。 さらに、Vasyaでさえ、フォルダを作成したにもかかわらず、所有者を変更することはできません。 所有権の変更は、AdministratorsグループまたはDomain Adminsグループにのみ適用されます。
しかし、PetyaがVasinaのフォルダー内にファイルを作成し、Vasyaがそのファイルへのアクセス権を付与しなかった場合、Vasyaはこのファイル内の秘密を考えて推測することしかできません。 ファイルの所有者はPetyaであるため、Vasyaはファイルの権限を変更できません。 また、Vasyaはファイルの所有者を変更できません。サブコンテナとオブジェクトの所有者を変更することは、Vasyaが属していない管理者グループの特権でもあります。
Vasyaに残された唯一のオプションは、フォルダー内のPetinのファイルを確認することです。管理します
CMDは、既知のicaclを使用して許可を管理します。PowerShellでは、NTFSアクセス許可の管理は次のようになります。アクセス許可を設定するオブジェクトを取得します $acl = get-acl c:\testperms
System.Security.AccessControl.FileSystemAccessRuleクラスを使用して権利文字列を作成します。以下のパラメーターを設定できます。- グループ/ユーザー名-ACLの対象者
- 許可-ACE(投稿で指定された値を取得します)
- 適用対象-GUIでは、これは追加のセキュリティ設定のドロップダウンリストです。実際には、3つの値のみを取ります:none(このフォルダーのみ)、containerinherit(すべてのサブフォルダーに適用)、objectinherit(すべてのファイルに適用)。値を組み合わせることができます。
- これらのアクセス許可をこのコンテナー内のオブジェクトとコンテナーのみに適用します(GUIのチェックボックス)-また、3つの値:none(チェックなし)、inheritonly(ACEは選択したタイプのオブジェクトにのみ適用されます)、nopropagateinherit(このコンテナー内のみにアクセス許可を適用します)。
- ルールは許可または拒否です
デフォルトの特権行は次のようになります。 $permission = “contoso.com\admin”,”fullcontrol”,”containerinherit,objectinherit”,”none”,”allow”
上記で定義した権限で新しいACEを作成します $ace = new-object security.accesscontrol.filesystemaccessrule $permission
そして、新しく作成したACEをオブジェクトに適用します $acl.setaccessrule($ace) $acl | set-acl c:\testperms
実践する
SMBおよびNTFSのアクセス許可に関する知識を備えており、それらを組み合わせることで、まったく複雑なアクセスルールを作成できます。 いくつかの例:
種類 | SMB権限 | NTFSアクセス許可 |
全員のフォルダー(パブリック) | ユーザー-読み取り/書き込み | ユーザー-変更 |
ブラックボックス。ユーザーは機密報告書、提案、スローガンを捨てます-マニュアルは読みます。 | ユーザー-読み取り/書き込み マニュアル-読み取り/書き込み | ユーザー-記録、このフォルダーにのみ適用されます。このフォルダーにファイルを書き込むことは片道チケットであると想定されます。これは、このフォルダーに格納されているファイルのフォルダーの内容を表示する権利なしに編集する便利な方法がないためです(ユーザーがそのようなフォルダーに書き込む便利な方法も存在しません)。また、表示はプライバシーを侵害します。
リーダーシップ-変更。 |
用途 | – | – , , .
, . , , ( SysInternals Suite) .
|
| – / | – . |
Windowsでの権限は議論の余地のあることです。一方では、基本的な許可は非常に単純であり、ケースの90%をカバーしています。しかし、より細かい調整が必要になり始めると、異なるユーザーグループ、1つのフォルダー、共有フォルダーのセキュリティ要件、追加のアクセス許可、継承、および所有者の処理は非常に困難になります。他の人を混乱させないことを望みます。使用材料:MSDNTechnet