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. 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. - Redactar mensajes.
- Leer correos.
### 2.4. Buzones de correo - Organizar carpetas.
- Gestionar contactos.
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.
--- ---
## 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: - Enviar mensajes.
- 25 para tránsito entre servidores. - Recibir mensajes.
- 587 para envío autenticado desde clientes. - Encaminamiento del correo.
- 465 para SMTP cifrado. - Reintentos de entrega.
- Aplicar políticas de seguridad.
Extensiones importantes: ESMTP, SMTP AUTH y STARTTLS. Ejemplos:
Funcionamiento básico: - Postfix
1. El cliente se conecta al servidor SMTP. - 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. 2. Se autentica.
3. Envía remitente y destinatario. 3. Envía remitente y destinatario.
4. Transmite el mensaje. 4. Se transmite el mensaje.
5. El servidor consulta DNS y registros MX. 5. El servidor consulta DNS y registros MX.
6. El mensaje llega al servidor destino. 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: Puertos:
- 110 sin cifrar.
- 995 POP3S. - 110 → sin cifrar.
- 995 → POP3S.
Características: Características:
- Descarga local del correo. - Descarga local del correo.
- Puede eliminar mensajes del servidor. - 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. ### Ventajas
Inconvenientes: mala sincronización entre dispositivos.
### 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: Puertos:
- 143 sin cifrar.
- 993 IMAPS. - 143 → sin cifrar.
- 993 → IMAPS.
Características: Características:
- Mantiene mensajes en servidor. - Mantiene mensajes en servidor.
- Sincroniza carpetas. - Sincroniza carpetas.
- Permite acceso multidispositivo. - Permite acceso multidispositivo.
Ventajas: ideal para móviles y varios equipos, gestión centralizada. ### Ventajas
Inconvenientes: mayor consumo de almacenamiento.
- 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. 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. 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. ```txt
Ejemplo: v=spf1 ip4:192.168.1.10 include:_spf.google.com -all. midominio.com MX 10 mail.midominio.com
```
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.
--- ---
## 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. 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. - Confidencialidad.
- Protección frente a sniffing.
### 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.
--- ---
## 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. - LOGIN
- PLAIN
### 6.2. Configuración del servidor - CRAM-MD5
- OAuth2
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.
--- ---
## 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. 2. El cliente se conecta al SMTP.
3. El servidor autentica al usuario. 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. 5. El correo se envía al servidor destino.
6. El MDA deposita el mensaje en el buzón. 6. El MDA deposita el mensaje en el buzón.
7. El usuario accede mediante IMAP o POP3. 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 # 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. - Portabilidad.
- Rapidez de despliegue. - Rapidez de despliegue.
@ -216,70 +504,169 @@ Un contenedor es una unidad ligera y portable que incluye aplicación, librería
- Escalabilidad. - Escalabilidad.
- Bajo consumo. - 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. 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 Engine
- Docker Image: plantilla inmutable para crear contenedores.
- Docker Container: instancia en ejecución de una imagen.
- Docker Hub: repositorio de imágenes.
### 3.2. Comandos básicos Docker Motor principal.
- docker pull nginx ### Docker Image
- docker run nginx
- docker ps
- docker stop ID
- docker rm ID
### 3.3. Dockerfile Plantilla inmutable para crear contenedores.
Un Dockerfile define cómo construir una imagen. ### Docker Container
Ejemplo: FROM nginx; COPY web /usr/share/nginx/html.
### 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: Ejemplo:
- Pod: unidad mínima de ejecución.
- Node: servidor que ejecuta pods. ```dockerfile
- Cluster: conjunto de nodos. FROM nginx
- Deployment: gestiona réplicas y actualizaciones. COPY web /usr/share/nginx/html
- Service: expone aplicaciones en red. ```
--- ---
## 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. - Desacoplamiento.
- Escalabilidad independiente. - Escalabilidad independiente.
@ -287,52 +674,118 @@ Los microservicios son servicios pequeños e independientes. Cada uno tiene una
- Resiliencia. - Resiliencia.
- Mantenimiento sencillo. - 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. ## Riesgos
Inconvenientes: mayor complejidad, seguridad más delicada, dependencia de orquestadores y monitorización compleja.
- 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. - Imágenes oficiales.
- POP3 descarga correos localmente. - Escaneo de vulnerabilidades.
- IMAP sincroniza correos en servidor. - Mínimos privilegios.
- SPF, DKIM y DMARC protegen el correo. - Segmentación de red.
- MTA transfiere correo y MDA lo entrega. - Actualizaciones periódicas.
- TLS cifra comunicaciones.
- Open relay es un servidor SMTP inseguro. ---
- Contenedores son aplicaciones aisladas y ligeras.
- Docker es la plataforma de contenedores. # 10. Ventajas e inconvenientes
- Kubernetes es el orquestador más usado.
- Microservicios son servicios independientes comunicados por APIs. ## Ventajas
- CI/CD automatiza integración y despliegue.
- 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.