SeguridadToken.env3 min de lectura

Seguridad del token y buenas prácticas

Proteger el token con .env, evitar commits accidentales, rotación, 2FA y detección de compromisos.


¿Por qué es crítico proteger el token?

El token de tu bot es como una contraseña maestra. Cualquiera que lo tenga puede controlar tu bot completamente: enviar mensajes, banear usuarios, borrar canales. Si se filtra, actuá inmediatamente.

Paso 1: Usar archivos .env

Nunca hardcodees el token en el código:

javascript
// ❌ NUNCA hagas esto
client.login('MTIzNDU2Nzg5MDEyMzQ1Njc4.XXXXXX.XXXXXXX');

// ✅ Siempre usá variables de entorno
require('dotenv').config();
client.login(process.env.DISCORD_TOKEN);

Creá el archivo .env:

bash
DISCORD_TOKEN=tu_token_aqui
CLIENT_ID=tu_client_id

Paso 2: Configurar .gitignore

Asegurate de que .env nunca se suba a Git:

gitignore
# .gitignore
.env
.env.local
.env.production
node_modules/

Si ya commiteaste el token por error:

bash
# Eliminar del historial de Git
git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch .env' HEAD

# O usar BFG Repo-Cleaner (más rápido)
bfg --delete-files .env

Importante: Después de eliminar del historial, regenerá el token inmediatamente.

Paso 3: Rotación de tokens

Rotá el token periódicamente o si sospechás un compromiso:

  1. Andá a Discord Developer Portal → tu aplicación → Bot
  2. Hacé clic en Reset Token
  3. Copiá el nuevo token
  4. Actualizá el .env en tu VPS:
bash
ssh deploy@tu-vps
nano /opt/bots/mi-bot/.env
# Pegá el nuevo token
pm2 restart mi-bot

Paso 4: Activar 2FA en tu cuenta

Si tu bot está en servidores con 2FA obligatorio, tu cuenta de desarrollador necesita 2FA:

  1. Discord → Configuración → Mi cuenta → Activar 2FA
  2. Usá una app como Google Authenticator o Authy
  3. Guardá los códigos de backup en un lugar seguro

Paso 5: Detectar tokens comprometidos

Señales de que tu token fue expuesto:

  • El bot envía mensajes que no programaste
  • Aparecen servidores nuevos en la lista del bot
  • Usuarios reportan comportamiento extraño
  • GitHub te notifica un secret expuesto

Acciones inmediatas:

bash
# 1. Regenerar token AHORA
# Discord Developer Portal → Bot → Reset Token

# 2. Actualizar en producción
ssh deploy@tu-vps
cd /opt/bots/mi-bot
echo 'DISCORD_TOKEN=nuevo_token' > .env
pm2 restart mi-bot

# 3. Revisar audit logs del servidor
# Discord → Server Settings → Audit Log

Paso 6: GitHub Secret Scanning

GitHub detecta tokens de Discord automáticamente. Si recibís una alerta:

  1. El token ya fue revocado por Discord automáticamente
  2. Generá uno nuevo en el Developer Portal
  3. Actualizá tu producción

Recomendaciones

  • Nunca compartas el token por Discord, email o chat
  • Usá GitHub Secrets para CI/CD en vez de hardcodear
  • Configurá alertas de GitHub Secret Scanning
  • Rotá tokens cada 3-6 meses como práctica preventiva
  • Mantené 2FA activo en todas las cuentas con acceso al bot

¿Te resultó útil esta guía?