Refuerzo del sistema para sus aplicaciones web

Refuerzo del sistema para sus aplicaciones web.El fortalecimiento del sistema es la práctica de asegurar un sistema informático reduciendo su superficie de ataque.

Esto puede implicar deshabilitar servicios innecesarios, eliminar software no utilizado, cerrar puertos de red abiertos, cambiar la configuración predeterminada, etc. Para las aplicaciones web, la superficie de ataque también se ve afectada por la configuración de toda la pila de software y la configuración del hardware, desde sistemas operativos, bases de datos y dispositivos de red hasta servidores de aplicaciones y servidores web.

En este artículo, analizaremos los enfoques para el fortalecimiento del sistema y veremos qué medidas de seguridad pueden ayudar a mantener sus aplicaciones web seguras.

Conoce tu superficie de ataque

La superficie de ataque de una aplicación web es la combinación de todas las vulnerabilidades de seguridad potenciales, puertas traseras y otros vectores de ataque en la aplicación y su infraestructura. Esto incluye no solo software y firmware sin parches, sino también configuraciones inseguras, acceso inseguro a datos y aplicaciones, inicios de sesión y contraseñas predeterminados o codificados, falta de encriptación adecuada para datos en tránsito y / o en reposo, etc.

Además de reducir el riesgo de ataques de malware y otras amenazas de seguridad, minimizar la superficie de ataque también trae una serie de otros beneficios. Los sistemas reforzados son más fáciles de mantener porque tienen menos componentes activos. El endurecimiento también puede mejorar el rendimiento al eliminar la funcionalidad innecesaria que de otro modo podría drenar recursos valiosos.

Enfoques formales del proceso de endurecimiento

El fortalecimiento del sistema no es solo una buena práctica: en algunas industrias, es un requisito reglamentario para minimizar los riesgos de seguridad y garantizar la seguridad de la información. Por ejemplo, si procesa datos de pacientes médicos, puede estar sujeto a los requisitos de fortalecimiento del servidor HIPAA , mientras que para el procesamiento de pagos puede verse afectado por el requisito 2.2 de PCI DSS .

Varias organizaciones publican normas y procedimientos comúnmente aceptados para eliminar las debilidades del sistema, incluidos el Centro para la Seguridad de Internet (CIS) , la Organización Internacional de Normalización (ISO) , SysAdmin, el Instituto de Auditoría, Redes y Seguridad (SANS) y el Instituto Nacional de Normas y Tecnología (NIST). Los principales proveedores de software también proporcionan sus propias guías de refuerzo para productos específicos.

Lista de verificación de endurecimiento de su aplicación web

Una lista de verificación de refuerzo es un documento formal que enumera todos los pasos necesarios para bloquear uno o varios sistemas. Su lista de verificación variará dependiendo de la infraestructura de la aplicación y la configuración de seguridad: una implementación en la nube requerirá acciones muy diferentes que una infraestructura física completa, pero los objetivos y conceptos generales son los mismos.

Para determinar sus requisitos de endurecimiento, comience preparando un inventario de todos los activos de software y hardware relevantes. Complemente esto comprobando la superficie de ataque externo existente mediante una auditoría de ciberseguridad, un análisis de vulnerabilidad web, pruebas de penetración u otros métodos para identificar vulnerabilidades y puntos débiles.

El descubrimiento de aplicaciones web puede ser invaluable para detectar aplicaciones olvidadas u obsoletas que presentan objetivos adicionales.

Bloqueo de cuentas de usuario y acceso a datos

Independientemente de su infraestructura física y lógica, el control de acceso a datos efectivo es el mayor problema de endurecimiento. Se aplica en todos los niveles de software y hardware, con el objetivo primordial de evitar el acceso no autorizado a sistemas y datos.

Comience imponiendo controles y restricciones de acceso basados ​​en roles y asegúrese de que solo se habiliten las cuentas de usuario válidas y requeridas. Para cada rol y usuario, siga la regla de privilegios mínimos necesarios. Defina políticas de contraseña adecuadas para aplicar contraseñas seguras y rotación de contraseña según sea necesario.

Determine dónde se almacenan sus datos (en bases de datos, archivos, servicios de directorio, etc.) y defina políticas de cifrado para garantizar que los datos críticos se cifren tanto en reposo como en tránsito. Aplique políticas para centralizar la gestión y protección de datos, por ejemplo almacenando archivos de usuario en un servidor de archivos central protegido por cifrado y copias de seguridad.

Red y endurecimiento del servidor

El endurecimiento del servidor es el aspecto principal de asegurar una aplicación web. Esto incluye no solo servidores web y servidores de aplicaciones, sino también servidores de bases de datos y archivos, sistemas de almacenamiento en la nube e interfaces con cualquier sistema externo.

Comience eliminando o deshabilitando software y servicios innecesarios (especialmente servicios para compartir archivos como FTP) y cerrando todos los puertos innecesarios. Minimice los canales de acceso administrativo: si solo usa sesiones SSH para administrar un servidor, elimine o deshabilite su interfaz administrativa basada en la web.

La seguridad de la red es otro aspecto crucial del fortalecimiento del sistema. Si su infraestructura utiliza dispositivos de red físicos, cambie todas las configuraciones y credenciales predeterminadas, y asegúrese de que el firmware esté siempre actualizado para minimizar la exposición a errores y vulnerabilidades conocidas. Implemente listas de acceso para bloquear el acceso a los datos y al sistema, y ​​encripte el tráfico cuando sea necesario.

El parcheo oportuno es vital en todos los niveles de software y hardware, así que asegúrese de aplicar siempre los últimos parches de seguridad después de probarlos fuera del entorno de producción. Para mantener los sistemas actualizados, es una buena idea automatizar el proceso de actualización y generar alertas sobre productos desactualizados.

Endurecimiento del sistema operativo

Los sistemas operativos generalmente se suministran con una amplia gama de funcionalidades, controladores, servicios y otros componentes para garantizar un soporte universal.

Cuando se utiliza para ejecutar un servidor, el sistema operativo debe ser reducido para admitir solo un subconjunto especializado de funcionalidad, lo que significa eliminar todo el software, bibliotecas, servicios y controladores innecesarios. Dependiendo de la función del servidor, es posible que deba instalar o habilitar servicios de seguridad, como un antivirus, una herramienta antispyware, un firewall o un sistema de detección de intrusos.

Los ajustes de configuración específicos para fortalecer un servidor Microsoft Windows pueden incluir la desactivación de cuentas de invitados, habilitar el Firewall de Windows, requerir el inicio de sesión para apagar el sistema, o desactivar o restringir el acceso anónimo a los recursos compartidos.

Para un servidor Linux, los pasos de refuerzo pueden incluir crear particiones separadas para montajes críticos, especificar configuraciones de cifrado seguro para sesiones SSH remotas, configurar SELinux, registrar todos los accesos de administrador y raíz, o restringir el acceso del proceso a los volcados de núcleo.

Cómo mantener la ciberseguridad

El fortalecimiento del sistema es un proceso continuo, no es algo que pueda hacer una vez y olvidarse de él. El resultado de su primer esfuerzo de endurecimiento del sistema debería ser una configuración segura básica. Todos los cambios y adiciones a su aplicación web e infraestructura deben ser probados contra esa línea de base para garantizar que todo esté seguro.

El panorama de seguridad web cambia constantemente y diariamente surgen nuevas amenazas y exploits. Combinado con el riesgo de cambios incontrolados del sistema, esto requiere monitoreo y pruebas continuas. Para garantizar la seguridad del sistema, es una buena idea utilizar herramientas de escaneo de vulnerabilidades web y pruebas de penetración de nivel empresarial para ver los puntos débiles de su aplicación como los podría ver un atacante.

Leer también:Los 16 sectores de ciberseguridad de infraestructura crítica; ¿Por qué alguien piratearía mi sitio web?; Seo y seguridad web

This post is also available in: Español