Planeación del endurecimiento de la seguridad (SharePoint Server 2010)

 

Se aplica a: SharePoint Foundation 2010, SharePoint Server 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 Server 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 reforzar la 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 de servidor web y de 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 estado de ASP.NET (si se usa InfoPath Forms Services o Microsoft Project Server 2010)

  • Servicio de estado de vista (si se usa InfoPath Forms Services)

  • 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

  • SharePoint Server Search 14

  • Los siguientes servicios son necesarios para la aplicación de servicio de perfiles de usuario en el servidor que importa perfiles desde el almacén de directorios:

    • Servicio de Forefront Identity Manager

    • Servicio de sincronización de Forefront Identity Manager

Puertos y protocolos

  • TCP 80, TCP 443 (SSL)

  • Puertos personalizados para el rastreo de búsqueda, si está configurado

  • Servicio Compartir archivos e impresoras (cualquiera de los siguientes, usados por los roles de búsqueda):

    • Host directo de SMB (TCP/UDP 445) (puerto recomendado)

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

  • Puertos necesarios para la comunicación entre los servidores web y las aplicaciones de servicio (el puerto 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)

  • Puertos necesarios para la sincronización de perfiles entre Productos de SharePoint 2010 y Active Directory en el servidor que ejecuta el agente de Forefront Identity Management:

    • TCP/5725

    • TCP/UDP 389 (servicio LDAP)

    • TCP/UDP 88 (Kerberos)

    • TCP/UDP 53 (DNS)

    • UDP 464 (Cambiar contraseña de Kerberos)

    Para obtener información acerca de cómo sincronizar perfiles con otros almacenes de directorios, vea el tema User Profile service hardening requirements más adelante en este artículo.

  • 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 usa para el sitio de Administración central.

  • TCP/25 (SMTP para la integración del 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 del 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 en un nivel 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 necesario 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""/>).

  • Tenga en cuenta 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 cómo proteger 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 para reforzar 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 refuerzo de la seguridad específicos para bloquear los puertos estándar de SQL, vea Protección de SQL Server para entornos de SharePoint (SharePoint Server 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.

  • Propagación de índice   Si se configura una aplicación de servicio de búsqueda con componentes de rastreo y componentes de consulta que se distribuyen entre varios servidores, los servidores con componentes de rastreo copian los archivos de índice de contenido en los servidores con componentes de consulta. Esta acción requiere el servicio Compartir archivos e impresoras, así como los protocolos y puertos correspondientes.

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 reforzar la seguridad especificados 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 NetBT

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 para reforzar el servicio de perfiles de usuario

La aplicación de servicio de perfiles de usuario usa el agente de Forefront Identity Management para sincronizar perfiles entre Productos de SharePoint 2010 y Active Directory o un servicio de directorio de protocolo ligero de acceso a directorios (LDAP). El agente de Forefront Identity Management está instalado en todos los servidores de un conjunto o granja de servidores de SharePoint, pero solo es necesario en el servidor que está configurado para sincronizarse con el almacén de directorios.

El agente de Forefront Identity Management incluye los siguientes dos servicios que deben permanecer habilitados en el servidor que está configurado para rastrear Active Directory u otro almacén de directorios:

  • Servicio de Forefront Identity Manager

  • Servicio de sincronización de Forefront Identity Manager

Además, el puerto TCP 5725 debe estar abierto en el servidor que ejecuta al agente de Forefront Identity Management y está configurado para rastrear un almacén de directorios.

En entornos de Active Directory, los siguientes puertos deben permanecer abiertos para la comunicación entre el servidor de Productos de SharePoint 2010 que se sincroniza con el almacén de directorios y el servidor que ejecuta Active Directory:

  • TCP/UDP 389 (servicio LDAP)

  • TCP/UDP 88 (Kerberos)

  • TCP/UDP 53 (DNS)

  • UDP 464 (Cambiar contraseña de Kerberos)

Para obtener más información acerca de los requisitos para reforzar el agente de Forefront Identity Management, incluidos los requisitos de puertos para otros tipos de directorio, vea el tema sobre puertos de comunicaciones de agente de administración, derechos y permisos (https://go.microsoft.com/fwlink/?linkid=186832&clcid=0xC0A).

Conexiones a servidores externos

Se pueden configurar varias características de SharePoint Server 2010 para tener acceso a datos que residen en equipos servidor fuera de la granja de servidores. Si configura el acceso a los datos que se encuentran en equipos servidor externos, asegúrese de habilitar la comunicación entre los equipos adecuados. En la mayoría de los casos, los puertos, protocolos y servicios usados dependen del recurso externo. Por ejemplo:

  • Las conexiones a recursos compartidos de archivos usan el servicio Compartir archivos e impresoras.

  • Las conexiones a bases de datos externas de SQL Server usan los puertos personalizados o predeterminados para la comunicación con SQL Server.

  • Las conexiones a bases de datos de Oracle suelen usar OLE DB.

  • Las conexiones a servicios web usan tanto HTTP como HTTPS.

En la siguiente tabla se muestran las características que se pueden configurar para tener acceso a datos que residen en equipos servidor fuera de la granja de servidores.

Característica

Descripción

Rastreo de contenido

Se pueden configurar reglas de rastreo para rastrear datos que residan en recursos externos, incluidos sitios web, recursos compartidos de archivos, carpetas públicas de Exchange y aplicaciones de datos profesionales. Al rastrear orígenes de datos externos, el rol de rastreo se comunica directamente con dichos recursos externos.

Para obtener más información, vea el tema sobre planeación del rastreo de contenido (Office SharePoint Server) [https://technet.microsoft.com/es-es/library/cc262926.aspx].

Conexiones con el servicio Conectividad a datos empresariales

Los servidores web y los servidores de aplicaciones se comunican directamente con los equipos que están configurados para conexiones con el servicio Conectividad a datos empresariales.

Para obtener más información, vea el tema sobre la planeación de conexiones de datos profesionales con el Catálogo de datos profesionales [https://technet.microsoft.com/es-es/library/cc263252.aspx].

Recepción de libros de Microsoft Office Excel

Si los libros abiertos en la aplicación de Servicios de Excel se conectan a algún origen de datos externo (por ejemplo, Analysis Services y SQL Server), los puertos TCP/IP adecuados deben estar abiertos para conectarse a dichos orígenes. Para obtener más información, vea el tema sobre planeación de conexiones de datos externos para Servicios de Excel [https://technet.microsoft.com/es-es/library/cc262899.aspx].

Si las rutas UNC (convención de nomenclatura universal) están configuradas como ubicaciones de confianza en la aplicación de Servicios de Excel, el rol de aplicación de Excel Calculation Services emplea los protocolos y los puertos usados por el servicio Compartir archivos e impresoras para recibir libros de Office Excel a través de una ruta UNC.

Esta comunicación no afecta a los libros almacenados en bases de datos de contenido o que los usuarios cargan o descargan de sitios.

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 el uso del servicio SMTP (Protocolo simple de transferencia de correo) al menos en uno de los servidores front-end web de la granja de servidores. El servicio SMTP es necesario 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. Cuando se configura la integración con el correo electrónico, existe la opción de habilitar la característica 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 para 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.

Si la integración de correo electrónico está habilitada y la característica Servicio de administración de directorios está activada, restrinja 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, permita el acceso a este archivo solo a 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 independiente (OU) en Active Directory para los objetos de Productos de SharePoint 2010. Solo esta OU debería permitir el acceso de escritura a la cuenta usada por el Servicio de administración de directorios de Microsoft SharePoint.

Requisitos de servicios para el estado de sesión

Tanto Project Server 2010 como InfoPath Forms Services mantienen el estado de sesión. Si va a implementar estas características o productos en la granja de servidores, no deshabilite el servicio de estado de ASP.NET. Además, si va a implementar InfoPath Forms Services, no deshabilite el servicio de estado de vista.

Servicios de Productos de SharePoint 2010

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

Si el entorno no permite servicios que se ejecutan como sistema local, puede considerar la posibilidad de deshabilitar el servicio de administración de SharePoint 2010 solo 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, usan 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.

Las opciones de configuración de todo el sistema para .NET Framework se definen en el archivo Machine.config. Este archivo se encuentra en la carpeta %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\. La configuración predeterminada incluida en el archivo Machine.config se puede modificar para afectar al 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.

La instantánea de servidor de aplicaciones y servidor web que se presentó previamente en este artículo enumera 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 página de configuración de ASP.NET (https://go.microsoft.com/fwlink/?linkid=73257&clcid=0xC0A).