Lista de comandos Linux útiles para comprobar la seguridad e integridad del sistema:
1. Auditoría de usuarios y permisos
-
cat /etc/passwd: Verifica los usuarios del sistema. -
cat /etc/shadow: Revisa las contraseñas encriptadas (requiere permisos de root). -
sudo awk -F: '($3 == 0) {print}' /etc/passwd: Busca cuentas con UID 0 (root). -
ls -l /etc/passwd /etc/shadow: Verifica los permisos de los archivos críticos. -
sudo find / -perm -4000 -o -perm -2000: Busca archivos con permisos SUID o SGID. cat /etc/sudoers | grep -v '#': Listar usuarios con privilegios de superusuariolast: Ver los ultimos accesos al sistemawho wLista conexiones activas SSHjournalctl -xe | grep "Failed password"Inicios de sesión fallidos.find /etc -type f -mtime -1 # Archivos modificados en las últimas 24 horasCambios recientes en archivos del sistema*
2. Verificación de servicios y puertos abiertos
-
sudo netstat -tuln: Lista los puertos abiertos y los servicios asociados. -
sudo ss -tuln: Alternativa moderna anetstat. -
sudo lsof -i: Muestra los archivos abiertos relacionados con la red.sudo lsof -i -P -n: Verificar conexiones entrantes y salientes -
sudo nmap localhost: Escanea los puertos locales (requiere instalación denmap).sudo nmap -sS -p- localhost
3. Monitoreo de procesos
ps aux: Lista todos los procesos en ejecución.ps aux --sort=-%cpu: Procesos sospechososps -U root -u root u: Procesos ejecutandose como root-
topohtop: Monitorea el uso de recursos y procesos en tiempo real. sudo pstree: Muestra los procesos en forma de árbol.
4. Verificación de integridad de archivos
-
sudo debsums(en Debian/Ubuntu): Verifica la integridad de los paquetes instalados. -
sudo rpm -Va(en RedHat/CentOS): Verifica la integridad de los paquetes RPM. -
sudo tripwire --check: Si tienes Tripwire instalado, verifica cambios en los archivos del sistema. -
sudo aide --check: Similar a Tripwire, verifica la integridad del sistema con AIDE.
5. Revisión de logs
-
sudo cat /var/log/auth.log(o/var/log/secureen RedHat): Revisa intentos de autenticación. -
sudo grep "Failed" /var/log/auth.log: Busca intentos fallidos de inicio de sesión. -
sudo tail -f /var/log/syslog: Monitorea los logs en tiempo real. -
sudo journalctl -xe: Revisa logs del sistema consystemd.
6. Verificación de actualizaciones y parches
-
sudo apt list --upgradable(en Debian/Ubuntu): Lista paquetes que necesitan actualización. -
sudo yum check-update(en RedHat/CentOS): Verifica actualizaciones disponibles. -
sudo unattended-upgrades --dry-run: Simula la instalación de actualizaciones de seguridad.
7. Revisión de firewall
-
sudo ufw status: Verifica el estado del firewall UFW (en Ubuntu). -
sudo iptables -L -v -n: Lista las reglas de iptables. -
sudo firewall-cmd --list-all: Verifica las reglas de firewalld (en RedHat/CentOS).
8. Escaneo de malware
-
sudo clamscan -r /: Escanea el sistema en busca de malware con ClamAV. -
sudo rkhunter --check: Ejecuta un escaneo con Rootkit Hunter. -
sudo chkrootkit: Busca rootkits en el sistema.
9. Revisión de tareas programadas
-
crontab -l: Lista las tareas programadas del usuario actual. -
sudo cat /etc/crontab: Revisa las tareas programadas del sistema. -
sudo ls -l /etc/cron.*: Verifica los archivos en los directorios de cron.
10. Verificación de módulos del kernel cargados
-
lsmod: Lista los módulos del kernel cargados. -
sudo modprobe -r <módulo>: Elimina un módulo sospechoso (si es seguro hacerlo).
11. Revisión de variables de entorno
-
printenv: Muestra las variables de entorno actuales. -
echo $PATH: Verifica la variable PATH para asegurarte de que no haya rutas sospechosas.
12. Verificación de conexiones de red activas
-
sudo netstat -anp: Muestra todas las conexiones de red y los procesos asociados. -
sudo lsof -i -n: Lista las conexiones de red y los archivos abiertos.
13. Revisión de archivos ocultos
sudo find / -name ".*" -ls: Busca archivos ocultos en el sistema.
14. Verificación de SELinux/AppArmor
-
sestatus: Verifica el estado de SELinux. -
aa-status: Verifica el estado de AppArmor.
15. Revisión de permisos de archivos sensibles
-
sudo find / -type f -perm -o+w: Busca archivos con permisos de escritura para otros. -
sudo find / -type d -perm -o+w: Busca directorios con permisos de escritura para otros.
16. Verificación de la configuración SSH
-
sudo cat /etc/ssh/sshd_config: Revisa la configuración del servidor SSH. -
sudo grep PermitRootLogin /etc/ssh/sshd_config: Verifica si el login como root está permitido.
17. Revisión de la configuración de sudo
-
sudo cat /etc/sudoers: Verifica los privilegios de sudo. -
sudo grep -r "NOPASSWD" /etc/sudoers*: Busca usuarios con permisos de sudo sin contraseña.
18. Verificación de la configuración de PAM
cat /etc/pam.d/common-auth: Revisa la configuración de autenticación PAM.
19. Revisión de la configuración de sysctl
sudo sysctl -a: Muestra todas las configuraciones de seguridad del kernel.
20. Escaneo de vulnerabilidades
sudo lynis audit system: Ejecuta un escaneo de seguridad con Lynis.