Параметры брандмауэра и прокси-сервера службы "Синхронизация файлов Azure"

Служба "Синхронизация файлов Azure" подключает локальные серверы к службе файлов Azure, обеспечивая синхронизацию нескольких сайтов и распределение данных по уровням облака. Таким образом локальный сервер должен быть подключен к Интернету. Администратор отдела ИТ должен выбрать наилучший путь подключения сервера к облачным службам Azure.

В этой статье описываются особые требования и возможности, позволяющие создать безопасное подключение сервера к службе "Синхронизация файлов Azure".

Перед изучением этого практического руководства рекомендуется ознакомиться с рекомендациями по настройке сети для службы "Синхронизация файлов Azure".

Обзор

Служба "Синхронизация файлов Azure" действует как служба оркестрации между Windows Server, вашим файловым ресурсом Azure и несколькими другими службами Azure, которая синхронизирует данные, как описано в группе синхронизации. Чтобы служба "Синхронизация файлов Azure" работала правильно, необходимо настроить серверы для взаимодействия со следующими службами Azure.

  • Хранилище Azure
  • Служба синхронизации файлов Azure
  • Azure Resource Manager
  • Службы аутентификации

Примечание

Агент службы "Синхронизация файлов Azure" на сервере Windows инициирует все запросы к облачным службам, поэтому в брандмауэре следует учитывать только исходящий трафик.
Ни одна из служб Azure не инициирует подключение к агенту службы "Синхронизация файлов Azure".

порты;

Служба "Синхронизация файлов Azure" перемещает файлы данных и метаданные только по протоколу HTTPS, и порт 443 должен быть открыт для исходящего трафика. В результате шифруется весь трафик.

Сети и специальные подключения к Azure

Агент службы "Синхронизация файлов Azure" не накладывает какие-либо требования в отношении специальных каналов, например ExpressRoute, в Azure.

Служба "Синхронизация файлов Azure" будет использовать все доступные средства связи с Azure, автоматически адаптируясь к различным характеристикам сетей (пропускной способности, задержке и т. д.). Кроме того, она предоставляет административный контроль для точной настройки. Некоторые возможности сейчас недоступны. Если вы хотите настроить определенное поведение, свяжитесь с нами с помощью сайта UserVoice для службы файлов Azure.

Прокси

Служба "Синхронизация файлов Azure" поддерживает параметры прокси-сервера для конкретных приложений и для всего компьютера.

Параметры прокси-сервера для конкретных приложений позволяют настроить прокси-сервер специально для трафика службы "Синхронизация файлов Azure". Параметры прокси-сервера для конкретных приложений поддерживаются в версии агента 4.0.1.0 и более поздних версиях. Их можно настроить во время установки агента или с помощью командлета PowerShell Set-StorageSyncProxyConfiguration.

Команды PowerShell для настройки параметров прокси-сервера для конкретных приложений:

Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Set-StorageSyncProxyConfiguration -Address <url> -Port <port number> -ProxyCredential <credentials>

Например, если прокси-сервер требует проверки подлинности с использованием имени пользователя и пароля, выполните следующие команды PowerShell.

# IP address or name of the proxy server.
$Address="127.0.0.1"  

# The port to use for the connection to the proxy.
$Port=8080

# The user name for a proxy.
$UserName="user_name" 

# Please type or paste a string with a password for the proxy.
$SecurePassword = Read-Host -AsSecureString

$Creds = New-Object System.Management.Automation.PSCredential ($UserName, $SecurePassword)

# Please verify that you have entered the password correctly.
Write-Host $Creds.GetNetworkCredential().Password

Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"

Set-StorageSyncProxyConfiguration -Address $Address -Port $Port -ProxyCredential $Creds

Параметры прокси-сервера для компьютера являются прозрачными для агента службы "Синхронизация файлов Azure", так как весь трафик сервера направляется через этот прокси-сервер.

Чтобы настроить параметры прокси-сервера для компьютера, выполните следующие действия:

  1. Настройте параметры прокси-сервера для приложений .NET

    • Измените следующие два файла:
      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

    • Добавьте раздел <system.net> в файлы machine.config (в раздел <system.serviceModel>). Измените 127.0.01:8888 на IP-адрес и порт для прокси-сервера.

      <system.net>
         <defaultProxy enabled="true" useDefaultCredentials="true">
           <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
         </defaultProxy>
      </system.net>
      
  2. Задайте параметры прокси-сервера WinHTTP

    Примечание

    Доступно несколько методов (WPAD, PAC-файл, netsh и пр.) для настройки Windows Server на использование прокси-сервера. В приведенных ниже действиях описано, как настроить параметры прокси-сервера с помощью netsh, но поддерживаются также другие методы, перечисленные в документации Настройка параметров прокси-сервера в Windows.

    • Выполните следующую команду в командной строке с повышенными привилегиями или PowerShell, чтобы увидеть существующие параметры прокси-сервера:

      netsh winhttp show proxy

    • Выполните следующую команду в командной строке с повышенными привилегиями или PowerShell, чтобы задать параметры прокси-сервера (измените 127.0.01:8888 на IP-адрес и порт для прокси-сервера):

      netsh winhttp set proxy 127.0.0.1:8888

  3. Перезапустите службу агента синхронизации хранилища, выполнив следующую команду в командной строке с повышенными привилегиями или PowerShell:

    net stop filesyncsvc

    Примечание. Служба агента синхронизации хранилища (filesyncsvc) автоматически запустится после остановки.

Брандмауэр

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

В следующей таблице описаны требуемые домены для обмена данными.

Служба Конечная точка общедоступного облака Конечная точка Azure для государственных организаций Использование
Azure Resource Manager https://management.azure.com https://management.usgovcloudapi.net Любой вызов пользователя (например, PowerShell) проходит через этот URL-адрес, включая вызов для начальной регистрации сервера.
Azure Active Directory https://login.windows.net
https://login.microsoftonline.com
https://login.microsoftonline.us Вызовы Azure Resource Manager должны осуществляться пользователем, прошедшим аутентификацию. Чтобы вызовы могли быть выполнены, этот URL-адрес используется для аутентификации пользователей.
Azure Active Directory https://graph.microsoft.com/ https://graph.microsoft.com/ В ходе развертывания службы "Синхронизация файлов Azure" в подписке Azure Active Directory будет создан субъект-служба. Для этого используется данный URL-адрес. Этот субъект используется для делегирования минимального набора прав службе "Синхронизация файлов Azure". Пользователь, выполняющий начальную настройку службы "Синхронизация файлов Azure", должен иметь привилегии владельца подписки.
Azure Active Directory https://secure.aadcdn.microsoftonline-p.com Используйте URL-адрес общедоступной конечной точки. К этому URL-адресу получает доступ библиотека проверки подлинности Active Directory, которую пользовательский интерфейс регистрации сервера Azure File Sync использует для входа в систему в качестве администратора.
Хранилище Azure *.core.windows.net *.core.usgovcloudapi.net Когда сервер скачивает файл, он эффективнее перемещает данные, если напрямую обращается к файловому ресурсу Azure в учетной записи хранения. Сервер имеет ключ SAS, предоставляющий доступ только к целевому файловому ресурсу.
Синхронизация файлов Azure *.one.microsoft.com
*.afs.azure.net
*.afs.azure.us После начальной регистрации сервер получает URL-адрес экземпляра службы "Синхронизация файлов Azure" в этом регионе. Сервер может использовать этот URL-адрес для прямого и эффективного взаимодействия с экземпляром, выполняющим его синхронизацию.
Microsoft PKI https://www.microsoft.com/pki/mscorp/cps
http://crl.microsoft.com/pki/mscorp/crl/
http://mscrl.microsoft.com/pki/mscorp/crl/
http://ocsp.msocsp.com
http://ocsp.digicert.com/
http://crl3.digicert.com/
https://www.microsoft.com/pki/mscorp/cps
http://crl.microsoft.com/pki/mscorp/crl/
http://mscrl.microsoft.com/pki/mscorp/crl/
http://ocsp.msocsp.com
http://ocsp.digicert.com/
http://crl3.digicert.com/
После установки агента службы "Синхронизация файлов Azure" с помощью URL-адреса PKI загружаются промежуточные сертификаты, обеспечивающие обмен данными между службой "Синхронизация файлов Azure" и файловым ресурсом Azure. С помощью URL-адреса OCSP проверяется состояние сертификата.
Центр обновления Майкрософт *.update.microsoft.com
*.download.windowsupdate.com
*.ctldl.windowsupdate.com
*.dl.delivery.mp.microsoft.com
*.emdl.ws.microsoft.com
*.update.microsoft.com
*.download.windowsupdate.com
*.ctldl.windowsupdate.com
*.dl.delivery.mp.microsoft.com
*.emdl.ws.microsoft.com
После установки агента синхронизации файлов Azure URL-адреса центра обновления Майкрософт используются для загрузки обновлений агента синхронизации файлов Azure.

Важно!

При разрешении трафика в *.afs.azure.net трафик может быть доступен только для службы синхронизации. Нет других служб Майкрософт, использующих этот домен. Если разрешить передачу трафика в *.one.microsoft.com, то с сервера будет передаваться не только трафик для службы синхронизации. В поддоменах могут размещаться многие другие службы Майкрософт.

Если *.afs.azure.net или *.one.microsoft.com задает слишком много адресов, обмен данными с сервером можно ограничить, разрешив обмен данными только с региональными экземплярами службы синхронизации файлов Azure. Выбор экземпляров зависит от региона службы синхронизации хранилища, в котором развернут и зарегистрирован сервер. Этот регион называется "URL-адрес основной конечной точки" в таблице ниже.

В целях обеспечения непрерывности бизнес-процессов и аварийного восстановления (BCDR) вы могли разместить файловые ресурсы Azure в учетной записи глобально избыточного хранилища (GRS). Если это так, тогда в случае продолжительного регионального сбоя будет выполнена отработка отказа файловых ресурсов Azure в связанный регион. Служба "Синхронизация файлов Azure" использует те же региональные связи, что и хранилище. Поэтому, если используются учетные записи хранения GRS, необходимо включить дополнительные URL-адреса, чтобы сервер мог взаимодействовать с парным регионом для синхронизации файлов Azure. В таблице ниже это называется "Парный регион". Кроме того, есть URL-адрес профиля диспетчера трафика, который также должен быть включен. Это позволяет гарантировать простое перенаправление трафика в парный регион в случае отработки отказа. Этот адрес называется "URL-адрес обнаружения" в таблице ниже.

Cloud Регион URL-адрес основной конечной точки Парный регион URL-адрес обнаружения
Открытый Восточная Австралия https://australiaeast01.afs.azure.net
https://kailani-aue.one.microsoft.com
Юго-Восточная часть Австралии https://tm-australiaeast01.afs.azure.net
https://tm-kailani-aue.one.microsoft.com
Открытый Юго-Восточная часть Австралии https://australiasoutheast01.afs.azure.net
https://kailani-aus.one.microsoft.com
Восточная Австралия https://tm-australiasoutheast01.afs.azure.net
https://tm-kailani-aus.one.microsoft.com
Открытый Brazil South https://brazilsouth01.afs.azure.net Центрально-южная часть США https://tm-brazilsouth01.afs.azure.net
Открытый Центральная Канада https://canadacentral01.afs.azure.net
https://kailani-cac.one.microsoft.com
Восточная Канада https://tm-canadacentral01.afs.azure.net
https://tm-kailani-cac.one.microsoft.com
Открытый Восточная Канада https://canadaeast01.afs.a.net
https://kailani-cae.one.microsoft.com
Центральная Канада https://tm-canadaeast01.afs.azure.net
https://tm-kailani.cae.one.microsoft.com
Открытый Центральная Индия https://centralindia01.afs.azure.net
https://kailani-cin.one.microsoft.com
Южная Индия https://tm-centralindia01.afs.azure.net
https://tm-kailani-cin.one.microsoft.com
Открытый Центральная часть США https://centralus01.afs.azure.net
https://kailani-cus.one.microsoft.com
восточная часть США 2 https://tm-centralus01.afs.azure.net
https://tm-kailani-cus.one.microsoft.com
Открытый Восточная Азия https://eastasia01.afs.azure.net
https://kailani11.one.microsoft.com
Юго-Восточная Азия https://tm-eastasia01.afs.azure.net
https://tm-kailani11.one.microsoft.com
Открытый Восточная часть США https://eastus01.afs.azure.net
https://kailani1.one.microsoft.com
Западная часть США https://tm-eastus01.afs.azure.net
https://tm-kailani1.one.microsoft.com
Открытый восточная часть США 2 https://eastus201.afs.azure.net
https://kailani-ess.one.microsoft.com
Центральная часть США https://tm-eastus201.afs.azure.net
https://tm-kailani-ess.one.microsoft.com
Открытый Северная Германия https://germanynorth01.afs.azure.net Центрально-Западная Германия https://tm-germanywestcentral01.afs.azure.net
Открытый Центрально-Западная Германия https://germanywestcentral01.afs.azure.net Северная Германия https://tm-germanynorth01.afs.azure.net
Открытый Восточная Япония https://japaneast01.afs.azure.net Западная Япония https://tm-japaneast01.afs.azure.net
Открытый Западная Япония https://japanwest01.afs.azure.net Восточная Япония https://tm-japanwest01.afs.azure.net
Открытый Республика Корея, центральный регион https://koreacentral01.afs.azure.net/ Республика Корея, южный регион https://tm-koreacentral01.afs.azure.net/
Открытый Республика Корея, южный регион https://koreasouth01.afs.azure.net/ Республика Корея, центральный регион https://tm-koreasouth01.afs.azure.net/
Открытый Центрально-северная часть США https://northcentralus01.afs.azure.net Центрально-южная часть США https://tm-northcentralus01.afs.azure.net
Открытый Северная Европа https://northeurope01.afs.azure.net
https://kailani7.one.microsoft.com
Западная Европа https://tm-northeurope01.afs.azure.net
https://tm-kailani7.one.microsoft.com
Открытый Центрально-южная часть США https://southcentralus01.afs.azure.net Центрально-северная часть США https://tm-southcentralus01.afs.azure.net
Открытый Южная Индия https://southindia01.afs.azure.net
https://kailani-sin.one.microsoft.com
Центральная Индия https://tm-southindia01.afs.azure.net
https://tm-kailani-sin.one.microsoft.com
Открытый Юго-Восточная Азия https://southeastasia01.afs.azure.net
https://kailani10.one.microsoft.com
Восточная Азия https://tm-southeastasia01.afs.azure.net
https://tm-kailani10.one.microsoft.com
Открытый Северная Швейцария https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Западная Швейцария https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Открытый Западная Швейцария https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Северная Швейцария https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Открытый южная часть Соединенного Королевства https://uksouth01.afs.azure.net
https://kailani-uks.one.microsoft.com
западная часть Соединенного Королевства https://tm-uksouth01.afs.azure.net
https://tm-kailani-uks.one.microsoft.com
Открытый западная часть Соединенного Королевства https://ukwest01.afs.azure.net
https://kailani-ukw.one.microsoft.com
южная часть Соединенного Королевства https://tm-ukwest01.afs.azure.net
https://tm-kailani-ukw.one.microsoft.com
Открытый центрально-западная часть США https://westcentralus01.afs.azure.net западная часть США 2 https://tm-westcentralus01.afs.azure.net
Открытый Западная Европа https://westeurope01.afs.azure.net
https://kailani6.one.microsoft.com
Северная Европа https://tm-westeurope01.afs.azure.net
https://tm-kailani6.one.microsoft.com
Открытый Западная часть США https://westus01.afs.azure.net
https://kailani.one.microsoft.com
Восточная часть США https://tm-westus01.afs.azure.net
https://tm-kailani.one.microsoft.com
Открытый западная часть США 2 https://westus201.afs.azure.net центрально-западная часть США https://tm-westus201.afs.azure.net
Государственный сектор US Gov (Аризона) https://usgovarizona01.afs.azure.us US Gov (Техас) https://tm-usgovarizona01.afs.azure.us
Государственный сектор US Gov (Техас) https://usgovtexas01.afs.azure.us US Gov (Аризона) https://tm-usgovtexas01.afs.azure.us
  • Если вы используете учетные записи хранения локально избыточного хранилища (LRS) или хранилища, избыточного в пределах зоны (ZRS), необходимо включить только URL-адрес, указанный в разделе "URL-адрес основной конечной точки".

  • При использовании учетных записей хранения GRS включите три URL-адреса.

Пример. Вы развертываете службу синхронизации хранилища в "West US" и регистрируете свой сервер в ней. URL-адреса, позволяющие обмениваться данными с сервером для этого случая:

  • https://westus01.afs.azure.net (первичная конечная точка: западная часть США)
  • https://eastus01.afs.azure.net (парный регион отработки отказа: восточная часть США)
  • https://tm-westus01.afs.azure.net (URL-адрес обнаружения основного региона)

Список разрешенных IP-адресов службы синхронизации файлов Azure

Синхронизация файлов Azure поддерживает использование тегов служб, представляющих собой группу префиксов IP-адресов для данной службы Azure. Можно использовать теги служб для создания правил брандмауэра, которые позволяют взаимодействовать со службой синхронизации файлов Azure. Тегом службы для синхронизация файлов Azure является StorageSyncService.

Если используется синхронизация файлов Azure, можно использовать имя тега службы непосредственно в своей группе безопасности сети, чтобы разрешить трафик. Дополнительные сведения о том, как это делается, см. в статье Группы безопасности сети.

Если вы используете Синхронизацию файлов Azure в локальной среде, можно с помощью API тегов служб получить конкретные диапазоны IP-адресов для включения в список разрешений брандмауэра. Существует два способа получения этой информации.

  • Текущий список диапазонов IP-адресов для всех служб Azure, поддерживающих теги служб, публикуется еженедельно в Центре загрузки Майкрософт в виде документа JSON. Каждое облако Azure имеет собственный документ JSON с диапазонами IP-адресов, относящимися к этому облаку:
  • API обнаружения тегов служб (предварительная версия) позволяет получать текущий список тегов служб программными средствами. В предварительной версии API обнаружения тегов служб может возвращать менее актуальную информацию по сравнению с документами JSON, публикуемыми в Центре загрузки Майкрософт. Вы можете использовать поверхность API в соответствии с вашими настройками автоматизации:

Поскольку API обнаружения тегов служб обновляется не так часто, как документы JSON, опубликованные в центре загрузки Майкрософт, рекомендуется использовать документ JSON для обновления списка разрешений локального брандмауэра. Это можно сделать следующим образом.

# The specific region to get the IP address ranges for. Replace westus2 with the desired region code 
# from Get-AzLocation.
$region = "westus2"

# The service tag for Azure File Sync. Do not change unless you're adapting this
# script for another service.
$serviceTag = "StorageSyncService"

# Download date is the string matching the JSON document on the Download Center. 
$possibleDownloadDates = 0..7 | `
    ForEach-Object { [System.DateTime]::Now.AddDays($_ * -1).ToString("yyyyMMdd") }

# Verify the provided region
$validRegions = Get-AzLocation | `
    Where-Object { $_.Providers -contains "Microsoft.StorageSync" } | `
    Select-Object -ExpandProperty Location

if ($validRegions -notcontains $region) {
    Write-Error `
            -Message "The specified region $region is not available. Either Azure File Sync is not deployed there or the region does not exist." `
            -ErrorAction Stop
}

# Get the Azure cloud. This should automatically based on the context of 
# your Az PowerShell login, however if you manually need to populate, you can find
# the correct values using Get-AzEnvironment.
$azureCloud = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty Name

# Build the download URI
$downloadUris = @()
switch($azureCloud) {
    "AzureCloud" { 
        $downloadUris = $possibleDownloadDates | ForEach-Object {  
            "https://download.microsoft.com/download/7/1/D/71D86715-5596-4529-9B13-DA13A5DE5B63/ServiceTags_Public_$_.json"
        }
    }

    "AzureUSGovernment" {
        $downloadUris = $possibleDownloadDates | ForEach-Object { 
            "https://download.microsoft.com/download/6/4/D/64DB03BF-895B-4173-A8B1-BA4AD5D4DF22/ServiceTags_AzureGovernment_$_.json"
        }
    }

    "AzureChinaCloud" {
        $downloadUris = $possibleDownloadDates | ForEach-Object { 
            "https://download.microsoft.com/download/9/D/0/9D03B7E2-4B80-4BF3-9B91-DA8C7D3EE9F9/ServiceTags_China_$_.json"
        }
    }

    "AzureGermanCloud" {
        $downloadUris = $possibleDownloadDates | ForEach-Object { 
            "https://download.microsoft.com/download/0/7/6/076274AB-4B0B-4246-A422-4BAF1E03F974/ServiceTags_AzureGermany_$_.json"
        }
    }

    default {
        Write-Error -Message "Unrecognized Azure Cloud: $_" -ErrorAction Stop
    }
}

# Find most recent file
$found = $false 
foreach($downloadUri in $downloadUris) {
    try { $response = Invoke-WebRequest -Uri $downloadUri -UseBasicParsing } catch { }
    if ($response.StatusCode -eq 200) {
        $found = $true
        break
    }
}

if ($found) {
    # Get the raw JSON 
    $content = [System.Text.Encoding]::UTF8.GetString($response.Content)

    # Parse the JSON
    $serviceTags = ConvertFrom-Json -InputObject $content -Depth 100

    # Get the specific $ipAddressRanges
    $ipAddressRanges = $serviceTags | `
        Select-Object -ExpandProperty values | `
        Where-Object { $_.id -eq "$serviceTag.$region" } | `
        Select-Object -ExpandProperty properties | `
        Select-Object -ExpandProperty addressPrefixes
} else {
    # If the file cannot be found, that means there hasn't been an update in
    # more than a week. Please verify the download URIs are still accurate
    # by checking https://docs.microsoft.com/azure/virtual-network/service-tags-overview
    Write-Verbose -Message "JSON service tag file not found."
    return
}

Можно использовать диапазоны IP-адресов в $ipAddressRanges для обновления брандмауэра. Посетите веб-сайт используемого брандмауэра/сетевого устройства для получения информации о том, как обновить брандмауэр.

Проверка сетевого подключения к конечным точкам службы

После регистрации сервера в службе синхронизации файлов Azure можно использовать командлет Test-StorageSyncNetworkConnectivity и ServerRegistration.exe для проверки связи со всеми конечными точками (URL-адресами), относящимися к этому серверу. Этот командлет может помочь в устранении неполадок, когда незавершенная связь не позволяет серверу в полной мере использовать синхронизацию файлов Azure, и его можно использовать для точной настройки прокси-сервера и брандмауэра.

Чтобы запустить проверку сетевого подключения, установите агент синхронизации файлов Azure версии 9.1 или более поздней и выполните следующие команды PowerShell.

Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Test-StorageSyncNetworkConnectivity

Сводка и ограничение рисков

Списки, приведенные ранее в этом документе, содержат URL-адреса, с которыми в настоящее время взаимодействует служба "Синхронизация файлов Azure". Брандмауэры должны иметь возможность разрешить исходящий трафик для этих доменов. Корпорация Майкрософт прилагает все усилия, чтобы этот список был актуальным.

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

Дальнейшие действия