Глава 10. Управление совместными данными

Содержание

Глава 10. Управление совместными данными
Введение
Управление полномочиями файла и папки NTFS
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Настройка и работа с безопасностью файлового сервера SMB
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Создание совместных ресурсов SMB и их безопасность
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Доступ к совместным ресурсам SMB
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Создание цели iSCSI
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Применение цели iSCSI
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Реализация квот FSRM
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Реализация отчётности FSRM
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...
Реализация отслеживания файлов FSRM
Подготовка
Как это сделать...
Как это работает...
Есть кое- что ещё...

В этой главе мы рассмотрим такие рецепты:

  • Управление полномочиями файла и папки NTFS

  • Настройка и безопасноть файлового сервера SMB

  • Создание и безопасность совместных ресурсов SMB

  • Доступ к совместным ресурсам SMB

  • Создание цели iSCSI

  • Применение цели iSCSI

  • Реализация квот FSRM

  • Реализация отчётов FSRM

  • Реализация фильтрации файлов FSRM

Введение

Разделение данных с прочими пользователями в вашей сетевой среде является функциональной возможностью операционных систем компьютеров с самых ранних дней построения сетевых сред. Эта глава рассматривает функциональные возможности Windows Server 2022, которые делают возможным совместное использование файлов и папок, а также пользоваться разделяемыми вами данными.

Microsoft's LAN Manager было первым сетевым предложением компании. Он позволил компьютерам клиентов безопасно создавать, управлять и разделять файлы. Протокол LAN Manager для предоставления такой функциональности клиент/ сервер являлся ранней версией протокола SMB (Server Message Block, блока серверных сообщений).

SMB это протокол хранения файлового уровня, выполняющийся поверх TCP/IP. При помощи протокола SMB вы можете безопасно и надёжно совместно применять файлы и папки. Для увеличения надёжности серверов SMB вы можете устанавливать некий кластер и роль кластера файлового сервера. Простое кластерное решение это решение активный- пассивный - у вас имеется один участник кластера когда все прочие участники отказали. Это решение великолепно работает до тех пор пока доступны лежащие в его основе данные. SOFS (Scale-Out File Server, Горизонтально масштабируемый Файловый сервер) это основанное на кластере решение, являющееся активно- активным. Оба узла вашего кластера способны обслуживать клиентов кластера.

Эта глава показывает вам как реализовывать и применять имеющиеся функциональные возможности разделения данных между системами в Windows Server 2022.

В нашем первом рецепте, Управление полномочиями файла и папки NTFS, вы пользуетесь модулем Безопасности NTFS стороннего разработчика для настройки ACL и наследования ACL для файлов, содержащихся в NTFS в SRV1. В своём следующем рецепте, Настройка и работа с безопасностью файлового сервера SMB вы развёртываете упрочнённый файловый сервер SMB. Вы выполняете этот рецепт в SRV2.

iSCSI это популярная технология SAN (Storage Area Networking, Сетевых сред хранения данных). Многие производители SAN предоставляют iSCSI в качестве варианта доступа к хранимым в SAN данным. Существуют две стороны для iSCSI: сервер (цель iSCSI) и его клиент (инициатор iSCSI). В рецепте Создание цели iSCSI вы создаёте некую цель iSCSI в своём сервере SS1, в то время как в рецепте Применение цели iSCSI вы пользуетесь таким совместным диском iSCSI из SRV1 и SRV2.

FSRM (File System Resource Manager, Диспетчер ресурсов Файловой системы) это компонент Windows Server, разработанный в помощь управлению вами файловыми серверами. Вы можете применять FSRM для настройки квот пользователей на папки, установки фильтрации файлов и создания богатых отчётов.

В рецепты этой главы вовлечены несколько серверов - каждый рецепт описывает конкретные применяемые в нём серверы. Как и в прочих главах, все серверы являются участниками вашего домена Reskit.Org, в котором вы загрузили PowerShell 7 и VS Code. Вы можете установить их применяя сценарии настройки Reskit.Org из GitHub.

Управление полномочиями файла и папки NTFS

Все файлы и папки в файловой системе NTFS обладают неким ACL (Access Control List, Списком контроля доступа). ACL содержит ACE (Access Control Entries, Записями контроля доступа). Каждая ACE определяет полномочия к файлу или папке для некой учётной записи. Например, вы можете предоставить глобальной группы AD Продавцов полный контроль над файлом.

NTFS также позволяет неким файлу или папке наследовать полномочия из его родительской папки. Когда вы создаёте новую папку и далее создаёте внутри этой новой папки некий файл, такой новый файл наследует полномочия своей родительской папки. Вы можете управлять имеющимся ACL на предмет добавления или удаления полномочий и вы можете изменять наследование.

Существует ограниченное сопровождение PowerShell для управления полномочиями NTFS. PowerShell в реальности обладает командлетами Get-ACL и Set-ACL, однако создание создание конкретной индивидуальной ACE и управление интерфейсом требует (по умолчанию) применения .NET Framework. Более простой подход состоит в применении модуля стороннего разработчика, .NET Framework, который превращает управление ACE и ACL, включая работу с наследованием, намного более лёгким.

Подготовка

Данный рецепт пользуется SRV2, присоединённом к домену хосту в вашем домене Reskit.Org, в котором у вас имеются установленными PowerShell 7 и VS Code. Вам также требуется работающий DC1. В Главе 9, Управление хранилищем вы добавили несколько виртуальных дисков в SRV1 и SRV2 и настроили Реплику хранения. Вы создали устройств F: в обоих серверах. Репликация хранения должно реплицироваться с диска 1 (раздел F:) в SRV2 на диск 1 в SRV1 (в реальности некий скрытый раздел). Если ваш хост Hyper-V замедляется на физических ресурсах, попробуйте удалить такое партнёрство репликации.

Как это сделать...

  1. Выгрузите модуль NTFSSecurity из PSGallery.

    
    Install-Module NTFSSecurity -Force
    		
  2. Получите команды их этого модуля

    
    Get-Command -Module NTFSSecurity
    		
  3. Создайте новую папку и файл в этой папке

    
    New-Item -Path F:\Secure1 -ItemType Directory |
      Out-Null
    "Secure" | Out-File -FilePath F:\Secure1\Secure.Txt
    Get-ChildItem -Path F:\Secure1
    		
  4. Просмторите ACL этой папки

    
    Get-NTFSAccess -Path F:\Secure1 |
      Format-Table -AutoSize
    		
  5. Просмотрите ACL этого файла

    
    Get-NTFSAccess F:\Secure1\Secure.Txt |
      Format-Table -AutoSize
    		
  6. Создайте в AD группу Продаж, если её пока нет

    
    $SB = {
      try {
        Get-ADGroup -Identity 'Sales' -ErrorAction Stop
      }
      catch {
        New-ADGroup -Name Sales -GroupScope Global |
          Out-Null
      }
    }
    Invoke-Command -ComputerName DC1 -ScriptBlock $SB
    		
  7. Отобразите группу продаж AD

    
    Invoke-Command -ComputerName DC1 -ScriptBlock {
                                       Get-ADGroup -Identity Sales}
    		
  8. Добавьте в явном виде полный контроль для Администраторов домена

    
    $AHT1 = @{
      Path         = 'F:\Secure1'
      Account      = 'Reskit\Domain Admins' 
      AccessRights = 'FullControl'
    }
    Add-NTFSAccess @AHT1
    		
  9. Удалите доступ builtin\users для файла secure.txt

    
    $AHT2 = @{
      Path         = 'F:\Secure1\Secure.Txt'
      Account      = 'Builtin\Users' 
      AccessRights = 'FullControl'
    }
    Remove-NTFSAccess @AHT2
    		
  10. Удалите наследуемые права для этой папки

    
    $IRHT1 = @{
      Path                       = 'F:\Secure1'
      RemoveInheritedAccessRules = $True
    }
    Disable-NTFSAccessInheritance @IRHT1
    		
  11. Добавьте доступ группы Продаж к этой папке

    
    $AHT3 = @{
      Path         = 'F:\Secure1\'
      Account      = 'Reskit\Sales' 
      AccessRights = 'FullControl'
    }
    Add-NTFSAccess @AHT3
    		
  12. Получите ACL для пути

    
    Get-NTFSAccess -Path F:\Secure1 |
      Format-Table -AutoSize
    		
  13. Получите ACL для конкретного файла

    
    Get-NTFSAccess -Path F:\Secure1\Secure.Txt |
      Format-Table -AutoSize
    		

Как это работает...

На Шаге 1 вы выгружаете и устанавливаете модуль NTFSSecurity из Галереи PowerShell. Этот шаг не создаёт никакого вывода в консоль. На Шаге 2 вы рассматриваете те команды, которые предоставляет модуль NTFSSecurity со следующим выводом:

 

Рисунок 10-01


Просмотр команд в модуле NTFSSecurity

На Шаге 3 вы создаёте некую папку и файл внутри этой папки, что выдаёт такой вывод:

 

Рисунок 10-02


Создание новой папки и файла в этой папке

На Шаге 4 для получения ACL новой папки в пользуетесь командлетом Get-NTFSAccess и получаете такой вывод:

 

Рисунок 10-03


Просмотр значений ACL папки F:\Secure1

На Шаге 5 вы получаете значение ACL для файла F:\Secure1\Secure.Txt, что снабжает вас таким выводом:

 

Рисунок 10-04


Просмотр значений ACL файла F:\Secure1\Secure.txt

На Шаге 6 вы создаёте глобальную группу, Sales, в своём домене Reskit.Org, если её ещё нет. Этот шаг остаётся без вывода. На Шаге 7 вы просматриваете эту группу Продаж из AD с подобным следующему выводом:

 

Рисунок 10-05


Просмотр значений ACL файла F:\Secure1\Secure.txt

На Шаге 8 вы добавляете в явном виде ACE для Администраторов домена с полным контролем над папкой F:\Secure1. Затем, на Шаге 9 вы удаляете группу builtin\users из доступа к своему файлу Secure.txt. А потом, на Шаге 10 вы удаляете все наследуемые права из F:\Secure1. Наконец, на Шаге 11 , вы добавляете в явном виде доступ к папке F:\Secure1 для своей группы Продаж. Эти шаги не производят вывод.

На Шаге 12 вы изучаете и обновляете ACL для папки F:\Secure1, с подобным следующему выводом:

 

Рисунок 10-06


Просмотр обновлений ACL для папки F:\Secure1

На Шаге 13 вы просматриваете и обновляете ACL для файла F:\Secure1\Secure.txt, примерно с таким выводом:

 

Рисунок 10-07


Просмотр обновлений ACL для файла F:\Secure1\Secure.txt

Есть кое- что ещё...

Как вы можете видеть на Шаге 2 , рассматривая Рисунок 10-01, в модуле NTFSSecurity имеется некоторое число командлетов. Вы можете пользоваться этими командлетами для установки ACL некоторого файла или какой- то папки и значение SACL (system access control list, списка контроля доступом системы), которое позволяет вам выполнять аудит доступа к файлу или папке. Также имеются улучшения командлетов, такие как Get-ChildItem2 и Get-Item2, которые вы можете найти полезными.

Настройка и работа с безопасностью файлового сервера SMB

Следующим шагом в создании файлового сервера является установка всех необходимых функциональных возможностей в вашем сервере и затем его упрочнение. Для добавления всех компонентов, которые необходимы вам в файловом сервере вы применяете командлет Add-WindowsFeature. Затем для улучшения его настроек вы можете воспользоваться командлетом Set-SmbServerConfiguration.

Поскольку ваш файловый сервер может содержать чувствительные сведения, вам надлежит предпринять здравые шаги для того чтобы избежать ожидаемых механизмов атак и приспособить наиболее лучшие рекомендации по безопасности. Безопасность это хорошая вещь, однако всегда будьте бдительны! Блокируя свой файловый сервер SMB слишком сильно, вы можете заблокировать некоторых пользователей вообще в этом сервере.

SMB 1.0 обладает множеством уязвимостей и, в целом, его следует удалять. По умолчанию, Windows Server 2022 устанавливается с отключённым SMB 1.0. Помните, что когда вы запрещаете SMB 1.0, вы можете обнаружить, что более древние компьютеры (например, работающие под управлением Windows XP) утратят возможность доступа к совместным данным. Прежде чем блокировать какие бы то ни было настройки своего сервера, убедитесь что вы тщательно проверили свои изменения.

Подготовка

Этот рецепт пользуется SRV2, присоединённом к домену хостом в вашем домене Reskit.Org, в котором у вас установлены PowerShell 7 и VS Code. Вы также пользуетесь SRV2 и должны иметь работающим DC1.

Как это сделать...

  1. Добавляем компоненты файлового сервера к SRV2

    
    $Features = 'FileAndStorage-Services',
                'File-Services',
                'FS-FileServer',
                'RSAT-File-Services'
    Add-WindowsFeature -Name $Features
    		
  2. Просматриваем настройки SMB сервера

    
    Get-SmbServerConfiguration
    		
  3. Отключаем SMB1

    
    $CHT = @{
      EnableSMB1Protocol = $false 
      Confirm            = $false
    }
    Set-SmbServerConfiguration @CHT
    		
  4. Включаем подпись и шифрование SMB

    
    $SHT1 = @{
        RequireSecuritySignature = $true
        EnableSecuritySignature  = $true
        EncryptData              = $true
        Confirm                  = $false
    }
    Set-SmbServerConfiguration @SHT1
    		
  5. Отключаем устанавливаемые по умолчанию совместные ресурсы сервера и рабочей станции

    
    $SHT2 = @{
        AutoShareServer       = $false
        AutoShareWorkstation  = $false
        Confirm               = $false
    }
    Set-SmbServerConfiguration @SHT2
    		
  6. Отключаем уведомления сервера

    
    $SHT3 = @{
        ServerHidden   = $true
        AnnounceServer = $false
        Confirm        = $false
    }
    Set-SmbServerConfiguration @SHT3
    		
  7. Перезапускаем службу сервера SMB с его новой конфигурацией

    
    Restart-Service lanmanserver -Force
    		

Как это работает...

На Шаге 1 вы добавляете компоненты файлового сервера в SRV2 с подобным следующему выводом:

 

Рисунок 10-08


Добавляем компоненты файлового сервера SRV2

На Шаге 2 для возврата установок своего сервера SMB для SRV2 вы пользуетесь командлетом Get-SmbServerConfiguration.

 

Рисунок 10-09


Просмотр настроек SMB сервера SRV2

На Шаге 3 вы отключаете SMB 1.0 в явном виде. На Шаге 4 вы включаете цифровую подпись и шифрование всех относящихся к SMB пакетов данных. На Шаге 5 вы отключаете устанавливаемые по умолчанию совместные ресурсы сервера и рабочей станции, в то время как на Шаге 6 для улучшения безопасности вы отключаете оповещения сервера SMB. Эти четыре шага не производят вывод.

На Шаге 7, который также не выдаёт вывод, вы перезапускаете свою службу LanManServer, которая является службой Windows, которая предоставляет совместное использование ресурсов SMB.

Есть кое- что ещё...

На Шагах с 3 по 6 вы обновляете установленную конфигурацию своей службы SMB в большую безопасность. Протокол SMB 1.0 более не рассматривается безопасным. По умолчанию процесс установки ОС Windows никогда не включает версию 1, однако будет неплохо убедиться что он отключён. Цифровая подпись и шифрование всех пакетов SMB защищает против того что некто воспользуется сетевым снифингом для просмотра данных пакетов. Уведомления сервера SMB способны предоставлять дополнительные сведения потенциальных сетевым хакерам относительно всех служб в вашей сетевой среде.

На Шаге 7 после выполнения изменений в настройках службы SMB вы перезапускаете свою службу LanManWorkstation. Для вступления в действие всех изменений в настройках файлового сервера вам надлежит перезапускать эту службу.

Создание совместных ресурсов SMB и их безопасность

Получив настроенной свою службу файлового сервера, следующим шагом в развёртывании файлового сервера является создание совместных ресурсов SMB и настройка их безопасности. На протяжении десятилетий администраторы пользовались командой net.exe для настройки совместно применяемых папок и прочего. Эта команда продолжает работать, однако вы можете найти более простым применение командлетов SMB, в особенности, когда вы автоматизируете развёртывание сервера SMB крупного масштаба.

Этот рецепт взглянет на создание совместного ресурса и настройку его безопасности в платформе Windows Server 2022 при помощи модуля PowerShell SMBServer. Вы также воспользуетесь командлетами из модуля NTFSSecurity (модуля стороннего разработчика, который вы выгрузили из Галереи PS).

Вы исполняете этот рецепт в своём файловом сервере SRV2, который вы настроили и упрочили в своём рецепте Настройка и работа с безопасностью файлового сервера SMB. В этом рецепте вы выдали в совместное пользование папку (C:\ITShare) из этого файлового сервера. Затем вы создали в этой папке C:\ITShare некий файл, который вы просто совместно применяете и установили ACL точно такими же для этого совместного ресурса. Для этого вы воспользовались командлетом Set-SMBPathAcl. Затем вы просмотрели установки ACL как для папки, так и для самого файла.

Данный рецепт пользуется универсальной группой безопасности Продаж, которую вы создали в своём домене Reskit.Org. Отсылаем вас к рецепту Управление безопасностью принтера из Главы 11, Управление печатью для ознакомления с фрагментом кода, который вы можете применять для создания соответствующей группы, применяемой в этом рецепте. В данном рецепте вы пользуетесь командлетом Get-NTFSAccess из NTFSSecurity, модуля стороннего разработчика, который вы выгрузили из Галереи PowerShell. Для получения дополнительных сведений относительно этого модуля и инструкций по его выгрузке обратитесь к рецепту Управление полномочиями файла и папки NTFS.

Подготовка

Этот рецепт применяет SRV2, присоединённый к домену хост в вашем домене Reskit.Org, в котором у вас установлены PowerShell и VS Code. Вам также следует иметь включённым DC1. Если вы ещё не создали универсальную группу Продаж, ознакомьтесь с рецептом Управление безопасностью принтера.

Как это сделать...

  1. Выявляем имеющиеся совместные ресурсы и права доступа

    
    Get-SmbShare -Name * | 
      Get-SmbShareAccess |
        Format-Table -GroupBy Name
    		
  2. Переводим в совместное использование новую папку

    
    New-Item -Path C:\ -Name ITShare -ItemType Directory |
      Out-Null 
    New-SmbShare -Name ITShare -Path C:\ITShare
    		
  3. Обновляем этот ресурс на предмет наличия его описания

    
    $CHT = @{Confirm=$False}
    Set-SmbShare -Name ITShare -Description 'File Share for IT' @CHT
    		
  4. Устанавливаем режим нумерации папки

    
    $CHT = @{Confirm = $false}
    Set-SMBShare -Name ITShare -FolderEnumerationMode AccessBased @CHT
    		
  5. Настраиваем шифрование для совместного ресурса ITShare

    
    Set-SmbShare -Name ITShare -EncryptData $true @CHT
    		
  6. Удаляем всякий доступ к совместному ресурсу ITShare для группы Everyone

    
    $AHT1 = @{
      Name        =  'ITShare'
      AccountName = 'Everyone'
      Confirm     =  $false
    }
    Revoke-SmbShareAccess @AHT1 | Out-Null
    		
  7. Добавляем для Reskit\Administrators наличие полномочий на чтение

    
    $AHT2 = @{
        Name         = 'ITShare'
        AccessRight  = 'Read'
        AccountName  = 'Reskit\ADMINISTRATOR'
        Confirm      =  $false 
    } 
    Grant-SmbShareAccess @AHT2 | Out-Null
    		
  8. Добавляем полный доступ для системной учётной записи

    
    $AHT3 = @{
        Name          = 'ITShare'
        AccessRight   = 'Full'
        AccountName   = 'NT Authority\SYSTEM'
        Confirm       = $False 
    }
    Grant-SmbShareAccess  @AHT3 | Out-Null
    		
  9. Настраиваем полный доступ для Creator/Owner

    
    $AHT4 = @{
        Name         = 'ITShare'
        AccessRight  = 'Full'
        AccountName  = 'CREATOR OWNER'
        Confirm      = $False 
    }
    Grant-SmbShareAccess @AHT4  | Out-Null
    		
  10. Предоставляем доступ на чтение группе Продаж

    
    $AHT5 = @{
        Name        = 'ITShare'
        AccessRight = 'Read'
        AccountName = 'Sales'
        Confirm     = $false 
    }
    Grant-SmbShareAccess @AHT5 | Out-Null
    		
  11. Просматриваем доступ к совместному ресурсу

    
    Get-SmbShareAccess -Name ITShare | 
      Sort-Object AccessRight
    		
  12. Настраиваем ACL файла на то же самое значение, что и у ACL этого совместного ресурса

    
    Set-SmbPathAcl -ShareName 'ITShare'
    		
  13. Создаём файл в C:\ITShare

    
    'File Contents' | Out-File -FilePath C:\ITShare\File.Txt
    		
  14. Настраиваем ACL этого файла на то же самое значение, что и у ACL этого совместного ресурса

    
    Set-SmbPathAcl -ShareName 'ITShare'
    		
  15. Просматриваем значение ACL своего файла

    
    Get-NTFSAccess -Path  C:\ITShare\File.Txt |
      Format-Table -AutoSize
    		

Как это работает...

На Шаге 1 для выявления всех текущих совместных ресурсов SMB в SRV2, а также тем, какие учётные записи обладают доступом к этим совместным ресурсам, вы пользуетесь Get-SmbShare. Вот вывод с этого шага:

 

Рисунок 10-10


Выявляем совместные ресурсы и права доступа в SRV2

На Шаге 2 вы создаёте новую папку в устройстве C:\ и выставляете эту папку в совместный доступ в качестве \\SRV2\ITShare. Вот как выглядит вывод с этого шага:

 

Рисунок 10-11


Создаём C:\ITShare и выставляем его как совместный ресурс \\SRV2\ITShare

Обладая созданным совместным ресурсом, вы далее настраиваете подробности доступа к этому совместному ресурсу. На Шаге 3 вы изменяете его с тем, чтобы он обладал описанием. При помощи Шага 4 вы устанавливаете нумерацию в этом ресурсе на основе доступа. Затем, на Шаге 5 вы обеспечиваете шифрование Windows всех данных, которые обмениваются через этот совместный ресурс. Затем, на Шаге 6 вы удаляете доступ к ITShare для группы Everyone. На Шаге 7 вы предоставляете группе Reskit\Administrator полномочия на чтение в ITShare. На Шаге 8 вы предоставляете самой ОС полный доступ к этому совместному ресурсу. На Шаге 9 вы предоставляете его создателю и владельцу всех файлов/ папок полный доступ к соответствующему файлу. Наконец, на Шаге 10 вы предоставляете группе Продаж доступ на чтение. Эти восемь этапов настройки не производят никакого вывода.

На Шаге 11 вы просматриваете установленный доступ к этому совместному ресурсу, что снабжает вас таким выводом:

 

Рисунок 10-12


Просмотр доступа к ITShare

Теперь, когда у вас имеется доступ к вашему совместному ресурсу с настройками как вам потребовалось, на Шаге 12 вы пользуетесь командой Set-SMBPathAcl чтобы заставить полномочия NTFS соответствовать настроенным полномочиям соответствующего совместного ресурса. На Шаге 13 вы создаёте новый файл в этой папке, разделяемой как ITShare, а затем на Шаге 14 обеспечиваете что этот файл сам по себе обладает тем же самым значением ACL, что и сам совместный ресурс. Эти три шага не производят вывод.

На Шаге 15 вы просматриваете свой файл, C:\ITShare\File.txt, что обеспечивает вам вывод, подобный приводимому ниже:

 

Рисунок 10-13


Просмотр доступа к файлу

Есть кое- что ещё...

На Шаге 1 вы изучаете все доступные в SRV2 совместные ресурсы. В рецепте Настройка и работа с безопасностью файлового сервера SMB вы установили свою службу SMB на удаление всех устанавливаемых по умолчанию совместных ресурсов в SRV2. Единственный совместный ресурс, который вы наблюдаете на Шаге 1 IPC$, который Windows применяет для механизма взаимодействия через именованные конвейеры. Для получения дополнительных сведений относительно этого совместного ресурса отсылаем вас к https://docs.microsoft.com/troubleshoot/windows-server/networking/inter-process-communication-share-null-session.

На Шаге 4 вы установили нумерацию на основе доступа для своего ресурса ITShare. Эта настройка означает, что всякий просматривающий файлы или папки внутри этого совместного ресурса пользователь видит лишь те объекты, которым он обладает доступом. Эта настройка улучшает безопасность и минимизирует к Администратору такие вопросы как "Что это за файл/ папка, и почему у меня нет доступа к этим файлу/ папке?"

На Шаге 5 вы настроили для своего совместного ресурса ITShare шифрование. Этот шаг гарантирует что Windows осуществляет шифрование данных для всех передаваемых через этот совместный ресурс данных. Вы можете устанавливать это по умолчанию на уровне своего сервера или, как в данном случае, на уровне своего совместного ресурса.

Доступ к совместным ресурсам SMB

В рецепте Настройка и работа с безопасностью файлового сервера SMB вы создали в SRV2 совместный ресурс. Данные, к которым вы получаете доступ при помощи разделения файлов SMB действуют и выглядят как имеющие локальный доступ файлы через Windows Explorer (Проводник) или консоль PowerShell.

В этом рецепте вы получаете доступ к совместному ресурсу ITShare из SRV2 в SRV1.

Подготовка

В этом рецепте вы пользуетесь SRV1, присоединённом к домену хостом в вашем домене Reskit.Org , в котором у вас имеются установленными PowerShell 7 и VS Code. Вы также применяете SRV2 и должны обладать работающим DC1. Вы ранее создали в SRV2 совместные ресурсы SMB, которые применяете в этом рецепте.

Как это сделать...

  1. Изучаем конфигурацию клиента SMB в SRV1

    
    Get-SmbClientConfiguration
    		
  2. Настраиваем подпись пакетов SMB

    
    $CHT = @{Confirm=$false}
    Set-SmbClientConfiguration -RequireSecuritySignature $True @CHT
    		
  3. Изучаем сетевой интерфейс клиента SMB

    
    Get-SmbClientNetworkInterface |
        Format-Table
    		
  4. Изучаем предоставляемые SRV2 совместные ресурсы

    
    net view \\SRV2
    		
  5. Создаём соответствие устройства, ставя в соответствие R: совместный ресурс из SRV2

    
    New-SmbMapping -LocalPath R: -RemotePath \\SRV2\ITShare
    		
  6. Просматриваем установленное совместной папке соответствие

    
    Get-SmbMapping
    		
  7. Просматриваем содержимое этой совместной папки

    
    Get-ChildItem -Path R:
    		
  8. Просматриваем имеющиеся подключения

    
    Get-SmbConnection
    		

Как это работает...

На Шаге 1 вы изучаете в SRV1 конфигурацию клиента SMB. Вот как выглядит вывод:

 

Рисунок 10-14


Изучение конфигурации клиента SMB

На Шаге 2 вы гарантируете что SRV1 требует подписанных пакетов SMB, вне зависимости от имеющихся настроек в сервере SMB (SRV1). На этом шаге нет никакого вывода.

На Шаге 3 вы изучаете NIC в SRV1 с приводимым ниже выводом:

 

Рисунок 10-15


Просмотр NIC в SRV1

На Шаге 4 вы пользуетесь командой net.exe для просмотра предоставляемых SRV2 совместных ресурсов. Вывод с этого шага выглядит так:

 

Рисунок 10-16


Просмотр предлагаемых SRV2 совместных ресурсов

На Шаге 5 вы создаёте новое соответствие устройства SRV1, ставя в соответствие устройству R: совместный ресурс \\SRV2\ITShare, что создаёт следующий вывод:

 

Рисунок 10-17


Создание нового соответствия утройства в SRV1

На Шаге 6 вы просматриваете соответствия устройств в SRV1, что выглядит так:

 

Рисунок 10-18


Просмотр предоставляемых SRV1 совместных ресурсов SMB

На Шаге 7 вы просматриваете всё содержимое вашего совместного ресурса для обнаружения всех файлов, созданных в рецепте Настройка и работа с безопасностью файлового сервера SMB

 

Рисунок 10-19


Просмотр содержимого совместной папки

На Шаге 8 вы просматриваете все имеющиеся подключения в SRV1. Этот шаг производит такой вывод:

 

Рисунок 10-20


Просмотр имеющихся из SRV1 подключений

Есть кое- что ещё...

На Шаге 4 вы применяете команду net.exe для просмотра предлагаемых SRV2 (из SRV1) совместных ресурсов. Модуль SMBShare не предоставляет командлета для просмотра предоставляемых удалённым хостом совместных ресурсов.

Создание цели iSCSI

iSCSI это протокол стандарта отрасли, который реализует блочное хранилище поверх сетевой среды TCP/IP. При помощи iSCSI сервер или, так называемая цель, предоставляет том, совместно разделяемый через iSCSI некому клиенту iSCSI, также именуемому инициатором.

В оригинальном протоколе SCSI вы пользуетесь термином LUN (Logical Unit Number, номер логического устройства) чтобы ссылаться на подключаемый к шине SCSI отдельный физический диск. В iSCSI вы предоставляете каждому удалённо совместно используемому тому некого LUN iSCSI. Соответствующий клиент iSCSI затем рассматривает этот LUN просто как иное дисковое устройство, подключаемое к вашей локальной системе. Со стороны клиента iSCSI у вас имеется возможность управлять таким диском ровно также как локально подключаемым хранилищем. Windows Server 2022 содержит как функциональные возможности цели iSCSI (сервера), так и инициатора iSCSI (клиента).

Вы настраиваете некую цель iSCSI в сервере и затем пользуетесь инициатором iSCSI в системе другого сервера (или клиента) для доступа к цели iSCSI. Вы можете пользоваться инициаторами и целями как Microsoft, так и сторонних разработчиков, хотя если вы смешиваете их и устанавливаете соответствие, вам требуется тщательно проверять что такое сочетание работает в вашей среде.

В iSCSI некая цель это отдельный диск, к которому ваш клиент получает доступ при помощи своего клиента iSCSI. Хост сервера цели iSCSI это одна или более целей, где каждая цель iSCSI это эквивалент некого LUN в SAN Fiber Channel.

Вы можете применять iSCSI в неком кластере серверов Hyper-V. Эти серверы в этом кластере могут применять свой инициатор iSCSI для доступа к некой цели iSCSI. Используемая через совместный том кластера (Cluster Shared Volume), такая разделяемая цель iSCSI совместно применяется узлами в неком отказоустойчивом кластере, что делает возможным всем ВМ из такого кластера обладать высокой доступностью.

Подготовка

Данный рецепт применяет SS1, присоединённый к домену хост из вашего домена Reskit.Org, в котором у вас установлены PowerShell 7 и VS Code.

Как это сделать...

  1. Устанавливаем компонент цели iSCSI в SS1

    
    Import-Module -Name ServerManager -WarningAction SilentlyContinue
    Install-WindowsFeature FS-iSCSITarget-Server
    		
  2. Изучаем настройки сервера цели iSCSI

    
    Get-IscsiTargetServerSetting
    		
  3. Создание папки в SS1 для хранения соответствующего виртуального диска iSCSI

    
    $NIHT = @{
      Path        = 'C:\iSCSI' 
      ItemType    = 'Directory'
      ErrorAction = 'SilentlyContinue'
    }
    New-Item @NIHT | Out-Null
    		
  4. Создание некого виртуального диска iSCSI (то есть некого LUN)

    
    $LP = 'C:\iSCSI\ITData.Vhdx'
    $LN = 'ITTarget'
    $VDHT = @{
       Path        = $LP
       Description = 'LUN For IT Group'
       SizeBytes   = 500MB
     }
    New-IscsiVirtualDisk @VDHT
    		
  5. Настройка конкретной цели iSCSI, определяющая кто способен инициировать подключение iSCSI

    
    $THT = @{
      TargetName   = $LN
      InitiatorIds = 'DNSNAME:SRV1.Reskit.Org',
                     'DNSNAME:SRV2.Reskit.Org'
    }
    New-IscsiServerTarget @THT
    		
  6. Создание некой цели диска iSCSI, ставящей соответствие имени LUN докальному пути

    
    Add-IscsiVirtualDiskTargetMapping -TargetName $LN -Path $LP
    		

Как это работает...

На Шаге 1 вы устанавливаете компонент цели iSCSI в своём сервере SS1 со следующим выводом:

 

Рисунок 10-21


Установка компонента цели iSCSI в SS1

На Шаге 2 вы изучаете настройки сервера целей iSCSI с выводом, который выглядит так:

 

Рисунок 10-22


Изучение настроек сервера целей iSCSI

На Шаге 3 вы создаёте в SS1 некую папку для содержания необходимого вам виртуального диска iSCSI, что не производит вывод. На Шаге 4 вы создаёте виртуальный диск iSCSI (по существу LUN) с выводом, который выглядит таким образом:

 

Рисунок 10-23


Создание виртуального диска iSCSI в SS1

На Шаге 5 вы определяете какие компьютеры могут применять созданный целевой iSCSI виртуальный диск с подобным следующему выводом:

 

Рисунок 10-24


Определение того какие хосты могут получать доступ к этому виртуальному диску iSCSI

На окончательном шаге, Шаге 6, вы определяете соответствие своего целевого диска, что не производит вывод. Этот шаг устанавливает соответствие между неким названием цели iSCSI (ITTarget) и тем локальным путём, в котором вы храните свой виртуальный жёсткий диск iSCSI.

Есть кое- что ещё...

По умолчанию Windows не устанавливает функциональные возможности цели iSCSI, но как вы видите на Шаге 1, вы можете воспользоваться Install-WindowsFeature для добавления такой функциональности в этом сервере хранения.

Когда вы создаёте некую цель iSCSI, вы создаёте название этой цели и целевого виртуального жёсткого диска по отдельности, а затем, на Шаге 6, вы устанавливаете соответствие названия цели iSCSI местоположению его файла. В промышленном применении вы применяете отдельный набор (устойчивых к отказам) дисков для содержания сведений iSCSI, возможно, применяя Пространства хранения для создания отказоустойчивых виртуальных дисков.

Применение цели iSCSI

Windows предоставляет встроенный компонент клиента iSCSI которым вы пользуетесь командой Connect-IscsiTarget для подключения своего клиента iSCSI к серверу iSCSI и запуску применения такого диска как если бы он был подключён локально.

Подготовка

Этот рецепт пользуется SRV1, присоединённым к домену хостом в вашем домене Reskit.Org, в котором вы установили PowerShell 7 и VS Code. Вы также применяете SS1 и должны обладать включённым DC1. Ранее вы создали некую цель iSCSI (в SS1) и теперь вы пользуетесь встроенным инициатором iSCSI для доступа к диску iSCSI. Вы исполняете этот рецепт в SRV1.

Как это сделать...

  1. Отрегулируем свою службу iSCSI на автоматический запуск, затем запускаем эту службу

    
    Set-Service MSiSCSI -StartupType 'Automatic'
    Start-Service MSiSCSI
    		
  2. Настраиваем портал к SS1

    
    $PHT = @{
      TargetPortalAddress     = 'SS1.Reskit.Org'
      TargetPortalPortNumber  = 3260
    }
    New-IscsiTargetPortal @PHT
    		
  3. Поиск и просмотр ITTarget в этом портале

    
    $Target  = Get-IscsiTarget | 
                   Where-Object NodeAddress -Match 'ITTarget'
    $Target
    		
  4. Подключение к соответствующей цели в SS1

    
    $CHT = @{
      TargetPortalAddress = 'SS1.Reskit.Org'
      NodeAddress         = $Target.NodeAddress
    }
    Connect-IscsiTarget  @CHT
    		
  5. Просмотр диска iSCSI из SRV1 в SS1

    
    $ISD =  Get-Disk | 
      Where-Object BusType -eq 'iscsi'
    $ISD | 
      Format-Table -AutoSize
    		
  6. Включение диска в рабочее состояние и превращение его в R/W

    
    $ISD | 
      Set-Disk -IsOffline  $False
    $ISD | 
      Set-Disk -Isreadonly $False
    		
  7. Форматирование этого тома в SS1

    
    $NVHT = @{
      FriendlyName = 'ITData'
      FileSystem   = 'NTFS'
      DriveLetter  = 'I'
    }
    $ISD | 
      New-Volume @NVHT
    		
  8. Применение этого устройства как локального устройства

    
    Set-Location -Path I:
    New-Item -Path I:\  -Name ITData -ItemType Directory |
      Out-Null
    'Testing 1-2-3' | 
      Out-File -FilePath I:\ITData\Test.Txt
    Get-ChildItem I:\ITData
    		

Как это работает...

На Шаге 1 вы настраиваете службу iSCSI для запуска когда SRV1 запускается автоматически и затем в явном виде стартуем эту службу iSCSI. У этого шага нет вывода в консоль.

На Шаге 2 вы настраиваете свой портал iSCSI в SS1, что выглядит следующим образом:

 

Рисунок 10-25


Настройка портала iSCSI к SS1

На Шаге 3 вы находите и просматриваете LUN ITTarget из SS1. Вот вывод с этого шага:

 

Рисунок 10-26


Просмотр LUN ITTarget

На Шаге 4 вы подключаетесь из SRV1 к цели iSCSI в SS1, что выглядит так:

 

Рисунок 10-27


Подключение к цели iSCSI в SS1

На Шаге 5 вы применяете Get-Disk для просмотра диска iSCSI с SRV1 с приводимым далее выводом:

 

Рисунок 10-28


Просмотр диска iSCSI

На Шаге 6 вы обеспечиваете свой диск iSCSI в рабочем состоянии и доступным на Чтение/ Запись, шаг не создающий вывод. На Шаге 7 вы создаёте новый том на диске iSCSI, что выглядит так:

 

Рисунок 10-29


Форматирование диска iSCSI

На окончательном шаге, Шаге 8, вы создаёте папку в этом диске iSCSI. Затем вы создаёте файл и просматриваете этот файл, что приводится ниже:

 

Рисунок 10-30


Форматирование диска iSCSI

Есть кое- что ещё...

Применение диска iSCSI достаточно простое - подключаемся к необходимой цели iSCSI и управляете этим дисковым томом локально. После подключения вы можете форматировать его с файловой системой и затем пользоваться ею для хранения данных. В промышленном применении вы можете не пользоваться хостом Windows Server для обслуживания в качестве цели iSCSI. Многи производители SAN (storage area network, сетевых сред хранения) добавляют функциональность iSCSI в их предложения SAN. В предложении SAN вы можете воспользоваться имеющимся инициатором iSCSI для доступа к такому SAN через iSCSI, хотя некоторые производители SAN могут предоставлять некие обновлённые инициаторы iSCSI для применения вами.

Реализация квот FSRM

FSRM (File Server Resource Manager, Диспетчер ресурсов Файлового сервера) это компонент Windows Server, которое оказывает вам содействие в управлении Файловыми серверами. FSRM обладает тремя функциональными возможностями:

  • Управление квотами: При помощи FSRM вы можете устанавливать мягкие (soft) и жёсткие (hard) квоты в томах и папках. Мягкие квоты позволяют пользователю превышать некое допущение, в то время как аппаратные квоты останавливают пользователя от превышения дозволенного. Вы можете настраивать некую квоту пороговым значением и действием порога. Когда некий пользователь превышает допустимый квотой 65% предел, FSRM способен отправлять некое электронное письмо, в то время как при 90% вы регистрируете некой событие в своём журнале событий или запускаете некую программу. Для различных уровней квот у вас имеются различные действия. Данный рецепт показывает как вы применяете квоты.

  • Отслеживание файлов: Вы можете настроить наблюдение за файлами и останавливать пользователя при сохранении отслеживаемых файлов. Например, вы можете следить за файлами .MP3 или .FLAC. Если затем пользователь попытается сохранить некий файл (допустим, jg75-02-28D1T1.flac), наше отслеживание файла отвергнет такой запрос и не позволит пользователю сохранить такой файл.

  • Составление отчётов: FSRM позволяет составлять отчёты о жизнеспособности хранилища, сто может оказаться чрезвычайно полезным для процессов управления.

В данном рецепте вы установите FSRM, выполните некие общие настройки, а затем поработаете с мягкими и жёсткими квотами.

Подготовка

В этом рецепте применяется SRV1, присоединённый к домену хост в вашем домене Reskit.Org, в котором у вас имеются установленными PowerShell 7 и VS Code. Вам следует обладать включённым DC1 для предоставления аутентификации SRV1.

FSRM обладает функциональными возможностями, которые отправляют сообщения электронной почты в некий сервер SMTP. Чтобы проверить такие функции, как показано в этом рецепте, вам потребуется некий сервер электронной почты с тем чтобы FSRM имел возможность отправлять электронные письма.

Для перенаправления электронных писем в некий почтовый сервер SMTP мы применяем Internet Information Server внутри Windows Server. Этот рецепт настраивает FSRM на отправку почты в хост (SMTP.Reskit.Org), который затем перенаправляет такую почту в бесплатную службу электронной почты в https://www.sendgrid.com. Для получения дополнительных сведений относительно того как настроить SendGrid для перенаправления необходимых электронных почтовых сообщений, обратитесь к https://tfl09.blogspot.com/2020/04/setting-up-smtp-relay-using-sendgrid.html. Если у вас имеется некий сервер SMTP, который получает почту из FSRM, тогда поменяйте этот рецепт на использование этого сервера.

Как это сделать...

  1. Устанавливаем компонент FS Resource Manager в SRV1

    
    Import-Module -Name ServerManager -WarningAction 'SilentlyContinue'
    $IHT = @{
      Name                   = 'FS-Resource-Manager' 
      IncludeManagementTools = $True
      WarningAction          = 'SilentlyContinue'
    }
    Install-WindowsFeature @IHT
    		
  2. Настраиваем установки SMTP в FSRM

    
    $MHT = @{
      SmtpServer        = 'SMTP.Reskit.Org'  
      FromEmailAddress  = 'FSRM@Reskit.Org'
      AdminEmailAddress = 'Doctordns@Gmail.Com'
    }
    Set-FsrmSetting @MHT
    		
  3. Отправляем тестовое сообщение электронной почты и просматриваем его для проверки сделанных настроек

    
    $MHT = @{
      ToEmailAddress = 'DoctorDNS@gmail.com'
      Confirm        = $false
    }
    Send-FsrmTestEmail @MHT
    		
  4. Создание нового шаблона квотирования FSRM на жёсткий предел в 10 МБ

    
    $QHT1 = @{
      Name        = '10 MB Reskit Quota'
      Description = 'Filestore Quota (10mb)'
      Size        = 10MB
    }
    New-FsrmQuotaTemplate @QHT1
    		
  5. Просмотр доступных шаблонов квот FSRM

    
    Get-FsrmQuotaTemplate |
      Format-Table -Property Name, Description, Size, SoftLimit
    		
  6. Создание новой папки , к которой мы применяем квотирование

    
    If (-Not (Test-Path C:\Quota)) {
      New-Item -Path C:\Quota -ItemType Directory  |
        Out-Null
    }
    		
  7. Собираем действие FSRM

    
    $Body = @'
    User [Source Io Owner] has exceeded the [Quota Threshold]% quota 
    threshold for the quota on [Quota Path] on server [Server].  
    The quota limit is [Quota Limit MB] MB, and [Quota Used MB] MB 
    currently is in use ([Quota Used Percent]% of limit).
    '@
    $NAHT = @{
      Type      = 'Email'
      MailTo    = 'Doctordns@gmail.Com'
      Subject   = 'FSRM Over limit [Source Io Owner]'
      Body      = $Body
    }
    $Action1 = New-FsrmAction @NAHT
    		
  8. Создаём некое пороговое значение FSRM

    
    $Thresh = New-FsrmQuotaThreshold -Percentage 85 -Action $Action1
    		
  9. Строим квоту для папки C:\Quota

    
    $NQHT1 = @{
      Path      = 'C:\Quota'
      Template  = '10 MB Reskit Quota'
      Threshold = $Thresh
    }
    New-FsrmQuota @NQHT1
    		
  10. Проверяем мягкий предел квотирования в 85% для C:\Quota

    
    Get-ChildItem -Path C:\Quota -Recurse | 
      Remove-Item -Force     # for testing purposes!
    $S = '+'.PadRight(8MB)
    # Make a first file - under the soft quota
    $S | Out-File -FilePath C:\Quota\Demo1.Txt
    $S2 = '+'.PadRight(.66MB)
    # Now create a second file to take the user over the soft quota
    $S2 | Out-File -FilePath C:\Quota\Demo2.Txt
    		
  11. Проверим жёсткий предел квотирования

    
    $S | Out-File -FilePath C:\Quota\Demo3.Txt
    		
  12. Просматриваем содержимое своей папки C:\Quota

    
    Get-ChildItem -Path C:\Quota
    		

Как это работает...

На Шаге 1 для добавления в SRV1 компонента FS-Resource-Manager вы пользуетесь командлетом Install-WindowsFeature, что выглядит следующим образом:

 

Рисунок 10-31


Установка компонента FSRM SRV1

На Шаге 2 вы настраиваете подробности SMTP, включая название сервера SMTP и адреса From и Admin. Этот шаг не производит вывод. На Шаге 3 для проверки обработки электронной почты SMTP вы пользуетесь командлетом Send-FsrmTestEmail. Этот шаг не производит вывод на консоль, однако должен сформировать некое почтовое отправление, которое выглядит подобным образом:

 

Рисунок 10-32


Проверяем получаемую от FSRM электронную почту

На Шаге 4 вы создаёте новый шаблон квотирования FSRM для жёсткого предела квотирования в 10 МБ. Вот вывод с этого шага:

 

Рисунок 10-33


Создаём шаблон квоты FSRM

На Шаге 5 вы просматриваете все доступные шаблоны квотирования FSRM и получаете такой вывод:

 

Рисунок 10-34


Просматриваем все доступные шаблоны квот FSRM

На Шаге 6 вы создаёте новую папку, C:\Quota. На Шаге 7 вы собираете действие FSRM, которое отправляет электронное потовое сообщение всякий раз, когда пользователь превышает значение квоты. На Шаге 8 вы создаёте некое пороговое значение FSRM (какой предел значения мягкого квотирования может применять пользователь прежде чем включается нарушение квотирования). Эти ри шага не производят консольного вывода.

На Шаге 9 вы строите квотирование для своей папки C:\Quota с подобным приводимому ниже выводом:

 

Рисунок 10-35


Строим квоту для своей папки C:\Quota

На Шаге 10 вы проверяете значение мягкого предела квотирования в 85%. Сначала вы создаёте некий новый файл (C:\Quota\Demo1.Txt), который ниже значения предела мягкого квотирования. Затем вы создаёте второй файл (C:\Quota\Demo2.Txt), который пользуется большим чем значение мягкого предела квотирования. На этом этапе нет никакого консольного вывода, однако FSRM выявляет что вы превысили значение мягкого предела квотирования и вырабатывает сообщение электронной почты, которое выглядит следующим образом:

 

Рисунок 10-36


Электронное письмо о превышении мягкого предела квотирования

На Шаге 11 вы пробуете создать некий дополнительный файл, C:\Quota\Demo3.txt, выводя значение массива $S в файл, что в результате приводит к превышению жёсткого предела квотирования. Вы должны обнаружить приводимое ниже сообщение вывода:

 

Рисунок 10-37


Проверяем предел жёсткого квотирования

На Шаге 12 вы изучаете имеющиеся в вашей папке C:\Quota файлы, что выглядит следующим образом:

 

Рисунок 10-38


Просматриваем свою папку C:\Quota

Есть кое- что ещё...

В данном рецепте вы настроили и проверили как мягкое, так и жёсткое квотирование FSRM. При установленном мягком квотировании вы настраиваете FSRM на отправку некого электронного письма с информированием получателя что он превысил некую квоту. Вы можете пожелать отправлять электронное почтовое сообщение либо администратору, либо превысившему установленное пороговое значение квотирования пользователю. Для установленной жёсткой квоты FSRM фиксирует записи журнала событий приложений и останавливает сохранение превышающих данных пользователя. Значения квотирования, настроенные в этом рецепте малы и, скорее всего, не будут применяться в промышленной среде. Однако замените, скажем, 10 МБ на 10 ГБ, что не сложно исполнить.

На Шаге 1 вы установили новый компонент Windows в SRV1. Время от времени вы можете обнаруживать, что процесс установки просто стопорится и не завершается. В подобных ситуациях выполните повторно эту команду в новой консоли PowerShell или перезагрузите свой сервер, что сделает доступным добавление нового компонента.

На Шаге 4 вы создаёте некий новый шаблон квотирования FSRM. Вы можете наблюдать этот новый шаблон в вырабатываемом на Шаге 5 выводе. Обратите внимание, что этот шаблон квотирования применяется для жёсткого предела квотирования, а не для мягкого предела квотирования.

На Шаге 12 вы изучаете свою папку C:\Quot. Обратите внимание, что для вашего третьего файла (который вы попытались создать на Шаге 11), Windows не сохранил весь файл целиком. Когда вы планируете выставление жёсткого квотирования, вы должны обеспечить понимание своими пользователями такого воздействия превышения всяких жёстких пределов квотирования.

Реализация отчётности FSRM

Отчётность это полезная и часто упускаемая из виду функциональная возможность FSRM. FSRM определяет некоторые базовые типы отчётов, которыми вы можете пользоваться. Эти отчёты могут либо вырабатываться немедленно (и они носят название интерактивных) или же по некоторому расписанию. Последнее заставляет FSRM вырабатывать отчёты еженедельно или ежемесячно.

FSRM производит отчёты с фиксированной схемой, не подлежащей изменению. FSRM способен возвращать одни и те же сведения, содержащиеся как в неком отчёте HTML, так и в виде документа XML. Вы можете пользоваться таким документом XML для создания отчёта тем способом, который требуется вам.

Подготовка

Этот рецепт пользуется SRV1, присоединённом к домену хостом в вашем домене Reskit.Org, в котором у вас имеются установленными PowerShell 7 и VS Code. В нашем предыдущем рецепте, Реализация квот FSRM, вы установили FSRM в SRV1.

Как это сделать...

  1. Создаём новый отчёт хранения FSRM для больших файлов в C:\ на SRV1

    
    $NRHT = @{
      Name             = 'Large Files on SRV1'
      NameSpace        = 'C:\'
      ReportType       = 'LargeFiles'
      LargeFileMinimum = 10MB 
      Interactive      = $true 
    }
    New-FsrmStorageReport @NRHT
    		
  2. Получаем имеющиеся отчёты FSRM

    
    Get-FsrmStorageReport * | 
      Format-Table -Property Name, NameSpace, 
                             ReportType, ReportFormat
    		
  3. Просматриваем доступные в SRV1 Интерактивные отчёты

    
    $Path = 'C:\StorageReports\Interactive'
    Get-ChildItem -Path $Path
    		
  4. Просматриваем такой отчёт

    
    $Rep = Get-ChildItem -Path $Path\*.html
    Invoke-Item -Path $Rep
    		
  5. Выделяем ключевые сведения их XML вывода FSRM

    
    $XF   = Get-ChildItem -Path $Path\*.xml 
    $XML  = [XML] (Get-Content -Path $XF)
    $Files = $XML.StorageReport.ReportData.Item
    $Files | Where-Object Path -NotMatch '^Windows|^Program|^Users'|
      Format-Table -Property name, path,
        @{ Name ='Sizemb'
           Expression = {(([int]$_.size)/1mb).tostring('N2')}},
           DaysSinceLastAccessed -AutoSize
    		
  6. В своём Планировщике задач создаём ежемесячную задачу

    
    $Date = Get-Date '04:20'
    $NTHT = @{
      Time    = $Date
      Monthly = 1
    }
    $Task = New-FsrmScheduledTask @NTHT
    $NRHT = @{
      Name             = 'Monthly Files by files group report'
      Namespace        = 'C:\'
      Schedule         = $Task 
      ReportType       = 'FilesbyFileGroup'
      FileGroupINclude = 'Text Files'
      LargeFileMinimum = 25MB
    }
    New-FsrmStorageReport @NRHT | Out-Null
    		
  7. Получаем подробности этой задачи

    
    Get-ScheduledTask | 
      Where-Object TaskName -Match 'Monthly' |
        Format-Table -AutoSize
    		
  8. Теперь запускаем эту задачу

    
    Get-ScheduledTask -TaskName '*Monthly*' | 
      Start-ScheduledTask
    Get-ScheduledTask -TaskName '*Monthly*'
    		
  9. Просматриваем полученный отчёт в папке C:\StorageReports

    
    $Path = 'C:\StorageReports\Scheduled'
    $Rep = Get-ChildItem -Path $path\*.html
    $Rep
    		
  10. Просматриваем этот отчёт

    
    Invoke-item -Path $Rep
    		

Как это работает...

На Шаге 1 вы создаёте новый отчёт FSRM для обнаружения больших файлов (с размером более 10 МБ) с своём устройстве C:\Quota. Вывод выглядит примерно так:

 

Рисунок 10-39


Создание нового отчёта хранения FSRM

На Шаге 2 вы просматриваете все доступные отчёты со следующим выводом:

 

Рисунок 10-40


Просмотр всех доступных отчётов хранения FSRM

На Шаге 3 вы изучаете все завершённые отчёты, которые выводились в вашу папку C:\StorageReports. Вывод выглядит как- то так:

 

Рисунок 10-41


Просмотр завершённых отчётов хранения FSRM

На Шаге 4 вы изучаете свой отчёт о крупных файлах в установленном по умолчанию браузере, что выглядит следующим образом:

 

Рисунок 10-42


Просмотр отчёта больших файлов из SRV1

На Шаге 5 вы выделяете из XML файла отчёта критически важные сведения и выводите их в свою консоль. Ниже приведён этот вывод.

 

Рисунок 10-43


Просмотр сведений о больших файлах

На Шаге 6 вы создаёте новую запланированную задачу для ежемесячного исполнения. Задача исполняет отчёт FilesbyFileGroup. Этот шаг не производит вывод.

На Шаге 7 вы изучаете подробности своей плановой задачи со следующим выводом:

 

Рисунок 10-44


Получение подробностей запланированной задачи

На Шаге 8 вы выполняете эту плановую задачу немедленно и получаете такой вывод:

 

Рисунок 10-45


Запуск запланированной задачи FSRM

На Шаге 9 после завершения выполнения отчёта со стороны FSRM вы наблюдаете вывод этого отчёта, который подобен приводимому ниже:

 

Рисунок 10-46


Просмотр данных отчёта

На финальном шаге этого рецепта, Шаге 10 , вы просматриваете в своём браузере полученный отчёт, C:\Quota что выглядит следующим образом:

 

Рисунок 10-47


Просмотр полученного отчёта в браузере

Есть кое- что ещё...

На Шаге 1 вы создаёте новый интерактивный отчёт FSRM. FSRM немедленно запускает исполнение этой команды. Когда вы просматриваете содержимое папки отчётов, например, на Шаге 3, вы можете изначально не наблюдать никакого вывода отчёта. Для производства соответствующего отчёта FSRM требуется определённое время, а потому стоит подождать.

На Шаге 4 вы просматриваете при помощи своего браузера HTML отчёт, созданный FSRM. В зависимости от настроек вашего хоста вы можете обнаружить предложение ответить какое именно приложение вы желаете применить для просмотра своего отчёта.

Как вы можете видеть на основании данного рецепта, FSRM создаёт вывод отчёта как в формате HTML, так и в формате XML. У вас нет возможности изменения формата HTML, но он, скорее всего достаточно хорош для большинства случаев. Если вы пожелаете определённый формат или только некоторые из данных, вы можете получит те же самые сведения из XML и отформатировать их под свои потребности.

Реализация отслеживания файлов FSRM

FSRM обладает вариантом отслеживания файлов. Такая функциональная возможность позволяет вам контролировать те типы файлов, которые вы позволяете сохранять в своём файловом сервере. Например, вы можете определить отслеживание файлов для запрета пользователю сохранения в своём файловом сервере музыкальных файлов (файлов с расширениями .MP3 или .FLAC). При помощи отслеживания файлов, когда пользователь пробует сохранить такой файл как GD71-02-18.T09.FLAC, FSRM препятствует сохранению такого файла.

Для настройки отслеживания файлов FSRM вам потребуется определить ту папку, которая подлежит защите FSRM и шаблон отслеживания файлов, который описывает те характеристики файлов, которые подлежат блокированию FSRM. FSRM поступает с пятью встроенными шаблонами экранирования файлов. Вы можете создавать дополнительные шаблоны под свои потребности.

Всякий шаблон экранирования файла содержит некий набор групп файлов. Каждая группа файлов содержит некий набор расширений файлов, которые способен блокировать FSRM. FSRM поставляется с 11-ю встроенными группами файлов, которые покрывают общие типы содержимого и могут обновляться и расширяться.

Одна из встроенных групп файлов FSRM это файлы аудио и видео. Эта группа содержит широкое разнообразие расширений файлов аудио и видео, в том числе, .AAC, .MP3, .FLAC и прочие. Что примечательно, данная группа не блокирует файлы .SHN (Shorten). Вы запросто можете добавить это расширение в соответствующую группу файлов, если пожелаете.

Обратите внимание, что отслеживание файлов работает исключительно на основании расширений файлов. FSRM, к примеру, способен блокировать сохранение вами такого файла, как GD71-02-18.T09.FLAC. Однако если вы попытаетесь сохранить этот файл как GD71-02-18.T09.CALF, FSRM позволит вам сохранить такой файл. Экранирование файлов FSRM не изучает сам выйл для выяснения значения реального типа файла. В большинстве случаев экранирование файлов останавливает наиболее очевидные политики нарушений.

Подготовка

Этот рецепт пользуется SRV1, присоединённом к домену хостом в вашем домене Reskit.Org, в котором у вас имеются установленными PowerShell 7 и VS Code. В одном из предыдущих рецептов, Реализация квот FSRM, вы установили FSRM в SRV1.

Как это сделать...

  1. Изучаем имеющиеся группы файлов

    
    Get-FsrmFileGroup |
      Format-Table -Property Name, IncludePattern
    		
  2. Изучаем имеющиеся шаблоны экранирования файлов

    
    Get-FsrmFileScreenTemplate |
      Format-Table -Property Name, IncludeGroup, Active
    		
  3. Создаём новую папку

    
    $Path = 'C:\FileScreen'
    If (-Not (Test-Path $Path)) {
      New-Item -Path $Path -ItemType Directory  |
        Out-Null
    }
    		
  4. Создаём новый экран файлов

    
    $FSHT =  @{
      Path         = $Path
      Description  = 'Block Executable Files'
      IncludeGroup = 'Executable Files'
    }
    New-FsrmFileScreen @FSHT
    		
  5. Проверяем экранирование файлов против копирования notepad.exe.

    
    $FSTHT = @{
      Path        = "$Env:windir\notepad.exe"
      Destination = 'C:\FileScreen\notepad.exe'
    }
    Copy-Item  @FSTHT
    		
  6. Настраиваем активное уведомление сообщением электронной почты

    
    $Body = 
    "[Source Io Owner] attempted to save an executable program to
     [File Screen Path].
    This is not allowed!
    "
    $FSRMA = @{
      Type             = 'Email'
      MailTo           = 'DoctorDNS@Gmail.Com' 
      Subject          = 'Warning: attempted to save an executable file'
      Body             = $Body
      RunLimitInterval = 60
    }
    $Notification = New-FsrmAction @FSRMA
    $FSFS = @{
      Path         = $Path
      Notification = $Notification
      IncludeGroup = 'Executable Files'
      Description  = 'Block any executable file'
      Active       = $true
    }
    Set-FsrmFileScreen @FSFS
    		
  7. Устанавливаем пределы уведомления FSRM

    
    Get-FsrmSetting | 
      Format-List -Property "*NotificationLimit"
    		
  8. Изменяем пределы уведомления FSRM

    
    $FSRMSHT = @{
      CommandNotificationLimit = 1
      EmailNotificationLimit   = 1
      EventNotificationLimit   = 1
      ReportNotificationLimit  = 1
    }
    Set-FsrmSetting @FSRMSHT
    		
  9. Повторяем тестирование для проверки получаемого действия

    
    Copy-Item @FSTHT
    		
  10. Просматриваем электронное письмо экранирования файла

    Воспользуйтесь своим почтовым клиентом для просмотра созданного FSRM электронного письма.

Как это работает...

На Шаге 1 вы изучаете изначально установленные группы файлов FSRM. Вот вывод с этого шага:

 

Рисунок 10-48


Изучение имеющихся групп файлов FSRM

На Шаге 2 вы изучаете встроенные шаблоны экранирования файлов FSRM. Вот как это выглядит:

 

Рисунок 10-49


Просмотр шаблонов экранирования файлов

На Шаге 3 вы создаёте новую папку для проверки отслеживания файлов FSRM, что не производит вывода. На Шаге 4 вы создаёте новое экранирование файла FSRM. Вот что вы получаете в выводе:

 

Рисунок 10-50


Создание нового экранирования файлов

Для проверки отслеживания файла, на Шаге 5 вы копируете notepad.exe из папки Windows в свою папку экранирования файлов с приводимым ниже выводом:

 

Рисунок 10-51


Проверка отслеживания файла

На Шаге 6 вы настраиваете активное уведомление электронным письмом для указания вам всякий раз на попытку, когда пользователь пробует сохранять какой- то исполняемый файл в вашей экранированной папке. Этот шаг не производит вывод.

На Шаге 7 вы изучаете пределы уведомлений FSRM со следующим выводом:

 

Рисунок 10-52


Изучение пределов уведомлений FSRM

Для ускорения создания уведомления электронной почтой, на Шаге 8 вы снижаете пределы уведомлений до 1 секунды. Этот шаг не производит вывод.

На Шаге 9 вы проверяете обновлённое экранирование файла и повторно пытаетесь сохранить некий исполняемый файл в своей отслеживаемой папке. В результате вы получаете такой вывод:

 

Рисунок 10-53


Проверка отслеживания файла

Обладая настроенным уведомлением электронным письмом для экранирования фалов, на Шаге 10 вы просматриваете выработанное электронное письмо, которое выглядит подобным образом:

 

Рисунок 10-54


Просмотр электронного письма экранирования файла

Есть кое- что ещё...

На Шаге 1 вы рассмотрели те расширения файлов, которые FSRM распознаёт по умолчанию. Это охватывает большинство ситуаций. Небольшим упущением является то, что аудио и видео файлы не содержат расширения SHN. Файлы SHN это аудио файлы без потерь данных, которые пользуются алгоритмом сжатия Shorten. Вы можете обнаружить тучу легальных записей концертов на основе SHN множества групп, например, The Grateful Dead. По этой причине в промышленной среде вам потребуется обновить эту файловую группу FSRM чтобы позволить отслеживать файлы SHN, когда вы применяете данную файловую группу для экранирования файлов.

Функция отслеживания файлов позволяет предотвращать случайное сохранение пользователями файлов, нарушающих правила хранения файлов в вашей организации. Например, ваша организация может оговаривать, что пользователи не могут сохранять аудио или видео файлы в файловом сервере организации. Когда некий пользователь "случайно" сохраняет некий файл MP3, FSRM вежливо ему откажет. Тем не менее, как отмечалось ранее, отслеживание файлов основывается исключительно на расширениях файлов. Тем самым, если пользователь сохраняет файл и изменяет его расширение, скажем, на 3MP, FSRM не сработает. Естественно, поступая таким образом, данный пользователь намеренно нарушает политику организации, что может ограничить его карьеру.