LFCA: Consejos básicos de seguridad para proteger el sistema Linux – Parte 17

Ahora más que nunca, vivimos en un mundo donde las organizaciones son constantemente bombardeadas por violaciones de seguridad motivadas por la adquisición de datos altamente sensibles y confidenciales que son muy valiosos y conllevan una gran recompensa financiera.

Es bastante sorprendente que a pesar de estar en alto riesgo de sufrir un ciberataque potencialmente devastador, la mayoría de las empresas no están bien preparadas o simplemente pasan por alto las señales de alerta, a menudo con consecuencias devastadoras.

En 2016, Equifax sufrió una catastrófica violación de datos donde millones de registros de clientes altamente confidenciales fueron robados tras una serie de fallas de seguridad. Un informe detallado indicó que la violación podría haberse evitado si el equipo de seguridad de Equifax hubiera implementado las medidas de seguridad adecuadas.

De hecho, meses antes de la violación, Equifax fue advertido sobre una posible vulnerabilidad en su portal web que comprometería su seguridad, pero lamentablemente, la advertencia fue ignorada con graves consecuencias. Muchas otras grandes corporaciones han sido víctimas de ataques, los cuales continúan creciendo en complejidad con cada momento que pasa.

No podemos enfatizar lo suficiente la importancia de la seguridad de su sistema Linux. Es posible que no sea una institución financiera de alto perfil que sea un objetivo potencial para violaciones, pero eso no significa que deba bajar la guardia.

La seguridad debe ser una prioridad al configurar su servidor Linux, especialmente si estará conectado a Internet y será accesible de forma remota. Tener habilidades básicas de seguridad es esencial para proteger su servidor Linux.

En esta guía, nos enfocamos en algunas medidas básicas de seguridad que puede tomar para proteger su sistema de intrusos.

Vectores de Ataque Cibernético

Los intrusos aprovecharán una variedad de técnicas de ataque para acceder a su servidor Linux. Antes de sumergirnos en algunas de las medidas que puede tomar para proteger su sistema, exploremos algunos de los vectores de ataque comunes que un hacker puede usar para infiltrarse en sistemas.

1. Ataques de Fuerza Bruta

A brute-force attack is an attack where the hacker uses trial and error to guess the login credentials of the user. Usually, the intruder will use automated scripts to continuously gain entry until the right combination of the username and password is obtained. This kind of attack is most effective where weak & easily guessable passwords are used.

2. Credenciales Débiles

Como se mencionó anteriormente, las credenciales débiles como contraseñas cortas y fácilmente predecibles como password1234 representan un riesgo potencial para su sistema. Cuanto más corta y menos compleja sea una contraseña, mayor será la probabilidad de que su sistema sea comprometido.

3. Phishing

Phishing es una técnica de ingeniería social donde el atacante envía al usuario un correo electrónico que parece provenir de una institución legítima o de alguien que conoce o con quien hace negocios.Por lo general, el correo electrónico contiene instrucciones que incitan al usuario a divulgar información sensible o puede contener un enlace que los dirige a un sitio falso que se hace pasar por el sitio de la empresa. Una vez que el usuario intenta iniciar sesión, sus credenciales son capturadas por el atacante.

Por lo general, el correo electrónico contiene instrucciones que incitan a la víctima a divulgar información confidencial o puede contener un enlace que los dirige a un sitio falso que se hace pasar por el sitio de la empresa. Una vez que la víctima intenta iniciar sesión, sus credenciales son capturadas por el atacante.

4. Malware

Malware es la abreviatura de software malicioso. Incluye una amplia gama de aplicaciones maliciosas, como virus, troyanos, gusanos y ransomware, que están diseñadas para propagarse rápidamente y mantener el sistema de la víctima como rehén a cambio de un rescate.

Estos ataques pueden ser paralizantes y pueden paralizar los negocios de una organización. Algunos malware pueden ser inyectados en documentos como imágenes, videos, Word o documentos de PowerPoint y empaquetados en un correo electrónico de phishing.

5. Ataques de denegación de servicio (DoS)

A DoS attack is an attack that limits or impacts the availability of a server or computer system. The hacker floods the server with traffic or ping packets that render the server inaccessible to users for prolonged durations.

A DDoS (Distributed Denial of Service) attack is a kind of DoS that employs multiple systems that flood a target with traffic rendered it unavailable.

6. Ataque de inyección de SQL

Un acrónimo para Lenguaje de Consulta Estructurada, SQL es un lenguaje utilizado para comunicarse con bases de datos. Permite a los usuarios crear, eliminar y actualizar registros en la base de datos. Muchos servidores almacenan datos en bases de datos relacionales que utilizan SQL para interactuar con la base de datos.

Un ataque de inyección de SQL aprovecha una vulnerabilidad SQL conocida que hace que el servidor divulgue información confidencial de la base de datos que de otro modo no lo haría al inyectar código SQL malicioso. Esto representa unriesgo enorme si la base de datos almacena información personal identificable, como números de tarjeta de crédito, números de seguridad social y contraseñas.

7. Ataque de hombre en el medio

Comúnmente abreviado como MITM, el ataque man-in-the-middle implica que un atacante intercepte información entre dos puntos con el objetivo de espiar o modificar el tráfico entre las dos partes. El objetivo es espiar al víctima, corromper los datos o robar información sensible.

Consejos básicos para proteger tu servidor Linux

Después de analizar las posibles vías que un atacante puede utilizar para vulnerar tu sistema, repasemos algunas de las medidas fundamentales que puedes tomar para proteger tu sistema.

1. Seguridad física

No se le da mucha importancia al lugar físico y la seguridad de tu servidor, sin embargo, si vas a tener tu servidor en un entorno local, este suele ser el punto de partida.

Es importante asegurarse de que tu servidor esté de forma segura en un centro de datos con energía de respaldo, conectividad a Internet redundante y suficiente refrigeración. El acceso al centro de datos debe estar limitado solo a personal autorizado.

2. Actualiza los repositorios y paquetes de tu sistema

Una vez que el servidor esté configurado, el primer paso a tomar es actualizar los repositorios y paquetes de software de aplicaciones de la siguiente manera. Actualizar el paquete corrige cualquier hueco de seguridad que pueda presentar en las versiones existentes de aplicaciones.

Para distribuciones Ubuntu / Debian:

$ sudo apt update -y
$ sudo apt upgrade -y

Para distribuciones RHEL / CentOS:

$ sudo yum upgrade -y

3. Habilita un firewall

A firewall is an application that filters incoming and outgoing traffic. You need to install a robust firewall such as the UFW firewall and enable it to only allow the required services and their corresponding ports.

Por ejemplo, puedes instalarlo en Ubuntu usando el comando:

$ sudo apt install ufw

Una vez instalado, habilítelo de la siguiente manera:

$ sudo ufw enable

Para permitir un servicio como HTTPS, ejecute el comando;

$ sudo ufw allow https

Alternativamente, puede permitir su puerto correspondiente que es 443.

$ sudo ufw allow 443/tcp

Luego, recargue para que los cambios surtan efecto.

$ sudo ufw reload

Para verificar el estado de su firewall, incluidos los servicios permitidos y los puertos abiertos, ejecute

$ sudo ufw status

4. Apague Servicios/Puertos Innecesarios

Además, considere apagar cualquier servicio o puerto innecesario en el firewall. Tener múltiples puertos que no se están utilizando solo aumenta el panorama de ataque.

5. Protocolo SSH Seguro

Las configuraciones predeterminadas de SSH no son seguras, por lo que se requieren algunos ajustes. Asegúrese de imponer las siguientes configuraciones:

Para el primer punto, edite el archivo /etc/ssh/sshd_config y modifique los siguientes parámetros para que aparezcan como se muestra.

PermitRootLogin no

Una vez que deshabilite al usuario raíz para iniciar sesión de forma remota, cree un usuario regular y asigne privilegios de sudo. Por ejemplo.

$ sudo adduser user 
$ sudo usermod -aG sudo user 

Para habilitar la autenticación sin contraseña, primero dirígete a otra PC Linux, preferiblemente tu PC, y genera un par de claves SSH.

$ ssh-keygen

Luego copia la clave pública en tu servidor

$ ssh-copy-id user@server-IP

Una vez que hayas iniciado sesión, asegúrate de deshabilitar la autenticación de contraseña editando el archivo /etc/ssh/sshd_config y modificando el parámetro mostrado.

PasswordAuthentication no

Ten cuidado de no perder tu clave privada SSH, ya que es la única forma en que puedes iniciar sesión. Mántenla segura y, preferiblemente, haz una copia de seguridad en la nube.

Finalmente, reinicia SSH para aplicar los cambios

$ sudo systemctl restart sshd
Resumen

En un mundo con amenazas cibernéticas en constante evolución, la seguridad debe ser una prioridad alta a medida que te embarcas en la configuración de tu servidor Linux. En esta guía, hemos destacado algunas de las medidas básicas de seguridad que puedes tomar para fortalecer tu servidor. En el próximo tema, profundizaremos y veremos pasos adicionales que puedes tomar para endurecer tu servidor.

Source:
https://www.tecmint.com/basic-linux-security-tips/