Seguridad - Corregir lista de control de acceso en certificado - Aplicación

Microsoft.AppVirtualization.Server.45.LightWeightServer.Security_FixAccessControlListontheCertificate_Application (UnitMonitor)

El aspecto de seguridad genera informes acerca del certificado y la comunicación segura de Application Virtualization Server.

Knowledge Base article:

Resumen

El aspecto de seguridad genera informes acerca del certificado y la comunicación segura de Application Virtualization Server.

Resoluciones

Una vez que el certificado está correctamente instalado en el servidor, el servicio Application Virtualization debe tener acceso a la clave privada para completar la transacción TLS. En la versión 4.5, el servicio Application Virtualization se ejecuta de manera predeterminada como servicio de red. El servicio de red debe tener permiso de LECTURA sobre la clave privada del certificado.

La clave privada para el certificado del servidor puede encontrarse aquí:

C:\Documents and Settings\All Users\Datos de programa\Microsoft\Crypto\RSA\MachineKeys

  1. Haga clic con el botón secundario en el archivo de la clave privada y seleccione Propiedades. Haga clic en la ficha Seguridad.
  2. Modifique la lista ACL de ese archivo para permitir el acceso de lectura de SERVICIO DE RED.

Si tiene varios certificados instalados en el servidor y no sabe con certeza cuál es la clave privada que corresponde al certificado de Application Virtualization, use el siguiente procedimiento para localizar la clave privada.

Primero, busque la huella digital para el certificado de Application Virtualization Server.

  1. Inicie Microsoft Management Console (mmc.exe). Haga clic en Archivo->Agregar o quitar complemento.
  2. Elija Certificados en los complementos disponibles. Haga clic en Agregar.
  3. Elija Cuenta de equipo en el cuadro de diálogo y, a continuación, haga clic en Siguiente.
  4. Elija Equipo local y haga clic en Finalizar. Haga clic en Aceptar en el cuadro de diálogo Agregar o quitar complemento.
  5. Haga clic en el nodo Certificados\Entidades de certificación raíz de confianza\Certificados.
  6. Haga doble clic en el certificado que se utilizará para habilitar TLS.
  7. Vaya a la ficha Detalles. Desplácese hacia abajo hasta encontrar la huella digital del campo.
  8. Seleccione Huella digital y copie la información que se muestra.

A continuación, use la información de la huella digital para localizar el archivo de la clave privada correspondiente en el sistema de archivos local.

  1. Descargue la herramienta FindPrivateKey de MSDN a c:\.  http://msdn2.microsoft.com/library/ms732026.aspx
  2. Desde un símbolo del sistema, use el siguiente comando para encontrar la clave privada correcta asociada con el certificado instalado en Application Virtualization Server en función de la huella digital.
  3. C:\> FindPrivateKey.exe My LocalMachine -t "<pegue aquí el código de la huella digital>"
  4. Obtendrá el directorio de la clave privada como resultado. C:\Documents and Settings\All Users\Datos de programa\Microsoft\Crypto\RSA\MachineKeys
  5. También obtendrá el nombre del archivo de la clave privada como resultado: por ejemplo: c55cba5a3183f6509a3bfa7e4c7b8b6e_4df07ed6-ffdf-4c11-ac94-3dd02af9a838
  6. Abra el directorio de la clave privada y busque el nombre del archivo de la clave privada específico. C:\Documents and Settings\All Users\Datos de programa\Microsoft\Crypto\RSA\MachineKeys 

Para asegurarse de que el archivo de la clave privada tenga los derechos de acceso adecuados, haga lo siguiente:

  • Haga clic con el botón secundario en el archivo de la clave privada y seleccione Propiedades. Haga clic en la ficha Seguridad.
  • Modifique la lista ACL de ese archivo para permitir el acceso de lectura de SERVICIO DE RED.

    Element properties:

    TargetMicrosoft.AppVirtualization.Server.45.LightWeightServer
    Parent MonitorMicrosoft.AppVirtualization.Server.45.Security_LWS.HealthState
    CategoryEventCollection
    EnabledTrue
    Alert GenerateTrue
    Alert SeverityMatchMonitorHealth
    Alert PriorityNormal
    Alert Auto ResolveTrue
    Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
    RemotableTrue
    AccessibilityPublic
    Alert Message
    Seguridad - Corregir lista de control de acceso en certificado - Aplicación
    {0}
    RunAsDefault

    Source Code:

    <UnitMonitor ID="Microsoft.AppVirtualization.Server.45.LightWeightServer.Security_FixAccessControlListontheCertificate_Application" Accessibility="Public" Target="Microsoft.AppVirtualization.Server.45.LightWeightServer" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ParentMonitorID="Microsoft.AppVirtualization.Server.45.Security_LWS.HealthState">
    <Category>EventCollection</Category>
    <AlertSettings AlertMessage="Microsoft.AppVirtualization.Server.45.LightWeightServer.Security_FixAccessControlListontheCertificate_Application.Alert">
    <AlertOnState>Error</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Error"/>
    <OperationalState ID="ManualResetEventRaised" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
    </OperationalStates>
    <Configuration>
    <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
    <LogName>Application</LogName>
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">PublisherName</XPathQuery>
    </ValueExpression>
    <Operator>Equal</Operator>
    <ValueExpression>
    <Value Type="String">Application Virtualization Server</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
    </ValueExpression>
    <Operator>Equal</Operator>
    <ValueExpression>
    <Value Type="UnsignedInteger">44955</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </Configuration>
    </UnitMonitor>