diff --git a/src/main/resources/temas/bloque4/B4T3_audio.md b/src/main/resources/temas/bloque4/B4T3_audio.md index 57f2723..9603d42 100644 --- a/src/main/resources/temas/bloque4/B4T3_audio.md +++ b/src/main/resources/temas/bloque4/B4T3_audio.md @@ -1,214 +1,502 @@ -## Bloque 4 Tema 3. Administración de servidores de correo electrónico y sus protocolos. Administración de contenedores y microservicios. +# 3. Administración de servidores de correo electrónico y sus protocolos. Administración de contenedores y microservicios. -Este tema incluye dos bloques: la administración de servidores de correo y la administración de contenedores y microservicios. +# Administración de servidores de correo electrónico y sus protocolos + +## Puertos de correo más importantes + +| Puerto | Protocolo | Función | +|---|---|---| +| 25 | SMTP | Envío de correo entre servidores | +| 465 | SMTPS | SMTP seguro (SSL/TLS) | +| 587 | SMTP Submission | Envío autenticado desde clientes | +| 110 | POP3 | Descarga de correo | +| 995 | POP3S | POP3 cifrado | +| 143 | IMAP | Acceso y sincronización de correo | +| 993 | IMAPS | IMAP cifrado | --- -## 1. Introducción al correo electrónico +# 1. Introducción -El correo electrónico es uno de los servicios más utilizados en cualquier organización. La administración de servidores de correo consiste en gestionar el envío y recepción de mensajes, el almacenamiento de buzones, la autenticación de usuarios, la seguridad del sistema, la protección frente al spam y malware, y la disponibilidad y monitorización del servicio. +El correo electrónico es uno de los servicios más utilizados en cualquier organización. +La administración de servidores de correo consiste en gestionar: + +- El envío y recepción de mensajes. +- El almacenamiento de buzones. +- La autenticación de usuarios. +- La seguridad del sistema. +- La protección frente a spam y malware. +- La disponibilidad y monitorización del servicio. Los servidores de correo trabajan mediante protocolos estándar como SMTP, POP3 e IMAP. --- -## 2. Arquitectura de un sistema de correo +# 2. Arquitectura de un sistema de correo -Un sistema de correo electrónico se divide en varios componentes. +Un sistema de correo electrónico se divide normalmente en varios componentes. -### 2.1. MUA – Mail User Agent +## 2.1. MUA – Mail User Agent -Es el cliente de correo que utiliza el usuario final. Ejemplos: Outlook, Thunderbird, Apple Mail y Gmail Webmail. Sus funciones son redactar mensajes, leer correos, organizar carpetas y gestionar contactos. +Es el cliente de correo que utiliza el usuario final. -### 2.2. MTA – Mail Transfer Agent +Ejemplos: -Es el servidor encargado de transferir correos entre servidores. Sus funciones son enviar y recibir mensajes, encaminar el correo, reintentar entregas y aplicar políticas de seguridad. Ejemplos: Postfix, Sendmail, Exim y Microsoft Exchange. +- Outlook +- Thunderbird +- Apple Mail +- Gmail Webmail -### 2.3. MDA – Mail Delivery Agent +Funciones: -Entrega el correo en el buzón final del usuario. Sus funciones son clasificar mensajes, depositar correos en el buzón y aplicar filtros locales. Ejemplos: Dovecot y Procmail. - -### 2.4. Buzones de correo - -Los mensajes pueden almacenarse en distintos formatos. - -- Maildir: cada correo se guarda como un fichero independiente. Es más seguro, tiene mejor concurrencia y menor riesgo de corrupción. -- mbox: todos los mensajes se almacenan en un único fichero. Es más simple, pero tiene mayor riesgo de corrupción y menor rendimiento. +- Redactar mensajes. +- Leer correos. +- Organizar carpetas. +- Gestionar contactos. --- -## 3. Protocolos principales +## 2.2. MTA – Mail Transfer Agent -### 3.1. SMTP – Simple Mail Transfer Protocol +Es el servidor encargado de transferir correos entre servidores. -SMTP es el protocolo estándar para enviar correos. Se usa tanto para enviar cliente a servidor como servidor a servidor. +Funciones: -Puertos principales: -- 25 para tránsito entre servidores. -- 587 para envío autenticado desde clientes. -- 465 para SMTP cifrado. +- Enviar mensajes. +- Recibir mensajes. +- Encaminamiento del correo. +- Reintentos de entrega. +- Aplicar políticas de seguridad. -Extensiones importantes: ESMTP, SMTP AUTH y STARTTLS. +Ejemplos: -Funcionamiento básico: -1. El cliente se conecta al servidor SMTP. +- Postfix +- Sendmail +- Exim +- Microsoft Exchange + +--- + +## 2.3. MDA – Mail Delivery Agent + +Entrega el correo en el buzón final del usuario. + +Funciones: + +- Clasificar mensajes. +- Depositar correos en el buzón. +- Aplicar filtros locales. + +Ejemplos: + +- Dovecot +- Procmail + +--- + +## 2.4. Buzones de correo + +Los mensajes pueden almacenarse en distintos formatos. + +### Maildir + +Cada correo se guarda como un fichero independiente. + +Ventajas: +- Más seguro. +- Mejor concurrencia. +- Menor corrupción. + +### mbox + +Todos los mensajes se almacenan en un único fichero. + +Ventajas: +- Simplicidad. + +Inconvenientes: +- Mayor riesgo de corrupción. +- Menor rendimiento. + +--- + +# 3. Protocolos principales + +## 3.1. SMTP – Simple Mail Transfer Protocol + +Es el protocolo estándar para enviar correos. + +Funciones: + +- Envío cliente → servidor. +- Envío servidor → servidor. + +Puertos: + +- 25 → tránsito entre servidores. +- 587 → envío autenticado. +- 465 → SMTP cifrado. + +### Extensiones importantes + +- ESMTP → versión extendida. +- SMTP AUTH → autenticación. +- STARTTLS → cifrado TLS sobre conexión existente. + +### Funcionamiento básico + +1. Cliente conecta al servidor SMTP. 2. Se autentica. 3. Envía remitente y destinatario. -4. Transmite el mensaje. +4. Se transmite el mensaje. 5. El servidor consulta DNS y registros MX. 6. El mensaje llega al servidor destino. -### 3.2. POP3 – Post Office Protocol v3 +--- -POP3 permite descargar correos desde el servidor al cliente. +## 3.2. POP3 – Post Office Protocol v3 + +Permite descargar correos desde el servidor al cliente. Puertos: -- 110 sin cifrar. -- 995 POP3S. + +- 110 → sin cifrar. +- 995 → POP3S. Características: + - Descarga local del correo. - Puede eliminar mensajes del servidor. -- No es adecuado para múltiples dispositivos. +- Poco adecuado para múltiples dispositivos. -Ventajas: bajo consumo en servidor, funciona offline. -Inconvenientes: mala sincronización entre dispositivos. +### Ventajas -### 3.3. IMAP – Internet Message Access Protocol +- Bajo consumo en servidor. +- Funciona offline. -IMAP permite acceder y sincronizar correos directamente en el servidor. +### Inconvenientes + +- Mala sincronización entre dispositivos. + +--- + +## 3.3. IMAP – Internet Message Access Protocol + +Permite acceder y sincronizar correos directamente en el servidor. Puertos: -- 143 sin cifrar. -- 993 IMAPS. + +- 143 → sin cifrar. +- 993 → IMAPS. Características: + - Mantiene mensajes en servidor. - Sincroniza carpetas. - Permite acceso multidispositivo. -Ventajas: ideal para móviles y varios equipos, gestión centralizada. -Inconvenientes: mayor consumo de almacenamiento. +### Ventajas + +- Ideal para móviles y varios equipos. +- Gestión centralizada. + +### Inconvenientes + +- Mayor consumo de almacenamiento. --- -## 4. DNS y correo electrónico +# 4. DNS y correo electrónico El DNS es fundamental en el funcionamiento del correo. -### 4.1. Registro MX +## 4.1. Registro MX Indica qué servidor recibe correo para un dominio. -Ejemplo: midominio.com MX 10 mail.midominio.com. -### 4.2. Registro SPF +Ejemplo: -Define qué servidores pueden enviar correo en nombre del dominio. -Ejemplo: v=spf1 ip4:192.168.1.10 include:_spf.google.com -all. - -Objetivo: evitar suplantación de remitente. - -### 4.3. DKIM - -Firma criptográficamente los mensajes para garantizar integridad y autenticidad. - -### 4.4. DMARC - -Define políticas cuando SPF o DKIM fallan: none, quarantine o reject. +```txt +midominio.com MX 10 mail.midominio.com +``` --- -## 5. Seguridad en servidores de correo +## 4.2. Registro SPF + +Define qué servidores pueden enviar correo en nombre del dominio. + +Ejemplo: + +```txt +v=spf1 ip4:192.168.1.10 include:_spf.google.com -all +``` + +Objetivo: +- Evitar spoofing. + +--- + +## 4.3. DKIM + +Firma criptográficamente los mensajes. + +Garantiza: + +- Integridad. +- Autenticidad. + +--- + +## 4.4. DMARC + +Define políticas cuando SPF o DKIM fallan. + +Políticas: + +- none +- quarantine +- reject + +También genera informes de autenticación. + +--- + +# 5. Seguridad en servidores de correo La seguridad es crítica debido a ataques frecuentes. -### 5.1. TLS y STARTTLS +## 5.1. TLS y STARTTLS -Permiten cifrar las comunicaciones y proteger los datos frente a sniffing. +Permiten cifrar las comunicaciones. -### 5.2. Autenticación +Objetivos: -Mecanismos habituales: LOGIN, PLAIN, CRAM-MD5 y OAuth2. - -### 5.3. Antispam - -Herramientas habituales: SpamAssassin, Rspamd, greylisting y listas negras RBL. Greylisting rechaza temporalmente mensajes sospechosos para que muchos spambots no reintenten el envío. - -### 5.4. Antivirus - -Herramientas como ClamAV analizan adjuntos y detectan malware o ransomware. - -### 5.5. Relay abierto - -Un servidor SMTP mal configurado puede permitir enviar correo sin autenticación. Esto se llama open relay y causa spam masivo y bloqueo en listas negras. +- Confidencialidad. +- Protección frente a sniffing. --- -## 6. Administración y mantenimiento +## 5.2. Autenticación -### 6.1. Gestión de usuarios +Mecanismos habituales: -Se crean cuentas, alias, cuotas de almacenamiento y listas de distribución. - -### 6.2. Configuración del servidor - -Se definen dominios permitidos, límites de tamaño, retransmisión, cifrado y autenticación. - -### 6.3. Monitorización - -Se supervisan la cola de correo, errores SMTP, uso de disco, latencia e intentos de spam. Los logs típicos son /var/log/mail.log y /var/log/maillog. - -### 6.4. Certificados digitales - -Se utilizan certificados TLS, muy habitualmente con Let's Encrypt, para SMTP seguro, IMAPS y SMTPS. +- LOGIN +- PLAIN +- CRAM-MD5 +- OAuth2 --- -## 7. Alta disponibilidad y redundancia +## 5.3. Antispam -En entornos corporativos se usan mecanismos de tolerancia a fallos como servidores MX secundarios, replicación de buzones, balanceadores de carga y backups periódicos. +Herramientas habituales: + +- SpamAssassin +- Rspamd +- Greylisting +- RBL (Real-time Blackhole List) + +### Greylisting + +Consiste en rechazar temporalmente mensajes sospechosos. + +Muchos spambots no reintentan el envío. --- -## 8. Flujo completo de un correo electrónico +## 5.4. Antivirus -1. El usuario redacta el mensaje en el MUA. +Herramientas habituales: + +- ClamAV + +Permiten analizar: + +- Adjuntos. +- Malware. +- Ransomware. + +--- + +## 5.5. Relay abierto + +Un servidor SMTP mal configurado puede permitir enviar correo sin autenticación. + +Esto se denomina: + +### Open Relay + +Problemas: +- Spam masivo. +- Inclusión en listas negras. + +--- + +# 6. Administración y mantenimiento + +## 6.1. Gestión de usuarios + +Tareas habituales: + +- Crear cuentas. +- Gestionar alias. +- Cuotas de almacenamiento. +- Listas de distribución. + +--- + +## 6.2. Configuración del servidor + +Parámetros habituales: + +- Dominios permitidos. +- Límites de tamaño. +- Retransmisión. +- Cifrado. +- Autenticación. + +--- + +## 6.3. Monitorización + +Se supervisan: + +- Cola de correo. +- Errores SMTP. +- Uso de disco. +- Latencia. +- Intentos de spam. + +Logs típicos: + +```bash +/var/log/mail.log +/var/log/maillog +``` + +--- + +## 6.4. Certificados digitales + +Se utilizan certificados TLS. + +Muy habitual: +- Let's Encrypt. + +Permiten: +- HTTPS seguro. +- IMAPS. +- SMTPS. + +--- + +# 7. Alta disponibilidad y redundancia + +En entornos corporativos se utilizan mecanismos de tolerancia a fallos. + +## Técnicas habituales + +- Servidores MX secundarios. +- Replicación de buzones. +- Balanceadores de carga. +- Clustering. +- Backups periódicos. + +--- + +# 8. Flujo completo de un correo electrónico + +1. El usuario redacta un mensaje en el MUA. 2. El cliente se conecta al SMTP. 3. El servidor autentica al usuario. -4. El MTA consulta el DNS y los registros MX. +4. El MTA consulta el DNS y registros MX. 5. El correo se envía al servidor destino. 6. El MDA deposita el mensaje en el buzón. 7. El usuario accede mediante IMAP o POP3. --- -## 9. Microsoft Exchange y alternativas +# 9. Microsoft Exchange y alternativas -Microsoft Exchange es un servidor corporativo integrado con Active Directory. Ofrece correo, calendario, contactos y sincronización móvil. +## Microsoft Exchange -Alternativas Linux: Postfix, Exim, Sendmail, Dovecot y Zimbra. +Servidor corporativo integrado con Active Directory. + +Funciones: + +- Correo. +- Calendario. +- Contactos. +- Sincronización móvil. + +--- + +## Alternativas Linux + +- Postfix +- Exim +- Sendmail +- Dovecot +- Zimbra + +--- + +# Miniresumen rápido + +- SMTP → envío de correo. +- POP3 → descarga local. +- IMAP → sincronización en servidor. +- SPF → valida remitentes. +- DKIM → firma mensajes. +- DMARC → política de validación. +- MTA → transfiere correo. +- MDA → entrega correo. +- TLS → cifra comunicaciones. +- Open Relay → servidor SMTP inseguro. --- # Administración de contenedores y microservicios -## 1. Introducción +# 1. Introducción -La virtualización tradicional ejecuta sistemas operativos completos sobre un hipervisor. Los contenedores comparten el kernel del sistema operativo del host, por lo que son más ligeros, arrancan más rápido y consumen menos recursos. +La virtualización tradicional ejecuta sistemas operativos completos sobre un hipervisor. -Los microservicios son una arquitectura en la que una aplicación se divide en servicios pequeños e independientes, cada uno con una función concreta. +Los contenedores, en cambio: -Son habituales en cloud computing, DevOps, Kubernetes y arquitecturas escalables. +- Comparten el kernel del sistema operativo. +- Son más ligeros. +- Arrancan rápidamente. +- Consumen menos recursos. + +Los microservicios son una arquitectura donde una aplicación se divide en pequeños servicios independientes. + +Actualmente son fundamentales en: + +- Cloud computing. +- DevOps. +- Kubernetes. +- Arquitecturas escalables. --- -## 2. Contenedores +# 2. Contenedores -### 2.1. ¿Qué es un contenedor? +## 2.1. ¿Qué es un contenedor? -Un contenedor es una unidad ligera y portable que incluye aplicación, librerías, dependencias y configuración, aislada del sistema. +Un contenedor es una unidad ligera y portable que incluye: -### 2.2. Características +- Aplicación. +- Librerías. +- Dependencias. +- Configuración. + +Todo ello aislado del sistema. + +--- + +## 2.2. Características - Portabilidad. - Rapidez de despliegue. @@ -216,70 +504,169 @@ Un contenedor es una unidad ligera y portable que incluye aplicación, librería - Escalabilidad. - Bajo consumo. -### 2.3. Diferencia entre máquina virtual y contenedor +--- -En una máquina virtual cada instancia ejecuta su propio kernel; en un contenedor se comparte el kernel del host. Las máquinas virtuales son más pesadas y lentas de arrancar, mientras que los contenedores son mucho más ligeros. +## 2.3. Diferencia entre máquina virtual y contenedor + +| Característica | Máquina virtual | Contenedor | +|---|---|---| +| Kernel propio | Sí | No | +| Peso | Alto | Bajo | +| Arranque | Lento | Muy rápido | +| Consumo RAM | Alto | Bajo | +| Aislamiento | Muy alto | Alto | +| Hipervisor | Necesario | No | --- -## 3. Docker +# 3. Docker Docker es la plataforma de contenedores más utilizada. -### 3.1. Componentes de Docker +## 3.1. Componentes de Docker -- Docker Engine: el motor principal. -- Docker Image: plantilla inmutable para crear contenedores. -- Docker Container: instancia en ejecución de una imagen. -- Docker Hub: repositorio de imágenes. +### Docker Engine -### 3.2. Comandos básicos Docker +Motor principal. -- docker pull nginx -- docker run nginx -- docker ps -- docker stop ID -- docker rm ID +### Docker Image -### 3.3. Dockerfile +Plantilla inmutable para crear contenedores. -Un Dockerfile define cómo construir una imagen. -Ejemplo: FROM nginx; COPY web /usr/share/nginx/html. +### Docker Container -### 3.4. Docker Compose +Instancia en ejecución de una imagen. -Permite desplegar múltiples contenedores juntos, como una aplicación web, una base de datos y Redis. +### Docker Hub + +Repositorio de imágenes. --- -## 4. Orquestación de contenedores +## 3.2. Comandos básicos Docker -Cuando hay muchos contenedores es necesario gestionarlos automáticamente. +### Descargar imágenes -Herramientas: Kubernetes, Docker Swarm y OpenShift. +```bash +docker pull nginx +``` + +### Ejecutar contenedor + +```bash +docker run nginx +``` + +### Listar contenedores + +```bash +docker ps +``` + +### Parar contenedor + +```bash +docker stop ID +``` + +### Eliminar contenedor + +```bash +docker rm ID +``` --- -## 5. Kubernetes +## 3.3. Dockerfile -Kubernetes es la plataforma de orquestación más utilizada. Permite despliegue automático, escalado, balanceo, alta disponibilidad y recuperación automática. +Archivo que define cómo construir una imagen. -Componentes principales: -- Pod: unidad mínima de ejecución. -- Node: servidor que ejecuta pods. -- Cluster: conjunto de nodos. -- Deployment: gestiona réplicas y actualizaciones. -- Service: expone aplicaciones en red. +Ejemplo: + +```dockerfile +FROM nginx +COPY web /usr/share/nginx/html +``` --- -## 6. Microservicios +## 3.4. Docker Compose -### 6.1. ¿Qué son? +Permite desplegar múltiples contenedores. -Los microservicios son servicios pequeños e independientes. Cada uno tiene una función concreta, puede desplegarse por separado y se comunica mediante APIs. +Ejemplo típico: -### 6.2. Características +- Aplicación web. +- Base de datos. +- Redis. + +--- + +# 4. Orquestación de contenedores + +Cuando existen muchos contenedores es necesario gestionarlos automáticamente. + +## Herramientas + +- Kubernetes +- Docker Swarm +- OpenShift + +--- + +# 5. Kubernetes + +Es la plataforma de orquestación más utilizada. + +Funciones: + +- Despliegue automático. +- Escalado. +- Balanceo. +- Alta disponibilidad. +- Recuperación automática. + +--- + +## 5.1. Componentes principales + +### Pod + +Unidad mínima de ejecución. + +### Node + +Servidor que ejecuta pods. + +### Cluster + +Conjunto de nodos. + +### Deployment + +Gestiona réplicas y actualizaciones. + +### Service + +Expone aplicaciones en red. + +--- + +# 6. Microservicios + +## 6.1. ¿Qué son? + +Arquitectura donde una aplicación se divide en servicios pequeños e independientes. + +Cada microservicio: + +- Tiene una función concreta. +- Puede desplegarse individualmente. +- Se comunica mediante APIs. + +--- + +## 6.2. Características - Desacoplamiento. - Escalabilidad independiente. @@ -287,52 +674,118 @@ Los microservicios son servicios pequeños e independientes. Cada uno tiene una - Resiliencia. - Mantenimiento sencillo. -### 6.3. Comunicación entre microservicios +--- -Se usa REST, HTTP/HTTPS, gRPC o mensajería como RabbitMQ y Kafka. +## 6.3. Comunicación entre microservicios + +Habitualmente mediante: + +- REST +- HTTP/HTTPS +- gRPC +- Mensajería (RabbitMQ, Kafka) --- -## 7. Arquitectura monolítica vs microservicios +# 7. Arquitectura monolítica vs microservicios -Monolítica: aplicación única, despliegue completo, escalado global. Microservicios: servicios independientes, despliegue parcial, escalado independiente, más compleja pero más flexible. +| Monolítica | Microservicios | +|---|---| +| Aplicación única | Servicios independientes | +| Despliegue completo | Despliegue parcial | +| Escalado global | Escalado independiente | +| Más simple inicialmente | Más compleja | +| Menos flexible | Muy flexible | --- -## 8. DevOps y CI/CD +# 8. DevOps y CI/CD -Los contenedores están muy ligados a DevOps, metodología que une desarrollo y operaciones con automatización. +Los contenedores están muy ligados a DevOps. -CI/CD significa integración continua y entrega/despliegue continuo. Herramientas habituales: Jenkins, GitLab CI/CD y GitHub Actions. +## DevOps + +Metodología que une: + +- Desarrollo. +- Operaciones. + +Objetivos: + +- Automatización. +- Integración continua. +- Despliegue continuo. --- -## 9. Seguridad en contenedores +## CI/CD -Riesgos: imágenes vulnerables, escalada de privilegios, fugas entre contenedores y secretos expuestos. +### CI – Continuous Integration -Medidas: usar imágenes oficiales, escanear vulnerabilidades, aplicar mínimos privilegios, segmentar redes y actualizar periódicamente. +Integración continua de cambios. + +### CD – Continuous Delivery/Deployment + +Despliegue automatizado. + +Herramientas habituales: + +- Jenkins +- GitLab CI/CD +- GitHub Actions --- -## 10. Ventajas e inconvenientes +# 9. Seguridad en contenedores -Ventajas: rapidez, escalabilidad, portabilidad, automatización y mejor aprovechamiento del hardware. -Inconvenientes: mayor complejidad, seguridad más delicada, dependencia de orquestadores y monitorización compleja. +## Riesgos + +- Imágenes vulnerables. +- Escalada de privilegios. +- Fugas entre contenedores. +- Secretos expuestos. --- -## Miniresumen final +## Medidas de seguridad -- SMTP es el protocolo de envío de correo. -- POP3 descarga correos localmente. -- IMAP sincroniza correos en servidor. -- SPF, DKIM y DMARC protegen el correo. -- MTA transfiere correo y MDA lo entrega. -- TLS cifra comunicaciones. -- Open relay es un servidor SMTP inseguro. -- Contenedores son aplicaciones aisladas y ligeras. -- Docker es la plataforma de contenedores. -- Kubernetes es el orquestador más usado. -- Microservicios son servicios independientes comunicados por APIs. -- CI/CD automatiza integración y despliegue. +- Imágenes oficiales. +- Escaneo de vulnerabilidades. +- Mínimos privilegios. +- Segmentación de red. +- Actualizaciones periódicas. + +--- + +# 10. Ventajas e inconvenientes + +## Ventajas + +- Rapidez. +- Escalabilidad. +- Portabilidad. +- Automatización. +- Mejor aprovechamiento hardware. + +--- + +## Inconvenientes + +- Mayor complejidad. +- Seguridad más delicada. +- Dependencia de orquestadores. +- Monitorización compleja. + +--- + +# Miniresumen final + +- Contenedor → aplicación aislada y ligera. +- Docker → plataforma de contenedores. +- Kubernetes → orquestador de contenedores. +- Microservicios → aplicaciones divididas en servicios pequeños. +- Pod → unidad mínima de Kubernetes. +- Dockerfile → receta de imagen. +- CI/CD → automatización de integración y despliegue. +- Monolito → aplicación única. +- Microservicios → arquitectura distribuida. \ No newline at end of file