Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Curso de nivel avanzado orientado a profesionales técnicos que administran servidores Linux con autonomía y necesitan llevar esa administración al nivel de producción seguro y profesional. El punto de partida es el dominio del scripting Bash, systemd, journalctl y la edición de configuración del sistema; el objetivo es operar servidores Linux en producción con criterio de seguridad y escalabilidad: aplicar hardening de SSH y firewall, diagnosticar problemas de rendimiento con herramientas estándar, gestionar almacenamiento con LVM, automatizar tareas de mantenimiento con cron y awk, realizar auditorías de seguridad del sistema, configurar y diagnosticar la red, y diseñar políticas de acceso granulares con sudo y gestión de logs con logrotate. Al finalizar, el participante será capaz de entregar y mantener un servidor Linux en estado seguro, monitorizable y autogestionado.
Al finalizar el curso, el participante será capaz de:
ufw verificables sin perder el acceso al servidortop, vmstat, iostat) y proponiendo la acción correctiva justificada con métricasext4 o xfs y montando de forma persistente en /etc/fstab con la opción nofailcron, integrando procesamiento de texto con awk para filtrar y transformar ficheros de log, y verificando la ejecución con un log propio del scriptfail2ban con jail SSH activanetplan, añadir una ruta estática y diagnosticar problemas de conectividad y DNS con ip, ss, dig y tcpdumpsudo granular para grupos específicos con comandos concretos, y configurar la rotación de logs con logrotate con compresión y retención definidasHardening de SSH y firewall con ufw Directivas críticas de sshd_config: PermitRootLogin no, PasswordAuthentication no, AllowUsers, Port; procedimiento seguro de hardening: verificar acceso por clave antes de deshabilitar contraseña, validar con sshd -t, reiniciar con systemctl; ufw: políticas por defecto (default deny incoming, default allow outgoing), reglas por puerto y por IP de origen; ufw enable y verificación del estado; plan de recuperación si se pierde el acceso SSH
Diagnóstico de rendimiento del sistema Interpretación de top: campos %us, %sy, %wa, %id y load average; diferencia entre carga de CPU y carga de I/O; vmstat 1: campos si, so (swap), bi, bo (I/O de bloque); iostat -x 1: %util, await y r/s, w/s por dispositivo; free -h: total, used, buff/cache, available; árbol de decisión para diagnóstico: load alto + wa alto → I/O; load alto + us alto → CPU; swap activo continuo → memoria insuficiente; identificar el proceso responsable con ps aux --sort=-%cpu o --sort=-%mem
Gestión de almacenamiento con LVM Jerarquía LVM: Physical Volume (PV), Volume Group (VG), Logical Volume (LV); comandos de creación: pvcreate, vgcreate, lvcreate -l 100%VG; mkfs.ext4 y mkfs.xfs sobre un LV; montaje temporal con mount; obtener UUID con blkid; entrada en /etc/fstab con UUID y opción nofail; verificar montaje persistente con mount -a; ampliar un LV en caliente con lvextend -r y xfs_growfs
Automatización con cron y awk Sintaxis de crontab: los 5 campos de tiempo y expresiones frecuentes; entorno de ejecución de cron: PATH mínimo y necesidad de rutas absolutas; crontab -e y crontab -l; awk para procesamiento de logs: campos posicionales, patrones de expresión regular (/ERROR/), acumuladores en bloques de reglas y bloque END para totales; find -mtime para ficheros por antigüedad; log de ejecución del script con echo "$(date): resultado" >> /var/log/maint.log; verificar ejecución sin esperar al tiempo programado
Auditoría básica de seguridad Buscar ficheros SUID con find / -perm -4000 -type f 2>/dev/null; verificar usuarios con UID 0: awk -F: '$3 == 0' /etc/passwd; listar puertos en escucha con ss -tulnp; revisar intentos fallidos SSH en journalctl -u sshd; fail2ban: instalación, configuración de jail.local con [sshd], maxretry, bantime, findtime; verificar jail activa con fail2ban-client status sshd; diferencia entre auditoría (detectar) y mitigación (corregir)
Configuración y diagnóstico de red Ficheros de configuración de red en Ubuntu 22.04: /etc/netplan/*.yaml; sintaxis netplan para IP estática, DNS y rutas; netplan try vs. netplan apply y el rollback automático de netplan try; rutas estáticas en netplan con routes:; ip route show para verificar la tabla de rutas; ss -tulnp para puertos en escucha; dig @8.8.8.8 para aislar problemas de DNS; tcpdump -i <if> host <ip> and port <port> para capturar tráfico
Política sudo y rotación de logs Sintaxis de sudoers: usuario/grupo, host, usuario de ejecución, comando con argumentos exactos; NOPASSWD: para comandos específicos; ficheros en /etc/sudoers.d/ — no editar /etc/sudoers directamente; validación con visudo -c -f y verificación con sudo -l -U <usuario>; logrotate: directivas daily, weekly, rotate N, compress, delaycompress (necesario cuando el proceso mantiene el fichero abierto); postrotate para notificar al proceso que rota el log; logrotate -d para simulación y logrotate --force para prueba
ufw completo)ufw, lvm2, fail2ban, awk, tcpdump, netplan — todos disponibles en Ubuntu 22.04 con apt install→ LNX03 — Linux Intermedio: Arranque, Systemd y Verificación del Sistema (Intermedio, 8h)
sed -i sobre ficheros de configuraciónsystemctl distinguiendo el estado actual del comportamiento en arranques futurosjournalctl aplicando filtros por servicio, arranque y prioridad