Protección de aplicaciones basadas en .NET Framework

En este artículo se describen consideraciones importantes para proteger las aplicaciones que se basan en Microsoft .NET Framework.

Versión original del producto: .NET Framework
Número de KB original: 818014

Resumen

Este artículo es uno de una serie de artículos que proporcionan información detallada para las aplicaciones que se basan en .NET Framework.

Los artículos de esta serie incluyen los siguientes:

Ajuste de la seguridad de .NET Framework de zona a zona

.NET Framework asigna niveles de confianza a ensamblados administrados. Estas asignaciones se basan, en parte, en la zona donde se ejecuta el ensamblado. Las zonas estándar son Mi equipo, Intranet local, Internet, Sitios de confianza y Sitios que no son de confianza. Es posible que tenga que aumentar o reducir el nivel de confianza asociado a una de estas zonas. .NET Framework incluye herramientas para ajustar esta configuración.

Ajuste del nivel de confianza en un ensamblado de .NET Framework

.NET Framework incluye muchas maneras de determinar el nivel de confianza que debe conceder a un ensamblado. Sin embargo, puede realizar excepciones a las reglas para permitir que un ensamblado específico reciba un nivel de confianza mayor del que normalmente recibiría en función de la evidencia proporcionada a Common Language Runtime. .NET Framework proporciona una herramienta de asistente específicamente para este propósito.

Restaurar los niveles de directiva que se han personalizado

Como administrador, tiene control completo sobre el acceso que concede a los ensamblados que se ejecutan en los distintos niveles de confianza. Si personaliza los niveles de confianza, puede experimentar problemas al ejecutar una aplicación que normalmente se ejecuta en un nivel de confianza estándar. Sin embargo, puede restaurar rápidamente los niveles de directiva a su configuración predeterminada.

Evaluar los permisos que se conceden a un ensamblado

Cuando tiene directivas de configuración de seguridad de empresa, máquina y usuario y niveles de confianza personalizables, puede ser difícil evaluar los permisos que se han concedido a un ensamblado administrado. La herramienta de configuración de .NET Framework incluye un método sencillo para evaluar estos permisos.

Audite la seguridad de . Aplicaciones conectadas a NET

Durante las actualizaciones, las pruebas y la solución de problemas, la configuración de los sistemas de producción puede cambiar de manera involuntaria. Por ejemplo, un administrador podría conceder credenciales administrativas a un usuario al determinar si un error está relacionado con los derechos de acceso. Si ese administrador se olvida de revocar esas credenciales con privilegios elevados después de completar el proceso de solución de problemas, la integridad del sistema se ve comprometida.

Dado que este tipo de acción puede degradar la seguridad del sistema con el tiempo, es recomendable realizar auditorías periódicas. Para ello, documente los aspectos clave de un sistema prístino para crear una medida de línea base. Compare estos valores con la línea base a lo largo del tiempo para determinar si se han desarrollado problemas que podrían reducir significativamente el nivel de vulnerabilidad.

Configure un . Aplicación conectada a NET y SQL Server usar un número de puerto alternativo para las comunicaciones de red

Muchas herramientas automatizadas identifican los servicios y vulnerabilidades disponibles consultando números de puerto conocidos. Estas herramientas incluyen herramientas legítimas de evaluación de seguridad y herramientas que los usuarios malintencionados podrían usar.

Una manera de reducir la exposición a estos tipos de herramientas es cambiar el número de puerto que usan las aplicaciones. Puede aplicar este método a . Aplicaciones conectadas a NET que se basan en una base de datos de SQL Server back-end. Este método funciona si el servidor y el cliente están configurados correctamente.

Bloqueo de una aplicación web o servicio web de ASP.NET

Hay muchas maneras de aumentar la seguridad de ASP.NET aplicaciones web y servicios web. Por ejemplo, puede usar el filtrado de paquetes, los firewalls, los permisos restrictivos de archivos, el filtro Detección de direcciones URL de la interfaz de programación de aplicaciones de Internet Server (ISAPI) y privilegios de SQL Server cuidadosamente controlados. Es una buena idea revisar estos distintos métodos para proporcionar seguridad en profundidad para las aplicaciones ASP.NET.

Configuración de permisos de archivo NTFS para aumentar la seguridad de las aplicaciones ASP.NET

Los permisos de archivo del Sistema de archivos de nueva tecnología (NTFS) siguen siendo un nivel importante de seguridad para las aplicaciones web. ASP.NET aplicaciones incluyen muchos más tipos de archivo que entornos de aplicaciones web anteriores. Los archivos a los que las cuentas de usuario anónimas deben tener acceso no son obvios.

Configuración de SQL Server seguridad para aplicaciones que se basan en .NET Framework

De forma predeterminada, SQL Server no concede a los usuarios la capacidad de consultar o actualizar bases de datos. Esta regla también se aplica a las aplicaciones ASP.NET y a la cuenta de usuario de ASPNET. Para permitir que ASP.NET aplicaciones obtengan acceso a los datos almacenados en una base de datos de SQL Server, el administrador de la base de datos debe conceder derechos a la cuenta aspnet.

Para obtener información adicional sobre cómo configurar SQL Server para permitir consultas y actualizaciones de aplicaciones ASP.NET, visite Configurar permisos en objetos de base de datos.

Configuración de URLScan para aumentar la protección de ASP.NET aplicaciones web

Al instalar URLScan en un servidor de Internet Information Services 5.0 (IIS 5.0), se configura para permitir la ejecución de aplicaciones ASP 3.0. Sin embargo, al instalar .NET Framework, la configuración de URLScan no se actualiza para incluir los nuevos tipos de archivo ASP.NET. Si desea que se agregue la seguridad del filtro ISAPI urlScan para las aplicaciones de ASP.NET, ajuste la configuración de URLScan.

Requerir autenticación para aplicaciones web ASP.NET

Muchas aplicaciones ASP.NET no permiten el acceso anónimo. Una aplicación ASP.NET que requiere autenticación puede usar uno de los tres métodos siguientes: autenticación de formularios, autenticación de .NET Passport y autenticación de Windows. Cada método de autenticación requiere una técnica de configuración diferente.

Impedir que usuarios específicos obtengan acceso a recursos web especificados

ASP.NET incluye la autenticación de formularios. Es una manera única de autenticar a los usuarios sin crear cuentas de Windows. ASP.NET también incluye la capacidad de conceder o denegar el acceso de estos usuarios a distintos recursos web.

Para obtener más información sobre cómo controlar el acceso a los recursos web por usuario, visite Cómo restringir el acceso de usuarios específicos a los recursos web especificados.

Limitar los protocolos de servicios web que permite un servidor

De forma predeterminada, ASP.NET admite tres formas de que los clientes de servicios web emita solicitudes a servicios web: SOAP, HTTP GET y HTTP PUT. Sin embargo, la mayoría de las aplicaciones solo requieren uno de estos tres métodos. Es una buena idea reducir la superficie expuesta a ataques deshabilitando los protocolos no utilizados.

No permita el acceso del explorador a . Servicios web conectados a NET

ASP.NET servicios web proporcionan una interfaz compatible con el explorador para facilitar a los desarrolladores la creación de clientes de servicios web. Esta interfaz amigable permite a cualquier persona que pueda acceder al servicio web ver los detalles completos de los métodos que están disponibles y los parámetros necesarios. Este acceso es útil para los servicios web públicos que solo incluyen métodos disponibles públicamente. Sin embargo, puede reducir la seguridad de los servicios web privados.

Para obtener información adicional sobre cómo controlar el acceso a los recursos web por usuario, visite Cómo restringir el acceso de usuarios específicos a los recursos web especificados.

Uso de ASP.NET para proteger los tipos de archivo

La estructura de ASP.NET aplicaciones hace que muchos archivos privados se almacenen con los archivos que solicitan los usuarios finales. ASP.NET protege estos archivos interceptando las solicitudes de los archivos y devolviendo un error. Puede ampliar este tipo de protección a cualquier tipo de archivo mediante la configuración. Si la aplicación incluye tipos de archivo inusuales que deben permanecer privados, puede usar ASP.NET protección de archivos para proteger esos archivos.

Referencias

Para obtener más información sobre cómo proteger las aplicaciones que se basan en .NET Framework, visite Novedades de Windows 10 implementación.