¿Vale la pena el esfuerzo de almacenar las contraseñas de FTP encriptadas?

12

Tengo un proyecto para construir un sistema que necesita enviar archivos a múltiples servidores FTP de terceros. He pedido a estos terceros que proporcionen una interfaz más segura; todos han declinado Ahora tengo este problema: puedo implementar algún tipo de cifrado reversible, tal vez en un proceso separado, todo para proteger las contraseñas que finalmente se enviarán por cable en texto plano. ¿Por qué molestarse?

¿Crees que probablemente podría obtener mejores beneficios si me enfoco en la seguridad de otras áreas de la aplicación o vale la pena el esfuerzo para cifrar estos datos?

    
pregunta kojiro 17.07.2012 - 19:53
fuente

5 respuestas

5

Me inclino hacia "naah, no te molestes", aunque no creo que haya una sola respuesta clara. En principio, depende de a qué datos y recursos accedan esas contraseñas, así como de la seguridad con la que está almacenada la máquina.

Si las contraseñas se almacenarán en una máquina que esté razonablemente bien protegida, y si los datos a los que conceden acceso no son supercríticos, no me molestaría en cifrarlos. Por otro lado, si las contraseñas permiten el acceso a datos altamente confidenciales, entonces sí, cifraría las contraseñas y tal vez consideraría también protecciones adicionales, pero entonces, en ese caso, tal vez no deberías almacenarlo en un tercer lugar. -parte servidores FTP protegidos por contraseñas de texto claro de todos modos. En la mayoría de las situaciones, no me molestaría en cifrar la contraseña.

Sugerencia: si le preocupa, considere si sería fácil cambiar las contraseñas regularmente a través de algún proceso automatizado (por ejemplo, una vez a la semana o algo así).

Si está enviando datos de un servidor a otro, entonces no creo que el riesgo de interceptación de las contraseñas mientras se encuentra en tránsito sea muy alto. Claro, no es un riesgo que deba ignorar por completo, pero espiar los datos en esas situaciones es relativamente raro. El mayor riesgo de espionaje es cuando envía datos a través de una red inalámbrica o cuando envía datos a través de una LAN que contiene al menos una máquina infectada / comprometida. Sospecho que hay un mayor riesgo de que las contraseñas sean robadas mientras están en reposo, por ejemplo, porque alguien penetra en uno de los dos puntos finales o porque faltan las copias de seguridad.

    
respondido por el D.W. 17.07.2012 - 20:09
fuente
8

No me molestaría en ser honesto. La mayoría de las aplicaciones almacenan sus contraseñas de bases de datos en texto simple, no veo que esto sea muy diferente. Si está en un host compartido, asegúrese de que solo su cuenta de usuario tenga acceso de lectura al archivo. También recomiendo encarecidamente el uso de SFTP o FTPS, si no estás usando uno de estos protocolos, estás pidiendo que te pirateen .

    
respondido por el rook 17.07.2012 - 20:09
fuente
4

Dejando de lado el ENORME problema de la seguridad de FTP, y observando el problema de almacenar contraseñas, si necesita descifrar la contraseña (como una opción para simplemente verificarla con un valor almacenado y hash), rápidamente se encuentra con el problema que alguien que puede obtener acceso a los datos probablemente también puede obtener acceso a la clave utilizada para cifrar la contraseña. La única forma de evitar esto es mantener copias de la contraseña cifrada con una clave única para cada usuario (es decir, la contraseña del usuario), que es una PITA para administrar (aunque hay algunas soluciones de billetera digital disponibles en el estante).

Hay formas de mitigar el problema del texto claro de FTP: usar una vpn es una solución muy obvia, restringir el acceso a una dirección IP específica es mucho menos efectivo, pero podría ser una opción viable si no queda otra opción. Pero ninguno de los enfoques se acerca al beneficio de utilizar un protocolo seguro.

Como han dicho los demás, la solución basada en FTP es insegura, suponiendo que haya observado la debida diligencia y se haya protegido al dejar esto en claro, entonces sugeriría que la única opción / responsabilidad que queda para usted es diseñar su software de modo que la mayor funcionalidad posible es independiente del protocolo utilizado para enviar los archivos, de modo que puede agregar soporte para otros protocolos fácilmente en una fecha posterior.

    
respondido por el symcbean 18.07.2012 - 12:10
fuente
3

El cifrado reversible tiene pocos beneficios si tiene un programa que lo descifra automáticamente. Si algún idiota tiene acceso de lectura al guión, probablemente también pueda ejecutarlo y descubrir cómo descifrar la contraseña. Claro que puede evitar ataques de tipo "hermana-niño", pero no evitar cualquier desafío a su atacante promedio.

Personalmente, optaría por el texto sin formato si no le permiten autentificarse en función de las claves, además, con un firewall que restringe el acceso.

Sin embargo, asegúrese de que las contraseñas que utiliza sean contraseñas aleatorias creadas solo para este propósito específico. Por ejemplo, una contraseña de 16 símbolos generada al azar que es diferente para cada máquina. Nunca grabe una contraseña / frase de contraseña real que use en otro lugar y que se haya guardado en la memoria. También mantendría una copia de la contraseña en una lista encriptada de la que se haya hecho una copia de seguridad de forma segura (por ejemplo, keepassx con una base de datos almacenada en un dropbox sincronizado con varias máquinas, así como una copia de seguridad controlada por versión).

También como mencionó Rook, asegúrate de no estar usando FTP ordinario en Internet abierto. Las contraseñas (y todos los datos) se envían en texto simple que cualquiera puede espiar. Use FTPS (FTP sobre SSL; similar a HTTPS es HTTP sobre SSL) o SFTP (transferencia de archivos de estilo FTP mediante SSH) o tenga un túnel VPN. Cualquier otra cosa es inaceptable.

    
respondido por el dr jimbob 18.07.2012 - 00:28
fuente
3

La contraseña de FTP es para la autenticación en los servidores FTP de destino: la contraseña desbloquea el acceso al servicio de almacenamiento de estos servidores. En gran medida, este es su problema, no el tuyo.

Para ser más detallados, siempre que envíe un archivo de datos a un servidor, la confidencialidad e integridad general de los datos es en parte responsabilidad del administrador del servidor. No puede hacer que los datos sean más seguros de lo que el par está dispuesto a lograr y, al insistir en FTP con las contraseñas y los datos enviados de forma clara, los administradores de los servidores están demostrando que no les importa mucho. La contraseña que le dan es una delegación de responsabilidad: le otorgan acceso y puede requerir algunas medidas de protección adicionales para eso, pero si lo hacen no , entonces no es Tu papel para insistir indebidamente en el tema. Como dicen, no trates de ser más católico que el Papa. Al plantear el problema de la inseguridad de FTP, ha cumplido con su deber de advertir a los incautos; a partir de ese momento, depende de ellos hacer un seguimiento del tema.

En la práctica, es posible que desee tomar algunas medidas para evitar filtrar las contraseñas de su lado, por ejemplo. Protección de lectura del archivo de configuración que los contiene. Esto no es realmente para hacer que el sistema sea más seguro, sino para evitar convertirse en el chivo expiatorio si (cuando) el sistema es pirateado. Luego, debe mostrar que su final del protocolo no fue el punto más débil, y como FTP no tiene cifrado y usa contraseñas de texto simple, eso no es difícil; El cifrado de su lado sería una exageración. Además, si el sistema de su lado debe continuar sin supervisión, esto significa que cualquier cifrado que se aplique a las contraseñas puede ser revertido automáticamente por su máquina, por lo que cualquier cifrado que usted aplique no sería, en teoría, más sólido que las restricciones de acceso de lectura simple en la configuración archivos. Así que mi consejo es: no se moleste con el cifrado de contraseñas, le daría mucha más complejidad que seguridad real adicional, y esa no es la parte más débil de su sistema de todos modos.

Por supuesto, es posible que deba preguntarse si realmente desea enviar sus datos potencialmente confidenciales a servidores FTP de terceros cuyos administradores han demostrado, al negarse a cambiar a un protocolo más seguro como SFTP , una cantidad bastante preocupante de descuido con respecto a los problemas de seguridad. Todo depende de si los datos que desea enviar son realmente confidenciales o no.

    
respondido por el Thomas Pornin 15.09.2012 - 17:56
fuente

Lea otras preguntas en las etiquetas