PTENES
TRILHA 3

🖥️ Servidor propio

Tener y proteger tu propio servidor en la nube: VPS, SSH, firewall y gestión de acceso. Al terminar, tendrás una máquina propia funcionando las 24 horas, a la que accederás mediante un túnel seguro y protegida contra intrusos.

4
Módulos
24
Temas
~3h
Duración
Intermedio
Nivel
TÚ servidor sin configurar VPS PC en la nube SSH túnel seguro FIREWALL el portero TOKENS llaves del reino 🛡️ SEGURO tu servidor

Mapa de la ruta

Contenido detallado

3.1 ~45 min

🖥️ VPS

Un VPS es tu PC en la nube: una máquina Linux que permanece encendida las 24 horas del día y a la que puedes acceder desde cualquier lugar del mundo. Aquí contratas, accedes y cuidas tu primera.

Qué es:

VPS significa Virtual Private Server, un servidor privado virtual. Es una parte de una computadora potente, en un centro de datos, que queda solo para ti y funciona día y noche.

Por qué aprender:

Con un VPS alojas sitios, bots, bases de datos y APIs sin depender de servicios listos para usar. Es tu computadora en la nube, bajo tu control total.

Conceptos clave:

El VPS tiene una IP pública fija, ejecuta Linux y permanece siempre encendido. A diferencia de tu portátil, no se apaga cuando cierras la tapa.

Qué es:

Los proveedores son las empresas que alquilan VPS por mes. DigitalOcean es sencillo y tiene muchos tutoriales; Hetzner ofrece una excelente relación calidad-precio; Contabo ofrece muchos recursos a bajo costo.

Por qué aprender:

Elegir el proveedor adecuado evita pagar de más o quedar atado. Para empezar, cualquiera de los tres sirve; lo que cambia es el precio, la ubicación del centro de datos y el soporte.

Conceptos clave:

Compara el precio mensual, la RAM, la vCPU y la región. Elige un centro de datos cerca de tus usuarios para que el sitio responda más rápido.

Qué es:

El paso a paso para crear una cuenta, elegir el plan más barato (el «droplet» o «servidor»), seleccionar Ubuntu y hacer clic para crear la máquina.

Por qué aprender:

Es el momento en que la máquina empieza a existir. En pocos minutos recibes una IP pública y una contraseña de acceso listas para usar.

Conceptos clave:

Elige Ubuntu LTS, el plan más económico y una región cercana. Anota la IP y la contraseña de root que el proveedor muestra al final.

Qué es:

Todo proveedor ofrece una consola web: una terminal que se abre dentro del navegador y te conecta al servidor sin necesidad de ningún programa.

Por qué aprender:

Es la forma más rápida de entrar al servidor por primera vez, incluso antes de configurar SSH. Funciona hasta cuando el acceso normal falla.

Conceptos clave:

Inicia sesión como root con la contraseña que te envió el proveedor. La consola web es tu plan B de emergencia: guarda este acceso.

Qué es:

Una visión general de cómo funciona Linux en el servidor: el usuario root (jefe), los usuarios comunes, el árbol de carpetas y los permisos de archivo.

Por qué aprender:

El servidor no tiene ventanas ni clics: todo se hace con comandos. Entender los usuarios y los permisos evita que dañes el sistema o dejes brechas abiertas.

Conceptos clave:

Crea un usuario común y usa sudo en vez de usar root todo el tiempo. whoami muestra quién eres; los permisos controlan quién puede leer y escribir.

Qué es:

Los comandos para cuidar del servidor: apt update e apt upgrade para actualizar programas y revisar el espacio en disco y la memoria.

Por qué aprender:

Un servidor desactualizado y con puertos abiertos es una puerta para los intrusos. Actualizarlo con frecuencia cierra brechas de seguridad y mantiene todo funcionando.

Conceptos clave:

Ejecuta apt update && apt upgrade cada semana. Usa df -h para ver el disco y free -h para ver la memoria.

Ver completo
3.2 ~45 min

🔐 SSH

SSH es el túnel secreto entre tu computadora y el servidor: todo lo que pasa por él está cifrado. Con claves, entras sin escribir una contraseña y con mucha más seguridad.

Qué es:

SSH (Secure Shell) es un protocolo que crea un túnel cifrado entre tu computadora y el servidor. Todo lo que escribes viaja protegido.

Por qué aprender:

Es la forma estándar de controlar cualquier servidor Linux del mundo. Sin SSH, no puedes operar máquinas remotas de forma segura.

Conceptos clave:

Piensa en un túnel blindado: nadie en el camino puede leer lo que pasa. El servidor escucha SSH en el puerto 22 de forma predeterminada.

Qué es:

El comando ssh-keygen crea un par de claves: una privada (solo tú la tienes) y una pública (va al servidor). Juntas, demuestran quién eres.

Por qué aprender:

Las claves son más seguras que las contraseñas: no se pueden adivinar y no viajan por la red. Son la base del acceso sin contraseña.

Conceptos clave:

La privada (id_ed25519) nunca sale de tu PC; la pública (.pub) se puede distribuir. Protege la privada con una passphrase.

Qué es:

El paso para llevar tu clave pública al servidor, normalmente con ssh-copy-id, que la coloca en el archivo authorized_keys.

Por qué aprender:

Sin la clave pública en el servidor, este no reconoce tu clave privada. Este paso conecta los dos extremos del túnel.

Conceptos clave:

ssh-copy-id usuario@ip lo hace todo de una vez. La clave queda en ~/.ssh/authorized_keys dentro del servidor.

Qué es:

El comando ssh usuario@ip abre la conexión con el servidor. Si las claves están bien, entras directamente, sin escribir la contraseña.

Por qué aprender:

Es la puerta de entrada a tu día a día en el servidor. A partir de aquí, cada comando que ejecutas ocurre allí, en la nube.

Conceptos clave:

En la primera conexión te pregunta sobre la "fingerprint": escribe yes. Usa exit para salir y volver a tu PC.

Qué es:

El archivo ~/.ssh/config guarda alias para tus servidores, con IP, usuario y clave. Así escribes ssh meuserver en vez del comando completo.

Por qué aprender:

Memorizar IPs y flags es agotador y propenso a errores. Un alias bien hecho permite acceder al instante y organizar varias máquinas.

Conceptos clave:

Cada bloque empieza con Host apelido y enumera HostName, User e IdentityFile. Un archivo, varios servidores.

Qué es:

Una configuración en el servidor que prohíbe iniciar sesión con contraseña y exige una clave SSH. Editar sshd_config cierra la puerta a quienes no tienen la clave.

Por qué aprender:

Las contraseñas pueden descifrarse por fuerza bruta; las claves, no. Desactivar la contraseña elimina de una vez la principal fuente de intrusiones en servidores.

Conceptos clave:

Define PasswordAuthentication no y reinicia SSH. Prueba la clave primero antes de cerrar la contraseña, para no quedarte afuera.

Ver completo
3.3 ~45 min

🛡️ Firewall

El firewall es el portero del servidor: decide qué puertos quedan abiertos y quién puede entrar. Con él, expones solo lo necesario y bloqueas al resto del mundo.

Qué es:

Un firewall es un filtro que decide qué tráfico entra y cuál sale del servidor, puerto por puerto. Es el portero que revisa cada conexión antes de dejarla pasar.

Por qué aprender:

Sin firewall, todos los servicios quedan expuestos en Internet. Con él, abres solo lo necesario y cierras el resto, lo que reduce mucho el riesgo de intrusión.

Conceptos clave:

Los servicios escuchan en «puertos» numerados. El firewall aplica reglas para permitir (allow) y denegar (deny) por puerto y origen.

Qué es:

UFW (Uncomplicated Firewall) es la forma fácil de administrar el firewall en Ubuntu. Con pocos comandos puedes permitir o bloquear puertos enteros.

Por qué aprender:

El firewall de Linux sin herramientas adicionales es complejo. UFW traduce todo en comandos simples y legibles, ideales para quienes están empezando.

Conceptos clave:

ufw allow 22 abre, ufw deny cierra y ufw enable inicia. ufw status muestra las reglas activas.

Qué es:

Los tres puertos que casi todo servidor web necesita: 22 para SSH, 80 para HTTP y 443 para HTTPS.

Por qué aprender:

Saber para qué sirve cada puerto evita dos errores clásicos: dejar todo abierto o cerrar el puerto SSH y perder el acceso.

Conceptos clave:

Abre 22 (acceso), 80 y 443 (sitio) y cierra el resto. Nunca bloquea la 22 sin garantizar otra vía de entrada.

Qué es:

Fail2ban es un programa que vigila los logs y bloquea automáticamente cualquier IP que se equivoca de contraseña muchas veces seguidas, bloqueando los ataques de fuerza bruta.

Por qué aprender:

Los servidores en internet reciben miles de intentos de intrusión al día. Fail2ban responde automáticamente, sin que tengas que estar pendiente.

Conceptos clave:

Crea "jails" (cadenas) que supervisan servicios como SSH. Después de X intentos fallidos, la IP queda bloqueada durante un tiempo determinado.

Qué es:

Let's Encrypt es una autoridad que emite certificados SSL gratuitos. Con la herramienta certbot, tu sitio empieza a usar HTTPS con el candado.

Por qué aprender:

HTTPS cifra el tráfico de tu sitio y los navegadores lo exigen. Sin el candado, los usuarios ven avisos de "sitio no seguro".

Conceptos clave:

O certbot emite y renueva el certificado por sí solo. HTTPS usa el puerto 443 (recuerda abrirlo en el firewall).

Qué es:

Una lista de verificación que reúne las protecciones del recorrido: usuario común, clave SSH, contraseña desactivada, firewall activado, Fail2ban y HTTPS.

Por qué aprender:

La seguridad es la suma de varias capas. Una lista de verificación garantiza que no olvidaste ninguna y que el servidor quedó protegido.

Conceptos clave:

Revisa cada elemento antes de poner algo importante en producción. Repite la lista de verificación cada vez que crees un servidor nuevo.

Ver completo
3.4 ~45 min

🎫 Tokens y acceso

Los tokens son las llaves del reino: dan acceso a APIs y servicios. Aquí aprendes a guardarlos, cambiarlos y auditar quién entra, sin exponer nunca un secreto.

Qué es:

Un panorama de los principales tipos de credenciales: API key (clave simple), JWT (token firmado con datos), PAT (token personal de GitHub) y OAuth (acceso delegado).

Por qué aprender:

Cada servicio usa un tipo de token. Saber distinguirlos evita confundir credenciales y usar la incorrecta en el lugar equivocado.

Conceptos clave:

La clave de API es la más simple; JWT lleva información dentro; OAuth es el "Iniciar sesión con Google". Todos demuestran quién eres ante el servicio.

Qué es:

La práctica de guardar tokens en variables de entorno, generalmente en un archivo .env que queda fuera del código y de Git.

Por qué aprender:

Un token escrito directamente en el código se filtra fácilmente a GitHub y a Internet. El .env separa el secreto del programa.

Conceptos clave:

Agrega .env al .gitignore siempre. Ajusta los permisos del archivo para que solo el propietario pueda leerlo.

Qué es:

La rotación es el hábito de cambiar los tokens de vez en cuando; el vencimiento consiste en definir una fecha de validez para que dejen de funcionar por sí solos.

Por qué aprender:

Un token que dura para siempre es peligroso: si se filtra, el daño es eterno. Rotarlo limita el tiempo durante el cual una filtración puede causar daños.

Conceptos clave:

Prefiere tokens con vencimiento corto. Al cambiarlos, revoca el anterior. Si sospechas que hubo una filtración, rótalos de inmediato.

Qué es:

Los secrets managers son bóvedas digitales que guardan tokens y contraseñas de forma segura, controlan el acceso y registran quién usó cada secreto.

Por qué aprender:

Cuando el proyecto crece, distribuir los archivos .env se convierte en un caos y en un riesgo. Un almacén central organiza y protege todos los secretos.

Conceptos clave:

Ejemplos: Vault, AWS Secrets Manager, Doppler. La idea central es: el secreto nunca queda en el código; siempre viene de la bóveda cuando se usa.

Qué es:

Auditoría es revisar los registros (logs) del servidor para saber quién entró, cuándo y qué hizo. En Linux, comandos como last y los logs de autenticación lo muestran.

Por qué aprender:

Si algo sale mal, los logs cuentan la historia. Vigilar los accesos ayuda a detectar pronto una intrusión o un uso indebido.

Conceptos clave:

last lista los últimos inicios de sesión; /var/log/auth.log guarda los intentos. Los intentos extraños son señal de ataque.

Qué es:

Un conjunto de reglas de oro para manejar tokens y accesos: el menor privilegio posible, nunca incluir secretos en el control de versiones y separar los entornos (prueba y producción).

Por qué aprender:

La mayoría de las filtraciones ocurren por descuido, no por hackers geniales. Seguir buenas prácticas elimina los errores más comunes y peligrosos.

Conceptos clave:

Dale a cada token solo el acceso mínimo necesario. Nunca pegues secretos en el código ni en el chat. Mantén separados los tokens de prueba y de producción.

Ver completo
← Volver al inicio Siguiente ruta →