¿Qué tan seguro es TFTP?

TFTP es el “Protocolo de transferencia de archivos trivial”.

Fue diseñado para hacer la transferencia de archivos más simple, ligera y mínima posible.

También se diseñó en un momento en que Internet consistía en un pequeño conjunto de computadoras administradas por personas amigables: la especificación original se publicó en enero de 1980; Un par de años después comencé a trabajar con la gente que lo diseñó y escribió la especificación.

En ese momento había (bastante razonablemente) muy poca preocupación por la seguridad. Por un lado, muy pocas personas tenían computadoras, y muy pocas de esas computadoras podían conectarse a una red. ¡Conectarse a una red fue realmente un gran problema! No era como si pudieras colarte en la red wifi de alguien o conectarte a su enrutador sin que lo notaran.

La mayoría de las veces los archivos solo estaban disponibles en la red para quien quisiera descargarlos. Era muy poco probable que alguien realmente tuviera acceso a su red, e incluso entonces tendrían que adivinar la ruta del archivo.

Por lo tanto, no había ninguna razón para agregar seguridad al TFTP, y había buenas razones para mantenerlo ligero y pequeño.

Por lo tanto, TFTP no tiene forma de autenticar a un usuario para que pueda controlar el acceso a los archivos transferidos por él. Tampoco protege el contenido del archivo que se transfiere de las escuchas.

Lo único en lo que puedo pensar que TFTP todavía se usa para hoy es la carga de arranque, y aquí tiene mucho sentido, el gestor de arranque se ejecuta en un entorno de recursos muy limitados. Lo más probable es que la imagen que se está descargando esté dentro de su perímetro de seguridad, e incluso si no lo es, lo más probable es que sus imágenes de arranque no sean datos particularmente sensibles.

TFTP transferirá de manera confiable los archivos solicitados; le informará que obtuvo el archivo intacto o que la transferencia falló. Y debe verificar un hash o suma de verificación del archivo después de la descarga para asegurarse de que no se haya alterado.

Es muy poco probable que desee utilizar TFTP para cualquier tipo de transferencia de archivos que no sea la carga de arranque hoy. Es casi seguro que esté mucho mejor usando sftp, scp o HTTPS para la transferencia de archivos. Tampoco debería usar nunca más FTP: FTP envía contraseñas de forma clara, para que puedan ser escuchadas. También es vulnerable a ataques de hombre en el medio y escuchas. En ese caso, estás mucho mejor con sftp.

Tengo curiosidad, ¿por qué tienes curiosidad sobre la seguridad de TFTP?

Aquí una breve explicación de una desventaja de TFTP:

  • Quizás lo más crítico es su falta de características de seguridad.
  • TFTP no tiene ningún cifrado integrado.
  • Tampoco admite ninguna función de autenticación de cliente o servidor.

Por lo tanto, por ejemplo, nada impediría que un pirata informático falsifique su servidor TFTP, forzando a sus clientes a reiniciar y luego obligándolos a descargar configuraciones con código malicioso.

Sin embargo, a pesar de sus vulnerabilidades, todavía no hay sustituto para TFTP.

  • Todavía no existe un protocolo de transferencia de archivos que pueda realizar las tareas para las que TFTP está diseñado, requerir menos o la misma cantidad de sobrecarga y proporcionar una mejor seguridad.
  • E incluso si aparece una alternativa, el hecho es que, en este momento, TFTP es tan ampliamente utilizado.

Tomaría algún tiempo antes de que pueda ser reemplazado por completo.

Por lo tanto, si realmente necesita implementar TFTP en su organización, deberá asumir la responsabilidad de mitigar los riesgos.

Por ejemplo:

  • Puede restringir su uso a redes privadas locales.
  • También puede implementar algún tipo de control de acceso, por ejemplo, limitar el acceso a ciertas direcciones IP de clientes.
  • Si el almacenamiento de archivos de configuración y otros datos en claro no es aceptable para usted, entonces también puede emplear algún tipo de cifrado en el servidor.
  • Puede escribir sus propios scripts para automatizar cosas o realizar alguna integración del sistema con otras soluciones de seguridad.
  • O eso, o puede ofrecer TFTP fuera de un servidor seguro de transferencia de archivos que ya tiene varios mecanismos de seguridad incorporados.