Awesome Application Security Checklist
1.0.0
Si está diseñando, creando, probando su aplicación web/móvil con seguridad en mente, esta lista de verificación de contramedidas puede ser un buen punto de partida
Bcrypt (no se necesita sal - Bcrypt lo hace por usted). logout . state en OAuth2. OTP móvil, no envíe el OTP nuevamente en la respuesta cuando se llama generate OTP o Resend OTP . Login , Verify OTP , Resend OTP y generate OTP para un usuario en particular. Tenga un conjunto exponencial de retroceso o/y algo como un desafío basado en Captcha. my cart , my history debe verificar la propiedad del usuario del usuario utilizando la identificación de la sesión. /me/orders en lugar de /user/37153/orders . Esto actúa como una verificación de cordura en el caso de que haya olvidado verificar el token de autorización. Edit email/phone number debe ir acompañada de un correo electrónico de verificación al propietario de la cuenta. Profile photo upload debe desinfectar todas las etiquetas EXIF también si no es necesario. UUID de RFC en lugar de enteros. Puede encontrar una implementación para esto para su idioma en GitHub. salt de las pasarelas de pago no debe estar codificada. secret / auth token de terceros SDK no debe ser codificado. server to server no se deben realizar desde la aplicación. Add el encabezado CSP para mitigar XSS y ataques de inyección de datos. Esto es importante. Add el encabezado CSRF para evitar la falsificación de solicitud de sitio cruzado. También agregue los atributos de samesite en las cookies. Add el encabezado HSTS para evitar el ataque de despojo de SSL. Add su dominio a la lista de precarga de HSTS Add las opciones X-Frame para proteger contra Clickjacking. Add el encabezado X-XSS-Protection para mitigar los ataques XSS. Sanitize todas las entradas del usuario o cualquier parámetros de entrada expuestos al usuario para evitar XSS. Sanitize la entrada del usuario para casos especiales como robots.txt como nombres de perfil en caso de que esté utilizando un patrón de URL como CoolCorp.io/Username. open ports públicamente no deseados. databases , especialmente MongoDB & Redis. CI y CD Auditar su diseño e implementación con cobertura de pruebas de unidad/integración. Use un proceso de revisión de código y no tenga en cuenta la auto-aprobación. Asegúrese de que todos los componentes de sus servicios sean escaneados estáticamente por AV Software antes de presionar a la producción, incluidas las bibliotecas de proveedores y otras dependencias. Diseñe una solución de reversión para implementaciones.