Configuración del proxy y el firewall de Azure File Sync

Azure File Sync conecta los servidores locales a Azure Files, lo que permite sincronizar las características de niveles de nube y de sincronización multisitio. Por lo tanto, un servidor local debe estar conectado a Internet. Un administrador de TI tiene que decidir cuál es la mejor ruta de acceso para que el servidor acceda a los servicios en la nube de Azure.

Este artículo ofrece un resumen de las opciones y los requisitos específicos disponibles para conectar el servidor a Azure File Sync de forma correcta y segura.

Se recomienda leer Consideraciones de redes para Azure File Sync antes de pasar a esta guía de procedimientos.

Información general

Azure File Sync funciona como un servicio de orquestación entre el servidor Windows, el recurso compartido de archivos de Azure y otros servicios de Azure con el objetivo de sincronizar los datos tal y como se describe en el grupo de sincronización. Para que Azure File Sync funcione correctamente, debe configurar los servidores para que se comuniquen con los siguientes servicios de Azure:

  • Azure Storage
  • Azure File Sync
  • Azure Resource Manager
  • Servicios de autenticación

Nota:

El agente de Azure File Sync en Windows Server inicia todas las solicitudes a servicios en la nube, por lo que solo hay que tener en cuenta el tráfico saliente en el firewall.
Ningún servicio de Azure inicia una conexión con el agente de Azure File Sync.

Puertos

Azure File Sync mueve los metadatos y los datos de archivo exclusivamente a través de HTTPS y requiere que el puerto 443 esté abierto al tráfico saliente. Como resultado, se cifra todo el tráfico.

Redes y conexiones especiales a Azure

El agente de Azure File Sync no tiene ningún requisito en lo que respecta a canales especiales como ExpressRoute, etc., en Azure.

Azure File Sync funciona con cualquier medio disponible que permita conectarse con Azure, de modo que se adapta automáticamente a diversas características de red, como el ancho de banda, la latencia y la posibilidad de usar el control de administración para realizar ajustes.

Proxy

Azure File Sync admite la configuración del proxy específico de aplicación en el nivel de máquina.

De este modo, se permite la configuración de un proxy específico de la aplicación, específicamente para el tráfico de Azure File Sync. La configuración de un proxy específico de la aplicación es compatible con la versión 4.0.1.0 o versiones posteriores, y se puede configurar durante la instalación del agente o mediante el cmdlet Set-StorageSyncProxyConfiguration de PowerShell.

Comandos de PowerShell para configurar el proxy específico de la aplicación:

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

Por ejemplo, si el servidor proxy requiere autenticación con un nombre de usuario y una contraseña, ejecute los siguientes comandos de 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

Esta configuración de proxy en el nivel de máquina es transparente para el agente de Azure File Sync, ya que todo el tráfico del servidor se enruta a través de este proxy.

Para configurar los valores de proxy en el nivel de máquina, siga estos pasos:

  1. Configuración de valores de proxy para aplicaciones de .NET

    • Edite estos dos archivos:
      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
      C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

    • Agregue la sección <system.net> en los archivos machine.config (debajo de la sección <system.serviceModel>). Cambie 127.0.01:8888 a la dirección IP y puerto del 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. Establecimiento de la configuración del proxy WinHTTP

    Nota:

    Hay varios métodos (WPAD, archivo PAC, netsh, etc.) para configurar Windows Server con el fin de usar un servidor proxy. En los siguientes pasos se explica cómo configurar el proxy mediante netsh, pero se admite cualquier método que figure en la documentación Configuración del servidor proxy en Windows.

    • Ejecute el siguiente comando desde un símbolo del sistema con privilegios elevados o PowerShell para ver la configuración del proxy existente:

      netsh winhttp show proxy

    • Ejecute el siguiente comando desde un símbolo del sistema con privilegios elevados o PowerShell para establecer la configuración de proxy (cambie 127.0.01:8888 a la dirección IP y puerto del servidor proxy):

      netsh winhttp set proxy 127.0.0.1:8888

  3. Reinicie el servicio del agente de sincronización de Azure Storage ejecutando el comando siguiente desde un símbolo del sistema con privilegios elevados o PowerShell:

    net stop filesyncsvc

    Nota: El servicio del agente de sincronización de Storage (filesyncsvc) se iniciará automáticamente una vez detenido.

Firewall

Como se mencionó en una sección anterior, el puerto 443 tiene que abrirse al tráfico saliente. En función de las directivas del centro de datos, la rama o la región, puede ser recomendable u obligatorio restringir aún más el tráfico a través de este puerto a dominios concretos.

En la tabla siguiente se describen los dominios necesarios para la comunicación:

Servicio Punto de conexión de la nube pública Punto de conexión de Azure Government Uso
Azure Resource Manager https://management.azure.com https://management.usgovcloudapi.net Todas las llamadas de usuario (como PowerShell) van a esta URL, incluida la llamada de registro inicial del servidor.
Azure Active Directory https://login.windows.net
https://login.microsoftonline.com
https://login.microsoftonline.us Las llamadas de Azure Resource Manager deben realizarlas usuarios autenticados. Para que el proceso se complete correcta, esta URL se utiliza para la autenticación de usuarios.
Azure Active Directory https://graph.microsoft.com/ https://graph.microsoft.com/ Como parte de la implementación de Azure File Sync, se crea una entidad de servicio en la instancia de Azure Active Directory de la suscripción. Esta URL se utiliza con ese fin. Esta entidad de seguridad se usa para delegar un conjunto mínimo de derechos en el servicio Azure File Sync. El usuario que realiza la configuración inicial de Azure File Sync debe ser un usuario autenticado con privilegios de propietario en la suscripción.
Azure Active Directory https://secure.aadcdn.microsoftonline-p.com Use la dirección URL del punto de conexión público. La biblioteca de autenticación de Active Directory tiene acceso a esta dirección URL que usa la interfaz de usuario de registro del servidor de Azure File Sync para iniciar sesión en el administrador.
Almacenamiento de Azure *.core.windows.net *.core.usgovcloudapi.net Cuando el servidor descarga un archivo, realiza el movimiento de datos de forma más eficaz al comunicarse directamente con el recurso compartido de archivos de Azure en la cuenta de almacenamiento. El servidor tiene una clave SAS que solo se permite el acceso al recurso compartido de archivos de destino.
Azure File Sync *.one.microsoft.com
*.afs.azure.net
*.afs.azure.us Después del registro inicial del servidor, el servidor recibe una URL regional para la instancia de servicio de Azure File Sync en dicha región. El servidor puede utilizar la URL para comunicarse de forma directa y eficaz con la instancia que controla la sincronización.
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/
Una vez instalado el agente Azure File Sync, la dirección URL de PKI se utiliza para descargar los certificados intermedios necesarios para comunicarse con el servicio Azure File Sync y el recurso compartido de archivos de Azure. La dirección URL de OCSP se utiliza para comprobar el estado de un 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
Una vez instalado el agente de Azure File Sync, las direcciones URL de Microsoft Update se usan para descargar las actualizaciones del agente de Azure File Sync.

Importante

Si permite el tráfico a *.afs.azure.net, el tráfico solo podrá enviarse al servicio sincronización. Ningún otro servicio de Microsoft usa este dominio. Al permitir el tráfico a *.one.microsoft.com, es posible dirigir el tráfico del servidor a más recursos que simplemente el servicio de sincronización. Existen muchos otros servicios de Microsoft en subdominios.

Si *.afs.azure.net o *.one.microsoft.com es demasiado larga, puede limitar la comunicación del servidor al permitir solo la comunicación con instancias regionales explícitas del servicio Azure Files Sync. La elección de las instancias dependerá de la región del servicio de sincronización de almacenamiento en el que haya implementado y registrado el servidor. Esa región se denomina "Dirección URL del punto de conexión principal" en la tabla siguiente.

Por motivos de continuidad empresarial y recuperación ante desastres, es posible que haya creado los recursos compartidos de archivo de Azure en una cuenta de almacenamiento configurada para el almacenamiento con redundancia geográfica (GRS), en cuyo caso los recursos compartidos de archivos de Azure conmutarán por error a la región emparejada en caso de una interrupción regional duradera. Azure File Sync usa los mismos emparejamientos regionales que el almacenamiento. Por lo tanto, si usa cuentas de almacenamiento GRS, deberá habilitar direcciones URL adicionales para permitir que el servidor se comunique con la región emparejada para Azure File Sync. En la tabla siguiente, se denomina "Región emparejada". Además, hay una dirección URL del perfil de Traffic Manager que debe habilitarse también. Esto asegurará que el tráfico de red se pueda redirigir sin problemas a la región emparejada en caso de que se produzca una conmutación por error y se denomina "URL de detección" en la tabla siguiente.

Nube Region Dirección URL del punto de conexión principal Región emparejada Dirección URL de detección
Público Este de Australia https://australiaeast01.afs.azure.net
https://kailani-aue.one.microsoft.com
Sudeste de Australia https://tm-australiaeast01.afs.azure.net
https://tm-kailani-aue.one.microsoft.com
Público Sudeste de Australia https://australiasoutheast01.afs.azure.net
https://kailani-aus.one.microsoft.com
Este de Australia https://tm-australiasoutheast01.afs.azure.net
https://tm-kailani-aus.one.microsoft.com
Público Sur de Brasil https://brazilsouth01.afs.azure.net Centro-sur de EE. UU. https://tm-brazilsouth01.afs.azure.net
Público Centro de Canadá https://canadacentral01.afs.azure.net
https://kailani-cac.one.microsoft.com
Este de Canadá https://tm-canadacentral01.afs.azure.net
https://tm-kailani-cac.one.microsoft.com
Público Este de Canadá https://canadaeast01.afs.azure.net
https://kailani-cae.one.microsoft.com
Centro de Canadá https://tm-canadaeast01.afs.azure.net
https://tm-kailani.cae.one.microsoft.com
Público Centro de la India https://centralindia01.afs.azure.net
https://kailani-cin.one.microsoft.com
Sur de la India https://tm-centralindia01.afs.azure.net
https://tm-kailani-cin.one.microsoft.com
Público Centro de EE. UU. https://centralus01.afs.azure.net
https://kailani-cus.one.microsoft.com
Este de EE. UU. 2 https://tm-centralus01.afs.azure.net
https://tm-kailani-cus.one.microsoft.com
Público Este de Asia https://eastasia01.afs.azure.net
https://kailani11.one.microsoft.com
Sudeste de Asia https://tm-eastasia01.afs.azure.net
https://tm-kailani11.one.microsoft.com
Público Este de EE. UU. https://eastus01.afs.azure.net
https://kailani1.one.microsoft.com
Oeste de EE. UU. https://tm-eastus01.afs.azure.net
https://tm-kailani1.one.microsoft.com
Público Este de EE. UU. 2 https://eastus201.afs.azure.net
https://kailani-ess.one.microsoft.com
Centro de EE. UU. https://tm-eastus201.afs.azure.net
https://tm-kailani-ess.one.microsoft.com
Público Norte de Alemania https://germanynorth01.afs.azure.net Centro-oeste de Alemania https://tm-germanywestcentral01.afs.azure.net
Público Centro-oeste de Alemania https://germanywestcentral01.afs.azure.net Norte de Alemania https://tm-germanynorth01.afs.azure.net
Público Japón Oriental https://japaneast01.afs.azure.net Japón Occidental https://tm-japaneast01.afs.azure.net
Público Japón Occidental https://japanwest01.afs.azure.net Japón Oriental https://tm-japanwest01.afs.azure.net
Público Centro de Corea del Sur https://koreacentral01.afs.azure.net/ Corea del Sur https://tm-koreacentral01.afs.azure.net/
Público Corea del Sur https://koreasouth01.afs.azure.net/ Centro de Corea del Sur https://tm-koreasouth01.afs.azure.net/
Público Centro-Norte de EE. UU https://northcentralus01.afs.azure.net Centro-sur de EE. UU. https://tm-northcentralus01.afs.azure.net
Público Norte de Europa https://northeurope01.afs.azure.net
https://kailani7.one.microsoft.com
Oeste de Europa https://tm-northeurope01.afs.azure.net
https://tm-kailani7.one.microsoft.com
Público Centro-sur de EE. UU. https://southcentralus01.afs.azure.net Centro-Norte de EE. UU https://tm-southcentralus01.afs.azure.net
Público Sur de la India https://southindia01.afs.azure.net
https://kailani-sin.one.microsoft.com
Centro de la India https://tm-southindia01.afs.azure.net
https://tm-kailani-sin.one.microsoft.com
Público Sudeste de Asia https://southeastasia01.afs.azure.net
https://kailani10.one.microsoft.com
Este de Asia https://tm-southeastasia01.afs.azure.net
https://tm-kailani10.one.microsoft.com
Público Norte de Suiza https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Oeste de Suiza https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Público Oeste de Suiza https://switzerlandwest01.afs.azure.net
https://tm-switzerlandwest01.afs.azure.net
Norte de Suiza https://switzerlandnorth01.afs.azure.net
https://tm-switzerlandnorth01.afs.azure.net
Público Sur de Reino Unido 2 https://uksouth01.afs.azure.net
https://kailani-uks.one.microsoft.com
Oeste de Reino Unido https://tm-uksouth01.afs.azure.net
https://tm-kailani-uks.one.microsoft.com
Público Oeste de Reino Unido https://ukwest01.afs.azure.net
https://kailani-ukw.one.microsoft.com
Sur de Reino Unido 2 https://tm-ukwest01.afs.azure.net
https://tm-kailani-ukw.one.microsoft.com
Público Centro-Oeste de EE. UU. https://westcentralus01.afs.azure.net Oeste de EE. UU. 2 https://tm-westcentralus01.afs.azure.net
Público Oeste de Europa https://westeurope01.afs.azure.net
https://kailani6.one.microsoft.com
Norte de Europa https://tm-westeurope01.afs.azure.net
https://tm-kailani6.one.microsoft.com
Público Oeste de EE. UU. https://westus01.afs.azure.net
https://kailani.one.microsoft.com
Este de EE. UU. https://tm-westus01.afs.azure.net
https://tm-kailani.one.microsoft.com
Público Oeste de EE. UU. 2 https://westus201.afs.azure.net Centro-Oeste de EE. UU. https://tm-westus201.afs.azure.net
Government US Gov: Arizona https://usgovarizona01.afs.azure.us US Gov Texas https://tm-usgovarizona01.afs.azure.us
Government US Gov Texas https://usgovtexas01.afs.azure.us US Gov: Arizona https://tm-usgovtexas01.afs.azure.us
  • Si usa una cuenta de almacenamiento configurada para almacenamiento con redundancia local (LRS) o almacenamiento con redundancia de zona (ZRS), solo será necesario habilitar la dirección URL que aparece como dirección URL del punto de conexión principal.

  • Si usa una cuenta de almacenamiento configurada para GRS, habilite tres direcciones URL.

Ejemplo: Implemente un servicio de sincronización de almacenamiento en "West US" y registre el servidor allí. Las direcciones URL que permiten que el servidor se comunique en este caso son:

  • https://westus01.afs.azure.net (punto de conexión principal: Oeste de EE. UU.)
  • https://eastus01.afs.azure.net (región emparejada de conmutación por error: Este de EE. UU.)
  • https://tm-westus01.afs.azure.net (URL de detección de la región principal)

Lista de direcciones IP de Azure File Sync permitidas

Azure File Sync permite usar etiquetas de servicio, que representan un grupo de prefijos de direcciones IP relativos a un servicio de Azure determinado. Se pueden usar etiquetas de servicio para crear reglas de firewall que permitan la comunicación con el servicio Azure File Sync. La etiqueta de servicio de Azure File Sync es StorageSyncService.

Si usa Azure File Sync en Azure, puede usar el nombre de la etiqueta de servicio directamente en el grupo de seguridad de red para permitir el tráfico. Para saber cómo, vea Grupos de seguridad de red.

Si usa Azure File Sync de forma local, puede usar la API de etiquetas de servicio para obtener intervalos de direcciones IP específicos para la lista de elementos permitidos del firewall. Existen dos formas de obtener esta información:

  • La lista actual de intervalos de direcciones IP de todos los servicios de Azure que admiten etiquetas de servicio se publica semanalmente en el Centro de descarga de Microsoft en forma de documento JSON. Cada nube de Azure tiene su propio documento JSON con los intervalos de direcciones IP pertinentes para esa nube:
  • La API de detección de etiquetas de servicio (versión preliminar) permite recuperar mediante programación la lista actual de etiquetas de servicio. En la versión preliminar, es posible que la API de detección de etiquetas de servicio devuelva información menos actual que la información incluida en los documentos JSON publicados en el Centro de descarga de Microsoft. Puede usar la superficie de API en función de su preferencia de automatización:

Dado que la API de detección de etiquetas de servicio no se actualiza con tanta frecuencia como los documentos JSON publicados en el Centro de descarga de Microsoft, se recomienda usar este último para actualizar la lista de elementos permitidos del firewall local. Se puede hacer de la forma siguiente:

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

Después, puede usar los intervalos de direcciones IP en $ipAddressRanges para actualizar el firewall. Consulte el sitio web del dispositivo de firewall/red para obtener información sobre cómo actualizar el firewall.

Prueba de la conectividad de red con los puntos de conexión de servicio

Una vez que se registra un servidor con el servicio de Azure File Sync, se puede usar el cmdlet Test-StorageSyncNetworkConnectivity cmdlet y ServerRegistration.exe para probar la comunicación con todos los puntos de conexión (URL) específicos de este servidor. Este cmdlet puede ayudar a solucionar problemas si una comunicación incompleta impide que el servidor funcione totalmente con Azure File Sync, y se puede usar para ajustar las configuraciones de proxy y firewall.

Para ejecutar la prueba de conectividad de red, ejecute los siguientes comandos de PowerShell:

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

Resumen y limitación de riesgos

Las listas que aparecen anteriormente en este documento contienen las URL con las que actualmente se comunica Azure File Sync. Los firewalls deben poder permitir el tráfico de salida a estos dominios. Microsoft se esfuerza por mantener esta lista actualizada.

Configurar reglas de firewall que restrinjan dominios puede ser una medida para mejorar la seguridad. Si se usan estas configuraciones de firewall, hay que tener en cuenta que se agregarán direcciones URL que incluso podrían cambiar con el tiempo. Compruebe periódicamente este artículo.

Pasos siguientes