Proteger los controles de servidor personalizados

Actualización: noviembre 2007

Los controles de servidor personalizados proporcionan un modo de ampliar la funcionalidad de los controles de servidor Web de ASP.NET. Las siguientes instrucciones de seguridad básicas están dirigidas a los usuarios y programadores de controles de servidor personalizados. Para obtener más información sobre cómo crear controles de servidor personalizados, vea Desarrollar controles de servidor ASP.NET personalizados.

Un IDE como Microsoft Visual Studio 2005 simplifica el uso de controles personalizados así como su desarrollo. Sin embargo, las instrucciones de seguridad que se incluyen a continuación se aplican con independencia del IDE que se utilice.

Para obtener información general sobre la seguridad de aplicaciones Web ASP.NET, vea Seguridad de aplicaciones Web ASP.NET.

Hay muchas formas de usar controles de servidor personalizados en una aplicación Web; por ejemplo, puede colocar directamente archivos de código fuente en la carpeta App_Code de la aplicación Web, utilizar controles de una caché de ensamblados global o usar componentes de la comunidad instalados a través de un instalador automático como el Instalador de contenido de Visual Studio. En todos los casos, debe tomar precauciones para evitar que se importe código malintencionado o código que, de forma involuntaria, repercuta negativamente en el IDE y en el servidor que aloja los componentes.

A continuación, se ofrecen algunas instrucciones de seguridad que debe tener en cuenta como usuario de controles de servidor personalizados. El objetivo de esta lista no es ofrecer un listado completo, sino proporcionar un punto de partida para la investigación:

Como programador de controles personalizados, debe seguir los procedimientos recomendados generales para la seguridad en las páginas y controles de aplicaciones ASP.NET y en .NET Framework. En muchos casos, es posible que los usuarios de sus controles de servidor personalizados no conozcan todos los detalles de la implementación o las implicaciones para la seguridad. Debe prepararse para esta situación siguiendo las convenciones de seguridad establecidas y asignando claramente todos los permisos necesarios para que los componentes funcionen. Puede iniciar la investigación sobre los problemas generales de seguridad y sus soluciones para aplicaciones Web con Proteger sitios web ASP.NET, Conceptos clave de seguridad del Manual del programador de .NET Framework y con los temas de seguridad del sitio Web Patterns and Practices.

Después de diseñar e implementar los controles de servidor Web personalizados, debe decidir cómo va a distribuir los componentes a los usuarios. Dos métodos de distribución utilizados habitualmente son en forma de ensamblado o como un componente de la comunidad. Si distribuye los componentes como un ensamblado, debe firmar el ensamblado (proceso denominado también firma con nombre seguro). La firma proporciona al ensamblado una identidad única que otro software puede utilizar para identificarlo y hacer referencia a él explícitamente. Presenta también otras ventajas, que se describen en Programar con ensamblados.

Si distribuye los componentes como un componente de la comunidad con un procedimiento de instalación automatizado, debe firmarlos criptográficamente. La firma ayuda a comprobar que los datos proceden de una parte específica mediante la creación de una firma digital única para esa parte. Una manera de crear componentes de la comunidad para Visual Studio 2005 es utilizar el Instalador de contenido de Visual Studio y crear archivos .vsi que se puedan firmar. Para obtener más información, vea Cómo: Empaquetar componentes de la comunidad para utilizar el instalador de contenido de Visual Studio y Cómo: Empaquetar componentes de la comunidad para utilizar el instalador de contenido de Visual Studio y Cómo: Empaquetar componentes para usar el instalador de contenido de Visual Studio y Cómo: Empaquetar componentes para usar el instalador de contenido de Visual Studio.

A continuación, se indican algunas instrucciones de seguridad que debe tener en cuenta cuando desarrolle componentes de controles de servidor personalizados. El objetivo de esta lista no es ofrecer un listado completo, sino proporcionar un punto de partida para la investigación:

Adiciones de comunidad

AGREGAR
Mostrar: