Planeación de la protección de seguridad (SharePoint Foundation 2010)

 

Se aplica a: SharePoint Foundation 2010

Última modificación del tema: 2016-11-30

En este artículo se describe cómo reforzar la seguridad de los roles de servidor web, servidor de aplicaciones y servidor de base de datos de Microsoft SharePoint Foundation 2010 y proporciona información detallada acerca de los requisitos específicos para reforzar los puertos, protocolos y servicios de Productos de Microsoft SharePoint 2010.

En este artículo:

Instantáneas de servidor seguras

En un entorno de granja de servidores, los servidores individuales desempeñan roles específicos. Las recomendaciones para la protección de seguridad de estos servidores dependen del rol que desempeña cada uno.

Las instantáneas se dividen en categorías de configuración comunes. Las características definidas para cada categoría representan el estado de refuerzo óptimo de Productos de Microsoft SharePoint 2010. Este artículo no incluye información para reforzar otro software del entorno.

Roles del servidor web y del servidor de aplicaciones

En esta sección se identifican las características de refuerzo de servidores web y servidores de aplicaciones. Parte de la información se aplica a aplicaciones de servicio específicas; en estos casos, las características correspondientes deben aplicarse solo a los servidores que ejecutan los servicios asociados a las aplicaciones de servicio específicas.

Categoría

Característica

Servicios enumerados en el complemento Servicios de MMC

Habilite los siguientes servicios:

  • Compartir archivos e impresoras

  • Servicio de publicación World Wide Web

Asegúrese de que estos servicios no estén deshabilitados:

  • Notificaciones al servicio de token de Windows

  • Administración de SharePoint 2010

  • Temporizador de SharePoint 2010

  • Seguimiento de SharePoint 2010

  • Escritor de VSS de SharePoint 2010

Asegúrese de que estos servicios no estén deshabilitados en los servidores que hospedan los roles correspondientes:

  • Host de código de usuario de SharePoint 2010

  • SharePoint Foundation Search V4

Puertos y protocolos

  • TCP 80, TCP 443 (SSL)

  • Servicio Compartir archivos e impresoras; cualquiera de los siguientes, utilizados por los roles de búsqueda:

    • Host directo de SMB (TCP/UDP 445): éste es el puerto recomendado

    • NetBIOS sobre TCP/IP (NetBT) (puertos TCP/UDP 137, 138, 139): deshabilite este puerto si no lo utiliza

  • Puertos necesarios para la comunicación entre los servidores web y las aplicaciones de servicio (el predeterminado es HTTP):

    • Enlace HTTP: 32843

    • Enlace HTTPS: 32844

    • Enlace net.tcp: 32845 (solo si un tercero implementó esta opción para una aplicación de servicio)

  • Puerto UDP 1434 y puerto TCP 1433: puertos predeterminados para la comunicación de SQL Server. Si estos puertos están bloqueados en el equipo de SQL Server (recomendado) y las bases de datos están instaladas en una instancia con nombre, configure un alias de cliente de SQL Server para la conexión a la instancia con nombre.

  • TCP/IP 32846 para el servicio de código de usuario de Microsoft SharePoint Foundation (para soluciones de espacio aislado). Este puerto se debe abrir para las conexiones de salida en todos los servidores web. Este puerto se debe abrir para las conexiones de entrada en los servidores web o servidores de aplicaciones donde este servicio esté habilitado.

  • Asegúrese de que los puertos permanecen abiertos para las aplicaciones web a las que los usuarios pueden tener acceso.

  • Bloquee el acceso externo al puerto que se utiliza para el sitio de Administración central.

  • TCP/25 (SMTP para la integración de correo electrónico)

Registro

No hay información adicional

Auditoría y registro

Si los archivos de registro se reubican, asegúrese de que sus ubicaciones se actualicen para que coincidan. Además, actualice las listas de control de acceso (ACL) a directorios.

Seguridad de acceso a código

Asegúrese de que tiene un conjunto mínimo de permisos de seguridad de acceso a código habilitado para la aplicación web. El elemento <trust> del archivo Web.config de cada aplicación web debe establecerse en WSS_Minimal (donde WSS_Minimal tiene sus valores mínimos predeterminados como se definen en 14\config\wss_minimaltrust.config o en el archivo de directiva personalizado, que está establecido en el mínimo).

Web.config

Siga estas recomendaciones para cada archivo Web.config que se crea tras ejecutar el programa de instalación:

  • No permita la compilación ni la ejecución de scripts de páginas de bases de datos a través de los elementos PageParserPaths.

  • Asegúrese de que <SafeMode> CallStack=""false"" y AllowPageLevelTrace=""false"".

  • Asegúrese de establecer como bajo los límites de elementos web próximos a los controles máximos por zona.

  • Asegúrese de que la lista SafeControls está establecida en el conjunto de controles mínimo necesarios para sus sitios.

  • Asegúrese de que su lista Workflow SafeTypes está establecida en el nivel mínimo de SafeTypes necesarios.

  • Asegúrese de que customErrors está activado (<customErrors mode=""On""/>).

  • Considere la configuración de su proxy web según sea necesario (<system.net>/<defaultProxy>).

  • Establezca el límite de Upload.aspx en el tamaño máximo que espera que los usuarios carguen (2 GB de forma predeterminada). El rendimiento puede verse afectado por cargas que superen 100 MB.

Rol de servidor de bases de datos

La recomendación principal de Productos de SharePoint 2010 es proteger la comunicación entre granjas de servidores mediante el bloqueo de los puertos predeterminados usados para la comunicación con Microsoft SQL Server y el establecimiento de puertos personalizados para esta comunicación en su lugar. Para obtener más información acerca de cómo configurar los puertos para la comunicación con SQL Server, vea Bloqueo de los puertos estándar de SQL Server, más adelante en este artículo.

Categoría

Característica

Puertos

  • Bloquee el puerto UDP 1434.

  • Considere la posibilidad de bloquear el puerto TCP 1433.

En este artículo no se describe cómo proteger SQL Server. Para obtener más información acerca de cómo proteger SQL Server, vea el tema sobre la protección de SQL Server (https://go.microsoft.com/fwlink/?linkid=186828&clcid=0xC0A).

Información específica sobre puertos, protocolos y servicios

En el resto de este artículo se describen más detalladamente los requisitos específicos de protección de Productos de SharePoint 2010.

En esta sección:

Bloqueo de los puertos estándar de SQL Server

Los puertos específicos usados para conectarse a SQL Server se ven afectados en función de si las bases de datos se instalan en una instancia predeterminada de SQL Server o en una instancia con nombre de SQL Server. La instancia predeterminada de SQL Server atiende solicitudes de cliente en el puerto TCP 1433. Una instancia con nombre de SQL Server atiende un número de puerto asignado aleatoriamente. Además, el número de puerto para una instancia con nombre se puede reasignar si la instancia se reinicia (en función de si el número de puerto asignado previamente está disponible).

De forma predeterminada, los equipos cliente que se conectan a SQL Server primero se conectan mediante el puerto TCP 1433. Si esta comunicación no se realiza correctamente, los equipos cliente consultan el servicio de resolución de SQL Server que atiende el puerto UDP 1434 para determinar en qué puerto está atendiendo la base de datos.

El comportamiento predeterminado de comunicación con los puertos de SQL Server presenta varios problemas que afectan al refuerzo de la seguridad de los servidores. En primer lugar, los puertos usados por SQL Server son puertos bien publicitados y el servicio de resolución de SQL Server ha sido objeto de ataques de saturación del búfer y de denegación del servicio, incluido el virus de gusano "Slammer". A pesar de que SQL Server se ha actualizado para mitigar los problemas de seguridad en el servicio de resolución de SQL Server, los puertos bien conocidos siguen siendo un objetivo. En segundo lugar, si las bases de datos están instaladas en una instancia con nombre de SQL Server, el puerto de comunicación correspondiente se asigna de forma aleatoria y puede cambiar. Este comportamiento puede impedir potencialmente la comunicación entre servidores en un entorno con seguridad reforzada. La capacidad de controlar qué puertos TCP están abiertos o bloqueados es fundamental para proteger el entorno.

Por lo tanto, la recomendación para una granja de servidores es asignar números de puerto estáticos a instancias con nombre de SQL Server y bloquear el puerto UDP 1434 para evitar que los posibles atacantes tengan acceso al servicio de resolución de SQL Server. Además, considere la posibilidad de reasignar el puerto usado por la instancia predeterminada y de bloquear el puerto TCP 1433.

Existen varios métodos que puede usar para bloquear puertos. Puede bloquear estos puertos mediante un firewall. Sin embargo, a menos que esté seguro de que no hay otras rutas al segmento de red y de que no hay usuarios malintencionados con acceso al segmento de red, se recomienda bloquear estos puertos directamente en el servidor que hospeda SQL Server. Esto se puede conseguir mediante el Firewall de Windows en el Panel de control.

Configuración de las instancias de base de datos de SQL Server para escuchar en un puerto no estándar

SQL Server permite reasignar los puertos usados por la instancia predeterminada y las instancias con nombre. En SQL Server 2005 y SQL Server 2008, se pueden reasignar puertos mediante el Administrador de configuración de SQL Server.

Configuración de alias de cliente SQL Server

En una granja de servidores, todos los servidores front-end web y los servidores de aplicaciones son equipos cliente de SQL Server. Si bloquea el puerto UDP 1434 en el equipo con SQL Server o cambia el puerto predeterminado para la instancia predeterminada, deberá configurar un alias de cliente de SQL Server en todos los servidores que se conecten al equipo con SQL Server.

Para conectarse a una instancia de SQL Server 2005 o SQL Server 2008, puede instalar componentes de cliente de SQL Server en el equipo de destino y configurar el alias de cliente de SQL Server mediante el Administrador de configuración de SQL Server. Para instalar los componentes de cliente de SQL Server, ejecute el programa de instalación y seleccione únicamente uno de los siguientes componentes de cliente para instalar:

  • Componentes de conectividad

  • Herramientas de administración (incluye el Administrador de configuración de SQL Server)

Si desea conocer los pasos de protección de seguridad específicos para bloquear los puertos estándar de SQL, vea Protección de SQL Server para entornos de SharePoint (SharePoint Foundation 2010).

Comunicación con la aplicación de servicio

De forma predeterminada, la comunicación entre los servidores web y las aplicaciones de servicio dentro de una granja de servidores se lleva a cabo mediante HTTP con un enlace al puerto 32843. Al publicar una aplicación de servicio, se puede seleccionar HTTP o HTTPS con los siguientes enlaces:

  • Enlace HTTP: puerto 32843

  • Enlace HTTP: puerto 32844

Además, los terceros que desarrollan aplicaciones de servicio pueden implementar una tercera opción:

  • Enlace net.tcp: puerto 32845

Puede cambiar el protocolo y el enlace de puerto para cada aplicación de servicio. En la página Aplicaciones de servicio de Administración central, seleccione la aplicación de servicio y, a continuación, haga clic en Publicar.

La comunicación entre las aplicaciones de servicio y SQL Server se lleva a cabo a través de los puertos estándar de SQL Server o los puertos configurados para la comunicación con SQL Server.

Requisitos del servicio Compartir archivos e impresoras

Varias características principales dependen del servicio Compartir archivos e impresoras y los protocolos y puertos correspondientes. Estos incluyen pero no se limitan a los siguientes:

  • Consultas de búsqueda   Todas las consultas de búsqueda requieren el servicio Compartir archivos e impresoras.

  • Rastreo e indización de contenido   Para rastrear contenido, los servidores que incluyen componentes de rastreo envían solicitudes a través del servidor front-end web. El servidor front-end web se comunica directamente con la bases de datos de contenido y envía los resultados de vuelta a los servidores que incluyen componentes de rastreo. Esta comunicación requiere el servicio Compartir archivos e impresoras.

El servicio Compartir archivos e impresoras requiere el uso de canalizaciones con nombre. Las canalizaciones con nombre se comunican mediante protocolos NetBT o SMB hospedados directamente. Para obtener un entorno seguro, se recomienda usar SMB hospedado directamente en lugar de NetBT. En las recomendaciones para reforzar la seguridad proporcionadas en este artículo se asume que se usará SMB.

En la tabla siguiente se describen los requisitos para el endurecimiento de la seguridad introducidos por la dependencia en el servicio Compartir archivos e impresoras.

Categoría

Requisitos

Notas

Servicios

Compartir archivos e impresoras

Requiere el uso de canalizaciones con nombre.

Protocolos

Canalizaciones con nombre que usan SMB hospedado directamente

Deshabilitar NBT

Las canalizaciones con nombre pueden usar NetBT en lugar de SMB hospedado directamente. Sin embargo, se considera que NetBT es menos seguro que SMB hospedado directamente.

Puertos

Alguno de los siguientes elementos:

  • SMB hospedado directamente (TCP/UDP 445): recomendado

  • NetBT (puertos TCP/UDP 137, 138, 139)

Deshabilitar NetBT (puertos 137, 138 y 139) si no está en uso

Para obtener más información acerca de cómo deshabilitar NetBT, vea el artículo de Microsoft Knowledge Base 204279 sobre el hospedaje directo de SMB a través de TCP/IP (https://go.microsoft.com/fwlink/?linkid=76143&clcid=0xC0A).

Requisitos de servicios para la integración del correo electrónico

La integración del correo electrónico requiere el uso de dos servicios:

Servicio SMTP

La integración del correo electrónico requiere usar el servicio SMTP al menos en uno de los servidores front-end web de la granja de servidores. El servicio SMTP es obligatorio para el correo electrónico entrante. Para el correo electrónico saliente, se puede usar el servicio SMTP o enrutarlo a través de un servidor de correo electrónico dedicado en la organización, como un equipo con Microsoft Exchange Server.

Servicio de administración de directorios de Microsoft SharePoint

Productos de SharePoint 2010 incluye un servicio interno, el servicio de administración de directorios de Microsoft SharePoint, para crear grupos de distribución de correo electrónico. Al configurar la integración de correo electrónico, tiene la opción de habilitar la característica del servicio de administración de directorios, que permite a los usuarios crear listas de distribución. Cuando los usuarios crean un grupo de SharePoint y seleccionan la opción de crear una lista de distribución, el servicio de administración de directorios de Microsoft SharePoint crea la lista de distribución de Active Directory correspondiente en el entorno de Active Directory.

En entornos con protección de seguridad, se recomienda restringir el acceso al servicio de administración de directorios de Microsoft SharePoint mediante la protección del archivo asociado con este servicio: SharePointEmailws.asmx. Por ejemplo, podría permitir el acceso a este archivo sólo mediante la cuenta de la granja de servidores.

Además, este servicio requiere permisos en el entorno de Active Directory para crear objetos de lista de distribución de Active Directory. Se recomienda configurar una unidad organizativa (UO) independiente en Active Directory para los objetos de Productos de SharePoint 2010. Solo esta UO debería permitir el acceso de escritura a la cuenta usada por el servicio de administración de directorios de Microsoft SharePoint.

Servicios de Productos de SharePoint 2010

No deshabilite los servicios instalados por Productos de SharePoint 2010 (enumerados anteriormente en la instantánea).

Si su entorno no permite servicios que se ejecutan como sistema local, puede considerar deshabilitar el servicio de administración de SharePoint 2010 sólo si es consciente de las consecuencias y puede evitarlas. Este servicio es un servicio Win32 que se ejecuta como servicio local.

El servicio de temporizador de SharePoint 2010 usa este servicio para realizar acciones que requieren permisos administrativos en el servidor, como crear sitios web de Internet Information Services (IIS), implementar código y detener o iniciar servicios. Si deshabilita este servicio, no podrá completar tareas relacionadas con la implementación desde el sitio de Administración central. Debe usar Windows PowerShell para ejecutar el cmdlet Start-SPAdminJob (o usar la herramienta de línea de comandos Stsadm.exe para ejecutar la operación execadmsvcjobs) para completar las implementaciones de varios servidores para Productos de SharePoint 2010 y ejecutar otras tareas relacionadas con la implementación.

Archivo Web.config

.NET Framework, y ASP.NET en particular, usa archivos de configuración con formato XML para configurar las aplicaciones. Para definir las opciones de configuración, .NET Framework emplea archivos de configuración, que son archivos XML basados en texto. En un mismo sistema pueden existir varios archivos de configuración, lo que ocurre a menudo.

En .NET Framework, los parámetros de configuración de todo el sistema están definidos en el archivo Machine.config. Este archivo se encuentra en la carpeta %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\. La configuración predeterminada que se encuentra en el archivo Machine.config se puede modificar para cambiar el comportamiento de las aplicaciones que usan .NET Framework en todo el sistema.

Puede cambiar los parámetros de configuración de ASP.NET para una única aplicación si crea un archivo Web.config en la carpeta raíz de la aplicación. Al hacerlo, la configuración del archivo Web.config sobrescribe la configuración del archivo Machine.config.

Al extender una aplicación web mediante Administración central, Productos de SharePoint 2010 crea automáticamente un archivo Web.config para la aplicación web.

En la instantánea de servidor de aplicaciones y de servidor web presentada anteriormente en este artículo se enumeran las recomendaciones para configurar los archivos Web.config. Estas recomendaciones se deben aplicar a cada archivo Web.config que se cree, incluido el archivo Web.config para el sitio de Administración central.

Para obtener más información acerca de los archivos de configuración de ASP.NET y la modificación de un archivo Web.config, vea la configuración de ASP.NET (https://go.microsoft.com/fwlink/?linkid=73257&clcid=0xC0A).