Acceso seguro a los archivos de tu web

  • acceso seguro, SFTP, SSH, root, llaves SSH, VS Code, seguridad web, hosting, VPS
  • 10

Guía · Seguridad

Alguien te pide "acceso al servidor" para tocar tu web. Tú se lo das. Y sin saberlo, acabas de entregar las llaves de todo. Te contamos cómo hacerlo bien, tengas el hosting que tengas y seas cliente nuestro o no.

El error que vemos casi cada semana

La situación es siempre la misma. Un diseñador, una agencia o un programador necesita editar archivos de tu web. Plugins, plantillas, un PDF, una hoja de estilos. Y pide lo más cómodo para él: acceso completo al servidor.

Ese acceso completo se llama "root" (o administrador del sistema). No es "entrar a tu web": es poder hacer cualquier cosa en la máquina donde vive tu web. Y normalmente también donde viven tu correo, tus bases de datos y, si compartes servidor, las webs de otros.

Qué puede salir mal
  • Un despiste borra archivos que no tocaba y la web deja de cargar.
  • Esa persona conecta una herramienta al servidor y la deja abierta sin control. Es la vía de entrada de buena parte de los ataques que vemos.
  • Si le roban el portátil o la clave, entran en tu servidor con permisos totales.
  • Cuando termina el proyecto, ese acceso casi nunca se retira. Sigue ahí, meses.

No es desconfianza hacia quien te lo pide. Es que nadie debería tener más llaves de las que necesita. Ni tu programador, ni nosotros, ni tú.

La regla de oro: solo el acceso que hace falta

En seguridad esto se llama "mínimo privilegio". Dicho en llano: si alguien solo necesita editar los archivos de tu web, dale acceso a los archivos de tu web. No a la máquina entera.

La forma práctica de hacerlo es un acceso enjaulado. Es una cuenta encerrada en una única carpeta: puede entrar, leer y escribir ahí dentro, y no puede salir ni ver nada más del servidor. Técnicamente se llama SFTP con jaula (chroot), pero lo que importa es el resultado.

Tipo de acceso Qué permite Cuándo usarlo
Root / administrador Todo. Instalar, borrar, apagar, ver cualquier web del servidor. Solo quien administra el servidor. Nunca para editar archivos.
Usuario con shell Ejecutar comandos, moverse por el sistema, ver más de lo que debería. Solo si de verdad hace falta ejecutar cosas. Sin permisos de administrador.
SFTP enjaulado Leer y escribir archivos de una sola carpeta. Nada más. Editar tu web. Es el que quieres el 90 % de las veces.

Cómo se trabaja con un acceso enjaulado

La duda habitual es si se trabaja peor. No: se trabaja igual de cómodo. Editas desde tu programa de siempre y los cambios suben solos.

Con Visual Studio Code

  1. Instala la extensión SFTP (la de Natizyskunk, que es la que está mantenida).
  2. Abre la carpeta de tu ordenador donde quieras tener los archivos.
  3. Pulsa F1, escribe SFTP: Config y rellena con los datos de tu acceso:
{
  "name": "Mi web",
  "host": "servidor-que-te-den",
  "port": 22,
  "protocol": "sftp",
  "username": "tu-usuario",
  "privateKeyPath": "C:\\Users\\TU-USUARIO\\.ssh\\id_ed25519",
  "remotePath": "/ruta-que-te-den",
  "uploadOnSave": true,
  "ignore": [".vscode", ".git", ".DS_Store"]
}

En Mac, la ruta de la llave va así: "privateKeyPath": "/Users/TU-USUARIO/.ssh/id_ed25519"

Después pulsa F1 y SFTP: Download Project para bajarte los archivos. A partir de ahí, cada vez que guardes con Ctrl+S o Cmd+S, el archivo sube solo.

Sin VS Code

El mismo acceso funciona con FileZilla, WinSCP, Cyberduck o el editor que uses. Eliges el tipo "SFTP" y metes los mismos datos.

Usa llaves, no contraseñas

Una contraseña se puede adivinar a base de intentos. Un servidor en internet recibe miles de esos intentos al día, de forma automática. No es que te tengan manía: le pasa a todos.

Una llave es un archivo de texto que hace de credencial y que no se puede adivinar. Se generan dos: una pública (esa es la que envías) y una privada (esa no sale de tu ordenador, jamás).

Para crear la tuya, en Windows abre PowerShell y en Mac abre Terminal:

ssh-keygen -t ed25519

Pulsa Enter en todas las preguntas. Te crea dos archivos en la carpeta .ssh de tu usuario. El que termina en .pub es el que mandas a quien te da el acceso.

Regla que no se salta nunca

El archivo sin .pub es tu llave privada. No la envíes por correo, ni por WhatsApp, ni la subas a ningún sitio. Ni siquiera a nosotros. Nadie legítimo te la va a pedir.

Qué hacer según dónde esté tu web

Si tienes hosting compartido (cPanel, Plesk y similares)

  • No entregues el usuario principal de la cuenta. Con él se toca todo: correo, bases de datos, dominios.
  • Crea un usuario FTP/SFTP adicional limitado a la carpeta de la web. Todos los paneles lo permiten y se hace en dos minutos.
  • Activa la verificación en dos pasos en el panel.
  • Cuando acabe el trabajo, borra ese usuario. No lo dejes ahí.

Si tienes un VPS o un servidor propio

Aquí es donde se cometen los errores caros, porque no hay red de seguridad: lo que se rompe, se rompe de verdad.

  • No des root a nadie que solo tenga que editar archivos.
  • No dejes la entrada por contraseña abierta si puedes usar llaves.
  • No uses la misma cuenta para todo el mundo. Si algo pasa, no sabrás quién fue.
  • Crea un usuario sin permisos de administrador, enjaulado en la carpeta de la web.
  • Entra solo con llaves y desactiva el acceso por contraseña.
  • Si puedes, deja el acceso cerrado a internet y ábrelo solo por una conexión privada (VPN).
  • Ten una copia de seguridad comprobada antes de que nadie toque nada. Una copia que no has restaurado nunca no es una copia: es una intención.
  • Revisa cada pocos meses quién sigue teniendo acceso y quita lo que sobre.

Si tu servidor lo llevamos nosotros

No tienes que hacer nada de lo anterior. Nos lo pides y te lo montamos: creamos el acceso enjaulado, dejamos la carpeta de tu web accesible para tu equipo y comprobamos que todo sigue funcionando después. Tú no tocas nada técnico.

La diferencia, en corto
  Lo llevas tú Lo llevamos nosotros
Crear el acceso seguro Lo montas tú, con cuidado Lo montamos y lo probamos
Copias antes de tocar Te acuerdas tú Incluidas y comprobadas
Parches de seguridad Al día, tú En continuo, sin que lo pidas
Si algo se rompe Buscas quién lo arregla Respondemos nosotros

Checklist rápido antes de dar un acceso

  • ¿Esta persona necesita ejecutar cosas, o solo editar archivos? Si es lo segundo, SFTP enjaulado y punto.
  • ¿Entra con llave en vez de contraseña?
  • ¿El acceso está limitado a una carpeta, o ve el servidor entero?
  • ¿Hay copia de seguridad reciente y comprobada?
  • ¿Tienes apuntado quién tiene acceso y desde cuándo?
  • ¿Sabes quién lo retira cuando acabe el trabajo?

Si has dicho que no a dos o más, tienes un agujero abierto. No hace falta que cunda el pánico, pero conviene cerrarlo.

¿Lo miramos juntos?

Si no tienes claro quién puede entrar hoy a tu servidor, te lo revisamos y te decimos qué cerrarías tú en su lugar. Sin humo. Y si la opción que más te conviene no es la nuestra, también te lo diremos.

Cuéntanoslo

Avantys · Tu departamento digital, sin que tengas que contratarlo


¿Fue útil la respuesta?

« atrás