This commit is contained in:
Kris Villa Ema 2026-05-17 13:09:46 +02:00
parent 5ed220b066
commit 5ec86d5117
1 changed files with 620 additions and 167 deletions

View File

@ -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.