Temario
This commit is contained in:
parent
5ed220b066
commit
5ec86d5117
|
|
@ -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.
|
||||||
Loading…
Reference in New Issue