LFCA - Consejos útiles para proteger datos y Linux - Parte 18


Desde su lanzamiento a principios de los noventa, Linux se ha ganado la admiración de la comunidad tecnológica gracias a su estabilidad, versatilidad, personalización y una gran comunidad de desarrolladores de código abierto que trabajan las veinticuatro horas del día para proporcionar correcciones de errores y mejoras a la sistema operativo. En general, Linux es el sistema operativo de elección para la nube pública, servidores y supercomputadoras, y cerca del 75% de los servidores de producción conectados a Internet se ejecutan en Linux.

Además de impulsar Internet, Linux ha encontrado su camino hacia el mundo digital y no ha disminuido desde entonces. Alimenta una amplia gama de dispositivos inteligentes, incluidos teléfonos inteligentes Android, tabletas, relojes inteligentes, pantallas inteligentes y muchos más.

¿Linux es tan seguro?

Linux es conocido por su seguridad de alto nivel y es una de las razones por las que se convierte en una de las opciones favoritas en entornos empresariales. Pero aquí hay un hecho, ningún sistema operativo es 100% seguro. Muchos usuarios creen que Linux es un sistema operativo infalible, lo cual es una suposición falsa. De hecho, cualquier sistema operativo con conexión a Internet es susceptible de posibles infracciones y ataques de malware.

Durante sus primeros años, Linux tenía un grupo demográfico centrado en la tecnología mucho más pequeño y el riesgo de sufrir ataques de malware era remoto. Hoy en día, Linux impulsa una gran parte de Internet, y esto ha impulsado el crecimiento del panorama de amenazas. La amenaza de los ataques de malware es más real que nunca.

Un ejemplo perfecto de un ataque de malware en sistemas Linux es el ransomware Erebus, un malware de cifrado de archivos que afectó a cerca de 153 servidores Linux de NAYANA, una empresa de alojamiento web de Corea del Sur.

Por esta razón, es prudente fortalecer aún más el sistema operativo para brindarle la seguridad tan deseada para salvaguardar sus datos.

Consejos para reforzar el servidor Linux

Asegurar su servidor Linux no es tan complicado como podría pensar. Hemos compilado una lista de las mejores políticas de seguridad que necesita implementar para fortalecer la seguridad de su sistema y mantener la integridad de los datos.

En las etapas iniciales de la violación de Equifax, los piratas informáticos aprovecharon una vulnerabilidad ampliamente conocida, Apache Struts, en el portal web de quejas de clientes de Equifax.

Apache Struts es un marco de código abierto para crear aplicaciones web Java modernas y elegantes desarrolladas por Apache Foundation. La Fundación lanzó un parche para corregir la vulnerabilidad el 7 de marzo de 2017 y emitió una declaración a tal efecto.

Se notificó a Equifax de la vulnerabilidad y se le aconsejó que parcheara su aplicación, pero lamentablemente, la vulnerabilidad permaneció sin parche hasta julio del mismo año, momento en el que ya era demasiado tarde. Los atacantes pudieron acceder a la red de la empresa y filtrar millones de registros confidenciales de clientes de las bases de datos. Para cuando Equifax se enteró de lo que estaba sucediendo, ya habían pasado dos meses.

¿Entonces, qué podemos aprender de esto?

Los usuarios malintencionados o piratas informáticos siempre sondearán su servidor en busca de posibles vulnerabilidades de software que luego puedan aprovechar para violar su sistema. Para estar seguro, actualice siempre su software a sus versiones actuales para aplicar parches a las vulnerabilidades existentes.

Si está ejecutando sistemas basados u200bu200ben Ubuntu o Debian, el primer paso suele ser actualizar sus listas de paquetes o repositorios como se muestra.

$ sudo apt update

Para verificar todos los paquetes con actualizaciones disponibles, ejecute el comando:

$ sudo apt list --upgradable

Actualice sus aplicaciones de software a sus versiones actuales como se muestra:

$ sudo apt upgrade

Puede concatenar estos dos en un comando como se muestra.

$ sudo apt update && sudo apt upgrade

Para RHEL y CentOS, actualice sus aplicaciones ejecutando el comando:

$ sudo dnf update ( CentOS 8 / RHEL 8 )
$ sudo yum update ( Earlier versions of RHEL & CentOS )

Otra opción viable es configurar actualizaciones automáticas para CentOS/RHEL.

A pesar de su soporte para una gran cantidad de protocolos remotos, los servicios heredados como rlogin, telnet, TFTP y FTP pueden plantear enormes problemas de seguridad para su sistema. Se trata de protocolos antiguos, obsoletos e inseguros en los que los datos se envían en texto sin formato. Si existen, considere eliminarlos como se muestra.

Para sistemas basados u200bu200ben Ubuntu/Debian, ejecute:

$ sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server

Para sistemas basados u200bu200ben RHEL/CentOS, ejecute:

$ sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv

Una vez que haya eliminado todos los servicios inseguros, es importante escanear su servidor en busca de puertos abiertos y cerrar los puertos no utilizados que los piratas informáticos pueden usar como punto de entrada.

Suponga que desea bloquear el puerto 7070 en el firewall UFW. El comando para esto será:

$ sudo ufw deny 7070/tcp

Luego, vuelva a cargar el firewall para que los cambios surtan efecto.

$ sudo ufw reload

Para Firewalld, ejecute el comando:

$ sudo firewall-cmd --remove-port=7070/tcp  --permanent

Y recuerda recargar el cortafuegos.

$ sudo firewall-cmd --reload

Luego, verifique las reglas del firewall como se muestra:

$ sudo firewall-cmd --list-all

El protocolo SSH es un protocolo remoto que le permite conectarse de forma segura a dispositivos en una red. Si bien se considera seguro, la configuración predeterminada no es suficiente y se requieren algunos ajustes adicionales para disuadir aún más a los usuarios malintencionados de violar su sistema.

Tenemos una guía completa sobre cómo reforzar el protocolo SSH. Estos son los aspectos más destacados.

  • Configure el inicio de sesión SSH sin contraseña y habilite la autenticación de clave privada/pública.
  • Inhabilite el inicio de sesión de raíz remota SSH.
  • Inhabilite los inicios de sesión SSH de los usuarios con contraseñas vacías.
  • Desactive la autenticación de contraseña por completo y apéguese a la autenticación de clave pública/privada SSH.
  • Limite el acceso a usuarios SSH específicos.
  • Configure un límite para los intentos de contraseña.

Fail2ban es un sistema de prevención de intrusiones de código abierto que protege su servidor de ataques de fuerza bruta. Protege su sistema Linux al prohibir las direcciones IP que indican actividad maliciosa, como demasiados intentos de inicio de sesión. Fuera de la caja, se envía con filtros para servicios populares como el servidor web Apache, vsftpd y SSH.

Tenemos una guía sobre cómo configurar Fail2ban para fortalecer aún más el protocolo SSH.

La reutilización de contraseñas o el uso de contraseñas simples y débiles socava en gran medida la seguridad de su sistema. Si aplica una política de contraseñas, utilice pam_cracklib para establecer o configurar los requisitos de seguridad de la contraseña.

Con el módulo PAM, puede definir la seguridad de la contraseña editando el archivo /etc/pam.d/system-auth. Por ejemplo, puede establecer la complejidad de la contraseña y evitar la reutilización de contraseñas.

Si está ejecutando un sitio web, asegúrese siempre de proteger su dominio mediante un certificado SSL/TLS para cifrar los datos intercambiados entre el navegador de los usuarios y el servidor web.

Una vez que haya encriptado su sitio, considere también deshabilitar los protocolos de encriptación débiles. En el momento de redactar esta guía, el protocolo más reciente es TLS 1.3, que es el protocolo más común y más utilizado. Las versiones anteriores, como TLS 1.0, TLS 1.2 y SSLv1 a SSLv3, se han asociado con vulnerabilidades conocidas.

[También puede interesarle: Cómo habilitar TLS 1.3 en Apache y Nginx]

Ese fue un resumen de algunos de los pasos que puede seguir para garantizar la seguridad y privacidad de los datos para su sistema Linux.