Controles de seguridad para servidores

¿Por qué es importante controlar la seguridad de tu servidor?

Los servidores son los espacios de almacenaje de las bases de datos corporativas, las cuales tienen un papel esencial en la organización de procesos de alojamiento web. Por lo tanto, la funcionalidad del sitio web corporativo depende en gran medida de la disponibilidad de la información que se almacena en dichas bases de datos.

La pérdida de información de las bases de datos puede dar lugar a consecuencias catastróficas para una determinada compañía en el mundo online: caída del sitio web, pérdida de datos de los clientes, mal funcionamiento de la tienda online y las aplicaciones. Así, resulta esencial mantener la máxima seguridad en servidores.

 

¿De qué forma podemos proteger los servidores?

  1. Acceso

Es importante limitar el acceso a la base de datos; lo mejor es otorgar a cada usuario una serie de permisos y privilegios. Sólo determinados usuarios deberían tener acceso a los datos sensibles y a los procedimientos importantes. Es un punto especialmente crítico para mantener la base de datos alejada de cualquier atacante potencial.

  1. Datos sensibles

Otro tip a tener en cuenta para proteger servidor es conocer a ciencia cierta cuál es la información que se debe proteger; de esta manera, todo resulta muchísimo más sencillo. Así, para maximizar la seguridad base de datos, resulta interesante conocer la estructura y la lógica de la misma; de esta manera, una vez identificados los datos sensibles, resulta más fácil comprender dónde y cómo se almacenan.

  1. Anonimizar las bases de datos que no sean productivas

La gran mayoría de las compañías invierten muchísimo tiempo y recursos en brindar la mejor protección a las bases de datos productivas. No obstante, a aquellas que sirven únicamente a modo de prueba se les presta muchísima menos atención.

Pues bien, un buen consejo de seguridad informática corporativa tiene que ver con la anonimización de estas bases de datos. Se trata de crear una versión similar que mantenga la estructura que la original, aunque variando los datos sensibles para que éstos estén protegidos.

  1. Control de la actividad

Por supuesto, para mantener la seguridad en la base de datos es importante llevar un control riguroso de la actividad que gira en torno a ella. Es esencial saber cómo y qué usuario ha manipulado la información para poder detectar cualquier tipo de acción sospechosa en tiempo real.

  1. Información cifrada

Para mantener la máxima seguridad en servidores, un buen consejo es el de utilizar los últimos algoritmos disponibles para cifrar la información ubicada en las bases de datos. Y es que, cuando un hacker consigue tener acceso a un determinado servidor, lo primero que trata de sustraer son las bases de datos almacenadas en el mismo; así, si los datos se vuelven ilegibles, ninguna persona va a poder acceder a ellas sin autorización.

  1. Copia de seguridad

Teniendo en cuenta que las bases de datos juegan un papel protagonista en cualquier proceso de alojamiento web, es esencial realizar copias de seguridad. Es aconsejable realizar periódicamente un back up completo que copie la totalidad de los datos.

  1. Actualización

Para proteger servidor, es indispensable prestar una atención continua al mismo. Hay que tener en cuenta que muchísimos sitios web se encuentran en riesgo de ser hackeados por el simple hecho de que funcionan con un software obsoleto, que no brinda ningún tipo de seguridad. Por lo tanto, es muy importante llevar a cabo todas las actualizaciones disponibles.

  1. Archivos de configuración del servidor

Es importante conocer los archivos de configuración del servidor web en cuestión. Los servidores Apache hacen uso del archivo .htaccess, el cual se encuentra en el directorio web raíz. Pues bien, este archivo te permite ejecutar reglas del servidor.

  1. SSL

Actualmente, resulta esencial instalar el protocolo de seguridad SSL, el cual encripta la comunicación que se da entre el servidor web y el navegador. Un punto especialmente crítico para sitios web de comercio electrónico, en los cuales los usuarios deben introducir información sensible, tanto bancaria como de identificación personal. El cifrado de la información tiene un papel clave ya que impide que un ciberatacante pueda interceptar el tráfico.

  1. Contraseñas

Y, por último, un consejo de seguridad servidores conocido por todos, pero que en muchos casos se obvia y da lugar a innumerables problemas. Es importante establecer contraseñas 100% seguras y, además, cambiarlas de manera regular. Aunque parezca increíble, hay usuarios corporativos que optan por contraseñas tan sencillas como “1234” o “qwerty”; contraseñas muy sencillas de hackear y que es importante evitar.

 

¿Qué controles se pueden implementar?

  1. Llaves SSH

Las llaves SSH son un par de llaves criptográficas que pueden ser usadas para autenticarse en un servidor SSH; es un método alternativo al uso de contraseñas. La creación del par compuesto por llave pública y privada es llevada a cabo como un paso anterior a la autenticación. La llave privada la conserva el usuario de manera secreta y segura, mientras que la llave pública puede ser compartida con otros usuarios sin restricción.

Para configurar la autenticación mediante llaves SSH, debes colocar la llave pública del usuario en un directorio específico dentro del servidor. Cuando el usuario se conecta al servidor, éste requerirá una prueba de que el cliente tiene la llave privada asociada. El cliente SSH hará uso de la llave privada, respondiendo de tal forma que comprobará que se es propietario de la llave privada.

Al usar SSH, cualquier tipo de autentificación, incluyendo la autenticación mediante contraseña, estará totalmente encriptada. Ahora bien, al permitir autenticaciones basadas en contraseñas, usuarios maliciosos podrían realizar intentos repetitivos de acceso al servidor. Gracias al poder computacional actual, es posible acceder a un servidor mediante intentos automáticos de ingreso de contraseñas, una palabra clave tras otra, hasta hallar la que es válida para ese servidor.

 

  1. Cortafuegos

Un cortafuegos es una pieza de software (o hardware) que controla cuáles servicios se encuentran expuestos a la red. Es decir, que bloquean o restringen el acceso a todo puerto exceptuando únicamente aquellos que deben estar habilitados para el público.

El cortafuegos puede asegurar que tu software tiene las restricciones acordes con las anteriores categorías. Los servicios públicos pueden ser abiertos sin restricción y disponibles para todos, por su lado, los servicios privados se pueden restringir basándose en diferentes criterios. Los servicios internos se pueden configurar de tal manera que sean completamente inaccesibles al mundo exterior. Para los puertos que no se encuentren en uso, la configuración más común es un bloqueo completo al acceso.

El cortafuegos es una parte esencial de cualquier configuración de servidores. Incluso en el caso de que tus servicios implementen la seguridad o que estén supeditados solo a las interfaces donde quieres que se ejecuten, un cortafuegos siempre servirá como capa extra de protección.

Un cortafuegos bien configurado restringirá el acceso a todo, exceptuando los servicios específicos que requieres mantener abiertos. Al exponer solo el software necesario, se reducen los puntos en que puede ser atacado tu servidor, limitando así los componentes vulnerables a la explotación.

 

  1. VPN y redes privadas

Las redes privadas son las redes que se encuentran habilitadas únicamente para ciertos usuarios o servidores. Por ejemplo, en DigitalOcean, la red privada está disponible en algunas regiones con la misma amplitud que la red del Centro de Datos.

Una VPN, de la sigla en inglés asociada a Red Privada Virtual, es una de las formas de crear conexiones seguras entre computadores remotos, presentándose como si éstos se encontraran en una red privada local. Esto permite configurar tus servicios como si estuviesen en una red privada, así como de conectar servidores de manera segura.

De ser posible, siempre se prefieren las redes privadas en vez de las públicas, para las comunicaciones internas. Ahora bien, en vista que otros usuarios dentro del Centro de Datos tienen acceso a la misma red, aún debes implementar medidas adicionales para asegurar la comunicación entre tus servidores.

Usar una VPN es, en efecto, una forma de mapear una red privada que solo tus servidores pueden ver. Las comunicaciones serán completamente privadas y seguras. Otras aplicaciones pueden configurarse para llevar su tráfico a la interfaz virtual que el software de la VPN expone. De esta forma, solo los servicios que fueron diseñados para ser consumidos por los clientes en el internet público necesitarán ser expuestos en la red pública.

  1. Infraestructura de llaves públicas y encripción SSL/TLS

La Infraestructura de Llaves Públicas o PKI, por su sigla en inglés, se refiere a un sistema diseñado para crear, administrar y validar certificados que identifiquen individuos y encripta la comunicación. Los certificados SSL o TLS pueden ser usados para autenticar diferentes entidades entre sí. Cuando la autentificación se ha llevado a cabo, también pueden ser usados para establecer una comunicación encriptada.

Establecer una autoridad certificadora y administrar certificados para tus servidores permite a cada una de las entidades dentro de tu infraestructura validar la identidad de otros miembros y encriptar su tráfico. Esto puede prevenir ataques de intermediario, donde un atacante imita un servidor de su infraestructura con el ánimo de interceptar tráfico.

Cada servidor puede configurarse para confiar en una autoridad certificadora central. De ese punto en adelante, se confiará implícitamente en cualquier certificado firmado por esa autoridad. En caso que las aplicaciones y protocolos que uses para la comunicación soporten encriptación TLS/SSL, se puede ahorrar el exceso de información generado por un túnel VPN (que con frecuencia usa SSL internamente).