Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
"Django-insecure" en clave secreta en settings.py en django

Después de crear un nuevo proyecto con django-admin startproject mi settings.py contiene:

 SECRET_KEY = 'django-insecure <actual secret key>'

Nunca antes había visto "django-insecure" en una clave secreta. ¿Qué significa?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esta es una advertencia visible de que cualquier clave codificada es insegura desde el primer momento. La idea es utilizar diferentes claves en el desarrollo y la producción.

Puede generar fácilmente una nueva clave usando un generador en línea como este

En su servidor, agregue su SECRET_KEY a las variables de entorno y estas líneas a su configuración.py

 import os SECRET_KEY = os.environ['SECRET_KEY']

Personalmente, no prefiero guardar claves en archivos, pero eso también es posible.

Tenga en cuenta que

over 4 years ago · Santiago Trujillo Denunciar

0

en django 3.2 es mejor crear su propia clave secreta para producción (asegúrese de que sea lo suficientemente segura) y moverla a sus variables de entorno y también es mejor usar esta clave secreta insegura solo para fines de desarrollo. Una SECRET_KEY segura es así:

  • La clave secreta debe ser un valor aleatorio grande y debe mantenerse en secreto.
  • Asegúrese de que la clave utilizada en producción no se utilice en ningún otro lugar y evite enviarla al control de código fuente. Esto reduce la cantidad de vectores desde los cuales un atacante puede adquirir la clave.
  • En lugar de codificar la clave secreta en su módulo de configuración, considere cargarla desde una variable de entorno:

Aquí hay un ejemplo:

 import os SECRET_KEY = os.getenv("SECRET_KEY", "django-insecure <actual secret key>")
over 4 years ago · Santiago Trujillo Denunciar

0

¿Por qué la clave es insegura cuando se crea automáticamente? Parece ser mucho más seguro que una llave pensada por un humano.

Se genera utilizando un proceso bien conocido a partir de una fuente de entropía cuya calidad y seguridad no pueden garantizarse (por Django). Esta es la razón aparente de esto; consulte https://docs.djangoproject.com/en/3.2/ref/checks/#security

security.W009 : Su SECRET_KEY tiene menos de 50 caracteres, menos de 5 caracteres únicos, o tiene el prefijo 'django-insecure-' lo que indica que Django la generó automáticamente . Genera una SECRET_KEY larga y aleatoria, de lo contrario, muchas de las funciones críticas para la seguridad de Django serán vulnerables a los ataques.

Más importante aún, cualquier clave secreta incrustada en un archivo de configuración es tan segura como los mecanismos de control de acceso de su sistema de archivos. Los archivos de configuración de Django son un lugar obvio para buscar la clave secreta.

Es más seguro mantener sus claves en un almacén de claves protegido criptográficamente o en un HSM , y luego pasar a Django su clave secreta a través de una variable de entorno; ver Dónde almacenar claves secretas DJANGO .

Y, sin importar cómo las administre, debe generar sus claves secretas usted mismo utilizando hardware que controle y un mecanismo + fuente de entropía en el que pueda confiar al 100%. (Si no tiene opciones, considere tirar algunos dados como fuente de dígitos aleatorios).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda