10 consejos de refuerzo de Linux para administradores de sistemas principiantes
Los sistemas Linux son seguros por diseño y proporcionan herramientas de administración sólidas. Pero no importa qué tan bien diseñado esté un sistema, su seguridad depende del usuario.
Los principiantes suelen tardar años en encontrar las mejores políticas de seguridad para sus máquinas. Es por eso que compartimos estos consejos esenciales de refuerzo de Linux para nuevos usuarios como usted. Pruébalos.
1. Aplicar políticas de contraseñas seguras
Las contraseñas son el método de autenticación principal para la mayoría de los sistemas. No importa si es un usuario doméstico o un profesional, hacer cumplir contraseñas sólidas es imprescindible. Primero, desactive las contraseñas vacías. No creerá cuánta gente todavía los usa.
awk -F: '($2 == "") {print}' /etc/shadow
Ejecute el comando anterior como root para ver qué cuentas tienen contraseñas vacías. Si encuentra a alguien con una contraseña vacía, bloquee al usuario de inmediato. Puede hacer esto usando lo siguiente.
passwd -l USERNAME
También puede configurar la caducidad de la contraseña para asegurarse de que los usuarios no puedan usar contraseñas antiguas. Use el comando chage para hacer esto desde su terminal.
chage -l USERNAME
Este comando muestra la fecha de vencimiento actual. Para configurar la caducidad de la contraseña después de 30 días, use el siguiente comando. Los usuarios pueden utilizar administradores de contraseñas de Linux para mantener seguras las cuentas en línea .
chage -M 30 USERNAME
2. Copia de seguridad de datos esenciales

Si se toma en serio sus datos, configure copias de seguridad periódicas. De esta manera, incluso si su sistema falla, puede recuperar los datos rápidamente. Sin embargo, elegir el método de copia de seguridad correcto es crucial para el refuerzo de Linux.
Si es un usuario doméstico, clonar los datos en un disco duro podría ser suficiente. Las empresas, sin embargo, necesitan sistemas de respaldo sofisticados que ofrezcan una recuperación rápida.
3. Evite los métodos de comunicación heredados
Linux admite muchos métodos de comunicación remota. Sin embargo, los servicios Unix heredados como telnet, rlogin y ftp pueden plantear serios problemas de seguridad. Entonces, trate de evitarlos. Puede eliminarlos por completo para reducir los problemas de seguridad asociados con ellos.
apt-get --purge remove xinetd nis tftpd tftpd-hpa telnetd
> rsh-server rsh-redone-server
Este comando elimina algunos servicios ampliamente utilizados pero obsoletos de las máquinas Ubuntu / Debian. Si está utilizando un sistema basado en RPM, utilice lo siguiente en su lugar.
yum erase xinetd ypserv tftp-server telnet-server rsh-server
4. Secure OpenSSH
El protocolo SSH es el método recomendado de comunicación remota para Linux. Asegúrese de proteger la configuración de su servidor OpenSSH (sshd). Puede obtener más información sobre cómo configurar un servidor SSH aquí .
Edite el archivo / etc / ssh / sshd_config para establecer políticas de seguridad para ssh. A continuación, se muestran algunas políticas de seguridad comunes que cualquiera puede usar.
PermitRootLogin no # disables root login
MaxAuthTries 3 # limits authentication attempts
PasswordAuthentication no # disables password authentication
PermitEmptyPasswords no # disables empty passwords
X11Forwarding no # disables GUI transmission
DebianBanner no # disbales verbose banner
AllowUsers *@XXX.X.XXX.0/24 # restrict users to an IP range
5. Restringir el uso de CRON
CRON es un programador de trabajos robusto para Linux. Permite a los administradores programar tareas en Linux usando crontab . Por lo tanto, es crucial restringir quién puede ejecutar trabajos CRON. Puede encontrar todos los cronjobs activos para un usuario usando el siguiente comando.
crontab -l -u USERNAME

Verifique los trabajos de cada usuario para averiguar si alguien está explotando CRON. Es posible que desee bloquear a todos los usuarios para que no utilicen crontab excepto a usted. Ejecute el siguiente comando para esto.
echo $(whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny
6. Hacer cumplir los módulos PAM
Linux PAM (módulos de autenticación conectables) ofrece potentes funciones de autenticación para aplicaciones y servicios. Puede utilizar varias políticas PAM para asegurar el inicio de sesión del sistema. Por ejemplo, los siguientes comandos limitan la reutilización de contraseñas.
# CentOS/RHEL
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/system-auth
# Ubuntu/Debian
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/common-password
Restringen el uso de contraseñas que se hayan utilizado en las últimas cinco semanas. Hay muchas más políticas de PAM que brindan capas adicionales de seguridad.
7. Eliminar paquetes no utilizados
La eliminación de los paquetes no utilizados reduce la superficie de ataque de su máquina. Por lo tanto, le recomendamos que elimine los paquetes que se utilizan con poca frecuencia. Puede ver todos los paquetes instalados actualmente utilizando los siguientes comandos.
yum list installed # CentOS/RHEL
apt list --installed # Ubuntu/Debian

Supongamos que desea eliminar el paquete vlc no utilizado. Puede hacer esto ejecutando los siguientes comandos como root.
yum remove vlc # CentOS/RHEL
apt remove vlc # Ubuntu/Debian
8. Proteger los parámetros del kernel
Otra forma eficaz de fortalecer Linux es proteger los parámetros del kernel. Puede configurar estos parámetros usando sysctl o modificando el archivo de configuración. A continuación se muestran algunas configuraciones comunes.
kernel.randomize_va_space=2 # randomnize address base for mmap, heap, and stack
kernel.panic=10 # reboot after 10 sec following a kernel panic
net.ipv4.icmp_ignore_bogus_error_responses # protects bad error messages
net.ipv4.ip_forward=0 # disables IP forwarding
net.ipv4.icmp_ignore_bogus_error_responses=1 # ignores ICP errors
Estas son solo algunas configuraciones básicas. Aprenderá diferentes formas de configuración del kernel con experiencia.
9. Configurar iptables
Los kernels de Linux proporcionan métodos de filtrado sólidos para paquetes de red a través de su API Netfilter. Puede usar iptables para interactuar con esta API y configurar filtros personalizados para solicitudes de red. A continuación se muestran algunas reglas básicas de iptables para usuarios enfocados en la seguridad.
-A INPUT -j REJECT # reject all inbound requests
-A FORWARD -j REJECT # reject traffic forwarding
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT # allow traffic on localhost
# allow ping requests
-A OUTPUT -p icmp -j ACCEPT # allow outgoing pings
# allow established/related connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow DNS lookups
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
# allow http/https requests
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
# allow SSH access
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
10. Monitorear registros
Puede utilizar registros para comprender mejor su máquina Linux. Su sistema almacena varios archivos de registro para aplicaciones y servicios. Estamos describiendo los esenciales aquí.
- /var/log/auth.log — registra los intentos de autorización
- /var/log/daemon.log — registra aplicaciones en segundo plano
- / var / log / debug — registra los datos de depuración
- /var/log/kern.log — registra los datos del kernel
- / var / log / syslog — registra los datos del sistema
- / var / log / faillog — registra los inicios de sesión fallidos
Los mejores consejos de refuerzo de Linux para principiantes
Asegurar un sistema Linux no es tan difícil como cree. Puede reforzar la seguridad siguiendo algunos de los consejos que se mencionan en esta guía. Dominará más formas de proteger Linux a medida que gane experiencia.