Refuerce la seguridad del servidor IIS que hospeda ABBYY FlexiCapture 12 con encabezados de seguridad como CSP y HSTS, protección contra DDoS, cifrados TLS robustos y reglas de web.config.
Cuando se implementa ABBYY FlexiCapture 12, se usan los ajustes predeterminados de seguridad de IIS. También puede configurar reglas adicionales para solicitudes específicas a fin de reforzar la seguridad de su servidor web.
El encabezado Content-Security-Policy
Content Security Policy (CSP) es un estándar de seguridad que utilizan los navegadores modernos para protegerse frente a ataques de inyección de datos, como el cross-site scripting (XSS). CSP usa una lista blanca para determinar qué recursos se pueden cargar de forma segura e ignora las fuentes no verificadas. También registra cualquier intento de eludir la política de seguridad.Para usar esta política, el servidor debe incluir un encabezado HTTP Content-Security-Policy con una o varias directivas configuradas; cada directiva es responsable de un tipo de recurso concreto. Las directivas definen una política de seguridad al establecer reglas para los recursos.Para configurar CSP en su navegador, agregue el siguiente código al archivo web.config:
Si necesita integrar ABBYY FlexiCapture con sistemas de terceros y requiere acceso a otros hosts, especifíquelos en el archivo web.config. Asegúrese de comprobar el funcionamiento del software cada vez que cambie los ajustes de seguridad.
Para obtener más información sobre el encabezado Content-Security-Policy, consulte este sitio web.
El encabezado HTTP Strict-Transport-Security
HTTP Strict-Transport-Security (HSTS) es un mecanismo de protección de sitios web que restringe todas las interacciones entre el navegador y el sitio web a una conexión segura mediante el protocolo SSL. Un servidor web con HSTS configurado incluye una instrucción para que el navegador use exclusivamente HTTPS y le impide usar HTTP. HSTS se utiliza principalmente para impedir ataques de interceptación que afectan a consultas y respuestas, por ejemplo, ataques MITM (Man-In-The-Middle).Para poder usar esta política de seguridad, debe usar reglas de reescritura de URL para agregar un encabezado Strict-Transport-Security (STS) a las respuestas HTTP. Esto es necesario para evitar consultas HTTP no deseadas y redirigir todo el tráfico HTTP a HTTPS (según la lógica definida en las reglas). Para configurar las reglas, debe instalar el módulo URL Rewrite. Para obtener más información, consulte el sitio web de Microsoft.Para configurar HSTS en su navegador, agregue el siguiente código al archivo web.config:
<rule name="Add the STS header in HTTPS responses"><match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" /><conditions><add input="{HTTPS}" pattern="on" /></conditions><action type="Rewrite" value="max-age=31536000" /></rule>
La directiva max-age especifica el período de tiempo (en segundos) durante el que se aplicará la regla. El valor indicado en el fragmento de código anterior equivale a un período de un año.
Además de los encabezados HTTP que son esenciales para mejorar la seguridad de su servidor web, también hay encabezados opcionales. A menudo, estos encabezados opcionales no se rigen por ningún estándar, y su uso aumenta la cantidad de tráfico generada por cada consulta HTTP, lo que facilita la realización de ataques maliciosos.A continuación, se muestran dos de estos encabezados opcionales:
X-Powered-By es un encabezado HTTP que contiene información sobre diversas tecnologías usadas por el servidor web.
X-AspNet-Version es un encabezado HTTP que contiene información sobre la versión de ASP.NET que se usa para implementar aplicaciones en el servidor web.
De forma predeterminada, tanto X-Powered-By como X-AspNet-Version se incluyen en las respuestas del servidor. Recomendamos deshabilitar estos encabezados, ya que proporcionar información identificativa puede representar una amenaza para la seguridad.Para eliminar el encabezado X-Powered-By de la configuración de IIS, pegue el siguiente código en su archivo web.config:
Para eliminar el encabezado X-AspNet-Version de su configuración de IIS, pegue el siguiente código en su archivo web.config:
<httpRuntime enableVersionHeader="false" />
El encabezado X-XSS-Protection
X-XSS-Protection es un encabezado HTTP que los navegadores usan para prevenir ataques de Cross-Site Scripting. Este encabezado funciona habilitando un filtro XSS que intercepta intentos no deseados de insertar código malicioso de terceros en páginas web abiertas en el navegador.X-XSS-Protection es compatible con los siguientes navegadores: Internet Explorer 8+, Chrome y Safari. Sin embargo, la mayoría de los navegadores modernos usan una política de seguridad más estricta (p. ej., Content-Security-Policy), por lo que este encabezado solo es necesario si usa un navegador antiguo que no admite CSP.Para habilitar el encabezado X-XSS-Protection en su navegador, copie el siguiente código en su archivo web.config:
X-Content-Type-Options es un encabezado HTTP que los navegadores usan para prevenir ataques que explotan vulnerabilidades de MIME (Multipurpose Internet Mail Extensions). MIME es un estándar de Internet para el contenido que se envía a través de una conexión a Internet. Todos los archivos servidos por el servidor web son procesados por los navegadores de una forma que depende del tipo MIME de cada archivo. Los navegadores determinan el tipo de recurso usando la respuesta Content-Type o inspeccionando el contenido del recurso, lo que permite a los atacantes enmascarar archivos HTML como si fueran archivos de otro tipo.La única directiva disponible para este encabezado es la directiva nosniff. Esta indica a los navegadores que usen únicamente el tipo MIME especificado por el servidor web.Para habilitar el encabezado X-Content-Type-Options en su navegador, pegue el siguiente código en su archivo web.config:
Server Header es un encabezado de respuesta que contiene información sobre la aplicación que usa el servidor de origen para procesar una solicitud (p. ej., el número de versión de la aplicación). La posible disponibilidad de este tipo de información para terceros representa una amenaza para la seguridad. Por este motivo, recomendamos eliminar el contenido de Server Header.Para eliminar el contenido de Server Header, agregue el siguiente código a su archivo web.config:
La configuración descrita anteriormente requiere que el módulo URL Rewrite esté instalado. Para obtener más información, consulte la documentación de Microsoft.
El encabezado X-Frame-Options
De forma predeterminada, se permite incrustar las estaciones web de ABBYY FlexiCapture mediante iFrame en sitios web de otras empresas. Sin embargo, si detecta un ataque de framesniffing, puede hacer lo siguiente para evitar que el contenido se aloje en un iFrame de otro dominio:
En el panel Conexiones del lado izquierdo, expanda la carpeta Sitios y seleccione el sitio que desea proteger.
Haga doble clic en el icono Encabezados de respuesta HTTP en la lista de características del centro.
En el Panel de acciones del lado derecho, haga clic en Agregar.
En el cuadro de diálogo que se abre, escriba X-Frame-Options en el campo Nombre y escriba SAMEORIGIN o DENY en el campo Valor.
La vulnerabilidad Slow HTTP POST es una variación de un ataque lento de denegación de servicio HTTP (DoS), también conocido como ataque HTTP Slowloris. En un ataque Slow HTTP POST, el atacante indica que enviará una gran cantidad de datos en una solicitud HTTP POST y luego los envía muy lentamente. Para resolver la vulnerabilidad Slow HTTP POST del lado del cliente, es necesario configurar Web Limits en la configuración de IIS de los equipos donde está instalado el Servidor de aplicaciones. Los límites deben establecerse para los siguientes parámetros:
El protocolo HTTP carece de mecanismos de seguridad para cifrar los datos, mientras que HTTPS proporciona un certificado digital SSL o TLS para proteger la comunicación entre el servidor y el cliente. Asegúrese de que todo el tráfico entre el navegador del usuario y el servidor web circule obligatoriamente por un canal cifrado mediante HTTPS. HTTP funciona de forma predeterminada en el puerto 80. Cierre este puerto para impedir el uso de HTTP.
Uso de una versión actual de TLS y de conjuntos de cifrado robustos
TLSv1.1 se considera un protocolo de cifrado débil. Un atacante puede aprovechar las debilidades del protocolo para leer comunicaciones seguras o modificar mensajes de forma malintencionada. Le recomendamos que utilice siempre la versión más reciente posible de TLS y solo conjuntos de cifrado robustos (puede encontrar una lista de conjuntos de cifrado adecuados en https://wiki.mozilla.org/Security/Server_Side_TLS). Para configurar el cifrado SSL mediante una directiva de grupo:
En un símbolo del sistema, escriba gpedit.msc. Aparece el Editor de objetos de directiva de grupo.**
Expanda Configuración del equipo, Plantillas administrativas, Red y, a continuación, haga clic en Configuración de SSL.
En Configuración de SSL, haga clic en la opción Orden de conjuntos de cifrado SSL.
En el panel Orden de conjuntos de cifrado SSL, desplácese hasta la parte inferior.
Siga las instrucciones con la etiqueta Cómo modificar esta configuración.
Tendrá que reiniciar el equipo para que los cambios surtan efecto.
Protección contra ataques distribuidos de denegación de servicio
Los ataques distribuidos de denegación de servicio (DDoS) consisten en sobrecargar una aplicación con solicitudes HTTP, lo que provoca un aumento significativo del tráfico y hace que la aplicación quede inaccesible para los usuarios legítimos. Puede que no sea fácil detectar este tipo de ataques, ya que a menudo resulta difícil distinguir entre tráfico legítimo y malicioso.Para proteger su servidor web contra ataques DDoS, le recomendamos configurar su servidor IIS para bloquear el acceso a su aplicación si alguien supera el número permitido de solicitudes durante un determinado período de tiempo o el número permitido de solicitudes simultáneas.Para configurar la protección contra DDoS en IIS como se ha descrito anteriormente, haga lo siguiente:
Inicie IIS Manager.
Seleccione su sitio web en la vista de árbol y haga doble clic en el icono IP Address and Domain Restrictions en la página principal del sitio.
En el Panel de acciones, haga clic en Edit Dynamic RestrictionSettings.
En el cuadro de diálogo que se abre, seleccione el método que prefiera: Deny IP Address based on the number of concurrent requests o Deny IP Address based on the number of requests over a period of time.
Haga clic en OK.
En la configuración del servidor IIS, también puede restringir el acceso a su aplicación desde direcciones IP específicas y especificar el tipo de acción que el servidor debe realizar cuando se intente acceder a su aplicación desde direcciones IP restringidas:
Inicie IIS Manager.
Seleccione su sitio web en la vista de árbol y haga doble clic en el icono IP Address and Domain Restrictions en la página principal del sitio.
En el Panel de acciones, haga clic en Edit Dynamic Restriction Settings.
En el cuadro de diálogo que se abre, seleccione el tipo de acción deseado en la lista desplegable Deny Action Type.
Haga clic en OK.
En los casos en que varios usuarios envíen múltiples solicitudes HTTP desde una sola dirección IP, habilite el modo proxy en la configuración del servidor IIS. Al hacerlo, permitirá que el servidor proxy pase el encabezado x-forwarded-for al servidor web para ayudar a identificar al usuario.Para habilitar el modo proxy, haga lo siguiente:
Inicie IIS Manager.
Seleccione su sitio web en la vista de árbol y haga doble clic en el icono IP Address and Domain Restrictions en la página principal del sitio.
En el Panel de acciones, haga clic en Edit Feature Settings.
En el cuadro de diálogo Edit IP and Domain Restriction Settings, seleccione Enable Proxy Mode.
Haga clic en OK.
Para obtener más información sobre el uso de IIS para restringir el acceso a su aplicación desde determinadas direcciones IP, consulte la documentación de Microsoft.
El uso del modo proxy para gestionar grandes volúmenes de tráfico puede afectar al rendimiento del sistema y dificultar el acceso de los usuarios legítimos a su aplicación.