Module 09: Administrative Application Security

Implantar listas blancas y negras de aplicaciones

La implantación de listas blancas y negras de aplicaciones es una práctica común en el ámbito de la ciberseguridad para proteger los sistemas informáticos contra la ejecución de software malicioso y evitar posibles brechas de seguridad.

La lista más restrictiva es la whitelisting, que permite solo la ejecución de programas específicos que han sido previamente autorizados. Es decir, solo los programas que están en la lista blanca tienen permiso para ejecutarse en un sistema, mientras que el resto son bloqueados automáticamente. Esto ayuda a proteger el sistema de posibles amenazas que pueden provenir de programas desconocidos.

Por otro lado, la lista negra o blacklisting consiste en bloquear la ejecución de programas que están en una lista de programas maliciosos o no deseados. Los programas en la lista negra son bloqueados automáticamente, pero cualquier otro programa que no esté en la lista negra puede ser ejecutado en el sistema.

La implementación de la lista blanca puede ser más efectiva que la lista negra porque es más restrictiva, y por lo tanto, puede prevenir la ejecución de programas maliciosos que todavía no están incluidos en las listas negras.

Para implementar la lista blanca, se pueden utilizar tecnologías de control de aplicaciones o programas de whitelisting. Estos programas permiten a los administradores de sistemas especificar qué aplicaciones tienen permiso para ejecutarse en un sistema y bloquear automáticamente cualquier aplicación que no esté en la lista blanca.

Para establecer la lista blanca, se pueden utilizar diferentes tipos de reglas de políticas de restricción de software, como las siguientes:

  1. Reglas de ruta o Path rules: permiten especificar la ubicación exacta de un archivo ejecutable.
  2. Reglas de hash o Hash rules: permiten identificar un archivo ejecutable según su hash criptográfico.
  3. Reglas de certificado o Certificate rules: permiten identificar un archivo ejecutable según su firma digital.
  4. Reglas de zona de internet o Internet zone rules: permiten especificar si un archivo se puede ejecutar o no en función de la zona de Internet en la que se encuentra.

Es importante destacar que las reglas de deny o negación tienen más prioridad que las reglas de permitir o allow. Esto significa que si un programa está en la lista negra, será bloqueado incluso si está en la lista blanca.

Algunos ejemplos de programas que pueden ser autorizados en la lista blanca incluyen el software de seguridad, aplicaciones empresariales y programas de productividad. En cambio, en la lista negra pueden estar programas como el malware, ransomware, spyware y otros programas maliciosos.

En resumen, las listas blancas y negras de aplicaciones son herramientas importantes para garantizar la seguridad en los sistemas informáticos. La implantación de la lista blanca puede ser más efectiva que la lista negra debido a su naturaleza restrictiva, pero es importante tener en cuenta que ambas prácticas pueden ser utilizadas conjuntamente para reforzar la seguridad de un sistema.

Implantar el aislamiento de aplicaciones

El término Sandbox o Sandboxing hace referencia a un entorno controlado, que funciona como un «cajón de arena» para ejecutar programas con seguridad y fuera del sistema operativo principal. Este entorno permite controlar a detalle los recursos proporcionados a los programas, como el espacio temporal en discos o memoria, evitando que puedan acceder a recursos críticos del sistema operativo o a otros programas.

En la seguridad informática, el Sandboxing se utiliza para ejecutar programas de terceros, que no se han probado o que no se confía en ellos. Además, proporciona una capa adicional de seguridad que protege tanto a las aplicaciones como al sistema de las aplicaciones maliciosas.

En términos de aplicación, el Sandboxing se utiliza para aislar las aplicaciones en un entorno controlado, de modo que no puedan acceder a los recursos del sistema operativo o de otras aplicaciones. Este tipo de aislamiento se utiliza para garantizar la seguridad de la aplicación y para evitar que se produzcan fallos de seguridad en el sistema.

Entre los ejemplos de Sandboxing, se encuentran los applets, que son programas que se ejecutan en contención dentro de una máquina virtual o un intérprete de scripts. Los applets son comunes en los navegadores web y los más reconocidos son Adobe Flash, Java y Silverlight.

Otro ejemplo de Sandboxing es el entorno de ejecución de Android, que utiliza el principio de Sandboxing para aislar las aplicaciones del sistema operativo y entre sí. Cada aplicación se ejecuta en un entorno aislado, lo que significa que no puede acceder a los datos de otras aplicaciones ni a los recursos del sistema.

Los antivirus también utilizan la técnica de Sandboxing para ejecutar programas sospechosos en un entorno controlado y analizar su comportamiento, antes de permitir que se ejecuten en el sistema principal.

El Sandboxing también se utiliza en la nube, para garantizar la seguridad de los datos de los clientes y evitar que una aplicación maliciosa acceda a otros recursos del sistema en la nube.

En resumen, el Sandboxing es una técnica que se utiliza para aislar programas en un entorno controlado, de modo que no puedan acceder a los recursos del sistema operativo o de otras aplicaciones. Esta técnica proporciona una capa adicional de seguridad y se utiliza para ejecutar programas de terceros, para garantizar la seguridad de las aplicaciones y para evitar que se produzcan fallos de seguridad en el sistema.

  • Windows Sandbox: Es una característica incorporada en Windows 10 que permite a los usuarios ejecutar aplicaciones en un entorno aislado para proteger el sistema operativo. Funciona como una máquina virtual ligera y permite a los usuarios instalar software y archivos sin afectar al sistema operativo.
  • Docker: Es una plataforma de virtualización de contenedores que permite a los desarrolladores crear aplicaciones en un entorno de sandbox aislado. Los contenedores de Docker son ligeros y portátiles, lo que los hace ideales para el desarrollo y la implementación de aplicaciones en diferentes plataformas.
  • Android Sandbox: Android Sandbox es una función de seguridad integrada en los dispositivos Android que aísla las aplicaciones de terceros del resto del sistema operativo. Las aplicaciones en el sandbox solo tienen acceso a los recursos que se les han otorgado específicamente, lo que las protege de posibles amenazas.
  • Sandboxie: Es una herramienta de sandboxing que permite a los usuarios ejecutar aplicaciones en un entorno aislado en su PC. Sandboxie crea un espacio de trabajo virtual para las aplicaciones, lo que evita que afecten el sistema operativo y los datos del usuario.
  • Firejail: Es una herramienta de sandboxing que permite a los usuarios ejecutar aplicaciones en un entorno aislado en Linux. Firejail utiliza tecnología de contenedores para separar las aplicaciones de otras partes del sistema operativo, lo que protege el sistema de posibles amenazas.

Implantar la gestión de parches de aplicaciones

La gestión de parches de aplicaciones es una práctica importante para mantener la seguridad y estabilidad de los sistemas informáticos. Identificar parches faltantes y aplicar los parches correctos regularmente permite a los defensores de la red mantener las aplicaciones actualizadas y protegerlas contra vulnerabilidades conocidas.

Una vulnerabilidad de software es una debilidad en un programa que puede ser explotada por un atacante para realizar una acción no autorizada. Los parches de seguridad se emiten para corregir estas vulnerabilidades y proteger los sistemas de posibles ataques.

La gestión de parches de aplicaciones también puede ayudar a cumplir con las regulaciones y estándares de seguridad, como el Reglamento General de Protección de Datos (GDPR) o el estándar de seguridad de la información ISO 27001.

Existen diversas herramientas para la gestión de parches de aplicaciones, tanto gratuitas como de pago. Algunas de estas herramientas incluyen:

  1. Microsoft WSUS (Windows Server Update Services): una herramienta gratuita para administrar actualizaciones de seguridad para productos de Microsoft.
  2. SCCM (System Center Configuration Manager): una solución de administración de endpoints de pago que incluye capacidades de gestión de parches.
  3. Ivanti Patch Manager: una solución de gestión de parches de pago que admite una amplia variedad de sistemas operativos y aplicaciones de terceros.
  4. SolarWinds Patch Manager: una solución de gestión de parches de pago que también admite una amplia variedad de sistemas operativos y aplicaciones de terceros.

Es importante tener en cuenta que la gestión de parches de aplicaciones no es una tarea única y debe ser una práctica continua. Las actualizaciones de software se emiten regularmente, por lo que es fundamental contar con un proceso de gestión de parches estructurado para mantener los sistemas actualizados.

En resumen, la gestión de parches de aplicaciones es crucial para proteger los sistemas informáticos contra vulnerabilidades conocidas y asegurar el cumplimiento de las regulaciones y estándares de seguridad. Hay muchas herramientas disponibles para facilitar la gestión de parches, y es importante implementar un proceso estructurado y continuo para mantener los sistemas actualizados.

Implantar cortafuegos de aplicaciones web

Los firewalls de aplicaciones web (WAF) son herramientas de seguridad críticas para proteger las aplicaciones web de ataques maliciosos. Algunos ejemplos de WAFs populares incluyen:

  1. ModSecurity: es un WAF de código abierto ampliamente utilizado que se ejecuta como un módulo de Apache o Nginx. ModSecurity utiliza reglas personalizables para detectar y bloquear una amplia variedad de ataques web.
  2. Barracuda Web Application Firewall: es una solución de WAF de nivel empresarial que se puede implementar tanto en la nube como en hardware dedicado. Ofrece protección contra amenazas avanzadas, incluyendo inyección SQL, XSS y CSRF.
  3. Cloudflare Web Application Firewall: es un WAF basado en la nube que protege contra una variedad de ataques, como DDoS, inyección SQL y scripts entre sitios. Cloudflare WAF utiliza una tecnología llamada «Managed Ruleset» que actualiza automáticamente las reglas de seguridad para mantenerse al día con las amenazas emergentes.

Las WAFs pueden ser implementadas de dos maneras: con HTTPS y con HTTP. La opción HTTPS es la más recomendada ya que protege la comunicación desde el servidor web al usuario final. En cambio, si se utiliza HTTP, la comunicación desde el WAF al usuario final no está encriptada, lo que deja el tráfico vulnerable a ataques.

En resumen, los WAFs son una herramienta esencial para proteger las aplicaciones web y los servidores contra ataques maliciosos. Los WAFs como ModSecurity, Barracuda Web Application Firewall y Cloudflare Web Application Firewall son solo algunos ejemplos de soluciones WAF efectivas que se pueden implementar. Es importante elegir la solución adecuada para su entorno y asegurarse de que se estén utilizando las mejores prácticas para garantizar la seguridad de las aplicaciones web y los datos de los usuarios.

Scroll al inicio