Plan security hardening for SharePoint Server
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint en Microsoft 365
Instantáneas de servidor seguras
En un entorno de granja de servidores, los servidores individuales tienen roles específicos. Las recomendaciones de protección de seguridad para estos servidores dependen del rol que desempeña cada servidor. Este artículo contiene instantáneas seguras para dos categorías de roles de servidor:
Servidores de SharePoint
Las instantáneas se dividen en categorías de configuración comunes. Las características definidas para cada categoría representan el estado protegido óptimo para SharePoint Server. En este artículo no se incluyen instrucciones de protección para otro software del entorno.
Además de proteger los servidores para roles específicos, es importante proteger la granja de SharePoint mediante la colocación de un firewall entre los servidores de la granja de servidores y las solicitudes externas. Las instrucciones de este artículo se pueden usar para configurar un firewall.
Servidores de SharePoint
En esta sección se identifican las características de protección de los servidores de SharePoint. 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: ASP.NET servicio de estado (si usa InfoPath Forms Services o Project Server 2016) Ver servicio de estado (si 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 Servicio de temporizador de SharePoint Servicio de seguimiento de SharePoint VSS Writer de SharePoint Asegúrese de que estos servicios no están deshabilitados en los servidores que hospedan los roles correspondientes: Servicio de almacenamiento en caché de AppFabric Host de código de usuario de SharePoint Controladora de host de búsqueda de SharePoint Búsqueda de SharePoint Server Puertos y protocolos |
TCP 80, TCP 443 (SSL) Puertos personalizados para rastreo de búsqueda, si se configuró (por ejemplo, para rastrear un recurso compartido de archivos o un sitio web en un puerto no predeterminado) Puertos usados por el componente de índice de búsqueda: TCP 16500-16519 (solo dentro de la granja) Puertos necesarios para el servicio de almacenamiento en caché de AppFabric: TCP 22233-22236 Puertos necesarios para la comunicación de Windows Communication Foundation: TCP 808 Puertos necesarios para la comunicación entre servidores de SharePoint y aplicaciones de servicio (el valor predeterminado es HTTP): Enlace HTTP: TCP 32843 Enlace HTTPS: TCP 32844 Enlace net.tcp: TCP 32845 (solo si un tercero implementó esta opción para una aplicación de servicio) Si el entorno de red del equipo usa Windows Server 2012, Windows Server 2008, Windows Server 2008 R2, Windows 7 o Windows Vista con versiones de Windows anteriores a Windows Server 2012 y Windows Vista, debe habilitar la conectividad sobre los dos intervalos de puertos siguientes: Intervalo de puertos alto de 49152 a 65535 Intervalo de puertos bajo de 1025 a 5000 Puertos predeterminados para la comunicación de SQL Server: TCP 1433, UDP 1434. Si estos puertos están bloqueados en el equipo de SQL Server y las bases de datos se instalan en una instancia con nombre, configure un alias de cliente de SQL Server para conectarse a la instancia con nombre. Servicio de código de usuario de Microsoft SharePoint Foundation (para soluciones de espacio aislado): TCP 32846. Este puerto debe estar abierto para las conexiones salientes en todos los servidores front-end y front-end con caché distribuida. Este puerto debe estar abierto para las conexiones entrantes en front-end y front-end con servidores de caché distribuida donde está activado este servicio. 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. SMTP para la integración de correo electrónico: TCP 25 o un puerto TCP personalizado si ha configurado el correo electrónico saliente para usar un puerto no predeterminado. ICMP para la solicitud de eco: cada servidor de caché distribuida debe tener reglas de firewall de entrada y salida para habilitar ICMP para la solicitud de eco. |
|
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. |
el archivo 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 el scripting de páginas de base 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"/>). Considere la configuración del proxy web según sea necesario (<system.net>/<defaultProxy>). Establezca el límite de Upload.aspx en el tamaño más alto que espera razonablemente que carguen los usuarios. El rendimiento puede verse afectado por cargas superiores a 100 MB. |
Rol de servidor de bases de datos
Nota:
Con la adición a la característica MinRole en SharePoint Server 2016, el concepto de roles ha cambiado. Para obtener información sobre los roles, vea Planeamiento de una implementación de servidor MinRole en SharePoint Server 2016.
La recomendación principal para SharePoint Server es proteger la comunicación entre granjas de servidores bloqueando los puertos predeterminados usados para la comunicación con SQL Server y estableciendo puertos personalizados para esta comunicación en su lugar. Para más información sobre 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 UDP 1434. Considere bloquear TCP 1433. |
En este artículo no se describe cómo proteger SQL Server. Para obtener más información sobre cómo proteger SQL Server, vea Proteger SQL Server (https://go.microsoft.com/fwlink/p/?LinkId=186828).
Información específica sobre puertos, protocolos y servicios
En el resto de este artículo se describen con mayor detalle los requisitos de protección específicos para SharePoint Server.
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 escucha solicitudes de cliente en TCP 1433. Una instancia con nombre de SQL Server escucha 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 TCP 1433. Si esta comunicación no se realiza correctamente, los equipos cliente consultan el servicio de resolución de SQL Server que escucha en UDP 1434 para determinar en qué puerto está escuchando la instancia de 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.
Nota:
Se recomienda usar los puertos SQL estándar, pero asegúrese de que el firewall está configurado para permitir solo la comunicación con los servidores que necesitan acceso a SQL Server. Se debe impedir que los servidores que no necesitan acceso a SQL Server se conecten a SQL Server a través del puerto TCP 1433 y el puerto UDP 1444.
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, se pueden reasignar puertos mediante el Administrador de configuración de SQL Server.
Configuración de alias de cliente de 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 UDP 1434 en el equipo con SQL Server o cambia el puerto predeterminado de la instancia predeterminada, deberá configurar un alias de cliente de SQL Server en todos los servidores que se conecten al equipo con SQL Server. En este escenario, el alias de cliente de SQL Server especifica el puerto TCP en el que escucha la instancia con nombre.
Para conectarse a una instancia de SQL Server, puede instalar los 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)
Para conocer los pasos de protección específicos para bloquear los puertos estándar de SQL Server, vea Configurar la seguridad de SQL Server para SharePoint Server.
Comunicación con la aplicación de servicio
De forma predeterminada, la comunicación entre servidores de SharePoint y aplicaciones de servicio dentro de una granja de servidores se realiza mediante HTTP con un enlace a TCP 32843. Al publicar una aplicación de servicio, se puede seleccionar HTTP o HTTPS con los siguientes enlaces:
Enlace HTTP: TCP 32843
Enlace HTTPS: TCP 32844
Además, los terceros que desarrollan aplicaciones de servicio pueden implementar una tercera opción:
- Enlace net.tcp: TCP 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, seleccione Publicar.
Los enlaces HTTP/HTTPS/net.tcp también se pueden ver y cambiar mediante los cmdlets Get-SPServiceHostConfig y Set-SPServiceHostConfig de Microsoft PowerShell.
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.
Conexiones a servidores externos
Se pueden configurar varias características de SharePoint Server para acceder a los datos que residen en equipos de 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 Administrar el rastreo en SharePoint Server. |
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. |
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
SharePoint Server 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 de correo electrónico, puede 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. La recomendación es configurar una unidad organizativa (UO) independiente en Active Directory para objetos de SharePoint Server. 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 2016 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 View State.
Servicios de productos de SharePoint Server
No deshabilite los servicios instalados por SharePoint Server (que aparecen en la instantánea anterior).
Si el entorno no permite los servicios que se ejecutan como un sistema local, puede considerar la posibilidad de deshabilitar el servicio de administración de SharePoint solo si es consciente de las consecuencias y puede solucionarlos. Este servicio es un servicio Win32 que se ejecuta como servicio local.
El servicio de temporizador de SharePoint 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 puede completar tareas relacionadas con la implementación desde el sitio de Administración central. Debe usar Microsoft 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 implementaciones de varios servidores para SharePoint Server y ejecutar otras tareas relacionadas con la implementación.
Archivo Web.config
.NET Framework y, en particular, ASP.NET, usan archivos de configuración con formato XML para configurar aplicaciones. .NET Framework se basa en archivos de configuración para definir opciones de configuración. Los archivos de configuración son archivos XML basados en texto. Pueden existir varios archivos de configuración, y normalmente lo hacen, en un único sistema.
System-wide configuration settings for the .NET Framework are defined in the Machine.config file. El archivo Machine.config se encuentra en la carpeta %SystemRoot%\Microsoft.NET\Framework%VersionNumber%\CONFIG\. The default settings that are contained in the Machine.config file can be modified to affect the behavior of applications that use the .NET Framework on the whole system.
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 ampliar una aplicación web mediante Administración central, SharePoint Server 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 sobre ASP.NET archivos de configuración y la edición de un archivo Web.config, vea Configuración de ASP.NET (https://go.microsoft.com/fwlink/p/?LinkID=73257).