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.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
Loading…
Reference in New Issue