diff --git a/src/main/resources/temas/bloque4/B4T1.md b/src/main/resources/temas/bloque4/B4T1.md index cf6af85..541bc4b 100644 --- a/src/main/resources/temas/bloque4/B4T1.md +++ b/src/main/resources/temas/bloque4/B4T1.md @@ -1,8 +1,6 @@ # Bloque 4 · Tema 1 # Administración del sistema operativo y software de base. Actualización, mantenimiento y reparación del sistema operativo. -# Esquema resumen - **Componentes del sistema** | Componente | Descripción | Ejemplos | @@ -12,36 +10,98 @@ | Driver / Controlador | Software que permite al SO comunicarse con un dispositivo hardware | Driver NIC, driver GPU | | Firmware | Software grabado en el chip; controla el hardware desde el inicio | BIOS/UEFI, firmware SSD | | Utilidades del sistema | Herramientas de administración y diagnóstico incluidas con el SO | Administrador de tareas, top | +| Hypervisor | Software que permite ejecutar máquinas virtuales sobre el hardware | Hyper-V, KVM, VMware ESXi | +| Contenedor | Entorno aislado que comparte el kernel del SO anfitrión | Docker, Podman | + +**Tipos de kernel** + +| Tipo | Modelo | Ejemplo | Ventaja | +|---|---|---|---| +| Monolítico | Todo en espacio kernel | Linux | Rápido | +| Microkernel | Solo servicios mínimos en kernel | Minix, QNX | Seguro y estable | +| Híbrido | Combinación monolítico + microkernel | Windows NT, macOS XNU | Equilibrio | +| Exokernel | Mínima abstracción | Investigación | Control total | + +**Sistemas de ficheros** + +| Sistema | SO | Características clave | +|---|---|---| +| NTFS | Windows | ACLs, journaling, cifrado EFS, compresión; bloques de 4 KB | +| FAT32 | Windows/USB | Sin permisos; máx. fichero 4 GB; máx. partición 2 TB | +| exFAT | USB/SD | Sin límite práctico de tamaño; no tiene journaling | +| ext4 | Linux | Journaling, extents, hasta 1 EiB; estándar Linux | +| XFS | Linux (RHEL) | Alto rendimiento, grandes archivos; no reduce tamaño en caliente | +| Btrfs | Linux (SUSE, Fedora) | Copy-on-write, snapshots integrados, checksums | +| ZFS | Solaris/FreeBSD/Linux | Pool de almacenamiento, integridad, snapshots, RAID-Z | **Actualizaciones y estrategias** | Tipo | Finalidad | Urgencia | |---|---|---| -| Actualización de seguridad | Corrige vulnerabilidades (CVE) | Crítica | +| Actualización de seguridad | Corrige vulnerabilidades (CVE) | Crítica — aplicar cuanto antes | | Parche (hotfix/patch) | Corrección de error concreto | Alta | | Actualización funcional | Nuevas características | Normal | | Service Pack / Feature Update | Conjunto acumulado de actualizaciones | Planificada | +| Actualización de firmware | Mejoras en BIOS/UEFI | Según necesidad | | Herramienta centralizada | Plataforma | Función | |---|---|---| -| WSUS | Windows | Windows Server Update Services | -| SCCM / Endpoint Config. Manager | Windows | Gestión completa de equipos y parches | -| Ansible | Linux/Windows | Automatización de despliegues | -| Red Hat Satellite | RHEL | Gestión centralizada Red Hat | +| WSUS | Windows | Aprueba y distribuye actualizaciones Windows en la red | +| SCCM / Endpoint Config. Manager | Windows | Parches, inventario, despliegue de software | +| Ansible | Linux/Windows | Automatización de despliegues y aplicación de parches | +| Red Hat Satellite | RHEL | Gestión centralizada en entornos Red Hat | +| Landscape | Ubuntu | Gestión centralizada servidores Ubuntu | + +**RAID: niveles principales** + +| Nivel | Discos mín. | Tolerancia fallos | Uso espacio | Uso típico | +|---|---|---|---|---| +| RAID 0 | 2 | 0 (ninguno) | 100 % | Rendimiento puro | +| RAID 1 | 2 | 1 disco | 50 % | SO, BD críticas | +| RAID 5 | 3 | 1 disco | (n−1)/n | Servidores de ficheros | +| RAID 6 | 4 | 2 discos | (n−2)/n | Archivos grandes | +| RAID 10 | 4 | 1 por espejo | 50 % | BD alto rendimiento | + +**Virtualización** + +| Tipo | Hipervisor | Ejemplo | Característica | +|---|---|---|---| +| Tipo 1 (bare metal) | Corre sobre hardware | VMware ESXi, Hyper-V, KVM | Mayor rendimiento | +| Tipo 2 (hosted) | Corre sobre SO anfitrión | VirtualBox, VMware Workstation | Fácil de instalar | +| Contenedor | Comparte kernel del host | Docker, Podman | Ligero, rápido | +| Cloud | IaaS, PaaS, SaaS | AWS EC2, Azure VM, Google Cloud | Escalable bajo demanda | + +**Copias de seguridad** + +| Tipo | Qué copia | Velocidad backup | Velocidad restauración | +|---|---|---|---| +| Completa (full) | Todo | Lenta | Rápida | +| Incremental | Solo cambios desde última copia | Muy rápida | Lenta (requiere toda la cadena) | +| Diferencial | Cambios desde última copia completa | Media | Media | +| Sintética full | Combina full + incrementales sin acceso al origen | Rápida | Rápida | **Mantenimiento, reparación y seguridad** | Tipo mantenimiento | Cuándo | Acciones típicas | |---|---|---| -| Preventivo | Antes del fallo | Limpieza, logs, actualizaciones | -| Correctivo | Al detectar el fallo | Reparar, restaurar | -| Evolutivo | Mejora planificada | Migración, optimización | +| Preventivo | Antes del fallo | Limpieza, logs, actualizaciones, monitorización | +| Correctivo | Al detectar el fallo | Reparar, restaurar backup | +| Evolutivo | Mejora planificada | Migración a nueva versión del SO | +| Perfectivo | Optimización continua | Ajuste de parámetros del kernel | | Tríada CIA | Descripción | Ejemplo en SO | |---|---|---| -| Confidencialidad | Solo accede quien está autorizado | Permisos NTFS, chmod, cifrado | -| Integridad | Los datos no se modifican sin autorización | Hash, firma, permisos | -| Disponibilidad | El sistema está accesible cuando se necesita | Redundancia, backup, UPS | +| Confidencialidad | Solo accede quien está autorizado | Permisos NTFS, chmod, BitLocker, LUKS | +| Integridad | Los datos no se modifican sin autorización | Hash, firma digital, permisos | +| Disponibilidad | El sistema está accesible cuando se necesita | RAID, backup, UPS, clustering HA | + +**ENS (Esquema Nacional de Seguridad) — niveles y dimensiones** + +| Nivel ENS | Impacto de un incidente | Medidas | +|---|---|---| +| Básico | Perjuicio limitado | Medidas mínimas obligatorias | +| Medio | Perjuicio grave | Medidas básicas + reforzadas | +| Alto | Perjuicio muy grave o catastrófico | Medidas medias + avanzadas | --- @@ -119,6 +179,119 @@ El **sistema operativo (SO)** es el conjunto de programas que actúa de intermed --- +## 1.4. Sistemas de ficheros + +El **sistema de ficheros** define cómo se organizan y almacenan los datos en disco. + +**Sistemas de ficheros Windows:** + +| Sistema | Tamaño máx. fichero | Permisos | Journaling | Notas | +|---|---|---|---|---| +| FAT32 | 4 GB | No | No | Compatibilidad universal; pendrives; máx. partición 2 TB | +| exFAT | Sin límite práctico | No | No | USB/SD modernos; no journaling | +| NTFS | 16 TB (teórico 16 EB) | Sí (ACLs) | Sí | Estándar Windows; cifrado EFS; compresión; cuotas | +| ReFS | 35 PB | Sí | Sí (CoW) | Resiliencia; Storage Spaces; no arranca | + +**Sistemas de ficheros Linux:** + +| Sistema | Tamaño máx. fichero | Uso típico | Características | +|---|---|---|---| +| ext4 | 16 TB | Estándar Linux | Journaling, extents, retrocompatible ext3 | +| XFS | 8 EB | RHEL, grandes archivos | Alto rendimiento; no se puede reducir en caliente | +| Btrfs | 16 EB | Fedora, openSUSE | Copy-on-write, snapshots, checksums integrados | +| ZFS | 256 ZiB | Almacenamiento empresarial | Pool, integridad, RAID-Z, snapshots | +| tmpfs | RAM disponible | `/tmp`, `/run` | En memoria; desaparece al reiniciar | + +**Journaling:** registra los cambios pendientes en un log antes de escribirlos en disco. Si hay un fallo, el journal permite recuperar la coherencia sin `fsck` completo. + +**Montaje en Linux:** + +| Comando | Descripción | +|---|---| +| `mount /dev/sdb1 /mnt/datos` | Montar partición | +| `umount /mnt/datos` | Desmontar | +| `mount -t ext4 /dev/sdb1 /mnt` | Montar especificando tipo de FS | +| `cat /etc/fstab` | Ver tabla de montaje permanente | +| `lsblk -f` | Ver dispositivos, FS y UUID | +| `blkid` | Ver UUID y tipo de FS de cada partición | + +El fichero `/etc/fstab` define los montajes automáticos al arranque. Formato: `dispositivo punto_montaje tipo_fs opciones dump pass`. + +--- + +## 1.5. Gestión de procesos y algoritmos de planificación + +Un **proceso** es un programa en ejecución con su espacio de memoria, descriptores de fichero y contexto de CPU. Un **hilo (thread)** es la unidad mínima de ejecución dentro de un proceso; varios hilos comparten el espacio de direcciones del mismo proceso. + +**Estados de un proceso:** + +| Estado | Descripción | +|---|---| +| Nuevo (new) | El proceso se está creando | +| Listo (ready) | Esperando turno de CPU; en la cola del planificador | +| En ejecución (running) | Usando la CPU en este instante | +| Bloqueado (waiting) | Esperando un evento externo (E/S, señal) | +| Terminado (terminated) | Ha finalizado; liberando recursos | + +**Algoritmos de planificación de CPU:** + +| Algoritmo | Descripción | Ventaja / Inconveniente | +|---|---|---| +| FCFS (First-Come, First-Served) | Se ejecutan por orden de llegada | Simple; puede provocar convoy effect | +| SJF (Shortest Job First) | El más corto siguiente primero | Óptimo en tiempo medio; riesgo de starvation | +| Round Robin | Cada proceso recibe un quantum fijo de CPU | Justo; tiempo de respuesta uniforme; sistema de tiempo compartido | +| Prioridad | Se ejecuta el de mayor prioridad | Puede causar starvation de procesos de baja prioridad | +| Multinivel con realimentación | Colas de distinta prioridad; los procesos bajan si consumen mucho CPU | Usado en Linux (CFS) y Windows; adaptativo | + +**Conceptos adicionales:** + +| Concepto | Definición | +|---|---| +| Quantum / time slice | Tiempo máximo de CPU antes del cambio de contexto | +| Cambio de contexto | Guardar estado del proceso actual y restaurar el del siguiente | +| Deadlock | Dos o más procesos bloqueados mutuamente esperando recursos | +| Starvation | Un proceso nunca obtiene CPU por procesos de mayor prioridad | +| IPC | Inter-Process Communication: pipes, sockets, memoria compartida, semáforos | + +**Señales en Linux:** + +| Señal | Número | Efecto | +|---|---|---| +| SIGTERM | 15 | Solicitud de terminación ordenada (capturable) | +| SIGKILL | 9 | Terminación forzada e inmediata (no capturable) | +| SIGHUP | 1 | Recarga de configuración en daemons | +| SIGSTOP | 19 | Pausar proceso (no capturable) | +| SIGCONT | 18 | Reanudar proceso pausado | + +--- + +## 1.6. Gestión de memoria: paginación y memoria virtual + +**Conceptos fundamentales:** + +| Concepto | Descripción | +|---|---| +| Paginación | Divide la memoria en páginas de tamaño fijo (4 KB típico). Tabla de páginas por proceso. Permite no-contigüedad física | +| Segmentación | Divide en segmentos lógicos de tamaño variable (código, datos, pila) | +| Memoria virtual | Extiende la RAM usando espacio en disco (swap / archivo de paginación) | +| TLB | Translation Lookaside Buffer: caché de traducciones dirección virtual → física | +| Fallo de página | Acceso a una página no cargada en RAM; el SO la trae de swap | +| Thrashing | El SO pasa más tiempo gestionando swap que ejecutando procesos; indica falta de RAM | + +**Swap en Linux:** + +| Comando | Acción | +|---|---| +| `free -h` | Ver uso de RAM y swap | +| `swapon -s` | Ver swap activo | +| `mkswap /dev/sdaX` | Crear área de swap | +| `swapon /dev/sdaX` | Activar swap | +| `swapoff /dev/sdaX` | Desactivar swap | + +**Archivo de paginación en Windows:** `C:\pagefile.sys`. Se configura en Sistema → Configuración avanzada → Rendimiento → Configuración → Memoria virtual. Tamaño recomendado: 1,5 × RAM como mínimo. + +--- + # 2. Sistemas operativos Windows ## 2.1. Versiones principales @@ -159,15 +332,60 @@ Ediciones relevantes en la AGE: **Windows 10/11 Pro/Enterprise** y **Windows Ser **Principio de mínimo privilegio:** otorgar solo los permisos estrictamente necesarios para cada tarea. -**Active Directory (AD):** servicio de directorio de Microsoft para gestionar usuarios, equipos y políticas en red. +**ACL (Access Control List):** lista de entradas de control de acceso (ACE) asociada a un objeto. Cada ACE indica qué usuario/grupo tiene qué permiso sobre ese objeto. En Windows hay dos tipos: DACL (Discretionary ACL, controla el acceso) y SACL (System ACL, controla la auditoría). -| Componente AD | Descripción | +**Herencia de permisos NTFS:** los permisos se heredan desde la carpeta padre. Se puede romper la herencia para asignar permisos propios. Los permisos explícitos tienen precedencia sobre los heredados. + +**Permisos compartidos vs NTFS:** cuando se accede por red, se aplica el más restrictivo entre el permiso compartido (Share Permission) y el permiso NTFS. + +**Active Directory (AD) — estructura completa:** + +| Concepto | Descripción | |---|---| +| Bosque (Forest) | Conjunto de uno o más dominios que comparten esquema y catálogo global | +| Árbol (Tree) | Conjunto de dominios con espacio de nombres contiguo dentro del bosque | | Dominio | Unidad administrativa con un espacio de nombres común | -| Controlador de dominio (DC) | Servidor con AD DS que autentica usuarios | -| GPO (Group Policy Object) | Políticas aplicadas automáticamente a usuarios y equipos | -| OU (Organizational Unit) | Contenedor para organizar objetos dentro del dominio | -| LDAP | Protocolo usado por AD para consultas al directorio | +| Subdominio | Dominio hijo dentro de un árbol | +| Controlador de dominio (DC) | Servidor con AD DS que autentica usuarios y almacena el directorio | +| DC de solo lectura (RODC) | Copia de solo lectura del AD; se usa en sucursales | +| Catálogo global | DC que almacena información de todos los objetos del bosque | +| OU (Organizational Unit) | Contenedor para organizar objetos; se le aplican GPO | +| Relación de confianza | Permite a usuarios de un dominio acceder a recursos de otro | +| Esquema AD | Define las clases y atributos que pueden existir en el directorio | +| LDAP | Protocolo de consulta al directorio (puerto TCP 389; LDAPS 636) | +| Kerberos | Protocolo de autenticación en AD (puerto UDP/TCP 88) | + +**Roles FSMO (Flexible Single Master Operations):** roles especiales que solo puede tener un DC a la vez para evitar conflictos. + +| Rol FSMO | Ámbito | Función | +|---|---|---| +| Schema Master | Bosque | Gestiona los cambios al esquema de AD | +| Domain Naming Master | Bosque | Gestiona la adición/eliminación de dominios | +| PDC Emulator | Dominio | Sincroniza la hora; gestiona bloqueos de cuentas; compatibilidad NT | +| RID Master | Dominio | Asigna bloques de RID para crear objetos con SID únicos | +| Infrastructure Master | Dominio | Actualiza referencias entre objetos de distintos dominios | + +**GPO (Group Policy Objects) — aplicación:** + +| Concepto | Descripción | +|---|---| +| GPO | Conjunto de directivas que se aplican a usuarios y equipos | +| Vinculación | Una GPO se vincula a un sitio, dominio u OU | +| Orden de aplicación | Local → Sitio → Dominio → OU (LSDOU); la OU hija tiene precedencia | +| Bloqueo de herencia | Una OU puede bloquear las GPO del dominio padre | +| Forzar (Enforced) | Una GPO marcada como Enforced no puede ser bloqueada por OU hija | +| gpupdate /force | Fuerza la actualización de directivas en el cliente | +| gpresult /r | Muestra las directivas aplicadas al usuario/equipo actual | +| Filtrado de seguridad | Limita la GPO a grupos de seguridad específicos | + +**Herramientas de AD:** + +| Herramienta | Acceso | Función | +|---|---|---| +| ADUC (Usuarios y equipos de AD) | `dsa.msc` | Gestionar usuarios, grupos, equipos, OU | +| ADSS (Sitios y servicios de AD) | `dssite.msc` | Gestionar sitios, subredes y replicación | +| Administrador de directivas de grupo | `gpmc.msc` | Crear, vincular y editar GPO | +| Usuarios y equipos de AD (PowerShell) | módulo `ActiveDirectory` | `Get-ADUser`, `New-ADUser`, `Add-ADGroupMember` | --- @@ -228,6 +446,92 @@ Ediciones relevantes en la AGE: **Windows 10/11 Pro/Enterprise** y **Windows Ser --- +## 2.5. Seguridad Windows: BitLocker, EFS y Windows Defender + +### BitLocker + +**BitLocker** es la herramienta de cifrado de disco completo incluida en Windows (ediciones Pro/Enterprise/Server). Cifra el volumen completo con AES-128 o AES-256. + +| Concepto | Descripción | +|---|---| +| TPM (Trusted Platform Module) | Chip hardware que almacena las claves de cifrado; impide el arranque sin él | +| PIN de arranque | Capa adicional de autenticación junto al TPM | +| Clave de recuperación | Contraseña de 48 dígitos para desbloquear si falla TPM o PIN | +| BitLocker To Go | Cifrado de unidades extraíbles (USB, disco externo) | +| Modo sin TPM | Necesita clave de inicio USB; admitido con directiva de grupo | + +**Comandos BitLocker (PowerShell y cmd):** + +| Comando | Acción | +|---|---| +| `manage-bde -status` | Ver estado de cifrado de todos los volúmenes | +| `manage-bde -on C: -RecoveryPassword` | Activar BitLocker en C: | +| `manage-bde -off C:` | Desactivar BitLocker | +| `Get-BitLockerVolume` | PowerShell: ver estado detallado | +| `Enable-BitLocker -MountPoint C: -RecoveryPasswordProtector` | Activar BitLocker en PowerShell | + +### EFS (Encrypting File System) + +**EFS** permite cifrar archivos y carpetas individuales en NTFS. A diferencia de BitLocker (cifra el disco completo), EFS cifra ficheros concretos. + +| Característica | Descripción | +|---|---| +| Cifrado transparente | El usuario autorizado accede normalmente; para otros el fichero aparece cifrado | +| Certificado EFS | Cada usuario tiene un certificado X.509 con el que se cifran los ficheros | +| Recuperación | El agente de recuperación (normalmente el Administrador) puede descifrar | +| Comando | `cipher /e archivo` para cifrar; `cipher /d` para descifrar | + +### Windows Defender / Microsoft Defender + +**Microsoft Defender** es la solución antimalware integrada en Windows. En versiones modernas incluye: + +| Componente | Función | +|---|---| +| Defender Antivirus | Detección y eliminación de malware en tiempo real | +| Defender Firewall | Filtrado de tráfico de red entrante/saliente | +| Defender SmartScreen | Protección ante descargas y webs maliciosas | +| Defender for Endpoint | Solución EDR empresarial (antes ATP); detección avanzada de amenazas | +| Credential Guard | Aísla las credenciales en un entorno virtualizado (Hyper-V VBS) | +| Device Guard / WDAC | Control de aplicaciones; solo ejecuta código firmado y de confianza | + +**UAC (User Account Control):** mecanismo de elevación de privilegios. Cuando una acción requiere permisos de Administrador, el SO muestra un diálogo de confirmación. Reduce el impacto de malware que corre como usuario estándar. + +--- + +## 2.6. Hyper-V: virtualización en Windows + +**Hyper-V** es el hipervisor de Tipo 1 (bare-metal) integrado en Windows Server y Windows 10/11 Pro/Enterprise (64-bit). Se ejecuta directamente sobre el hardware. + +| Concepto | Descripción | +|---|---| +| Host / Anfitrión | Máquina física con Hyper-V instalado | +| Máquina virtual (VM) | Instancia virtualizada con su propio SO, CPU virtual, RAM y discos | +| VHD / VHDX | Formato de disco duro virtual de Hyper-V; VHDX soporta hasta 64 TB | +| Switch virtual | Componente de red virtual que conecta las VM entre sí y con el exterior | +| Snapshot / Checkpoint | Estado guardado de una VM en un momento determinado; permite rollback | +| Live Migration | Mover una VM en ejecución de un host a otro sin tiempo de inactividad | +| Generación 1 / Generación 2 | Gen 2 usa UEFI y es compatible con Linux y Windows 2012+ | + +**Tipos de switch virtual en Hyper-V:** + +| Tipo | Descripción | +|---|---| +| Externo | Conecta la VM a la red física del host | +| Interno | Solo comunicación entre VMs y el host; sin acceso externo | +| Privado | Solo comunicación entre VMs; el host no participa | + +**PowerShell para Hyper-V:** + +| Cmdlet | Acción | +|---|---| +| `Get-VM` | Listar todas las VMs | +| `Start-VM nombre` | Iniciar una VM | +| `Stop-VM nombre -Force` | Detener forzosamente una VM | +| `New-VM -Name nombre -MemoryStartupBytes 2GB -Generation 2` | Crear VM | +| `Checkpoint-VM -Name nombre -SnapshotName "pre-update"` | Crear checkpoint | + +--- + # 3. Sistemas operativos Linux/Unix ## 3.1. Distribuciones y estructura de directorios FHS @@ -385,9 +689,610 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -# 4. Actualización del sistema operativo +## 3.5. Firewall en Linux: iptables, nftables y ufw -## 4.1. Tipos de actualizaciones +El kernel Linux incluye el subsistema **Netfilter** para filtrado de paquetes. Las herramientas de espacio de usuario son: + +| Herramienta | Descripción | Estado | +|---|---|---| +| `iptables` | Interfaz clásica para IPv4 | Todavía muy extendida; sustituida progresivamente por nftables | +| `ip6tables` | Igual que iptables pero para IPv6 | — | +| `nftables` | Sustituto moderno de iptables; sintaxis unificada para IPv4/IPv6 | Estándar en sistemas modernos | +| `ufw` (Uncomplicated Firewall) | Interfaz simplificada sobre iptables/nftables | Por defecto en Ubuntu | +| `firewalld` | Gestión dinámica de zonas; usa nftables en el backend | Por defecto en RHEL/Fedora | + +**Cadenas principales de iptables:** + +| Cadena | Tabla | Descripción | +|---|---|---| +| INPUT | filter | Paquetes destinados al propio equipo | +| OUTPUT | filter | Paquetes generados por el equipo | +| FORWARD | filter | Paquetes que el equipo encamina (router) | +| PREROUTING | nat | Se aplica antes del routing (DNAT) | +| POSTROUTING | nat | Se aplica tras el routing (SNAT/masquerade) | + +**Comandos iptables básicos:** + +| Comando | Acción | +|---|---| +| `iptables -L -n -v` | Listar reglas activas | +| `iptables -A INPUT -p tcp --dport 22 -j ACCEPT` | Permitir SSH entrante | +| `iptables -A INPUT -j DROP` | Denegar todo lo demás | +| `iptables -D INPUT 3` | Eliminar regla número 3 de INPUT | +| `iptables-save > /etc/iptables/rules.v4` | Guardar reglas | +| `iptables-restore < /etc/iptables/rules.v4` | Restaurar reglas | + +**Comandos ufw (Ubuntu):** + +| Comando | Acción | +|---|---| +| `ufw enable` / `ufw disable` | Activar/desactivar | +| `ufw status verbose` | Ver estado y reglas | +| `ufw allow 22/tcp` | Permitir SSH | +| `ufw deny 23/tcp` | Denegar Telnet | +| `ufw allow from 192.168.1.0/24` | Permitir red local | +| `ufw delete allow 22/tcp` | Eliminar regla | + +**Comandos firewalld (RHEL/Fedora):** + +| Comando | Acción | +|---|---| +| `firewall-cmd --list-all` | Ver configuración de la zona activa | +| `firewall-cmd --add-service=http --permanent` | Permitir HTTP (permanente) | +| `firewall-cmd --add-port=8080/tcp --permanent` | Permitir puerto 8080 | +| `firewall-cmd --reload` | Aplicar cambios permanentes | +| `firewall-cmd --zone=trusted --add-source=192.168.1.0/24` | Añadir red a zona confiable | + +--- + +## 3.6. SELinux y AppArmor: control de acceso obligatorio (MAC) + +Los controles de acceso discrecional (DAC) estándar de Linux (permisos rwx) pueden complementarse con **control de acceso obligatorio (MAC)**, donde el SO impone restricciones que el usuario no puede ignorar. + +### SELinux (Security-Enhanced Linux) + +Desarrollado por la NSA e integrado en el kernel. Estándar en RHEL/Fedora/CentOS. + +| Modo | Descripción | +|---|---| +| Enforcing | SELinux aplica la política; bloquea acciones no permitidas | +| Permissive | Solo registra violaciones; no bloquea; útil para depuración | +| Disabled | SELinux completamente desactivado (requiere reinicio para cambiar) | + +**Comandos SELinux:** + +| Comando | Acción | +|---|---| +| `getenforce` | Ver modo actual | +| `setenforce 0` | Pasar a Permissive temporalmente | +| `setenforce 1` | Pasar a Enforcing temporalmente | +| `sestatus` | Estado detallado de SELinux | +| `ls -Z archivo` | Ver contexto SELinux de un archivo | +| `chcon -t httpd_sys_content_t /var/www/html` | Cambiar contexto temporalmente | +| `restorecon -Rv /var/www/html` | Restaurar contexto predeterminado | +| `audit2allow -a` | Generar política para permitir acciones bloqueadas | +| `grep "denied" /var/log/audit/audit.log` | Ver eventos denegados | + +El modo permanente se configura en `/etc/selinux/config` modificando `SELINUX=enforcing|permissive|disabled`. + +### AppArmor + +Alternativa a SELinux. Estándar en Ubuntu/Debian. Usa perfiles por aplicación en lugar de contextos globales. + +| Comando | Acción | +|---|---| +| `aa-status` | Ver perfiles cargados y modo | +| `aa-enforce /etc/apparmor.d/usr.sbin.nginx` | Poner perfil en modo enforce | +| `aa-complain /etc/apparmor.d/usr.sbin.nginx` | Poner perfil en modo complain (log) | +| `apparmor_parser -r /etc/apparmor.d/perfil` | Recargar perfil | + +--- + +## 3.7. LVM: gestión lógica de volúmenes + +**LVM (Logical Volume Manager)** permite gestionar el almacenamiento de forma flexible: redimensionar volúmenes, añadir discos y crear snapshots sin reiniciar. + +**Arquitectura LVM:** + +``` +Discos físicos → PV (Physical Volume) → VG (Volume Group) → LV (Logical Volume) → Sistema de ficheros +``` + +| Concepto | Descripción | +|---|---| +| PV (Physical Volume) | Disco o partición inicializada para LVM | +| VG (Volume Group) | Agrupación de uno o más PV; pool de almacenamiento | +| LV (Logical Volume) | Volumen lógico creado dentro de un VG; equivale a una partición | +| PE (Physical Extent) | Unidad mínima de asignación dentro de LVM (4 MB por defecto) | +| Snapshot LVM | Copia instantánea de un LV en un momento dado (CoW) | + +**Comandos LVM:** + +| Operación | Comandos | +|---|---| +| Crear PV | `pvcreate /dev/sdb` | +| Ver PVs | `pvdisplay` / `pvs` | +| Crear VG | `vgcreate datos /dev/sdb /dev/sdc` | +| Ver VGs | `vgdisplay` / `vgs` | +| Crear LV | `lvcreate -L 10G -n datos_lv datos` | +| Crear LV (% del VG) | `lvcreate -l 100%FREE -n datos_lv datos` | +| Ver LVs | `lvdisplay` / `lvs` | +| Ampliar LV | `lvextend -L +5G /dev/datos/datos_lv` | +| Ampliar FS (ext4) | `resize2fs /dev/datos/datos_lv` | +| Ampliar FS (XFS) | `xfs_growfs /punto/montaje` | +| Reducir LV (ext4) | `resize2fs /dev/datos/datos_lv 8G && lvreduce -L 8G /dev/datos/datos_lv` | +| Crear snapshot | `lvcreate -L 2G -s -n snap_lv /dev/datos/datos_lv` | +| Activar VG | `vgchange -ay datos` | + +--- + +## 3.8. Scripting Bash básico + +**Bash** es el intérprete de comandos estándar en Linux. Los scripts permiten automatizar tareas repetitivas. + +**Estructura básica de un script:** + +```bash +#!/bin/bash +# Comentario +set -e # Sale si un comando falla +set -u # Error si se usa variable no definida + +VARIABLE="valor" +echo "Hola, $VARIABLE" +``` + +**Variables y tipos:** + +| Concepto | Ejemplo | +|---|---| +| Variable | `NOMBRE="admin"` | +| Variable de entorno | `export PATH=$PATH:/nuevo/dir` | +| Variable especial `$?` | Código de retorno del último comando (0 = éxito) | +| Variable especial `$#` | Número de argumentos pasados al script | +| Variable especial `$1`, `$2`... | Argumentos posicionales | +| Variable especial `$$` | PID del proceso actual | +| Sustitución de comando | `FECHA=$(date +%Y-%m-%d)` | +| Aritmética | `TOTAL=$((5 + 3))` | + +**Estructuras de control:** + +```bash +# Condicional +if [ "$VARIABLE" == "valor" ]; then + echo "igual" +elif [ "$VARIABLE" -gt 10 ]; then + echo "mayor que 10" +else + echo "otro" +fi + +# Bucle for +for i in 1 2 3 4 5; do + echo "Número $i" +done + +# Bucle while +while [ $CONTADOR -lt 10 ]; do + CONTADOR=$((CONTADOR + 1)) +done + +# Bucle over files +for FICHERO in /etc/*.conf; do + echo "Procesando $FICHERO" +done +``` + +**Operadores de prueba en `[ ]`:** + +| Operador | Tipo | Descripción | +|---|---|---| +| `-eq` / `-ne` | Numérico | Igual / distinto | +| `-lt` / `-le` / `-gt` / `-ge` | Numérico | Menor / ≤ / Mayor / ≥ | +| `==` / `!=` | Cadena | Igual / distinto | +| `-z` | Cadena | Vacía | +| `-f` | Fichero | Es un fichero regular | +| `-d` | Fichero | Es un directorio | +| `-e` | Fichero | Existe | +| `-r` / `-w` / `-x` | Fichero | Permisos lectura/escritura/ejecución | + +**Cron — programación de tareas:** + +``` +# Formato: min hora día mes díaSemana comando +# * = cualquier valor; , = lista; - = rango; / = paso +0 2 * * * /usr/local/bin/backup.sh # Cada día a las 02:00 +*/15 * * * * /usr/local/bin/check.sh # Cada 15 minutos +0 9 * * 1-5 /usr/local/bin/informe.sh # Lunes a viernes a las 09:00 +0 0 1 * * /usr/local/bin/mensual.sh # El día 1 de cada mes a medianoche +``` + +| Comando | Acción | +|---|---| +| `crontab -e` | Editar crontab del usuario actual | +| `crontab -l` | Listar crontab del usuario actual | +| `crontab -u usuario -e` | Editar crontab de otro usuario (root) | +| `/etc/cron.daily/` | Scripts que se ejecutan diariamente | +| `/etc/cron.weekly/` | Scripts semanales | +| `/etc/cron.monthly/` | Scripts mensuales | + +--- + +# 4. Virtualización y contenedores + +## 4.1. Conceptos de virtualización + +**Virtualización** es la tecnología que permite ejecutar múltiples sistemas operativos o entornos aislados sobre el mismo hardware físico. + +**Beneficios de la virtualización:** + +| Beneficio | Descripción | +|---|---| +| Consolidación | Múltiples servidores virtuales en un servidor físico; reduce costes | +| Aislamiento | Los problemas de una VM no afectan a las demás | +| Portabilidad | Las VMs se pueden migrar entre hosts | +| Alta disponibilidad | Live migration, vMotion; cero tiempo de inactividad | +| Snapshots | Rollback rápido a un estado anterior | +| Entornos de prueba | Clonar VMs para testing sin afectar producción | + +**Terminología clave:** + +| Término | Descripción | +|---|---| +| Hipervisor (VMM) | Software que gestiona las VMs y presenta hardware virtual | +| Host (anfitrión) | Máquina física donde corre el hipervisor | +| Guest (invitado) | Sistema operativo que corre dentro de una VM | +| VM (Máquina virtual) | Instancia virtualizada con CPU, RAM, disco y red virtuales | +| vCPU | CPU virtual asignada a una VM | +| VDI / VMDK / VHD / VHDX | Formatos de disco duro virtual (VirtualBox, VMware, Hyper-V) | + +--- + +## 4.2. Hipervisores Tipo 1 y Tipo 2 + +| | Tipo 1 (bare-metal) | Tipo 2 (hosted) | +|---|---|---| +| Corre sobre | Hardware directamente | Sistema operativo anfitrión | +| Rendimiento | Muy alto | Menor (capa extra) | +| Uso | Producción, centros de datos | Desarrollo, entornos de prueba | +| Ejemplos | VMware ESXi, Hyper-V, KVM | VirtualBox, VMware Workstation, QEMU | + +**Principales hipervisores:** + +| Hipervisor | Tipo | Plataforma | Notas | +|---|---|---|---| +| VMware ESXi | 1 | Independiente | Estándar en empresas; parte de vSphere | +| Microsoft Hyper-V | 1 | Windows Server / Win 10/11 | Integrado en Windows | +| KVM | 1 | Linux (módulo del kernel) | Estándar en RHEL/Ubuntu server | +| Xen | 1 | Independiente | Usado por AWS en sus primeros años | +| VirtualBox | 2 | Windows/Linux/macOS | Oracle; gratuito; muy usado para pruebas | +| VMware Workstation | 2 | Windows/Linux | Comercial; muy completo | + +**KVM (Kernel-based Virtual Machine):** módulo del kernel Linux que convierte Linux en un hipervisor de Tipo 1. Se gestiona con `libvirt`/`virsh` o con la interfaz gráfica `virt-manager`. + +| Comando KVM/libvirt | Acción | +|---|---| +| `virsh list --all` | Listar todas las VMs | +| `virsh start nombre` | Iniciar VM | +| `virsh shutdown nombre` | Apagado ordenado | +| `virsh destroy nombre` | Forzar apagado | +| `virsh snapshot-create-as nombre snap1` | Crear snapshot | +| `virt-install --name vm1 --memory 2048 --vcpus 2 --disk size=20 --os-variant ubuntu22.04` | Crear VM | + +--- + +## 4.3. Contenedores: Docker + +Los **contenedores** son entornos ligeros de ejecución que comparten el kernel del SO anfitrión. Son mucho más ligeros que las VMs porque no necesitan un SO completo. + +**Diferencia VM vs Contenedor:** + +| | Máquina virtual | Contenedor | +|---|---|---| +| Aislamiento | Total (kernel independiente) | Parcial (comparte kernel del host) | +| Tamaño | GBs | MBs | +| Inicio | Minutos | Segundos | +| Portabilidad | Alta | Muy alta | +| Uso de recursos | Mayor | Menor | +| Seguridad | Mayor aislamiento | Menor (escalada de privilegios posible) | + +**Docker** es la plataforma de contenedores más extendida. Usa el formato de imagen OCI. + +| Concepto Docker | Descripción | +|---|---| +| Imagen | Plantilla inmutable con el SO y la aplicación | +| Contenedor | Instancia en ejecución de una imagen | +| Dockerfile | Fichero de texto con instrucciones para construir una imagen | +| Registry | Repositorio de imágenes (Docker Hub, GitLab Registry, ECR) | +| Volumen | Almacenamiento persistente montado en el contenedor | +| Red Docker | Redes virtuales para comunicación entre contenedores | +| Docker Compose | Herramienta para definir y gestionar múltiples contenedores (`docker-compose.yml`) | + +**Comandos Docker básicos:** + +| Comando | Acción | +|---|---| +| `docker ps` | Ver contenedores en ejecución | +| `docker ps -a` | Ver todos los contenedores (incluidos parados) | +| `docker images` | Ver imágenes locales | +| `docker pull ubuntu:22.04` | Descargar imagen | +| `docker run -d -p 8080:80 --name web nginx` | Ejecutar contenedor en segundo plano | +| `docker stop web` / `docker start web` | Detener / iniciar contenedor | +| `docker rm web` | Eliminar contenedor | +| `docker rmi nginx` | Eliminar imagen | +| `docker exec -it web bash` | Acceder al shell del contenedor | +| `docker logs web` | Ver logs del contenedor | +| `docker build -t mi-app:1.0 .` | Construir imagen desde Dockerfile | +| `docker volume create datos` | Crear volumen persistente | + +**Ejemplo mínimo de Dockerfile:** + +```dockerfile +FROM eclipse-temurin:21-jre-alpine +WORKDIR /app +COPY app.jar . +EXPOSE 8080 +ENTRYPOINT ["java", "-jar", "app.jar"] +``` + +--- + +## 4.4. Kubernetes: orquestación de contenedores + +**Kubernetes (K8s)** es la plataforma estándar para orquestar contenedores a escala: gestiona el despliegue, escalado y disponibilidad de contenedores. + +**Arquitectura de Kubernetes:** + +| Componente | Rol | Descripción | +|---|---|---| +| Control Plane | Master | Gestiona el clúster | +| kube-apiserver | Control Plane | Punto de entrada para todas las operaciones (API REST) | +| etcd | Control Plane | Base de datos clave-valor que almacena el estado del clúster | +| kube-scheduler | Control Plane | Decide en qué nodo worker se ejecuta cada Pod | +| kube-controller-manager | Control Plane | Controla el estado deseado vs. el estado real | +| Node (worker) | Nodo | Máquina que ejecuta los contenedores | +| kubelet | Node | Agente en cada nodo; ejecuta las instrucciones del apiserver | +| kube-proxy | Node | Gestiona las reglas de red en el nodo | +| Pod | Workload | Unidad mínima de despliegue; uno o varios contenedores | + +**Objetos Kubernetes clave:** + +| Objeto | Descripción | +|---|---| +| Pod | Uno o más contenedores que comparten red y almacenamiento | +| Deployment | Gestiona un conjunto de Pods con réplicas y rolling updates | +| Service | Expone un conjunto de Pods como un servicio de red estable | +| ConfigMap | Almacena configuración no sensible como variables de entorno | +| Secret | Almacena datos sensibles (contraseñas, tokens) cifrados en base64 | +| PersistentVolume (PV) | Recurso de almacenamiento persistente en el clúster | +| Namespace | Partición lógica del clúster para separar entornos | + +--- + +# 5. Almacenamiento: RAID, SAN y NAS + +## 5.1. RAID (Redundant Array of Independent Disks) + +**RAID** combina múltiples discos físicos para conseguir mayor rendimiento, capacidad o tolerancia a fallos. + +**Niveles RAID:** + +| Nivel | Discos mínimos | Tolerancia fallos | Espacio útil | Rendimiento | Uso típico | +|---|---|---|---|---|---| +| RAID 0 | 2 | 0 (ninguno) | 100 % | Lectura y escritura muy rápidos | Edición de vídeo; solo rendimiento | +| RAID 1 | 2 | 1 disco | 50 % | Lectura rápida; escritura normal | SO, bases de datos pequeñas | +| RAID 5 | 3 | 1 disco | (n−1)/n | Lectura rápida; escritura media | Servidor de ficheros, NAS | +| RAID 6 | 4 | 2 discos | (n−2)/n | Similar a RAID 5 | Datos críticos con reconstrucción lenta | +| RAID 10 (1+0) | 4 | 1 por subespejo | 50 % | Muy rápido en lectura y escritura | Bases de datos de alto rendimiento | + +**RAID por hardware vs software:** + +| | RAID hardware | RAID software | +|---|---|---| +| Implementación | Controladora RAID dedicada | SO (mdadm en Linux, Storage Spaces en Windows) | +| Rendimiento | Muy alto (caché en controladora) | Menor (usa CPU del sistema) | +| Coste | Mayor | Gratis | +| Independencia del SO | Sí | No | + +**RAID software en Linux con mdadm:** + +| Comando | Acción | +|---|---| +| `mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd` | Crear RAID 5 | +| `cat /proc/mdstat` | Ver estado del RAID | +| `mdadm --detail /dev/md0` | Detalle del array | +| `mdadm --manage /dev/md0 --add /dev/sde` | Añadir disco de recambio | +| `mdadm --manage /dev/md0 --fail /dev/sdb` | Marcar disco como fallido | + +--- + +## 5.2. Tipos de almacenamiento: DAS, NAS y SAN + +| Tipo | Significado | Conexión | Protocolo | Uso | +|---|---|---|---|---| +| DAS | Direct Attached Storage | Cable directo al servidor | ATA, SATA, SAS, USB | Servidor individual | +| NAS | Network Attached Storage | Red Ethernet | NFS (Linux), SMB/CIFS (Windows) | Compartición de ficheros en red | +| SAN | Storage Area Network | Red dedicada de alta velocidad | iSCSI, Fibre Channel (FC), FCoE | Almacenamiento de bloques para bases de datos | + +**NFS (Network File System) — Linux:** + +| Comando | Acción | +|---|---| +| `cat /etc/exports` | Ver comparticiones NFS exportadas | +| `exportfs -a` | Aplicar cambios en exports | +| `mount -t nfs servidor:/ruta /mnt/nfs` | Montar compartición NFS | +| `showmount -e servidor` | Ver comparticiones disponibles en servidor NFS | + +**SMB/CIFS — Samba en Linux:** + +| Fichero/Comando | Descripción | +|---|---| +| `/etc/samba/smb.conf` | Fichero de configuración principal | +| `testparm` | Verificar sintaxis de smb.conf | +| `systemctl restart smbd` | Reiniciar Samba | +| `smbpasswd -a usuario` | Añadir usuario Samba | +| `smbclient -L //servidor` | Listar comparticiones | + +--- + +# 6. Copias de seguridad + +## 6.1. Tipos de copia de seguridad + +| Tipo | Qué copia | Velocidad backup | Velocidad restauración | Espacio | +|---|---|---|---|---| +| Completa (full) | Todos los datos | Lenta | Rápida (un solo set) | Mayor | +| Incremental | Solo cambios desde la última copia (completa o incremental) | Muy rápida | Lenta (necesita full + todos los incrementales) | Menor | +| Diferencial | Cambios desde la última copia completa | Media (crece con el tiempo) | Media (full + último diferencial) | Media | +| Sintética full | Construye una nueva full a partir de full + incrementales sin leer el origen | Rápida | Rápida | — | + +**Estrategia habitual:** full semanal (domingo) + incrementales diarios (lunes a sábado). La restauración requiere el full + los incrementales del lunes al día del desastre. + +--- + +## 6.2. Conceptos clave: RTO, RPO y regla 3-2-1 + +| Concepto | Definición | Ejemplo | +|---|---|---| +| RTO (Recovery Time Objective) | Tiempo máximo tolerable para restaurar el servicio tras un incidente | RTO = 4 h: el servicio debe estar operativo en 4 horas | +| RPO (Recovery Point Objective) | Máxima pérdida de datos tolerable (en tiempo) | RPO = 1 h: se puede perder como máximo 1 hora de datos | +| MTTR (Mean Time To Repair) | Tiempo medio de reparación | Métrica de disponibilidad | +| MTBF (Mean Time Between Failures) | Tiempo medio entre fallos | Métrica de fiabilidad | + +**Regla 3-2-1:** + +- **3** copias de los datos (1 original + 2 copias) +- **2** soportes o tecnologías diferentes (disco local + nube, o disco + cinta) +- **1** copia fuera de las instalaciones (offsite) para protegerse ante desastres físicos (incendio, inundación) + +**Extensión 3-2-1-1-0:** + +- Adicionalmente, **1** copia offline o air-gapped (desconectada de la red) para protección ante ransomware +- **0** errores verificados: cada copia debe testarse periódicamente con restauraciones de prueba + +--- + +## 6.3. Herramientas de backup + +**Windows:** + +| Herramienta | Descripción | +|---|---| +| `wbadmin` | Backup de Windows Server desde línea de comandos | +| `robocopy` | Copia incremental de ficheros con opciones avanzadas | +| VSS (Volume Shadow Copy Service) | Servicio de instantáneas de volumen; permite copiar ficheros abiertos | +| Windows Server Backup | Interfaz gráfica de backup de Windows Server | +| Azure Backup | Servicio en la nube de Microsoft para backup | +| DPM (Data Protection Manager) | Solución empresarial de backup de Microsoft | + +**Comandos robocopy:** + +| Comando | Acción | +|---|---| +| `robocopy C:\origen D:\destino /E /Z /LOG:log.txt` | Copia completa con subdirectorios y modo reiniciable | +| `robocopy C:\origen D:\destino /E /MIR` | Espejo (elimina en destino lo que no está en origen) | +| `robocopy C:\origen D:\destino /E /COPYALL /DCOPY:DAT /XA:SH` | Mantener permisos y atributos | + +**Linux:** + +| Herramienta | Descripción | +|---|---| +| `rsync` | Sincronización incremental local o remota; estándar Linux | +| `tar` | Compresión y archivado (`.tar.gz`, `.tar.bz2`) | +| `dd` | Copia bit a bit de discos y particiones | +| Bacula / Bareos | Solución de backup empresarial open source | +| Amanda | Backup de red open source | +| BorgBackup / restic | Backup deduplicado con cifrado; moderno | + +**Comandos rsync:** + +| Comando | Acción | +|---|---| +| `rsync -avz /origen/ /destino/` | Sincronización local con compresión | +| `rsync -avz /origen/ usuario@servidor:/destino/` | Sincronización remota por SSH | +| `rsync -avz --delete /origen/ /destino/` | Espejo (elimina en destino lo inexistente en origen) | +| `rsync -avz --exclude='*.log' /origen/ /destino/` | Excluir ficheros | + +--- + +# 7. Alta disponibilidad y clustering + +## 7.1. Conceptos de alta disponibilidad + +**Alta disponibilidad (HA)** garantiza que un servicio esté disponible el mayor porcentaje de tiempo posible, minimizando el tiempo de inactividad (downtime). + +| Concepto | Descripción | +|---|---| +| SLA (Service Level Agreement) | Acuerdo de nivel de servicio entre proveedor y cliente | +| Disponibilidad del 99,9 % ("tres nueves") | Max. ~8,7 h de downtime al año | +| Disponibilidad del 99,99 % ("cuatro nueves") | Max. ~52 min de downtime al año | +| Disponibilidad del 99,999 % ("cinco nueves") | Max. ~5 min de downtime al año | +| SPF (Single Point of Failure) | Componente cuyo fallo detiene todo el servicio; debe eliminarse en HA | +| Failover | Transferencia automática del servicio a un nodo de respaldo cuando el principal falla | +| Failback | Retorno del servicio al nodo principal una vez reparado | +| Active-Active | Todos los nodos sirven tráfico simultáneamente; mayor aprovechamiento | +| Active-Passive | Un nodo sirve; el otro espera en caliente; la conmutación tarda segundos | + +--- + +## 7.2. Clustering en Windows: WSFC + +**WSFC (Windows Server Failover Clustering)** permite crear clústeres de alta disponibilidad en Windows Server. Requiere almacenamiento compartido (SAN). + +| Componente | Descripción | +|---|---| +| Nodo | Servidor miembro del clúster | +| Quórum | Mecanismo de votación para decidir qué nodo es el propietario activo; evita split-brain | +| Recurso de clúster | Servicio o recurso gestionado por el clúster (IP, disco, servicio de aplicación) | +| Failover | El clúster mueve los recursos del nodo fallido al nodo activo | +| Always On AG (SQL Server) | Alta disponibilidad de bases de datos SQL Server sin necesidad de almacenamiento compartido | + +--- + +## 7.3. Clustering en Linux: Pacemaker y Corosync + +| Componente | Capa | Función | +|---|---|---| +| Corosync | Comunicación entre nodos | Heartbeat y mensajería entre nodos del clúster | +| Pacemaker | Gestión de recursos | Decide qué nodo debe ejecutar cada recurso; gestiona failover | +| DRBD | Replicación de disco | Replica datos de bloque entre nodos en tiempo real (RAID 1 por red) | + +**Comandos Pacemaker:** + +| Comando | Acción | +|---|---| +| `crm status` / `pcs status` | Ver estado del clúster | +| `pcs node standby nodo1` | Poner nodo en modo standby | +| `pcs resource failover recurso` | Forzar failover de un recurso | + +--- + +## 7.4. Balanceo de carga + +El **balanceador de carga** distribuye las peticiones entrantes entre múltiples servidores para maximizar el rendimiento y la disponibilidad. + +| Algoritmo | Descripción | +|---|---| +| Round Robin | Reparte peticiones cíclicamente entre servidores | +| Round Robin ponderado | Igual que Round Robin pero con peso según capacidad del servidor | +| Least Connections | Envía al servidor con menos conexiones activas | +| IP Hash | El mismo cliente siempre va al mismo servidor (sesiones persistentes) | + +**Soluciones de balanceo:** + +| Solución | Tipo | Notas | +|---|---|---| +| HAProxy | Software (Linux) | Muy usado; rendimiento muy alto; TCP y HTTP | +| Nginx | Software (Linux) | Servidor web + proxy + balanceador | +| Windows NLB | Software (Windows) | Network Load Balancing integrado en Windows Server | +| F5 BIG-IP | Hardware/software | Solución empresarial de alto rendimiento | +| Azure Load Balancer / AWS ELB | Cloud | Balanceo gestionado en la nube | + +--- + +# 8. Actualización del sistema operativo + +## 8.1. Tipos de actualizaciones | Tipo | Descripción | Urgencia | |---|---|---| @@ -399,7 +1304,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 4.2. Estrategias y herramientas de actualización centralizada +## 8.2. Estrategias y herramientas de actualización centralizada | Estrategia | Descripción | Entorno típico | |---|---|---| @@ -420,7 +1325,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 4.3. Buenas prácticas en la actualización +## 8.3. Buenas prácticas en la actualización | Práctica | Descripción | |---|---| @@ -433,9 +1338,9 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -# 5. Mantenimiento del sistema operativo +# 9. Mantenimiento del sistema operativo -## 5.1. Tipos de mantenimiento +## 9.1. Tipos de mantenimiento | Tipo | Cuándo | Objetivo | Ejemplo | |---|---|---|---| @@ -446,7 +1351,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 5.2. Tareas y herramientas de mantenimiento +## 9.2. Tareas y herramientas de mantenimiento | Tarea | Windows | Linux | |---|---|---| @@ -460,7 +1365,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 5.3. Monitorización del sistema +## 9.3. Monitorización del sistema **Métricas clave a monitorizar:** @@ -477,9 +1382,9 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -# 6. Reparación del sistema operativo +# 10. Reparación del sistema operativo -## 6.1. Tipos de fallos +## 10.1. Tipos de fallos | Tipo de fallo | Causa habitual | Síntoma típico | |---|---|---| @@ -491,7 +1396,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 6.2. Técnicas de reparación +## 10.2. Técnicas de reparación | Técnica | Cuándo usarla | Herramienta | |---|---|---| @@ -505,7 +1410,7 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -## 6.3. Herramientas de diagnóstico y recuperación +## 10.3. Herramientas de diagnóstico y recuperación **Windows:** @@ -534,9 +1439,9 @@ Ejemplo: `chmod 755 archivo` → propietario rwx (7) · grupo r-x (5) · otros r --- -# 7. Seguridad en la administración del sistema +# 11. Seguridad en la administración del sistema -## 7.1. Principios de seguridad: la tríada CIA +## 11.1. Principios de seguridad: la tríada CIA | Principio | Descripción | Ejemplo en administración de SO | |---|---|---| @@ -548,7 +1453,7 @@ La tríada CIA es la base de cualquier política de seguridad de la información --- -## 7.2. Medidas técnicas de seguridad en el sistema operativo +## 11.2. Medidas técnicas de seguridad en el sistema operativo | Medida | Windows | Linux | |---|---|---| @@ -565,14 +1470,160 @@ La tríada CIA es la base de cualquier política de seguridad de la información --- +## 11.3. PKI y certificados digitales + +**PKI (Public Key Infrastructure)** es el conjunto de roles, políticas, hardware, software y procedimientos necesarios para crear, gestionar, distribuir, usar y revocar certificados digitales. + +| Concepto | Descripción | +|---|---| +| Clave pública / privada | Par de claves asimétricas; lo que cifra una solo lo descifra la otra | +| Certificado X.509 | Estándar de formato de certificado; contiene clave pública, identidad del titular, firma de la CA | +| CA (Certification Authority) | Entidad que emite y firma certificados; garantiza la identidad | +| CA raíz | CA de nivel superior; autofirmada; su certificado viene preinstalado en el SO | +| CA intermedia | CA firmada por la CA raíz; emite certificados a usuarios y servidores | +| CRL (Certificate Revocation List) | Lista de certificados revocados publicada por la CA | +| OCSP (Online Certificate Status Protocol) | Consulta en tiempo real sobre la validez de un certificado | +| SSL/TLS | Protocolo de comunicación cifrada; usa certificados X.509 para autenticar el servidor | +| HTTPS | HTTP sobre TLS; puerto 443; certificado del servidor validado por el cliente | +| Let's Encrypt | CA gratuita y automatizada; emite certificados DV para HTTPS | +| DNIe (DNI electrónico) | Documento de identidad español con chip; incluye certificados X.509 del ciudadano | +| Firma digital | Hash del documento cifrado con la clave privada del firmante; verificable con su clave pública | +| Sello de tiempo (TSA) | Tercero de confianza que certifica que un documento existía en un momento dado | + +**Comando útiles:** + +| Comando | Acción | +|---|---| +| `openssl genrsa -out private.key 4096` | Generar clave RSA de 4096 bits | +| `openssl req -new -key private.key -out server.csr` | Crear CSR (Certificate Signing Request) | +| `openssl x509 -in cert.crt -text -noout` | Ver contenido de un certificado | +| `openssl verify -CAfile ca.crt cert.crt` | Verificar certificado contra una CA | + +--- + +## 11.4. ENS (Esquema Nacional de Seguridad) — detalle + +El ENS está regulado por el **Real Decreto 311/2022**, que deroga el anterior RD 3/2010. Es obligatorio para todas las Administraciones Públicas españolas y para los proveedores de servicios que traten datos de la AGE. + +**Dimensiones de seguridad:** + +| Dimensión | Sigla | Descripción | +|---|---|---| +| Disponibilidad | D | Acceso al sistema y a sus datos cuando se necesita | +| Autenticidad | A | Identificar con certeza al usuario y al origen de los datos | +| Integridad | I | Garantizar que los datos no han sido modificados sin autorización | +| Confidencialidad | C | Solo acceden quienes están autorizados | +| Trazabilidad | T | Quién hizo qué y cuándo; no repudio | + +**Niveles de seguridad:** + +| Nivel | Criterio | Ejemplo | +|---|---|---| +| Básico | Daño limitado si se compromete la seguridad | Web informativa de un ayuntamiento | +| Medio | Daño grave para los intereses de la organización | Gestión de personal; expedientes administrativos | +| Alto | Daño muy grave; puede comprometer la seguridad nacional | Datos penitenciarios; fuerzas y cuerpos de seguridad | + +**Proceso de adecuación ENS:** + +1. Análisis diferencial (GAP análisis vs. ENS) +2. Análisis y gestión de riesgos (MAGERIT es la metodología oficial) +3. Plan de adecuación con las medidas a implementar +4. Implantación de medidas de seguridad +5. Declaración de Aplicabilidad (DA) +6. Auditoría de seguridad (cada 2 años para nivel medio y alto) +7. Certificación ENS (emitida por entidad acreditada ENAC) + +**Relación con ISO 27001:** el ENS es obligatorio por ley en la AGE; ISO 27001 es una norma internacional voluntaria. Ambos tienen un enfoque de ciclo de mejora continua (PDCA). Obtener la certificación ISO 27001 facilita la adecuación al ENS. + +--- + +## 11.5. Hardening del sistema operativo + +**Hardening** es el proceso de reducir la superficie de ataque del sistema eliminando componentes, servicios y configuraciones innecesarias. + +**Principios de hardening:** + +| Principio | Descripción | +|---|---| +| Mínimo privilegio | Cada usuario/proceso solo tiene los permisos estrictamente necesarios | +| Superficie de ataque mínima | Desinstalar/deshabilitar todo lo que no se usa | +| Defensa en profundidad | Múltiples capas de seguridad; si una falla, las otras protegen | +| Fail-secure | En caso de error, el sistema debe quedar en estado seguro (denegar por defecto) | + +**Medidas de hardening (Windows):** + +| Medida | Descripción | +|---|---| +| Deshabilitar servicios innecesarios | Telnet, FTP, Remote Registry si no se usan | +| Renombrar cuenta Administrador | Dificulta ataques de fuerza bruta | +| Directiva de contraseñas | Longitud mínima 12 chars, complejidad, historial, expiración | +| Deshabilitar LLMNR y NetBIOS | Evitar ataques de envenenamiento (responder) | +| Activar Windows Defender + Firewall | Protección básica siempre activa | +| AppLocker / WDAC | Listas blancas de aplicaciones autorizadas | +| BitLocker | Cifrado de disco en reposo | +| Parches al día | Aplicar actualizaciones de seguridad puntualmente | + +**Medidas de hardening (Linux):** + +| Medida | Descripción | +|---|---| +| Deshabilitar root SSH | `PermitRootLogin no` en `/etc/ssh/sshd_config` | +| Autenticación SSH por clave | Deshabilitar contraseñas: `PasswordAuthentication no` | +| fail2ban | Bloquea IPs tras N intentos fallidos de login | +| auditd | Registro detallado de llamadas al sistema | +| SELinux/AppArmor | Control de acceso obligatorio | +| Deshabilitar servicios | `systemctl disable ` si no se usa | +| umask restrictivo | `umask 027` (ficheros nuevos sin permisos para otros) | +| Actualizaciones automáticas | `unattended-upgrades` (Debian/Ubuntu) | +| CIS Benchmarks | Guías de referencia de seguridad por SO y versión; auditables con `lynis` | + +--- + +## 11.6. LOPD/RGPD y administración de sistemas + +Los administradores de sistemas gestionan sistemas que procesan datos personales, por lo que deben conocer la normativa de protección de datos. + +| Normativa | Ámbito | Descripción | +|---|---|---| +| RGPD (Reglamento General de Protección de Datos) | Unión Europea | Reglamento 2016/679; aplicación directa en todos los EEMM desde mayo 2018 | +| LOPDGDD (Ley Orgánica 3/2018) | España | Adapta el RGPD al ordenamiento español; deroga la LOPD de 1999 | +| AEPD | España | Agencia Española de Protección de Datos; autoridad de control | + +**Principios RGPD aplicables a la administración de sistemas:** + +| Principio | Implicación para el administrador | +|---|---| +| Licitud, lealtad y transparencia | Solo tratar datos con base legal; no recopilar más de lo necesario | +| Limitación de la finalidad | Los logs del sistema no pueden usarse para fines distintos al mantenimiento | +| Minimización de datos | No recopilar ni conservar más datos de los necesarios | +| Exactitud | Datos actualizados; eliminar los incorrectos | +| Limitación del plazo de conservación | Los logs deben tener un plazo de retención definido y cumplirse | +| Integridad y confidencialidad | Medidas técnicas adecuadas; cifrado; control de accesos | +| Responsabilidad proactiva | Documentar las medidas aplicadas; privacy by design/default | + +**Obligaciones prácticas del administrador:** + +- **Logs**: definir retención (p. ej. 6 meses para logs de acceso); anonimizar IPs si se usan para analítica +- **Brechas de seguridad**: notificar a la AEPD en **72 horas** si hay riesgo para los derechos de los afectados +- **DPO (Delegado de Protección de Datos)**: figura obligatoria en la AGE y en organismos que traten datos a gran escala +- **Registro de actividades de tratamiento**: documento que describe cada tratamiento de datos (Art. 30 RGPD) +- **DPIA (Evaluación de Impacto)**: obligatoria cuando el tratamiento implique alto riesgo (videovigilancia, perfilado, datos sensibles) + +--- + # Miniresumen final del tema | Bloque | Contenido clave para el examen | |---|---| | SO y software de base | SO gestiona hardware y apps; kernel monolítico (Linux), híbrido (Windows NT); arranque: BIOS/UEFI → POST → bootloader → kernel → init; BIOS usa MBR; UEFI usa GPT + Secure Boot | -| Windows | Win 10/11/Server 2019-2022; `net user` para usuarios; permisos NTFS (Control total/Modificar/Leer…); Registro (HKLM/HKCU); `sfc /scannow`, `chkdsk`, `ipconfig`, `tasklist`; AD/GPO | -| Linux | Familias: Debian (`apt`), Red Hat (`yum/dnf`), SUSE (`zypper`); FHS: `/etc` conf, `/var/log` logs, `/home` usuarios; chmod octal (r=4, w=2, x=1); systemd con `systemctl`; targets (multi-user=3, graphical=5) | -| Actualización | Tipos: seguridad (CVE, crítica), parche, funcional, service pack; centralizada con WSUS o Ansible; probar en staging + backup + plan de rollback | -| Mantenimiento | Preventivo/correctivo/evolutivo/perfectivo; tareas: limpiar, monitorizar, logs, backup; `top/htop`, Visor eventos, `df -h`, cron/Programador de tareas; SNMP puerto UDP 161 | -| Reparación | Fallos: arranque, archivos corruptos, hardware, malware; Windows: `sfc /scannow`, DISM, `bootrec /fixmbr /fixboot /rebuildbcd`, modo seguro; Linux: `fsck`, `grub-install`, live USB, `rescue.target` | -| Seguridad | Tríada CIA (Confidencialidad, Integridad, Disponibilidad); mínimo privilegio; cifrado BitLocker/LUKS; firewall; MFA; ENS obligatorio en la AGE | \ No newline at end of file +| Sistemas de ficheros | FAT32 (4 GB), NTFS (permisos, journaling, cifrado EFS), ext4/XFS/Btrfs (Linux); journaling previene corrupción; `/etc/fstab` para montaje automático | +| Gestión de procesos | Estados: ready/running/blocked/zombie; algoritmos: FCFS, SJF, Round Robin, prioridad, colas multinivel; deadlock; señales Linux (SIGTERM=15, SIGKILL=9) | +| Gestión de memoria | Paginación (pages+frames), segmentación, memoria virtual, TLB, page fault, thrashing; swap (Linux) / pagefile.sys (Windows) | +| Windows | Win 10/11/Server 2022; permisos NTFS + ACL (DACL/SACL); AD: bosque/árbol/dominio/DC/RODC/catálogo global; FSMO (5 roles); GPO (LSDOU); BitLocker/EFS; Hyper-V Tipo 1 | +| Linux | Familias: Debian (`apt`), Red Hat (`dnf`), SUSE (`zypper`); chmod octal; systemd/systemctl/targets; iptables/nftables/ufw; SELinux (enforcing/permissive); LVM (PV/VG/LV); bash/cron | +| Virtualización | Tipo 1 (ESXi, Hyper-V, KVM) vs Tipo 2 (VirtualBox); Docker (imagen/contenedor/Dockerfile/Compose); Kubernetes (Pod/Deployment/Service/kubelet) | +| Almacenamiento | RAID 0/1/5/6/10 (discos mínimos, tolerancia); DAS/NAS/SAN; iSCSI/FC; LVM (Linux) | +| Copias de seguridad | Completa/Incremental/Diferencial/Sintética; RTO (tiempo recuperación) y RPO (datos perdidos); regla 3-2-1; rsync/tar/wbadmin/VSS | +| Alta disponibilidad | Failover/failback; WSFC (Windows); Pacemaker+Corosync (Linux); HAProxy/Nginx LB; "cinco nueves" = 5 min downtime/año | +| Actualización | CVE; WSUS/Ansible para centralizar; probar en staging + backup + rollback | +| Seguridad | CIA + trazabilidad; hardening (fail2ban, SELinux, CIS); PKI/X.509/CA/TLS; ENS (RD 311/2022, niveles básico/medio/alto, dimensiones DAICT); RGPD/LOPDGDD (72h breach, DPO, DPIA) | \ No newline at end of file diff --git a/src/main/resources/temas/bloque4/B4T1_audio.md b/src/main/resources/temas/bloque4/B4T1_audio.md index 22920f0..4e2b0ff 100644 --- a/src/main/resources/temas/bloque4/B4T1_audio.md +++ b/src/main/resources/temas/bloque4/B4T1_audio.md @@ -50,7 +50,15 @@ NTFS es el sistema de ficheros de Windows y define cinco niveles de permiso. Con El principio de mínimo privilegio establece que cada usuario o proceso debe tener únicamente los permisos estrictamente necesarios para realizar su tarea, y ninguno más. -Active Directory es el servicio de directorio de Microsoft para gestionar usuarios, equipos y políticas en una red corporativa. Sus componentes clave son el dominio como unidad administrativa, el controlador de dominio o DC que autentica a los usuarios, las GPO u objetos de directiva de grupo que aplican políticas automáticamente, las OU u unidades organizativas que permiten agrupar objetos dentro del dominio, y LDAP que es el protocolo usado por Active Directory para las consultas al directorio. +Las listas de control de acceso, conocidas como ACL, son el mecanismo que NTFS usa para controlar el acceso a cada objeto. Una ACL contiene entradas ACE que asocian un usuario o grupo con sus permisos sobre ese objeto. Hay dos tipos de ACL: la DACL o lista de acceso discrecional controla quién puede acceder al objeto; la SACL o lista de acceso del sistema controla qué eventos se registran en el log de auditoría. Los permisos NTFS se heredan desde la carpeta padre y pueden bloquearse para asignar permisos propios; los permisos explícitos tienen precedencia sobre los heredados. + +Active Directory es el servicio de directorio de Microsoft para gestionar usuarios, equipos y políticas en una red corporativa. Tiene una estructura jerárquica de varios niveles. En el nivel superior está el bosque, que es el conjunto de dominios que comparten el mismo esquema y catálogo global. Dentro del bosque hay uno o más árboles, que son conjuntos de dominios con espacio de nombres contiguo. Dentro de cada árbol hay dominios, que son las unidades administrativas básicas. Dentro de los dominios hay unidades organizativas u OU que sirven para agrupar objetos y aplicarles directivas. El protocolo de consulta al directorio es LDAP, que usa el puerto TCP 389, y la autenticación usa Kerberos en el puerto 88. + +Los controladores de dominio o DC son los servidores que tienen instalado Active Directory Domain Services y autentican a los usuarios. Un tipo especial es el controlador de solo lectura o RODC, que se usa en sucursales donde la seguridad física no es óptima. El catálogo global es un DC especial que almacena información de todos los objetos del bosque y es imprescindible para las búsquedas entre dominios. + +Los roles FSMO son cinco funciones especiales que solo puede tener un DC a la vez para evitar conflictos. Los dos roles de alcance de bosque son el Maestro de Esquema, que gestiona los cambios al esquema de Active Directory, y el Maestro de nomenclatura de dominio, que controla la adición y eliminación de dominios. Los tres roles de alcance de dominio son el Emulador PDC, que sincroniza la hora y gestiona los bloqueos de cuentas; el Maestro RID, que asigna identificadores únicos para crear objetos; y el Maestro de infraestructura, que actualiza las referencias entre objetos de distintos dominios. + +Las directivas de grupo u objetos GPO son colecciones de configuraciones que se aplican automáticamente a usuarios y equipos. El orden de aplicación sigue el acrónimo LSDOU: primero se aplica la directiva local del equipo, luego las del sitio, después las del dominio y finalmente las de la OU; la OU más próxima al objeto tiene la última palabra. Una OU puede bloquear la herencia de las GPO del padre, y una GPO marcada como Forzada no puede ser bloqueada. El comando gpupdate barra force fuerza la actualización inmediata, y gpresult barra r muestra las directivas aplicadas al usuario o equipo actual. --- @@ -68,7 +76,35 @@ Los comandos de la línea de comandos de Windows más importantes para el examen PowerShell es el intérprete de comandos moderno de Windows. Los cmdlets más útiles son Get-Process para ver procesos, Stop-Process para terminar un proceso por su PID, Get-Service y Start-Service o Stop-Service para gestionar servicios, Get-EventLog para consultar los registros de eventos, Get-HotFix para ver las actualizaciones instaladas, y Test-Connection como equivalente al ping. -En resumen: Windows se gestiona con la consola de administración y los snap-ins como el administrador de discos, servicios y visor de eventos. La línea de comandos con cmd y PowerShell son fundamentales para el examen. Active Directory gestiona usuarios y políticas en el dominio mediante GPO. +En resumen: Windows se gestiona con la consola de administración y los snap-ins como el administrador de discos, servicios y visor de eventos. La línea de comandos con cmd y PowerShell son fundamentales para el examen. Active Directory gestiona usuarios y políticas en el dominio mediante GPO con el orden LSDOU. Los cinco roles FSMO garantizan la coherencia del directorio. + +--- + +### 2.5. Seguridad en Windows: BitLocker, EFS y Windows Defender + +BitLocker es la herramienta de cifrado de disco completo incluida en las ediciones Pro y Enterprise de Windows y en Windows Server. Cifra toda la unidad con el algoritmo AES de 128 o 256 bits, de modo que si el disco es extraído físicamente los datos son ilegibles. + +El elemento central de BitLocker es el TPM o Trusted Platform Module, que es un chip integrado en la placa base que almacena las claves de cifrado y verifica que el entorno de arranque no ha sido manipulado. Además del TPM, se puede añadir un PIN de arranque como capa adicional de autenticación. La clave de recuperación es una contraseña de 48 dígitos que permite desbloquear el volumen si falla el TPM o se cambia hardware. BitLocker To Go extiende el cifrado a unidades extraíbles como memorias USB y discos externos. + +EFS, que son las siglas de Encrypting File System, es una funcionalidad de NTFS que permite cifrar archivos y carpetas individuales, a diferencia de BitLocker que cifra el disco completo. Cada usuario tiene un certificado digital que protege las claves de cifrado de sus archivos. El cifrado es transparente para el usuario autorizado, que accede con normalidad; para cualquier otro usuario el archivo es ilegible. El administrador puede actuar como agente de recuperación para descifrar archivos si el usuario pierde su certificado. + +Windows Defender, ahora llamado Microsoft Defender, es la solución de seguridad integrada en Windows. Tiene varios componentes. El Defender Antivirus protege en tiempo real contra malware. El Defender Firewall filtra el tráfico de red entrante y saliente. Defender SmartScreen bloquea descargas y páginas web maliciosas. Defender for Endpoint es la solución EDR empresarial que detecta amenazas avanzadas y responde a incidentes. Credential Guard aísla las credenciales de dominio en un entorno virtualizado mediante Hyper-V para impedir su robo. WDAC, que son las siglas de Windows Defender Application Control, implementa listas blancas de aplicaciones permitiendo ejecutar únicamente código firmado y de confianza. + +El UAC o Control de Cuentas de Usuario es el mecanismo de elevación de privilegios. Cuando una acción requiere permisos de Administrador, el sistema muestra un diálogo de confirmación. Esto limita el impacto del malware que intenta ejecutarse con privilegios elevados en una cuenta estándar. + +--- + +### 2.6. Hyper-V: virtualización en Windows + +Hyper-V es el hipervisor de Tipo 1 integrado en Windows Server y en las ediciones Pro y Enterprise de Windows 10 y 11. Al ser de Tipo 1 o bare-metal, se ejecuta directamente sobre el hardware sin necesidad de un sistema operativo anfitrión, lo que lo hace muy eficiente. + +Los conceptos básicos de Hyper-V son los siguientes. El equipo físico que tiene Hyper-V instalado se llama host o anfitrión. Cada sistema operativo virtualizado se denomina máquina virtual o VM. Los discos virtuales se almacenan en formato VHD o VHDX; el formato VHDX soporta volúmenes de hasta 64 terabytes. Los checkpoints o instantáneas guardan el estado completo de una VM en un momento determinado y permiten hacer rollback si algo sale mal. + +Los switches virtuales en Hyper-V son de tres tipos. El switch externo conecta la VM a la red física del host y tiene acceso a Internet. El switch interno permite la comunicación entre las VMs y el host pero no accede a la red exterior. El switch privado solo permite comunicación entre VMs, sin que el host participe. + +La migración en vivo o Live Migration es la capacidad de mover una VM en ejecución de un servidor host a otro sin que haya tiempo de inactividad, lo que es fundamental para el mantenimiento sin interrupción del servicio. + +Las Generaciones de las VMs en Hyper-V son dos. La Generación 1 usa BIOS, que es el firmware legacy, y es compatible con la mayoría de sistemas operativos. La Generación 2 usa UEFI y es más moderna; soporta Secure Boot, tiene mejor rendimiento y es compatible con Windows 2012 o superior y con distribuciones Linux modernas. --- @@ -120,15 +156,191 @@ En resumen: Linux se organiza en distribuciones de las familias Debian, Red Hat --- -## 4. Actualización del sistema operativo +### 3.5. Firewall en Linux: iptables, nftables y ufw -### 4.1. Tipos de actualizaciones +El kernel de Linux incluye el subsistema Netfilter que implementa el filtrado de paquetes de red. Las herramientas de espacio de usuario que permiten configurar Netfilter son tres principalmente. La más clásica es iptables, que aunque sigue siendo muy usada está siendo reemplazada progresivamente por nftables, que es la herramienta moderna con sintaxis unificada para IPv4 e IPv6. En distribuciones Ubuntu existe además ufw, que son las siglas de Uncomplicated Firewall, una interfaz simplificada que facilita la gestión del firewall sin tener que aprender la sintaxis compleja de iptables. En distribuciones Red Hat y Fedora el firewall se gestiona con firewalld, que usa nftables como backend y organiza las reglas en zonas. + +Las cadenas de iptables son los puntos de inspección por los que pasa el tráfico. La cadena INPUT inspecciona los paquetes destinados al propio equipo. La cadena OUTPUT inspecciona los paquetes generados por el equipo. La cadena FORWARD inspecciona los paquetes que el equipo enruta hacia otro destino. Cada paquete que llega a una cadena se compara con las reglas en orden hasta encontrar una coincidencia; si la hay, se aplica el objetivo: ACCEPT para aceptar, DROP para descartar silenciosamente, o REJECT para descartar enviando un error al emisor. + +Con ufw, las operaciones más comunes son activarlo con ufw enable, ver el estado con ufw status verbose, permitir un servicio con ufw allow 22 barra tcp para SSH, y eliminar una regla con ufw delete allow 22 barra tcp. + +--- + +### 3.6. SELinux y AppArmor: control de acceso obligatorio + +Los permisos estándar de Linux son discrecionales, lo que significa que el propietario puede conceder o revocar permisos libremente. El control de acceso obligatorio o MAC añade una capa de restricciones impuesta por el sistema operativo que ni el propietario ni el administrador puede ignorar fácilmente. + +SELinux, que son las siglas de Security-Enhanced Linux, fue desarrollado por la NSA e integrado directamente en el kernel de Linux. Es el estándar en distribuciones de la familia Red Hat. Funciona asignando contextos de seguridad a cada proceso, fichero y puerto de red; el kernel verifica que el contexto del proceso tiene permiso para acceder al contexto del recurso antes de permitir cualquier operación. + +SELinux tiene tres modos de operación. En modo Enforcing aplica la política de seguridad y bloquea las acciones no permitidas. En modo Permissive solo registra en el log las violaciones pero no las bloquea; es muy útil para depurar problemas de SELinux sin interrumpir el servicio. En modo Disabled SELinux está completamente desactivado; cambiar a este modo requiere reiniciar el sistema. + +Los comandos básicos son getenforce para ver el modo actual, setenforce cero para pasar a permissive temporalmente, y ls con la opción Z para ver el contexto SELinux de un fichero. Si SELinux bloquea una acción legítima, se puede analizar el log de auditoría con audit2allow para generar una política personalizada que permita esa acción. + +AppArmor es la alternativa a SELinux. Es el estándar en Ubuntu y Debian. En lugar de contextos globales, AppArmor usa perfiles por aplicación definidos en ficheros de texto; cada perfil especifica a qué ficheros y puertos puede acceder ese programa. El comando aa-status muestra los perfiles cargados y su modo, y aa-enforce pone un perfil en modo de aplicación estricto. + +--- + +### 3.7. LVM: gestión lógica de volúmenes + +LVM es el Logical Volume Manager, el sistema de gestión de almacenamiento de Linux que permite crear volúmenes flexibles que se pueden redimensionar, extender con nuevos discos y usar para snapshots sin reiniciar el sistema. + +La arquitectura de LVM tiene tres niveles. En el nivel inferior están los volúmenes físicos o PV, que son discos o particiones inicializados para LVM con el comando pvcreate. Los PV se combinan en grupos de volumen o VG, que actúan como un pool de almacenamiento; se crean con vgcreate. Dentro de un VG se crean los volúmenes lógicos o LV, que son los volúmenes que el sistema operativo ve como si fueran particiones; se crean con lvcreate. Sobre los LV se crea el sistema de ficheros con mkfs y se montan en el árbol de directorios. + +La gran ventaja de LVM es la flexibilidad. Para extender un LV sin reiniciar se usa lvextend para aumentar su tamaño y después resize2fs en ext4 o xfs_growfs en XFS para que el sistema de ficheros use el espacio nuevo. También se pueden crear snapshots de LVM, que son instantáneas del estado del LV en un momento dado usando la técnica copy-on-write, muy útiles para hacer backups consistentes de bases de datos o para pruebas. + +--- + +### 3.8. Scripting bash básico + +Bash es el intérprete de comandos estándar en Linux. Los scripts de bash permiten automatizar tareas repetitivas combinando comandos del sistema con estructuras de control de flujo. + +Un script comienza con la línea shebang, que es una almohadilla seguida de una exclamación y la ruta al intérprete: barra bin barra bash. Las variables se definen sin espacios alrededor del signo igual y se referencian con el símbolo del dólar. Para capturar la salida de un comando en una variable se usa la sustitución de comandos con el símbolo del dólar y paréntesis. La variable especial interrogación contiene el código de retorno del último comando, donde cero significa éxito y cualquier otro valor indica error. + +Las estructuras de control son las habituales. El condicional if comprueba una condición entre corchetes, ejecuta el bloque then si es verdadera, opcionalmente un bloque elif para condiciones adicionales, y un bloque else para el caso contrario, terminando con fi. El bucle for itera sobre una lista de elementos ejecutando el cuerpo del bucle para cada uno. El bucle while repite el cuerpo mientras la condición sea verdadera. + +Para diagnosticar ficheros o directorios en los condicionales se usan operadores como menos f para comprobar si es un fichero regular, menos d para directorio, menos e para que exista, y menos r o menos w o menos x para comprobar permisos de lectura, escritura o ejecución respectivamente. + +La programación de tareas en Linux se gestiona con cron. El formato de un crontab tiene cinco campos antes del comando: minuto, hora, día del mes, mes y día de la semana. El asterisco significa cualquier valor. Por ejemplo, cero dos asterisco asterisco asterisco significa las dos de la mañana todos los días. La barra indica incrementos: asterisco barra quince en el campo de minutos significa cada quince minutos. El comando crontab con e edita el crontab del usuario actual, y con l lo muestra. + +--- + +## 4. Virtualización y contenedores + +### 4.1. Conceptos de virtualización + +La virtualización es la tecnología que permite ejecutar múltiples sistemas operativos o entornos aislados sobre el mismo hardware físico. Sus principales beneficios para la administración de sistemas son la consolidación, que permite reducir el número de servidores físicos ejecutando múltiples sistemas virtuales en uno solo; el aislamiento, que garantiza que los problemas de una VM no afectan a las demás; la portabilidad, que permite mover las VMs entre hosts; la alta disponibilidad mediante migración en vivo; los snapshots para rollback rápido; y la facilidad para crear entornos de prueba sin afectar a producción. + +La terminología básica es la siguiente. El hipervisor o VMM es el software que gestiona las VMs y presenta hardware virtual a cada una. El equipo físico donde corre el hipervisor se llama host o anfitrión. El sistema operativo que corre dentro de una VM se llama guest o invitado. Los discos virtuales tienen distintos formatos según el producto: VDI en VirtualBox, VMDK en VMware, VHD o VHDX en Hyper-V. + +--- + +### 4.2. Hipervisores Tipo 1 y Tipo 2 + +Los hipervisores se clasifican en dos tipos. Los de Tipo 1, también llamados bare-metal, se ejecutan directamente sobre el hardware sin un sistema operativo intermedio. Tienen un rendimiento muy alto y se usan en producción y centros de datos. Los ejemplos más importantes son VMware ESXi, Hyper-V de Microsoft y KVM en Linux. + +Los de Tipo 2, también llamados hosted, se ejecutan como una aplicación sobre un sistema operativo anfitrión. Son más fáciles de instalar y se usan en entornos de desarrollo y pruebas. Los ejemplos más conocidos son VirtualBox de Oracle y VMware Workstation. + +KVM, que son las siglas de Kernel-based Virtual Machine, es especialmente importante porque es el hipervisor estándar en Linux. Es un módulo del propio kernel de Linux que convierte el sistema en un hipervisor de Tipo 1. Se gestiona mediante la biblioteca libvirt con el cliente de línea de comandos virsh y con la interfaz gráfica virt-manager. + +VMware es la plataforma de virtualización más extendida en entornos empresariales. ESXi es el hipervisor bare-metal. vCenter Server es el servidor de gestión centralizada que administra múltiples hosts ESXi desde una única consola. vSphere es el nombre comercial del conjunto ESXi más vCenter. vMotion es la funcionalidad de migración en vivo de VMs entre hosts sin interrumpir el servicio, equivalente al Live Migration de Hyper-V. + +--- + +### 4.3. Contenedores: Docker + +Los contenedores son entornos ligeros de ejecución que, a diferencia de las VMs, no tienen un sistema operativo completo: comparten el kernel del sistema operativo anfitrión. Esto los hace mucho más ligeros, tanto en tamaño, medido en megabytes en lugar de gigabytes, como en tiempo de inicio, medido en segundos en lugar de minutos. + +Docker es la plataforma de contenedores más extendida. Sus conceptos fundamentales son cuatro. Una imagen es la plantilla inmutable que contiene el sistema operativo base y la aplicación. Un contenedor es una instancia en ejecución de una imagen. Un Dockerfile es el fichero de texto con las instrucciones para construir una imagen a partir de una base. Un registry es el repositorio de imágenes; el más conocido es Docker Hub. + +Los comandos Docker más importantes son los siguientes. docker ps muestra los contenedores en ejecución; con la opción a muestra también los parados. docker images lista las imágenes disponibles localmente. docker pull descarga una imagen del registry. docker run crea y ejecuta un contenedor: la opción d lo ejecuta en segundo plano, la opción p mapea un puerto del host a un puerto del contenedor, y la opción name le asigna un nombre. docker stop y docker start detienen e inician un contenedor. docker exec con las opciones it permite acceder al shell del contenedor. docker logs muestra la salida del contenedor. docker build con la opción t construye una imagen desde un Dockerfile en el directorio actual. + +Docker Compose es una herramienta para definir y ejecutar aplicaciones multi-contenedor usando un fichero YAML llamado docker-compose.yml, donde se declaran los servicios, sus imágenes, puertos y dependencias. + +--- + +### 4.4. Kubernetes: orquestación de contenedores + +Kubernetes, abreviado K8s, es la plataforma estándar para orquestar contenedores a escala. Gestiona el despliegue, el escalado automático y la alta disponibilidad de aplicaciones en contenedores en un clúster de servidores. + +La arquitectura de Kubernetes tiene dos planos. El plano de control o control plane gestiona el clúster y está compuesto por el kube-apiserver que es el punto de entrada para todas las operaciones, etcd que es la base de datos clave-valor que almacena el estado del clúster, el kube-scheduler que decide en qué nodo worker se ejecuta cada carga de trabajo, y el kube-controller-manager que asegura que el estado real del clúster coincide con el estado deseado. Los nodos worker son las máquinas que ejecutan los contenedores; en cada nodo corre el kubelet que recibe instrucciones del apiserver y gestiona los contenedores, y el kube-proxy que gestiona las reglas de red. + +Los objetos de Kubernetes más importantes son los siguientes. El Pod es la unidad mínima de despliegue y contiene uno o más contenedores que comparten red y almacenamiento. El Deployment gestiona un conjunto de Pods replicados con capacidad de actualización controlada sin tiempo de inactividad. El Service expone un conjunto de Pods como un servicio de red con una IP y nombre estables, independientemente de qué Pods estén corriendo. El Namespace es una partición lógica del clúster para separar entornos como desarrollo, pruebas y producción. Los ConfigMaps y Secrets almacenan configuración y datos sensibles respectivamente. + +--- + +## 5. Almacenamiento: RAID, SAN y NAS + +### 5.1. RAID + +RAID son las siglas de Redundant Array of Independent Disks, que en español significa Conjunto Redundante de Discos Independientes. Es la tecnología que combina varios discos físicos para conseguir mayor rendimiento, mayor capacidad o mayor tolerancia a fallos. + +Los niveles RAID más importantes para el examen son cinco. RAID 0, también llamado striping o distribuido, divide los datos entre dos o más discos para maximizar el rendimiento de lectura y escritura. Su punto débil es que no tiene ninguna tolerancia a fallos: si falla un disco se pierden todos los datos. Se usa para edición de vídeo u otras aplicaciones donde el rendimiento es lo único que importa. + +RAID 1, también llamado espejo o mirroring, replica exactamente los mismos datos en dos discos. Si falla uno, el otro sigue funcionando. Su desventaja es que solo aprovecha el cincuenta por ciento del espacio. Se usa para el disco del sistema operativo y bases de datos pequeñas donde la disponibilidad es crítica. + +RAID 5 distribuye los datos y la información de paridad entre tres o más discos. Con la paridad se puede reconstruir el contenido de un disco fallido. Aprovecha n menos uno discos sobre el total n y tolera el fallo de un único disco. Es el nivel más usado en servidores de ficheros y NAS. + +RAID 6 es igual que RAID 5 pero con doble paridad, lo que permite tolerar el fallo de hasta dos discos simultáneamente. Requiere un mínimo de cuatro discos y aprovecha n menos dos. Se usa cuando los discos son grandes y el tiempo de reconstrucción es largo. + +RAID 10, también escrito como RAID 1 más 0, combina espejo y striping: primero forma parejas de espejos y luego distribuye los datos entre ellas. Requiere mínimo cuatro discos, aprovecha el cincuenta por ciento y tolera el fallo de un disco por cada pareja de espejos. Es el preferido para bases de datos de alto rendimiento. + +--- + +### 5.2. DAS, NAS y SAN + +El almacenamiento puede conectarse a los servidores de tres formas. El DAS o Direct Attached Storage es el almacenamiento conectado directamente al servidor mediante cable SATA, SAS o USB; es sencillo y rápido pero no se puede compartir entre varios servidores. El NAS o Network Attached Storage es un dispositivo de almacenamiento conectado a la red de datos; los servidores acceden a él mediante protocolos de ficheros: NFS en Linux y SMB barra CIFS en Windows. El SAN o Storage Area Network es una red dedicada de alta velocidad exclusivamente para almacenamiento; usa protocolos de bloque como iSCSI o Fibre Channel y presenta el almacenamiento a los servidores como si fuera un disco local. + +La diferencia clave entre NAS y SAN es el nivel de acceso. El NAS trabaja a nivel de fichero: el cliente pide un fichero y el NAS lo devuelve. El SAN trabaja a nivel de bloque: el servidor ve un disco lógico y gestiona el sistema de ficheros él mismo, lo que ofrece mayor rendimiento para bases de datos. + +--- + +## 6. Copias de seguridad + +### 6.1. Tipos de copia de seguridad + +Las copias de seguridad se clasifican según qué datos incluyen. La copia completa o full copia todos los datos y es la más sencilla de restaurar porque solo necesita un conjunto. Su desventaja es que es la más lenta y ocupa el mayor espacio. + +La copia incremental solo guarda los cambios realizados desde la última copia, ya sea completa o incremental anterior. Es muy rápida y ocupa poco espacio, pero la restauración es lenta porque hay que aplicar la copia completa más todas las incrementales en orden. + +La copia diferencial guarda todos los cambios desde la última copia completa. Es más rápida de restaurar que la incremental porque solo se necesitan la copia completa y el último diferencial, pero con el tiempo ocupa cada vez más espacio. + +La copia sintética full construye una nueva copia completa combinando la última full y los incrementales sin necesidad de acceder al origen. Esto libera carga al servidor de producción durante el proceso. + +Una estrategia común es combinar una copia completa semanal con copias incrementales diarias de lunes a sábado. Para restaurar al jueves habría que usar la copia del domingo más las del lunes, martes y miércoles. + +--- + +### 6.2. RTO, RPO y la regla 3-2-1 + +Dos métricas fundamentales en la planificación de recuperación ante desastres son el RTO y el RPO. El RTO, Recovery Time Objective, es el tiempo máximo tolerable para restablecer el servicio tras un incidente. Si el RTO es de cuatro horas, el servicio debe estar operativo en menos de cuatro horas desde el fallo. El RPO, Recovery Point Objective, es la máxima cantidad de datos que se puede perder, expresada en tiempo. Si el RPO es de una hora, las copias de seguridad deben realizarse al menos cada hora porque en el peor caso se perderá una hora de datos. + +La regla 3-2-1 es la estrategia de backup más ampliamente recomendada. Se basa en tres principios: mantener tres copias de los datos, incluyendo el original; almacenarlas en dos soportes o tecnologías diferentes, como disco local y nube; y asegurarse de que al menos una copia esté fuera de las instalaciones, para protegerse ante desastres físicos como un incendio o inundación. Una extensión moderna es la regla 3-2-1-1-0: la primera unidad extra es tener una copia offline o desconectada de la red para protegerse ante ransomware, y el cero final significa que cada copia debe verificarse para garantizar que tiene cero errores. + +--- + +### 6.3. Herramientas de backup + +En Windows las herramientas de backup más importantes son las siguientes. El comando wbadmin permite gestionar el backup de Windows Server desde la línea de comandos. El servicio VSS, que son las siglas de Volume Shadow Copy Service, crea instantáneas de volumen que permiten copiar ficheros aunque estén abiertos y en uso; es la base de la mayoría de los productos de backup en Windows. El comando robocopy con la opción MIR realiza una copia espejo incremental entre dos directorios. Azure Backup es el servicio gestionado de Microsoft en la nube para backup. + +En Linux las herramientas principales son rsync, que sincroniza ficheros de forma incremental y eficiente tanto localmente como por red sobre SSH; tar con las opciones czf para crear ficheros comprimidos de archivado; dd para copias bit a bit de discos completos; y soluciones empresariales como Bacula o Bareos para entornos con múltiples servidores. BorgBackup y restic son herramientas modernas que añaden deduplicación y cifrado, ideales para backups que se almacenan en la nube. + +--- + +## 7. Alta disponibilidad y clustering + +### 7.1. Conceptos de alta disponibilidad + +La alta disponibilidad, abreviada HA, es el conjunto de técnicas y tecnologías que garantizan que un servicio esté disponible el mayor porcentaje de tiempo posible. Se mide con el SLA o acuerdo de nivel de servicio. Los niveles de disponibilidad más comunes se expresan como "nueves": una disponibilidad del noventa y nueve coma nueve por ciento, llamada tres nueves, permite un máximo de ocho horas y media de caída al año; cuatro nueves, noventa y nueve coma noventa y nueve, permiten solo 52 minutos; y cinco nueves, noventa y nueve coma noventa y nueve nueve, permite apenas cinco minutos de interrupción anual. + +Los conceptos clave son los siguientes. Un punto único de fallo o SPF es cualquier componente cuyo fallo detendría todo el servicio; la alta disponibilidad trata de eliminarlos. El failover es la transferencia automática del servicio al nodo de respaldo cuando el principal falla. El failback es el retorno al nodo principal una vez reparado. En un esquema activo-activo todos los nodos sirven tráfico simultáneamente. En un esquema activo-pasivo un nodo sirve y el otro espera en caliente, listo para tomar el relevo en segundos. + +--- + +### 7.2. Clustering en Windows y Linux + +En Windows, la alta disponibilidad a nivel de servidor se consigue con WSFC, que son las siglas de Windows Server Failover Clustering. WSFC requiere almacenamiento compartido, normalmente a través de SAN, y usa el quórum como mecanismo de votación para decidir qué nodo es el activo y evitar el fenómeno de split-brain, que ocurre cuando dos nodos creen simultáneamente ser el activo. SQL Server Always On Availability Groups es la solución de alta disponibilidad de bases de datos que funciona sin necesidad de almacenamiento compartido, replicando los datos entre nodos. + +En Linux la alta disponibilidad se implementa combinando dos herramientas. Corosync gestiona la capa de comunicación entre nodos: el heartbeat, que es el pulso periódico que permite saber si un nodo está vivo. Pacemaker gestiona los recursos del clúster y decide qué nodo debe ejecutar cada servicio basándose en la información de Corosync. DRBD, que son las siglas de Distributed Replicated Block Device, actúa como un RAID 1 a través de la red, replicando un volumen de bloque entre dos nodos en tiempo real. + +--- + +### 7.3. Balanceo de carga + +El balanceador de carga distribuye las peticiones entrantes entre varios servidores para maximizar el rendimiento y evitar que un único servidor se sature. Los algoritmos de distribución más comunes son Round Robin, que reparte las peticiones cíclicamente entre todos los servidores; Round Robin ponderado, que envía más peticiones a los servidores más potentes; Least Connections, que envía la siguiente petición al servidor con menos conexiones activas; e IP Hash, que garantiza que un mismo cliente siempre va al mismo servidor, lo cual es necesario cuando la aplicación guarda estado de sesión en el servidor. + +Las soluciones de balanceo más conocidas son HAProxy, que es un balanceador de código abierto para Linux con un rendimiento muy alto; Nginx, que además de servidor web actúa como proxy inverso y balanceador; el NLB de Windows Server, que es el Network Load Balancing integrado; y soluciones comerciales como F5 BIG-IP para entornos de alto rendimiento. + +--- + +## 8. Actualización del sistema operativo + +### 8.1. Tipos de actualizaciones Las actualizaciones del sistema operativo se clasifican según su finalidad y urgencia. Las actualizaciones de seguridad corrigen vulnerabilidades identificadas y catalogadas con un identificador CVE; son las más urgentes y deben aplicarse lo antes posible. Los parches o hotfixes corrigen un error concreto específico. Las actualizaciones funcionales añaden nuevas características al sistema. Los service packs en Windows y los feature updates son conjuntos acumulados de actualizaciones previas que se despliegan de forma planificada. Las actualizaciones de firmware mejoran la BIOS, la UEFI o el firmware de los dispositivos y se aplican según necesidad. --- -### 4.2. Estrategias y herramientas de actualización centralizada +### 8.2. Estrategias y herramientas de actualización centralizada En función del entorno, existen distintas estrategias de actualización. La actualización automática es adecuada para usuarios finales: el sistema descarga e instala sin intervención. La actualización manual es la que aplica el administrador en cada servidor crítico de forma controlada. La actualización programada se aplica en una ventana de mantenimiento planificada fuera del horario de uso. La actualización centralizada es la usada en entornos corporativos y en la Administración Pública: un servidor centralizado gestiona y distribuye las actualizaciones a todos los equipos de la red. @@ -136,7 +348,7 @@ Las herramientas de gestión centralizada más importantes son las siguientes. W --- -### 4.3. Buenas prácticas en la actualización +### 8.3. Buenas prácticas en la actualización Las buenas prácticas en la gestión de actualizaciones son las siguientes. Siempre hay que probar las actualizaciones en un entorno de pruebas o staging antes de aplicarlas en producción. Hay que realizar una copia de seguridad antes de cualquier cambio importante. Las actualizaciones de seguridad críticas deben aplicarse con la mayor urgencia posible. Todos los cambios deben documentarse indicando qué se actualizó, cuándo y quién lo hizo. Debe existir siempre un plan de rollback o vuelta atrás para revertir la actualización si produce problemas. Y en sistemas críticos es necesario usar ventanas de mantenimiento en horas de baja actividad. @@ -144,15 +356,15 @@ En resumen: los tipos de actualizaciones van de más a menos urgente: seguridad --- -## 5. Mantenimiento del sistema operativo +## 9. Mantenimiento del sistema operativo -### 5.1. Tipos de mantenimiento +### 9.1. Tipos de mantenimiento El mantenimiento del sistema operativo se clasifica en cuatro tipos. El mantenimiento preventivo se realiza antes de que ocurra el fallo con el objetivo de evitarlo; incluye tareas como monitorizar el disco, revisar los logs periódicamente y limpiar archivos temporales. El mantenimiento correctivo se aplica tras detectar un fallo para solucionarlo; ejemplos son reparar un archivo corrupto o restaurar un backup. El mantenimiento evolutivo es una mejora planificada que añade funcionalidad o mejora el rendimiento, como migrar a una nueva versión del sistema operativo. El mantenimiento perfectivo es la optimización continua sin cambiar la funcionalidad, como ajustar parámetros del kernel para mejorar el rendimiento. --- -### 5.2. Tareas y herramientas de mantenimiento +### 9.2. Tareas y herramientas de mantenimiento Las tareas de mantenimiento más habituales y sus herramientas son las siguientes. @@ -170,7 +382,7 @@ La planificación de tareas se hace en Windows con el Programador de tareas, y e --- -### 5.3. Monitorización del sistema +### 9.3. Monitorización del sistema La monitorización es una parte esencial del mantenimiento preventivo. Las métricas principales a supervisar son el uso de CPU, el uso de memoria RAM, el espacio en disco, la actividad de entrada y salida de disco y el tráfico de red. @@ -184,15 +396,15 @@ En resumen: el mantenimiento es preventivo antes del fallo, correctivo tras el f --- -## 6. Reparación del sistema operativo +## 10. Reparación del sistema operativo -### 6.1. Tipos de fallos +### 10.1. Tipos de fallos Los fallos de un sistema operativo se clasifican en cinco categorías. Los fallos de arranque ocurren cuando el sistema no puede iniciar correctamente; sus causas son el bootloader dañado o el registro MBR o GPT corrupto, y se manifiestan como una pantalla negra o un mensaje como bootmgr missing en Windows o GRUB rescue en Linux. Los archivos del sistema corruptos pueden surgir por una actualización fallida o un apagado abrupto y producen la pantalla azul o BSOD en Windows y el kernel panic en Linux. Los fallos de hardware como un disco dañado, memoria RAM defectuosa o sobrecalentamiento provocan errores de lectura, cuelgues o reinicios espontáneos. La infección por malware, especialmente ransomware y rootkits, provoca comportamiento anómalo, cifrado de datos o ralentización del sistema. Los fallos por configuración incorrecta debidos a un error humano producen servicios que no arrancan o problemas de red. --- -### 6.2. Técnicas de reparación +### 10.2. Técnicas de reparación Las técnicas de reparación se eligen según la gravedad y el tipo de fallo. @@ -210,7 +422,7 @@ La reinstalación del sistema operativo es el último recurso cuando el daño es --- -### 6.3. Herramientas de diagnóstico y recuperación +### 10.3. Herramientas de diagnóstico y recuperación En Windows las herramientas principales son las siguientes. El comando sfc barra scannow comprueba y repara los archivos protegidos del sistema. El comando DISM con RestoreHealth repara la imagen del sistema descargando archivos desde Windows Update. El comando chkdsk con f y r comprueba errores en el disco y repara sectores defectuosos. Los comandos bootrec con fixmbr, fixboot y rebuildbcd reparan el arranque desde el entorno de recuperación. El WinPE o Entorno de preinstalación de Windows y el WRE o Entorno de recuperación de Windows permiten arrancar sin sistema operativo operativo para realizar reparaciones. @@ -220,9 +432,9 @@ En resumen: los fallos son de arranque, archivos corruptos, hardware, malware o --- -## 7. Seguridad en la administración del sistema +## 11. Seguridad en la administración del sistema -### 7.1. Principios de seguridad: la tríada CIA +### 11.1. Principios de seguridad: la tríada CIA La seguridad de la información se fundamenta en tres principios que forman la tríada CIA, por sus siglas en inglés. La confidencialidad garantiza que la información solo es accesible para quien está autorizado; se implementa mediante permisos de acceso, cifrado y control de identidades. La integridad garantiza que la información no se modifica sin autorización; se verifica mediante funciones hash, firmas digitales y permisos de solo lectura. La disponibilidad garantiza que los sistemas y la información están accesibles cuando se necesitan; se consigue mediante redundancia, copias de seguridad, sistemas de alimentación ininterrumpida o UPS y configuraciones RAID. @@ -230,7 +442,7 @@ La tríada CIA es la base de los estándares de seguridad como la norma ISO 2700 --- -### 7.2. Medidas técnicas de seguridad en el sistema operativo +### 11.2. Medidas técnicas de seguridad en el sistema operativo Las medidas técnicas de seguridad que se aplican en la administración del sistema operativo son las siguientes. @@ -246,7 +458,67 @@ La autenticación fuerte combina contraseñas robustas con mecanismos de múltip El ENS o Esquema Nacional de Seguridad es el marco obligatorio para la Administración Pública española. Clasifica los sistemas en tres niveles de seguridad, básico, medio y alto, y establece las medidas de protección correspondientes en las tres dimensiones de la tríada CIA. -En resumen: la seguridad del sistema operativo se basa en la tríada CIA. Las medidas principales son el mínimo privilegio, el firewall, el cifrado con BitLocker o LUKS, la auditoría mediante logs y la autenticación fuerte con MFA. El ENS es de obligado cumplimiento en la Administración Pública española. +--- + +### 11.3. PKI y certificados digitales + +La infraestructura de clave pública o PKI es el conjunto de tecnologías, políticas y procedimientos necesarios para gestionar los certificados digitales que permiten la comunicación cifrada y la autenticación en internet. + +El fundamento de la PKI es la criptografía asimétrica: cada entidad tiene un par de claves relacionadas matemáticamente. La clave pública se puede distribuir libremente; la clave privada se guarda en secreto. Lo que se cifra con una clave solo puede descifrarse con la otra. Esto permite tanto el cifrado de comunicaciones como la firma digital. + +El certificado digital es el documento que vincula una clave pública con la identidad de su propietario. El estándar de formato es X.509. El certificado contiene la clave pública, los datos de identificación del titular, la fecha de expiración y la firma digital de la entidad certificadora que lo ha emitido. + +La autoridad de certificación o CA es la entidad de confianza que emite y firma los certificados. La CA raíz es la de mayor nivel; su certificado es autofirmado y está preinstalado en los sistemas operativos y navegadores como ancla de confianza. Las CA intermedias son firmadas por la raíz y son las que habitualmente emiten certificados a usuarios y servidores. When un certificado debe revocarse antes de su expiración, la CA lo incluye en la CRL o lista de certificados revocados, o bien responde a consultas OCSP en tiempo real. + +TLS, que son las siglas de Transport Layer Security, es el protocolo que usa los certificados X.509 para establecer comunicaciones cifradas. HTTPS es la versión de HTTP sobre TLS y usa el puerto 443. Cuando el navegador visita un sitio HTTPS verifica el certificado del servidor comprobando que está firmado por una CA de confianza, que no ha expirado y que corresponde al dominio solicitado. + +Let's Encrypt es una CA gratuita y automatizada que ha democratizado el uso de HTTPS. Emite certificados válidos noventa días y se renueva automáticamente. + +El DNI electrónico, o DNIe, es el documento de identidad español que incorpora un chip con un certificado X.509 del ciudadano. Permite autenticar la identidad ante administraciones y empresas y firmar documentos digitalmente con plena validez jurídica. + +--- + +### 11.4. Esquema Nacional de Seguridad + +El Esquema Nacional de Seguridad, conocido como ENS, está regulado por el Real Decreto 311 de 2022, que actualizó el anterior reglamento de 2010. Es de obligado cumplimiento para todas las administraciones públicas españolas y para los proveedores de servicios que traten información de la Administración. + +El ENS define cinco dimensiones de seguridad, identificadas con las iniciales DAICT: Disponibilidad, Autenticidad, Integridad, Confidencialidad y Trazabilidad. + +Cada sistema de información se clasifica en uno de tres niveles: básico, medio o alto. El nivel básico se aplica cuando un incidente de seguridad causaría un perjuicio limitado. El nivel medio se aplica cuando el daño sería grave para los intereses de la organización. El nivel alto se aplica cuando el impacto sería muy grave y podría comprometer los intereses nacionales. + +El proceso de adecuación al ENS tiene varias fases. Primero se realiza un análisis diferencial para identificar qué medidas ya se cumplen y cuáles faltan. Luego se realiza el análisis y gestión de riesgos, para el que la Administración española usa la metodología MAGERIT. A continuación se elabora un plan de adecuación con las medidas a implantar. Después se implantan las medidas y se elabora la Declaración de Aplicabilidad. Para los sistemas de nivel medio y alto es obligatoria una auditoría cada dos años realizada por un auditor independiente acreditado por ENAC. La acreditación resultante es la Certificación ENS. + +La relación con ISO 27001 es complementaria: el ENS es obligatorio por ley en la administración española, mientras que ISO 27001 es una norma internacional voluntaria. Ambas tienen un enfoque de ciclo de mejora continua y obtener la certificación ISO 27001 facilita la adecuación al ENS. + +--- + +### 11.5. Hardening del sistema operativo + +El hardening es el proceso de reducir la superficie de ataque del sistema eliminando o deshabilitando todo lo que no es estrictamente necesario y configurando correctamente lo que sí se usa. + +Los principios fundamentales del hardening son cuatro. El mínimo privilegio establece que cada usuario y proceso tiene solo los permisos imprescindibles. La superficie de ataque mínima implica desinstalar servicios, aplicaciones y características que no se usan. La defensa en profundidad usa múltiples capas de seguridad de forma que si una falla las otras siguen protegiendo. El principio fail-secure establece que ante un error el sistema debe quedar en estado seguro, denegando el acceso por defecto. + +Las medidas de hardening en Windows incluyen deshabilitar servicios innecesarios como Telnet o Remote Registry, configurar directivas de contraseñas robustas con mínimo doce caracteres y complejidad habilitada, deshabilitar protocolos legacy como LLMNR y NetBIOS que son vulnerables a ataques de envenenamiento, activar BitLocker, mantener el sistema actualizado con los últimos parches, y usar WDAC para listas blancas de aplicaciones. + +Las medidas de hardening en Linux incluyen deshabilitar el acceso SSH con la cuenta root configurando PermitRootLogin no en el fichero de configuración de SSH, usar autenticación por claves SSH en lugar de contraseñas, instalar y configurar fail2ban para bloquear automáticamente las IPs que realicen múltiples intentos fallidos de login, activar auditd para el registro de llamadas al sistema, usar SELinux o AppArmor para control de acceso obligatorio, y configurar umask restrictivo para que los ficheros nuevos no tengan permisos para otros usuarios. + +Los CIS Benchmarks son guías de referencia de seguridad publicadas por el Center for Internet Security con recomendaciones concretas para cada sistema operativo y versión. En Linux la herramienta lynis automatiza la auditoría de seguridad y genera un informe con las medidas implementadas y las que faltan. + +--- + +### 11.6. LOPD, RGPD y la protección de datos en sistemas + +Los administradores de sistemas gestionan servidores que procesan datos personales, por lo que deben conocer la normativa de protección de datos aplicable. + +El RGPD es el Reglamento General de Protección de Datos de la Unión Europea, con referencia 2016 barra 679. Entró en vigor en mayo de 2018 y es directamente aplicable en todos los estados miembros. La LOPDGDD es la Ley Orgánica 3 de 2018 que adapta el RGPD al ordenamiento jurídico español. La AEPD, Agencia Española de Protección de Datos, es la autoridad de control en España. + +Los principios del RGPD con implicaciones directas para la administración de sistemas son los siguientes. El principio de limitación de la finalidad establece que los logs del sistema no pueden usarse para finalidades distintas al mantenimiento y la seguridad. El principio de minimización de datos implica no recopilar ni retener más información de la estrictamente necesaria. El principio de limitación del plazo de conservación obliga a definir y cumplir plazos de retención para los logs: una práctica habitual es seis meses para logs de acceso. El principio de integridad y confidencialidad exige aplicar medidas técnicas adecuadas como cifrado y control de accesos. + +Las obligaciones prácticas más importantes son tres. Ante una brecha de seguridad que suponga riesgo para los derechos de los afectados, el responsable del tratamiento tiene la obligación de notificarla a la AEPD en un plazo máximo de 72 horas desde que tiene conocimiento de ella. La figura del DPO o Delegado de Protección de Datos es obligatoria en las administraciones públicas y en organizaciones que traten datos a gran escala. La DPIA o Evaluación de Impacto relativa a la Protección de Datos es obligatoria antes de implantar tratamientos que impliquen alto riesgo, como videovigilancia o perfilado de personas. + +--- + +En resumen: la seguridad del sistema operativo se basa en la tríada CIA: confidencialidad, integridad y disponibilidad. Las medidas principales son el mínimo privilegio, el cifrado con BitLocker o LUKS, el firewall, los logs de auditoría y la autenticación multifactor. La PKI gestiona los certificados X.509 y TLS; Let's Encrypt y el DNIe son ejemplos prácticos. El ENS, regulado por el RD 311/2022, es obligatorio en la AGE con niveles básico, medio y alto y dimensiones DAICT. El hardening reduce la superficie de ataque con medidas como fail2ban, SELinux y CIS Benchmarks. El RGPD exige notificar brechas en 72 horas, nombrar un DPO y definir plazos de retención para los logs. --- @@ -256,14 +528,20 @@ Este tema cubre la administración completa del sistema operativo y el software El sistema operativo actúa de intermediario entre el hardware y el usuario. Sus funciones son gestionar procesos, memoria, dispositivos, ficheros y seguridad. El kernel puede ser monolítico como en Linux, híbrido como en Windows NT o microkernel. El proceso de arranque pasa por BIOS o UEFI, POST, bootloader, kernel e init. La UEFI con GPT es el estándar moderno frente a la BIOS con MBR. -En Windows los sistemas relevantes son Windows 10, 11 y Windows Server 2019 y 2022. La gestión de usuarios se hace con net user y Active Directory con GPO. Los permisos NTFS van desde control total hasta solo lectura. El Registro se organiza en HKLM y HKCU. Las herramientas clave son el Administrador de tareas, el Visor de eventos y PowerShell. +Los sistemas de ficheros más importantes son NTFS en Windows, con soporte para permisos ACL, journaling y cifrado EFS, y ext4, XFS y Btrfs en Linux. La gestión de procesos incluye los estados ready, running, blocked y zombie, y los algoritmos de planificación como FCFS, Round Robin y prioridad. La gestión de memoria usa paginación y memoria virtual: el área swap en Linux y el fichero pagefile.sys en Windows. -En Linux las distribuciones se agrupan en familias Debian con apt, Red Hat con yum o dnf, y SUSE con zypper. La estructura FHS sitúa la configuración en etc, los logs en var log y los directorios de usuario en home. Los permisos se expresan en rwx o en notación octal: cuatro para lectura, dos para escritura, uno para ejecución. systemd gestiona los servicios con systemctl y los niveles de arranque con targets. +En Windows los sistemas relevantes son Windows 10, 11 y Windows Server 2022. Active Directory tiene una estructura de bosque, árbol, dominio y OU; los cinco roles FSMO garantizan la coherencia; las GPO se aplican en orden LSDOU. BitLocker cifra discos con TPM; EFS cifra ficheros individuales en NTFS. Hyper-V es el hipervisor de Tipo 1 de Windows con soporte para Live Migration y tres tipos de switch virtual. -Las actualizaciones se priorizan de mayor a menor urgencia: seguridad ante CVE, parche, funcional y service pack. En entornos corporativos y en la AGE se usa gestión centralizada con WSUS para Windows o Ansible para Linux. La buena práctica siempre incluye probar en staging, hacer backup previo y tener plan de rollback. +En Linux las distribuciones se agrupan en familias Debian con apt, Red Hat con dnf, y SUSE con zypper. El firewall se gestiona con iptables, nftables o ufw. SELinux y AppArmor implementan control de acceso obligatorio. LVM permite gestión flexible de volúmenes con pvcreate, vgcreate y lvcreate. Bash permite automatizar tareas con scripts, y cron programa su ejecución. -El mantenimiento es preventivo para evitar fallos, correctivo para solucionarlos, evolutivo para mejorar y perfectivo para optimizar. Las tareas principales son limpiar temporales, monitorizar recursos y gestionar logs. +La virtualización usa hipervisores de Tipo 1 como ESXi, Hyper-V y KVM para producción, y Tipo 2 como VirtualBox para desarrollo. Docker gestiona contenedores que comparten el kernel del host, más ligeros que las VMs. Kubernetes orquesta contenedores con Pods, Deployments y Services. -La reparación en Windows se hace con sfc barra scannow y DISM para archivos del sistema, con bootrec para el arranque y con chkdsk para el disco. En Linux se usan fsck para el sistema de ficheros y grub-install para el bootloader. +El almacenamiento puede ser RAID 0 para rendimiento, RAID 1 para espejo, RAID 5 con paridad para un disco de tolerancia, RAID 6 para dos discos de tolerancia, y RAID 10 para alta velocidad con redundancia. DAS, NAS y SAN son los tres modelos de conectar almacenamiento. -La seguridad se basa en la tríada CIA: confidencialidad, integridad y disponibilidad. Las medidas clave son el mínimo privilegio, el cifrado con BitLocker o LUKS, el firewall, los logs de auditoría y la autenticación multifactor. El ENS es el marco legal obligatorio en la Administración Pública española. \ No newline at end of file +Las copias de seguridad son completas, incrementales, diferenciales o sintéticas. El RTO es el tiempo máximo de recuperación y el RPO es la máxima pérdida de datos tolerable. La regla 3-2-1 establece tres copias en dos soportes distintos con una offsite. + +La alta disponibilidad elimina los puntos únicos de fallo con clústeres: WSFC en Windows y Pacemaker más Corosync en Linux. El balanceo de carga distribuye peticiones con algoritmos como Round Robin o Least Connections; HAProxy y Nginx son las soluciones más usadas en Linux. + +Las actualizaciones se priorizan por urgencia: seguridad ante CVE, parche, funcional y service pack. La gestión centralizada usa WSUS en Windows y Ansible en Linux. Las buenas prácticas incluyen probar en staging, hacer backup y tener plan de rollback. + +La seguridad se basa en la tríada CIA. Las medidas clave son el mínimo privilegio, el cifrado, el firewall, la auditoría y el MFA. La PKI gestiona certificados X.509 para TLS, firma digital y DNIe. El ENS, obligatorio en la AGE, tiene niveles básico, medio y alto y dimensiones DAICT. El hardening sigue los CIS Benchmarks y usa fail2ban, SELinux y políticas de contraseñas robustas. El RGPD exige notificar brechas en 72 horas y nombrar DPO en las administraciones públicas. \ No newline at end of file diff --git a/src/main/resources/temas/bloque4/apuntes_de_clase.md b/src/main/resources/temas/bloque4/apuntes_de_clase.md deleted file mode 100644 index 6805901..0000000 --- a/src/main/resources/temas/bloque4/apuntes_de_clase.md +++ /dev/null @@ -1,24 +0,0 @@ -## comandos -systemctl --> servicios -apt install --> para instalar - -- memoria virtual -- paginacion -- swapping -- Redes - - FC (Fibre chanel o fibra optica) - - iSCSI -- Discos - - RAID - - Backup -- Maquinas virtuales - - vmware y otros -- Contenedores - - Docker - - Dockerfile (MI) - - Docker Hub --> La nube de Docker - - Puedo crear redes virtuales - - Comando de docker tipo docker ps - - otros - - Orquestacion de contenedores - - Kubernetes \ No newline at end of file