traduccion investopedia español employment descargar department security

investopedia - security movie



¿Por qué los nombres de usuario deben ser invariables? (8)

Hay varias razones, desde un aspecto de seguridad, por las que quizás no desee permitir que los usuarios cambien sus nombres. Sin embargo, como un "NUNCA haga esto", no estoy necesariamente de acuerdo. Pero, permitir cambios de nombre crea un poco de trabajo extra. Si va a permitir que los usuarios cambien sus identidades, debe tener mucho cuidado debido a las razones a continuación.

  1. Mantener una identidad de usuario consistente. Digamos que ejecuta un tablero de mensajes y Troll_1 está en la lista de bloqueo de todos. Si Troll_1 puede cambiar su nombre, entonces todos esos filtros de usuario no son buenos y usted tiene algunos usuarios descontentos.
  2. Junto con la respuesta número 1, también desea mantener la coherencia en todos los sistemas subyacentes. Si a los usuarios se les permite cambiar nombres, debe asegurarse de verificar que está actualizando todos los sistemas que ese usuario está usando para que no pierda (ni obtenga) permisos en las áreas en las que están (o no están) permitidos. . Además, si un usuario cambia su nombre y un nuevo usuario desea usar ese nombre, puede, inadvertidamente, permitir que el nuevo usuario acceda a la información / datos / del usuario anterior del usuario, si no ha realizado la debida diligencia al actualizar sus sistemas. .
  3. Según el tipo de sistema que tenga, permitir que alguien cambie su nombre de usuario puede hacer que su sistema sea propenso al abuso desde un punto de vista de fraude. Podría hacer que alguien cambie su nombre de un lado a otro pretendiendo ser dos personas diferentes en un intento de estafar a alguien. Una víctima inconsciente puede caer fácilmente por ello. (Suena estúpido, lo sé, pero he visto a gente venir con tonterías más locas).

De todos modos, como dije, no creo que sea necesariamente algo malo permitir que los usuarios cambien sus nombres. Sin embargo, crea bastante más trabajo para usted, el desarrollador. Los nombres de usuario ahora no pueden ser ID únicos en una base de datos y los nombres de usuario ahora no necesariamente se relacionan con alguien (ya que se pueden cambiar más adelante), por lo que debe tener un sistema diferente para expresar "singularidad".

Leo en todas partes (y veo en la práctica) que los nombres de usuario no deben ser modificables. Cuando pregunto por qué, la "seguridad" se da como una razón.

He estado buscando una respuesta definitiva sobre por qué cambiar un nombre de usuario no es seguro, pero parece que no puedo encontrar la respuesta.

¿Podría alguna de las personas de seguridad con experiencia aquí responder esta pregunta?

Nota: si no sabe la respuesta, evite la especulación. He pensado en una serie de razones, pero no sé la respuesta real, de ahí la pregunta.

ACTUALIZAR:
1: Por userId quería referirme a algún tipo de identificador único, ya sea una identificación de registro de base de datos o alguna otra identificación única. Me han dicho varias veces que cambiar el nombre de usuario es malo para la seguridad, incluso si el nombre de usuario no es el identificador principal / único para el propio sistema.

2: Permito que los usuarios cambien su ''nombre público''. Este es el nombre que se utiliza para identificar al usuario ante los otros usuarios (no privilegiados). por ejemplo:

userId: 1234
username: john02
public name: John Jameson
email: [email protected]

3: Como lo señalaron Jason y The Rook , la consistencia parece ser la única buena razón. Tengo la sensación de que esta "mejor práctica" podría ser un remanente de alguna parte en el pasado cuando los nombres de usuario se usaban dentro del sistema para identificar a los usuarios de forma única.


Mantener un nombre de usuario coherente es totalmente irrelevante si hace dos cosas: tiene un ID de usuario que no se puede cambiar por separado y normalice correctamente su base de datos. Lo primero es importante porque significa que no está utilizando el nombre de usuario como clave de la base de datos (o para cualquier otro permiso o algo así, evitando así muchos de los problemas que otros afiches han mencionado). El segundo es importante porque previene los ataques de fraude como los que provocó Jason , porque cuando cambias tu nombre de usuario, cambiará en todas las publicaciones antiguas y en cualquier otro lugar donde se muestre.

No veo ninguna razón por la que sea importante si tiene un nombre para mostrar por separado o no, el nombre de usuario todavía puede cambiarse sin ningún problema de seguridad. Es probable que desee mantener un registro de los nombres de usuario anteriores para que, si alguien le envía un correo electrónico sobre una cuenta perdida / pirateada, puede encontrarlo, como lo menciona jumpdart . Pero seguramente, ya está rastreando las direcciones de correo electrónico anteriores asociadas con la cuenta por el mismo motivo, ¿verdad? :) Yo les digo que los cambien. El esfuerzo extra es insignificante, y hay muchos usos legítimos.


Muchas respuestas. Probablemente ya lo tengas arreglado. Aquí están mis 2 centavos:

No dejes que las personas cambien sus nombres. No por seguridad ni nada, sino porque puede reflejarse pobremente en su sitio. Las personas conocen a un usuario como xxx y cambian a yyy, luego su reputación también puede desaparecer. Los usuarios abusivos solo plagarán tu sistema con cambios constantes.

Indización de URL: si está indexado como tal: www.somewhere.com/user/awesomeGuy entonces awesomeGuy cambia el nombre a stupidGuy, pierde sus resultados indexados y obtiene errores 404 o algo así cuando las arañas de Google rastrean el sitio. Se beneficiará más al tener URL de nombre de usuario que permitir que las personas cambien sus nombres de usuario. En estos días, la posibilidad de cambiar su nombre de usuario no es grande en la lista de "debe tener" cuando las personas se registran en un sitio.

Tiempo: su tiempo es más importante que programar funciones inútiles como esta.

Solo es mi opinión. Sin embargo, no hay riesgos de seguridad, a menos que no limpie su entrada.


No estoy de acuerdo con la premisa. Hay muchos sitios de grandes nombres que te permiten cambiar tu nombre de usuario; eBay es uno de los primeros que viene a la mente.

Editar:

Ahora que pienso en esto, y leí la respuesta de Rook, recordé sobre un lugar donde trabajé en el que no podía crear una cuenta con un nombre de usuario que ya existía, pero siempre podría cambiarlo (más tarde, después del registro) a un nombre de usuario que ya existia Desafortunadamente, en dicho lugar, los permisos se basaron en el nombre de usuario ... puede ver dónde se encuentra el problema de seguridad.


Puede o no ser malo para la seguridad, pero si las identificaciones de los usuarios se basan en nombres de usuarios, puede resultar embarazoso. Piense, por ejemplo, en una usuaria Jane Smith (casada con el Sr. Smith) que se divorcia y quiere volver a su nombre anterior al matrimonio. Cada vez que inicia sesión en su sistema, le recuerda lo que era.

Ahora solo puede crear una nueva cuenta y mover cualquier configuración a esa nueva cuenta. O puede usar otra cosa que no sea el nombre de usuario para que se pueda cambiar una ID de usuario / inicio de sesión, pero eso se asigna a otra ID que no cambia, como un número de secuencia o algo similar.

Debe tener alguna ID invariable, al menos para que se complete la auditoría realizada por el sistema de segmentación. Crear un nuevo usuario (por lo tanto, proporcionar un nuevo ID de usuario) en un cambio de nombre rompe la cadena de auditoría y requiere que una persona recuerde que "Oh, sí, la llamaron Jane Smith el año pasado" ...


Si no permite que las personas cambien sus nombres de usuario, algunas personas simplemente crearán nuevas cuentas. No veo ningún riesgo de seguridad en esto, y muchas aplicaciones, como SO, te permiten cambiar tu nombre. Si cambia el nombre, mantenga el ID de usuario (clave principal) igual para que todos los datos se vinculen correctamente.

El único peligro que veo es si puedes cambiar tu nombre a una cuenta que ya existe como ''admin''.


Surge una dificultad si los usuarios pueden cambiar a nombres que se han usado en el pasado. Si los usuarios siempre se identifican con algún identificador que nunca cambiará ni se reutilizará, es posible usar un nombre de usuario de manera segura y sensata desde el punto de vista de la UI si todas las transacciones registran tanto la identidad del usuario que realiza la transacción como el nombre de usuario en ese momento. Se realizó la transacción. En ese caso, algo como una publicación en el tablero de mensajes podría etiquetarse como "Por: SuperCat (como Mighty Kitty)". Supercat sería el nombre de usuario actual del póster, y Mighty Kitty sería el nombre de usuario que tenía el póster cuando se escribió la publicación.


Yo diría que no poder cambiar un nombre es MALO para la seguridad. Especialmente cuando el inicio de sesión es una dirección de correo electrónico. Steam es un ejemplo perfecto de esto ... las personas se inscribieron hace 5 años cuando estaban en la escuela secundaria, con sus correos electrónicos [email protected]. Ahora tienen que continuar recordando ese correo electrónico, recordando tanto las contraseñas de Steam como las de correo electrónico, asegurándose de que nadie haya tenido acceso al correo electrónico, etc. incluso cuando no hayan usado la cuenta de correo electrónico en años. Básicamente, reduce la posibilidad de que el correo electrónico de inicio de sesión esté realmente verificado, lo que hace que los correos electrónicos de "contraseña olvidada" y etc. sean menos seguros.

Y no puede simplemente crear una cuenta nueva si los artículos de valor real, como los juegos, están vinculados a esa cuenta. Estás atrapado con tu nombre de por vida.