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ínearemember=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) yocredit
(otros personajes). - En el mismo archivo (
/etc/pam.d/common-password
), busque la línea que contienepam_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
- Agregue lo siguiente al final de esta línea:
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.