Configuración e implementación de elementos web seguros en el servidor (Office SharePoint Server)
Microsoft Office SharePoint Server 2007 viene con un conjunto de elementos web que los administradores de sitios pueden agregar a las páginas de elementos web después de instalar el producto. Sin embargo, su organización puede necesitar elementos web personalizados. En ese caso, un programador puede escribir elementos web de ASP.NET 2.0 personalizados y pedirle que los instale en una implementación de Office SharePoint Server 2007.
Office SharePoint Server usa algunas de las opciones de administración de configuración proporcionadas por Microsoft .NET Framework. Algunas de estas opciones se almacenan en archivos de configuración XML y proporcionan una amplia variedad de opciones que permiten a los administradores de servidores administrar la aplicación web y su entorno. Para obtener más información acerca de los archivos de configuración de ASP.NET 2.0, vea el artículo sobre la explicación de Machine.Config y Web.Config (en inglés) (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0xC0A) (en inglés) en el artículo sobre protección de la aplicación ASP.NET y los servicios web en MSDN Library Online.
Opciones de configuración
Los administradores del sistema pueden implementar elementos web de ASP.NET 2.0 en una implementación de Office SharePoint Server en cualquiera de estas dos ubicaciones:
Directorio Bin Almacenada en el directorio raíz de la aplicación web.
Memoria caché de ensamblados global (GAC) Todos los elementos web estándar se instalan automáticamente con Common Language Runtime de .NET Framework. El almacenamiento en la GAC permite compartir elementos web en numerosas aplicaciones. Normalmente, los componentes se almacenan en C:\WINNT\Assembly.
Cada ubicación tiene ventajas e inconvenientes, como se describe en la tabla siguiente.
Ubicación de implementación | Ventajas | Inconvenientes |
---|---|---|
Directorio Bin |
Una ubicación de confianza parcial. De forma predeterminada, el código que se ejecuta desde este directorio tiene un nivel bajo de permisos de seguridad de acceso del código. El administrador debe aumentar explícitamente los permisos concedidos a un elemento web de forma que pueda funcionar correctamente. Debido a este nivel de control y a las defensas en profundidad, los administradores tienden a preferir que los ensamblados se ejecuten en el directorio Bin, con un conjunto conocido y obligatorio de permisos de seguridad de acceso del código. Un directorio Bin también es específico de una aplicación web. Esto facilita aislar código en una aplicación web en particular. |
Para ejecutar el elemento web en cualquier lugar, debe implementar el ensamblado Bin. |
GAC |
Una ubicación global donde se pueden implementar ensamblados firmados. Los ensamblados se ejecutan con plena confianza de forma predeterminada. Se instalan globalmente, por lo que funcionan en cualquier aplicación web. |
Por lo general, no hay restricciones de seguridad de acceso al código en el código instalado en la GAC; por lo tanto, se pierde la ventaja de la seguridad de una defensa en profundidad. Además, puede resultar difícil implementar los archivos de base de datos de programa (.pdb) en los ensamblados de la GAC. |
Configuración de atributos de seguridad especiales
Los elementos web de ASP.NET 2.0 que almacena en el directorio Bin tienen restricciones especiales de seguridad. Puede elegir si se establecerán atributos especiales de seguridad para el elemento web, en función de cómo piense usarlo.
El directorio Bin es una ubicación de confianza parcial. Por lo tanto, el elemento web no concede automáticamente permisos de código de plena confianza cuando se ejecuta. Debido a que el código que llama al elemento web sólo recibe permisos de confianza parcial, el programador del elemento web debe establecer el atributo AllowPartiallyTrustedCallers en el elemento web de ASP.NET 2.0.
Nota
Marcar un componente como "seguro" con el atributo AllowPartiallyTrustedCallers delega la responsabilidad de implementación a prueba de errores en el programador.
Los permisos de seguridad de acceso al código para el directorio Bin son muy bajos de forma predeterminada; sólo la ejecución pura está permitida. Es prácticamente seguro que tendrá que aumentar estos permisos para que el ensamblado se ejecute correctamente.
Puede aumentar los permisos de estas dos formas:
(Recomendado) Cree un archivo de directivas de confianza y seleccione el archivo web.config en el nuevo archivo. Esta opción es más complicada, pero le ofrece permisos precisos para sus elementos web. Para obtener más información acerca de los archivos de directivas de confianza, vea la información relativa a Microsoft Windows SharePoint Services y seguridad de acceso al código (en inglés) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0xC0A) (en inglés) en MSDN Library Online.
Eleve el nivel de confianza global del directorio Bin. En el archivo web.config del directorio raíz de la aplicación, busque el elemento
trust
. El valor predeterminado del atributolevel
del elementotrust
es WSS_Minimal. Puede cambiar este nivel a WSS_Medium. Aunque esta opción es más sencilla, concede permisos nuevos arbitrarios que pueden ser innecesarios, y es menos seguro que crear un archivo de directivas de confianza.
Lista de controles seguros
Una suposición fundamental de los Productos y Tecnologías de SharePoint es que los usuarios que no son de confianza pueden cargar y crear páginas .aspx dentro del sistema en que se ejecuta Office SharePoint Server. Se debe impedir que estos usuarios puedan agregar código del servidor dentro de páginas .aspx, pero debería haber una lista de controles aprobados que puedan usar estos usuarios que no son de confianza. En Office SharePoint Server, esto se logra con la lista de controles seguros.
La lista de controles seguros es una lista de controles y elementos web específica de su sitio de SharePoint que los administradores del servidor pueden designar como seguros para su invocación en cualquier página .aspx dentro de un sitio. Esta lista se almacena en el archivo web.config en la raíz de la aplicación web.
Requisitos de tareas
Para realizar los procedimientos para esta tarea, es necesario realizar lo siguiente.
- Privilegios de administrador en un equipo servidor que tiene instalado uno de los productos de servidor en la versión de Office 2007.
Para configurar e implementar elementos web seguros en el servidor, puede realizar los procedimientos siguientes.