Web

Asegurando nuestro servidor con Chroot


Uno de los problemas más comunes que podemos tener en materia de seguridad son las cuentas de FTP o SFTP. En algunos casos estas cuentas se dejan a colaboradores para poder subir algunos archivos o imágenes al servidor, sin implementar en ellas las medidas de seguridad oportunas.

El problema de una cuenta de FTP mal configurada

En el caso de que tengamos una cuenta de FTP mal configurada, cualquier usuario al que le diéramos acceso (o lo consiguiera) podría copiar, borrar y modificar los archivos que tengamos en nuestro servidor. Esto podría dañar seriamente nuestra página.

Aunque muchas personas creen que teniendo bien configurados los permisos ya está todo el problema resuelto, la verdad es que se equivocan. Porque el usuario podría navegar entre las distintas carpetas ya que en muchos casos tendremos que tener amplios permisos para que funcione nuestra web.

Aumentando la seguridad con Chroot

Chroot nos va a permitir indicar a un usuario cual es su directorio root, en lugar de el directorio root del equipo (/). Lo que va a limitar en gran medida las posibilidades de que ese usuario nos cause un problema en nuestra página. Ejemplo:

  • Si no se usa chroot, el directorio de un usuario por defecto cuando se conecte por ftp podría ser /home/pedro y ese usuario podría hacer un cd /tmp sin ningún problema.
  • Si usamos chroot, el directorio del usuario seguiría siendo /home/pedro, pero ese usuario no podría hacer cd /tmp ya que, para él el directorio / no es la raíz del sistema de ficheros, sino la carpeta home y en esa carpeta no existe el directorio tmp.

Como se puede deducir del ejemplo, con este sistema conseguimos encapsular a nuestro usuario en un directorio, de manera que no pueda ni conocer la estructura de nuestros directorios, ni moverse libremente por ellos.

Un buen tutorial que yo seguí para implementarlo fue este .

Un saludo y espero que este post sea de vuestro agrado y que os sirva para mejorar la seguridad de vuestros servidores.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

5 años hace