Configurações de proxy e firewall da Sincronização de arquivos do Azure

A Sincronização de arquivos do Azure se conecta seus servidores locais para arquivos do Azure, permitindo camadas de recursos de nuvem e sincronização de vários locais. Como tal, um servidor local deve estar conectado à internet. Um administrador de TI precisa decidir o melhor caminho para o servidor acessar os serviços de nuvem do Azure.

Este artigo fornecerá informações sobre requisitos específicos e as opções disponíveis para conectar com êxito e segurança o servidor de Sincronização de Arquivos do Azure.

É recomendável ler as Considerações de rede de Sincronização de Arquivos do Azure antes de ler este guia de instruções.

Visão geral

A Sincronização de Arquivos do Azure atua como um serviço de coordenação entre o Windows Server, seu compartilhamento de arquivos do Azure e vários outros serviços do Azure para sincronizar os dados conforme descrito em seu grupo de sincronização. Para que a Sincronização de Arquivos do Azure funcione corretamente, você precisará configurar seus servidores para se comunicar com os seguintes serviços do Azure:

  • Armazenamento do Azure
  • Sincronização de Arquivos do Azure
  • Azure Resource Manager
  • Serviços de Autenticação

Observação

O agente de Sincronização de Arquivos do Azure no Windows Server inicia todas as solicitações para serviços que resultam em apenas ter que considerar o tráfego de saída de uma perspectiva de firewall de nuvem.
Nenhum serviço do Azure inicia uma conexão com o agente de sincronização de arquivos do Azure.

Portas

A Sincronização de Arquivos do Azure move metadados e dados de arquivos exclusivamente via HTTPS e exige que a porta 443 tenha a saída aberta. Como resultado, todo o tráfego é criptografado.

Redes e conexões especiais para o Azure

O agente de Sincronização de Arquivos do Azure não tem requisitos sobre canais especiais como ExpressRoute, etc. para o Azure.

A Sincronização de Arquivos do Azure funcionará por meios disponíveis que permitem o alcance no Azure, automaticamente se adaptando a várias características de rede com largura de banda, latência, bem como oferecendo controle de administração para ajustar.

Proxy

A Sincronização de Arquivos do Azure oferece suporte a configurações de proxy específicas do aplicativo e de todo o computador.

As configurações de proxy específicas do aplicativo permitirão a configuração de um proxy especificamente para o tráfego da Sincronização de Arquivos do Azure. As configurações de proxy específicas do aplicativo são suportadas no agente versão 4.0.1.0 ou mais recente e podem ser configuradas durante a instalação do agente ou usando o cmdlet do PowerShell Set-StorageSyncProxyConfiguration.

Comandos do PowerShell para definir as configurações de proxy específicas do aplicativo:

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

Por exemplo, se o servidor proxy exigir autenticação com um nome de usuário e senha, execute os seguintes comandos do 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

As configurações de proxy amplas do computador são transparentes para o agente de Sincronização de Arquivos do Azure, pois o tráfego inteiro do servidor é roteado através do proxy.

Para definir as configurações de proxy amplas do computador, siga as etapas abaixo:

  1. Definir configurações de proxy para aplicativos .NET

    • Edite esses dois arquivos:
      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

    • Adicione a seção <system.net> nos arquivos machine.config (abaixo da seção <system.serviceModel>). Altere 127.0.01: 8888 para o endereço IP e porta para o servidor proxy.

      <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. Definir as configurações de proxy do WinHTTP

    Observação

    Há vários métodos (WPAD, arquivo PAC, netsh, etc.) para configurar um servidor do Windows para usar um servidor proxy. As etapas a seguir tratam de como definir as configurações de proxy usando Netsh, mas há suporte para qualquer método listado na documentação Definir configurações do servidor proxy no Windows.

    • Execute o comando a seguir em um prompt de comandos com privilégios elevados ou no PowerShell para ver a configuração de proxy existente:

      netsh winhttp show proxy

    • Execute o comando a seguir em um prompt de comandos com privilégios elevados ou no PowerShell para definir a configuração de proxy (altere 127.0.01: 8888 para o endereço IP e porta para o servidor proxy):

      netsh winhttp set proxy 127.0.0.1:8888

  3. Reinicie o serviço do Agente de Sincronização de Armazenamento executando o comando a seguir em um prompt de comandos com privilégios elevados ou no PowerShell:

    net stop filesyncsvc

    Observação: o serviço do Agente de Sincronização de Armazenamento (filesyncsvc) será iniciado automaticamente quando interrompido.

Firewall

Conforme mencionado em uma seção anterior, a porta 443 precisa estar com a saída aberta. Com base em políticas em seu banco de dados, a ramificação ou a região, restringir ainda mais o tráfego por essa porta a domínios específicos pode ser desejado ou necessário.

A tabela a seguir descreve os domínios necessários para a comunicação:

Serviço Ponto de extremidade de nuvem pública Ponto de extremidade do Azure Governamental Uso
Azure Resource Manager https://management.azure.com https://management.usgovcloudapi.net Qualquer chamada de usuário (como o PowerShell) passa por essa URL, incluindo a chamada de registro inicial do servidor.
Azure Active Directory https://login.windows.net
https://login.microsoftonline.com
https://login.microsoftonline.us As chamadas do Azure Resource Manager devem ser feitas por um usuário autenticado. Para ter êxito, essa URL é usada para autenticação do usuário.
Azure Active Directory https://graph.microsoft.com/ https://graph.microsoft.com/ Como parte da implantação de Sincronização de Arquivos do Azure, será criado um objeto de serviço do Azure Active Directory da assinatura. Essa URL é usada para fazer isso. Essa entidade de segurança é usada para a delegação de um conjunto mínimo de direitos para o Serviço de Sincronização de Arquivos do Azure. O usuário que estiver executando a configuração inicial de Sincronização de Arquivos do Azure deve ser um usuário autenticado com privilégios de proprietário da assinatura.
Azure Active Directory https://secure.aadcdn.microsoftonline-p.com Use a URL do ponto de extremidade público. Essa URL é acessada pela biblioteca de autenticação do Active Directory que a interface do usuário de registro do servidor da Sincronização de Arquivos do Azure usa para fazer logon no administrador.
Armazenamento do Azure *.core.windows.net *.core.usgovcloudapi.net Quando o servidor baixa um arquivo, o servidor executa essa movimentação de dados com mais eficiência quando se comunicando diretamente com o compartilhamento de arquivos do Azure na conta de armazenamento. O servidor tem uma chave SAS que só permite o acesso de compartilhamento do arquivo de destino.
Sincronização de Arquivos do Azure *.one.microsoft.com
*.afs.azure.net
*.afs.azure.us Após o registro do servidor inicial, o servidor recebe uma URL regional para a instância do serviço de Sincronização de Arquivos do Azure nessa região. O servidor pode usar a URL para se comunicar de forma direta e eficiente com a instância de tratando sua sincronização.
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/
Depois de instalar o agente da Sincronização de Arquivos do Azure, a URL do PKI é usada para baixar os certificados intermediários necessários para se comunicar com o serviço de Sincronização de Arquivos do Azure e do compartilhamento de arquivos do Azure. A URL do OCSP é usada para verificar o status de um certificado.
Microsoft Update *.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
Depois que o agente de Sincronização de Arquivos do Azure for instalado, as URLs do Microsoft Update serão usadas para baixar atualizações do agente.

Importante

Depois de se permitir o tráfego para *.afs.azure.net, o tráfego será possível apenas para o serviço de sincronização. Não há outros serviços da Microsoft que usam esse domínio. Ao permitir o tráfego para o *.one.microsoft.com, o tráfego para mais do que apenas o serviço de sincronização é possível por meio do servidor. Há muitos mais serviços da Microsoft nos subdomínios.

Se o *.afs.azure.net ou *.one.microsoft.com for muito amplo, será possível limitar a comunicação do servidor ao permitir a comunicação apenas com instâncias regionais explícitas do serviço Sincronização de Arquivos do Azure. Qual instância escolher depende da região do serviço de sincronização de armazenamento em que o servidor está implantado e registrado. Essa região é chamada de "URL do ponto de extremidade primário" na tabela abaixo.

Por razões fins de BCDR (continuidade dos negócios e recuperação de desastres), você pode ter criado seus compartilhamentos de arquivos do Azure em uma conta de armazenamento configurada para GRS (armazenamento com redundância geográfica). Se esse for o caso, os compartilhamentos de arquivos do Azure farão failover na região emparelhada se ocorrer uma interrupção regional duradoura. A Sincronização de Arquivos do Azure usa os mesmos emparelhamentos regionais do armazenamento. Portanto, se forem usadas contas de armazenamento de GRS, será necessário habilitar as URLs adicionais para permitir que o servidor se comunique com a região emparelhada para a Sincronização de Arquivos do Azure. A tabela abaixo identifica isso como "Região emparelhada". Adicionalmente, há uma URL do perfil do gerenciador de tráfego que também precisa ser habilitada. Isso garantirá que o tráfego possa ser roteado novamente diretamente para a região emparelhada no caso de um failover e é chamado de "URL de Descoberta" na tabela abaixo.

Nuvem Região URL do ponto de extremidade primário Região emparelhada URL de descoberta
Público Leste da Austrália https://australiaeast01.afs.azure.net
https://kailani-aue.one.microsoft.com
Sudeste da Austrália https://tm-australiaeast01.afs.azure.net
https://tm-kailani-aue.one.microsoft.com
Público Australia Southeast https://australiasoutheast01.afs.azure.net
https://kailani-aus.one.microsoft.com
Leste da Austrália https://tm-australiasoutheast01.afs.azure.net
https://tm-kailani-aus.one.microsoft.com
Público Sul do Brasil https://brazilsouth01.afs.azure.net Centro-Sul dos Estados Unidos https://tm-brazilsouth01.afs.azure.net
Público Canadá Central https://canadacentral01.afs.azure.net
https://kailani-cac.one.microsoft.com
Leste do Canadá https://tm-canadacentral01.afs.azure.net
https://tm-kailani-cac.one.microsoft.com
Público Leste do Canadá https://canadaeast01.afs.azure.net
https://kailani-cae.one.microsoft.com
Canadá Central https://tm-canadaeast01.afs.azure.net
https://tm-kailani.cae.one.microsoft.com
Público Índia Central https://centralindia01.afs.azure.net
https://kailani-cin.one.microsoft.com
Sul da Índia https://tm-centralindia01.afs.azure.net
https://tm-kailani-cin.one.microsoft.com
Público Centro dos EUA https://centralus01.afs.azure.net
https://kailani-cus.one.microsoft.com
Leste dos EUA 2 https://tm-centralus01.afs.azure.net
https://tm-kailani-cus.one.microsoft.com
Público Leste da Ásia https://eastasia01.afs.azure.net
https://kailani11.one.microsoft.com
Sudeste Asiático https://tm-eastasia01.afs.azure.net
https://tm-kailani11.one.microsoft.com
Público Leste dos EUA https://eastus01.afs.azure.net
https://kailani1.one.microsoft.com
Oeste dos EUA https://tm-eastus01.afs.azure.net
https://tm-kailani1.one.microsoft.com
Público Leste dos EUA 2 https://eastus201.afs.azure.net
https://kailani-ess.one.microsoft.com
Centro dos EUA https://tm-eastus201.afs.azure.net
https://tm-kailani-ess.one.microsoft.com
Público Norte da Alemanha https://germanynorth01.afs.azure.net Centro-Oeste da Alemanha https://tm-germanywestcentral01.afs.azure.net
Público Centro-Oeste da Alemanha https://germanywestcentral01.afs.azure.net Norte da Alemanha https://tm-germanynorth01.afs.azure.net
Público Leste do Japão https://japaneast01.afs.azure.net Oeste do Japão https://tm-japaneast01.afs.azure.net
Público Oeste do Japão https://japanwest01.afs.azure.net Leste do Japão https://tm-japanwest01.afs.azure.net
Público Coreia Central https://koreacentral01.afs.azure.net/ Sul da Coreia https://tm-koreacentral01.afs.azure.net/
Público Sul da Coreia https://koreasouth01.afs.azure.net/ Coreia Central https://tm-koreasouth01.afs.azure.net/
Público Centro-Norte dos EUA https://northcentralus01.afs.azure.net Centro-Sul dos Estados Unidos https://tm-northcentralus01.afs.azure.net
Público Norte da Europa https://northeurope01.afs.azure.net
https://kailani7.one.microsoft.com
Europa Ocidental https://tm-northeurope01.afs.azure.net
https://tm-kailani7.one.microsoft.com
Público Centro-Sul dos Estados Unidos https://southcentralus01.afs.azure.net Centro-Norte dos EUA https://tm-southcentralus01.afs.azure.net
Público Sul da Índia https://southindia01.afs.azure.net
https://kailani-sin.one.microsoft.com
Índia Central https://tm-southindia01.afs.azure.net
https://tm-kailani-sin.one.microsoft.com
Público Sudeste Asiático https://southeastasia01.afs.azure.net
https://kailani10.one.microsoft.com
Leste da Ásia https://tm-southeastasia01.afs.azure.net
https://tm-kailani10.one.microsoft.com
Público Norte da Suíça https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Oeste da Suíça https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Público Oeste da Suíça https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Norte da Suíça https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Público Sul do Reino Unido https://uksouth01.afs.azure.net
https://kailani-uks.one.microsoft.com
Oeste do Reino Unido https://tm-uksouth01.afs.azure.net
https://tm-kailani-uks.one.microsoft.com
Público Oeste do Reino Unido https://ukwest01.afs.azure.net
https://kailani-ukw.one.microsoft.com
Sul do Reino Unido https://tm-ukwest01.afs.azure.net
https://tm-kailani-ukw.one.microsoft.com
Público Centro-Oeste dos EUA https://westcentralus01.afs.azure.net Oeste dos EUA 2 https://tm-westcentralus01.afs.azure.net
Público Europa Ocidental https://westeurope01.afs.azure.net
https://kailani6.one.microsoft.com
Norte da Europa https://tm-westeurope01.afs.azure.net
https://tm-kailani6.one.microsoft.com
Público Oeste dos EUA https://westus01.afs.azure.net
https://kailani.one.microsoft.com
Leste dos EUA https://tm-westus01.afs.azure.net
https://tm-kailani.one.microsoft.com
Público Oeste dos EUA 2 https://westus201.afs.azure.net Centro-Oeste dos EUA https://tm-westus201.afs.azure.net
Governo Governo dos EUA do Arizona https://usgovarizona01.afs.azure.us Governo dos EUA do Texas https://tm-usgovarizona01.afs.azure.us
Governo Governo dos EUA do Texas https://usgovtexas01.afs.azure.us Governo dos EUA do Arizona https://tm-usgovtexas01.afs.azure.us
  • Se você usar uma conta de armazenamento configurada para LRS (armazenamento com redundância local) ou ZRS (armazenamento com redundância de zona), precisará habilitar somente a URL listada em "URL do ponto de extremidade primário".

  • Para usar uma conta de armazenamento configurada para GRS, habilite três URLs.

Exemplo: você implanta um serviço de sincronização de armazenamento em "West US" e registra o servidor com ele. As URLs para permitir que o servidor comunique-se para esse caso são:

  • https://westus01.afs.azure.net (ponto de extremidade primário: Oeste dos EUA)
  • https://eastus01.afs.azure.net (região de failover emparelhada: Leste dos EUA)
  • https://tm-westus01.afs.azure.net (URL de descoberta da região primária)

Lista de permissões para endereços IP de Sincronização de Arquivos do Azure

A Sincronização de Arquivos do Azure dá suporte ao uso de marcas de serviço, que representam um grupo de prefixos de endereço IP para um determinado serviço do Azure. É possível usar marcas de serviço para criar regras de firewall que permitem a comunicação com o serviço de Sincronização de Arquivos do Azure. A marca de serviço para Sincronização de Arquivos do Azure é StorageSyncService.

Caso esteja usando a Sincronização de Arquivos do Azure no Azure, será possível usar o nome da marca de serviço diretamente no grupo de segurança de rede para permitir o tráfego. Para saber mais sobre como fazer isso, confira Grupos de segurança de rede.

Se você estiver usando a Sincronização de Arquivos do Azure local, poderá usar a API de marca de serviço para obter intervalos de endereços IP específicos para a lista de permissões do firewall. Há dois métodos para obter essas informações:

  • A lista atual de intervalos de endereços IP para todos os serviços do Azure compatíveis com marcas de serviço é publicada semanalmente no centro de download da Microsoft na forma de um documento JSON. Cada nuvem do Azure tem o próprio documento JSON com os intervalos de endereços IP relevantes para essa nuvem:
  • A API de descoberta de marca de serviço (versão prévia) permite a recuperação programática da lista atual de marcas de serviço. Na versão prévia, a API de descoberta de marca de serviço pode retornar informações menos atualizadas do que as retornadas pelos documentos JSON publicados no centro de download da Microsoft. Você pode usar a superfície da API conforme sua preferência de automação:

Como a API de descoberta da marca de serviço não é atualizada com a mesma frequência que os documentos JSON publicados no Centro de Download da Microsoft, é recomendável usar o documento JSON para atualizar a lista de permissões do firewall local. Isso pode ser feito da seguinte maneira:

# 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
}

É possível usar os intervalos de endereços IP em $ipAddressRanges para atualizar o firewall. Verifique o site do seu firewall/dispositivo de rede para obter informações sobre como atualizar o firewall.

Testar conectividade de rede para pontos de extremidade de serviço

Depois que um servidor for registrado no serviço de Sincronização de Arquivos do Azure, o cmdlet Test-StorageSyncNetworkConnectivity e o arquivo ServerRegistration.exe poderão ser usados para testar as comunicações com todos os pontos de extremidade (URLs) específicos a esse servidor. Esse cmdlet pode ajudar a solucionar problemas quando a comunicação incompleta impede que o servidor funcione de forma plena com a Sincronização de Arquivos do Azure e pode ser usado para ajustar as configurações de proxy e de firewall.

Para executar o teste de conectividade de rede, execute os seguintes comandos do PowerShell:

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

Resumo e limitação de risco

As listas no início deste documento contém as URLs de Sincronização de Arquivos do Azure com que está se comunicando. Os firewalls devem permitir o tráfego de saída para esses domínios. A Microsoft se esforça para manter essa lista atualizada.

A configuração das regras de firewall de restrição de domínio pode ser uma medida para melhorar a segurança. Se essas configurações de firewall são utilizadas, é necessário ter em mente que URLs serão adicionadas e poderão até mesmo ser alteradas ao longo do tempo. Consulte este artigo periodicamente.

Próximas etapas