El mundo de la seguridad informática está creciendo, y puede que te preguntes por dónde empezar, cómo hacerlo, qué necesitas, por qué lo necesitas, etc. Antes de hacer cualquier otra cosa, debemos seguir las siguientes buenas prácticas:

Inventario de activos

Esta es la base fundamental de todo programa de seguridad. Sin él, las demás buenas prácticas de este artículo serán menos eficaces.

¿Qué se considera un “activo” desde el punto de vista de la seguridad? Para empezar, cualquier tipo de sistema electrónico accesible a través de la red, dato o software, ya sea en local, en red o en la nube.

Debes saber qué activos tienes, dónde están en tu red, qué software y configuraciones hay en ellos, y qué usuarios y sistemas tienen acceso a ellos. 

Si tu inventario de activos tiene lagunas, eso significa que tu programa de seguridad también los tendrá. Si todos los portátiles tienen activado el cifrado de disco completo pero el equipo de TI no sabe de los cinco portátiles nuevos recursos humanos acaba de comprar utilizando una tarjeta de crédito corporativa, entonces es probable que no se cifren (esto es lo que se conoce como “shadow IT”, los dispositivos en la sombra.

Existe software de escaneo de redes y vulnerabilidades que puede ayudar a mantener e identificar las lagunas en el inventario de activos de su organización. El uso de una combinación de escaneos de red y agentes de punto final ayudará a proporcionar datos de activos detallados y casi en tiempo real para su inventariado. 

Autenticación multifactorial

Todo buen programa de seguridad comienza con la autenticación multifactorial para acceder a datos personales o empresariales críticos. Las formas de autenticación se dividen en tres categorías:

Algo que conoces: Una contraseña, por ejemplo

Algo tienes: todo el mundo tiene ya un teléfono.

Algo que eres: Una huella dactilar, identificación facial…

Las contraseñas son por defecto lo más vulnerable: pueden ser robadas a través de ataques de phishing, pueden tratar de adivinarlas, colarte malware o software espía, por ejemplo. Al utilizar solo una contraseña para salvaguardar tus datos, un atacante sólo tiene que pasar por un aro para comprometer tu cuenta. Requerir múltiples formas de autenticación para los usuarios hace que obtener las credenciales de usuario (y por lo tanto el acceso) sea mucho más difícil y costoso para los atacantes.

Una cosa importante a tener en cuenta aquí es que requerir dos formas de autenticación de la misma categoría no será suficiente desde el punto de vista de la seguridad. Por ejemplo, si se exige a los usuarios que introduzcan una contraseña y luego respondan a una pregunta de seguridad, como “¿Cuál es el nombre de soltera de su madre?”, eso no cuenta como autenticación de dos factores. Dado que ambas cosas son “algo que se sabe”, se trata simplemente de una autenticación de factor único, dos veces. Sin embargo, sí cuenta el requerir una contraseña (algo que se sabe) y luego un código de 6 dígitos generado por una aplicación en un smartphone (algo que se tiene).

Gestión de actualizaciones

La gestión de parches: asegurarse de que todo el software está actualizado, instalado y configurado correctamente. Esto implica obtener, probar e instalar parches (es decir, actualizaciones de software) en los sistemas y dispositivos de tu organización. Para hacerlo con eficacia, tendrás que estar continuamente al tanto de los parches disponibles, determinar qué parches son necesarios en qué sistemas, supervisar su instalación y comprobar si hay problemas después de la instalación. Esto se suele gestionar como una asociación entre los equipos de TI y DevOps, en contraposición al equipo de seguridad.

La gestión de parches está estrechamente relacionada con la gestión de vulnerabilidades, es decir, el proceso de determinar si existe alguna vulnerabilidad en el entorno de TI. Hay tres elementos detrás de la gestión de parches: priorizar la corrección de vulnerabilidades, evaluar los controles compensatorios o salvaguardas (las técnicas o sistemas de seguridad existentes que reducen el riesgo de una vulnerabilidad) y asegurarse de que cualquier parche que se aplique se instale correctamente.

La aplicación de un parche a veces rompe otra parte del software que se está utilizando, causando más daño que beneficio. Comprender este riesgo inherente desempeñará un papel importante en la forma de priorizar los parches. En el caso de que un parche rompa algún software, lo que le obligará a eliminar el parche, tener salvaguardas en su lugar hará más difícil para un atacante explotar cualquier vulnerabilidad que vuelva a surgir. Un ejemplo de salvaguarda que se podría poner en marcha incluye la implementación de reglas de cortafuegos que limiten el número de sistemas que pueden comunicarse con un sistema vulnerable que no puede ser parcheado fácilmente.

Para ayudar a mitigar las posibles consecuencias, prueba los parches en sistemas no críticos o en entornos de prueba que reflejen tu entorno de producción antes de instalar los parches en todo el sistema

Descentralización

La descentralización es un concepto que implica mantener los datos y servicios repartidos por tus redes y en la nube para garantizar que si un usuario o servidor de la red de tu organización se ve comprometido, el atacante no tendrá necesariamente acceso a los datos adicionales de la empresa que están almacenados en el resto de las redes y servicios. 

Por ejemplo, si un atacante encuentra la forma de entrar en uno de los sistemas de archivos compartidos internos de la oficina en un entorno descentralizado, probablemente sólo podrá acceder a los archivos compartidos de esa oficina, pero no necesariamente a todos los archivos de tu proveedor de almacenamiento en la nube. Sin embargo, si tienes un entorno centralizado y un atacante compromete un servidor, puede encontrar la manera de pasar fácilmente de ese servidor a otros sistemas y datos de la empresa, como los servidores de correo electrónico, los estados financieros o los directorios de los usuarios. 

La descentralización ofrece dos ventajas:

  1. Un buen proceso de gestión de servicios: si tienes un equipo de seguridad pequeño o de tamaño moderado, puede ser increíblemente difícil supervisar las docenas de aplicaciones en la nube que utiliza tu empresa. Por suerte, los proveedores de servicios en la nube bien establecidos suelen invertir mucho en sus propios equipos y programas de seguridad, centrados en proteger su entorno en profundidad. Mantener la aplicación del proveedor separada del resto de su red permite a tu equipo de seguridad centrarse en el entorno principal de su organización, mientras que el equipo de seguridad del proveedor puede centrarse en proteger la aplicación o el servicio que alojan en su nombre.
  1. Contener el impacto de una brecha si una aplicación o usuario específico se ve comprometido: si una aplicación del proveedor se ve comprometida en un entorno descentralizado, eso significa que el impacto de la violación se limita a esa aplicación o proveedor. Esto hace más difícil, pero no imposible como se ha visto en los recientes ataques, que un atacante acceda al resto de sus sistemas e información. Cuanto más difícil le resulte a un atacante llegar a un servidor central, más tiempo y dinero necesitará invertir en el ataque, y más probable será que lo abandone o que lo descubran.

Segmentación de la red

La segmentación de la red lleva la descentralización un paso más allá: es el concepto de averiguar qué sistemas y dispositivos de la red deben comunicarse entre sí y, a continuación, permitir que sólo esos sistemas se comuniquen entre sí y nada más.

Por ejemplo, pensemos en una enfermera que trabaja con un portátil del hospital. En una red segmentada de forma segura, el portátil sólo podría hablar con uno o dos sistemas más, como un servidor de impresión y la propia aplicación de registro de pacientes. Sin embargo, en una “red plana”, es decir, una red sin segmentación entre sistemas, este portátil podría hablar con cualquier otro sistema de la red. Si un atacante pone en peligro ese portátil, podrá atacar todos los demás sistemas de la red mediante un movimiento lateral completamente incontrolado.

Para segmentar su red de forma efectiva, es esencial hacer un inventario de activos más críticos, que comprenda dónde se encuentran en la red y qué sistemas y usuarios pueden acceder a ellos. Si los activos son accesibles por más sistemas y usuarios de los indispensables, eso debe ser remediado. El acceso debe concederse siempre en base al principio del mínimo privilegio para minimizar la superficie de ataque global de un sistema o aplicación. También hay que asegurarse de que nada en la red pueda comunicarse directamente con los servidores de bases de datos, que es donde suelen almacenarse los datos críticos de las aplicaciones.