La autenticación multifactor es uno de los principios más básicos al agregar seguridad a nuestras aplicaciones. En este tutorial, agregaremos la autenticación de múltiples factores mediante el método OTP. Construyendo Blog CMS (Sistema de Gestión de Contenidos) con Django
Configuración de la autenticación de 2 factores para el proyecto Django
Instalaremos el paquete TOTP para nuestro blog CMS que agregará seguridad OTP para nuestro inicio de sesión de administrador. Primero instale el paquete django-otp
pip install django-otp
y agregue ‘django_otp, django_otp.plugins.otp_totp ‘ en nuestras aplicaciones instaladas y django_otp.middleware.OTPMiddleware en la sección de middleware de nuestro archivo de configuración.
Python3
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_otp', 'django_otp.plugins.otp_totp' ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_otp.middleware.OTPMiddleware' ]
Ahora corre,
# migrate our app python3 manage.py migrate
Creación de un dispositivo TOTP –
Ahora inicie sesión en django admin para crear un dispositivo TOTP. Puedes verlo después de iniciar sesión
Haga clic en agregar y complete los detalles para crear un nuevo qrcode TOTP
Ahora ingrese nuevamente a la sección del dispositivo totp y abra el código QR y escanéelo con sus aplicaciones TOTP como Authy, las aplicaciones Google Authenticator.
Establecer clase OTP de administración:
Ahora ingrese al archivo django urls.py en gfgblog, no en el blog urls.py y agregue las líneas
Python3
from django_otp.admin import OTPAdminSite admin.site.__class__ = OTPAdminSite
Producción –
Ahora cierre la sesión e inicie sesión en el administrador de django, debe ingresar OTP cada vez que necesite iniciar sesión en el administrador de django.
Algunos principios básicos de seguridad a seguir
- Mantenga Debug = False en producción
- Límite permitido alojado en nuestra IP de servidor, host local y nombres de host
- Mantenga la clave secreta fuerte y segura
- Todas las formas usan HTTPS en producción
- Controle las cargas de los usuarios si son administrados por varios usuarios
- Mantenga su base de datos segura y no use SQLite en producción
- Intente usar encabezados de seguridad y contenido en producción, a continuación se proporcionan algunos encabezados, agréguelos en Settings.py
Python3
SECURE_SSL_REDIRECT = True SESSION_COOKIE_SECURE = True SESSION_COOKIE_SECURE = True SECURE_BROWSER_XSS_FILTER = True SECURE_HSTS_SECONDS = 31536000 SECURE_HSTS_INCLUDE_SUBDOMAINS = True SECURE_HSTS_PRELOAD = True SECURE_CONTENT_TYPE_NOSNIFF = True CSRF_COOKIE_SECURE = True
Publicación traducida automáticamente
Artículo escrito por kushwanthreddy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA