Fluxograma
Sem título
Conteúdo do fluxograma
LINEAMIENTOS PARA EL DESARROLLO SEGURO DE SOFTWARE
Establecer las variables y condiciones de seguridad para el desarrollo seguro de sistemas de información.
GLOSARIO
CIFRADO: Procedimiento que utiliza un algoritmo de cifrado con cierta clave (Clave de cifrado)
HARDENING ( ENDURECIMIENTO): Es el proceso de asegurar un sistema mediante la reducción de vulnerabilidad del mismo
PRUEBAS DE INTRUSIÓN (ABREV. PEN TESTS): Probar metodos de proteccion del sistema de información sometiendo el sistema a una situacion real
GUIA OPERATIVA
REQUERIMIENTOS TÉCNICOS
La calidad de las aplicaciones no sólo incluye funcionalidad y rendimiento, sino también seguridad de las aplicaciones.
IDENTIFICAR DATOS SENSIBLES DE ACUERDO A LA LEY ESTATUTARIA 1581 DEL 2012
Seguridad de Plataforma
Optimización y hardening de componentes: Tanto proveedores como desarrolladores internos deberán optimizar los procesos de deploy e instalación de aplicaciones eliminando usuarios, puerto de conexión o contextos de aplicación innecesarios con el objetivo de minimizar la capa aplicación expuesta para posibles ataques o explotación de vulnerabilidades
Pruebas de Intrusión:
Es necesario que se realicen una vez entregada la aplicación pruebas de intrusión del mismo software por parte de quien recibe el sistema de información de tal manera que se garantice el cumplimiento de los requerimientos de seguridad
Esquema de autenticación
Si la aplicación se valida contra login y password la aplicación deberá ser montada sobre un protocolo de conexión https.
No se deberá almacenar el password en texto claro en la base de datos.
En la base de datos se deberá almacenar el hash del password calculado con un algoritmo SHA256.
Al momento de la autenticación, a nivel de cliente se deberá calcular el SHA256 del password y este hash se deberá enviar al servidor para su respectiva validación.
Cuando así se amerite, la autenticación se deberá llevar a cabo contra el directorio activo de Certicámara
Cuando así se amerite, la autenticación se deberá llevar a cabo utilizando certificado digital X509 Versión 3
La autenticación del usuario debe ser auditada y escrita en el log de aplicación de tal manera que se pueda determinar con certeza si hubo intento de autenticación
La aplicación debe validar una única sesión por usuario, no debe permitir ingresar al sistema a personas diferentes bajo el mismo usuario.
BASE DE DATOS
Utilizar ORM para Evitar SQL Injection Evitar el ataque vía programáticamente (Escapando los datos) Cuando no se utilice ORM se debe utilizar el "Prepare Statements". Ejemplo java: String consulta = "select * from Persona where nombre = ? "; Connection conexion= DriverManager.getConnection("jdbc:mysql://localhost/ prueba", "root", "root"); PreparedStatement sentencia= conexion.prepareStatement(consulta); sentencia.setString(1, "pepe"); ResultSet rs = sentencia.executeQuery();
CALIDAD DE PRUEBAS
Pruebas de desarrollo
El equipo de desarrollo debe tener casos de pruebas en ambiente de desarrollo y de pruebas. Si el software es altamente transaccional, se debe realizar pruebas de carga utilizando el software JMETER a fin de poder detectar, errores del aplicativo, consistencia en los datos, bloqueos en base de datos, logs y comportamiento de los atributos computacionales del servidor.
Evidencias de pruebas Evidencias adjuntas al requerimiento en el REDMINE. La población de datos debe ser lo suficientemente válidos, reales y con una cantidad que permita verificar la funcionalidad del software. Diseños de mock para realizar pruebas de carga beta. (OBLIGATORIO). Si el software que se está desarrollando necesita recursos externos como consumos de servicios web se deben emular de tal manera que el consumo externo no falle y responde sin problema; esto con el fin de probar el software sin interferencias externas y así poder determinar la capacidad del software en sí.
Informações
- Descrição
- Fluxograma sobre Sem título, criado por Dayana Roa em 05-08-2021.
- Criado por
- Dayana Roa
- Visualizações
- 0
- Avaliação