GNU/Linux >> Tutoriales Linux >  >> Linux

6 herramientas de código abierto y consejos para asegurar un servidor Linux para principiantes

Debido a que gran parte de nuestra información personal y profesional está disponible en línea hoy en día, es importante que todos, desde los profesionales hasta los usuarios generales de Internet, aprendan los conceptos básicos de seguridad y privacidad. Como estudiante, pude adquirir experiencia en esta área a través de la iniciativa CyberPatriot de mi escuela, donde tuve la oportunidad de interactuar con expertos de la industria para aprender sobre las infracciones cibernéticas y los pasos básicos para establecer la seguridad de un sistema.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Este artículo detalla seis pasos simples para mejorar la seguridad de su entorno Linux para uso personal, según lo que he aprendido hasta ahora como principiante. A lo largo de mi viaje, he utilizado herramientas de código abierto para acelerar mi proceso de aprendizaje y familiarizarme con conceptos de alto nivel relacionados con la seguridad de mi servidor Linux.

He probado estos pasos con Ubuntu 18.04, la versión con la que estoy más familiarizado, pero estos pasos también funcionarán para otras distribuciones de Linux.

1. Ejecutar actualizaciones

Los desarrolladores buscan constantemente formas de hacer que los servidores sean más estables, rápidos y seguros parcheando las vulnerabilidades conocidas. Ejecutar actualizaciones regularmente es un buen hábito para maximizar la seguridad. Ejecutarlos con:

sudo apt-get update && apt-get upgrade

2. Habilitar la protección del cortafuegos

Habilitar un firewall facilita el control del tráfico entrante y saliente en su servidor. Hay muchas aplicaciones de firewall que puede usar en Linux, incluidos firewall-cmd y Uncomplicated Firewall (UFW). Uso UFW, por lo que mis ejemplos son específicos, pero estos principios se aplican a cualquier interfaz que elijas.

Instalar UFW:

sudo apt-get install ufw

Si desea proteger aún más su servidor, puede denegar las conexiones entrantes y salientes. Tenga cuidado:esto desconecta su servidor del mundo, por lo que una vez que haya bloqueado todo el tráfico, debe especificar qué conexiones salientes están permitidas desde su sistema:

sudo ufw default deny incoming
sudo ufw default allow outgoing

También puede escribir reglas para permitir las conexiones entrantes que necesita para uso personal:

ufw allow <service>

Por ejemplo, para permitir conexiones SSH:

ufw allow ssh

Finalmente, habilite su firewall con:

sudo ufw enable

3. Reforzar la protección con contraseña

La implementación de una política de contraseñas seguras es un aspecto importante para mantener un servidor seguro contra ataques cibernéticos y filtraciones de datos. Algunas mejores prácticas para las políticas de contraseñas incluyen hacer cumplir una longitud mínima y especificar la antigüedad de la contraseña. Uso el paquete libpam-cracklib para realizar estas tareas.

Instale el paquete libpam-cracklib:

sudo apt-get install libpam-cracklib

Para hacer cumplir la longitud de la contraseña:

  • Abra /etc/pam.d/common-password archivo.
  • Cambie la longitud mínima de caracteres de todas las contraseñas cambiando minlen=12 línea a la cantidad de caracteres que desee.

Para evitar la reutilización de la contraseña:

  • En el mismo archivo (/etc/pam.d/common-password ), agregue la línea remember=x .
  • Por ejemplo, si desea evitar que un usuario reutilice una de sus últimas cinco contraseñas, use:remember=5 .

Para hacer cumplir la antigüedad de la contraseña:

  • Encuentre las siguientes líneas en /etc/login.defs archivo y reemplácelos con la cantidad de tiempo que prefiera (días). Por ejemplo:
    PASS_MIN_AGE: 3
    PASS_MAX_AGE: 90
    PASS_WARN_AGE: 14

Para hacer cumplir las especificaciones de caracteres:

  • Los cuatro parámetros para hacer cumplir las especificaciones de caracteres en las contraseñas son lcredit (minúsculas), ucredit (mayúsculas), dcredit (dígito) y ocredit (otros personajes).
  • En el mismo archivo (/etc/pam.d/common-password ), busque la línea que contiene pam_cracklib.so .
    • Agregue lo siguiente al final de esta línea:
      lcredit=-a ucredit=-b dcredit=-c ocredit=-d
    • Por ejemplo, la siguiente línea requiere que las contraseñas contengan una de cada parámetro. Puede cambiar los números según su nivel preferido de seguridad de contraseña:
      lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

4. Deshabilite los servicios no esenciales que son propensos a la explotación

Es una buena práctica deshabilitar los servicios innecesarios. Esto permite que haya menos puertos abiertos para la explotación.

Instale el paquete systemd:

sudo apt-get install systemd

Ver qué servicios se están ejecutando:

systemctl list-units

Reconozca qué servicios podrían causar vulnerabilidades potenciales en su sistema. Para cada servicio:

  • Detenga el servicio si se está ejecutando actualmente:
    systemctl stop <service>
  • Deshabilitar el servicio para que no se inicie en el arranque:
    systemctl disable <service>
  • Después de ejecutar estos comandos, verifique el estado del servicio:
    systemctl status <service>

5. Buscar puertos de escucha

Los puertos abiertos pueden presentar riesgos de seguridad, por lo que es importante verificar los puertos que están escuchando en su servidor. Uso el comando netstat para mostrar todas las conexiones de red:

netstat -tulpn

Mire las columnas de dirección para determinar el número de puerto. Una vez que haya encontrado los puertos abiertos, revíselos para asegurarse de que sean todos necesarios. Si no es así, ajuste los servicios que tiene en ejecución o ajuste la configuración de su cortafuegos (o deje que fail2ban lo ajuste por usted).

6. Analizar en busca de malware

El software de escaneo antivirus puede ser útil para mantener los virus fuera de su sistema. Usarlos es una forma sencilla de mantener su servidor libre de malware. Mi herramienta preferida es el software de código abierto ClamAV.

Instalar ClamAV:

sudo apt-get install clamav

Actualizar firmas de virus:

sudo freshclam

Escanee todos los archivos e imprima los archivos infectados, haciendo sonar una campana cuando encuentre uno:

sudo clamscan -r --bell -i /

Puede y debe automatizar los escaneos para que no tenga que recordar o perder tiempo haciéndolos manualmente. Para una automatización simple como esta, puede usar los temporizadores systemd o su cron favorito.

Mantenga su servidor seguro

No podemos dejar la responsabilidad de asegurar los servidores a una sola persona u organización. A medida que el panorama de amenazas continúa expandiéndose rápidamente, depende de cada uno de nosotros ser conscientes de la importancia de la seguridad del servidor y emplear algunas prácticas recomendadas de seguridad simples y efectivas.

Estos son solo algunos de los muchos pasos que puede seguir para mantener seguro su servidor Linux. Por supuesto, la prevención es solo una parte de la solución. Estas políticas deben combinarse con una supervisión rigurosa de los ataques de denegación de servicio, análisis del sistema con Lynis y creación de copias de seguridad frecuentes.

¿Qué herramientas de código abierto utiliza para mantener su servidor seguro? Cuéntanos sobre ellos en los comentarios.


Linux
  1. Herramientas y consejos de código abierto para mejorar el rendimiento de su PC con Linux

  2. 12 libros de ficción para Linux y fanáticos del código abierto

  3. Las mejores herramientas de Linux para escritores

  4. Conversores de vídeo de código abierto para Linux [GUI y CLI]

  5. Pitivi:un editor de video gratuito y de código abierto para Linux

Accesos directos del editor Linux VI, consejos y trucos de productividad para principiantes

Una lista definitiva de los mejores blogs de Linux para principiantes y profesionales

Las 10 mejores herramientas de reconocimiento de voz de código abierto para Linux

Las 10 herramientas de navegación de archivos de código abierto para el sistema Linux

Las 10 principales herramientas de seguimiento de errores y problemas de código abierto para Linux

10 editores de subtítulos gratuitos y de código abierto para Linux en 2022