Programación web II Unidad 2. Mi sitio dinámico y seguro
Ingeniería en Desarrollo de Software Semestre 8 AL12524075 Guillermo Duran García Programa de la asignatura: Programación web II
Unidad 2. Mi sitio dinámico y seguro
Actividades de aprendizaje
Clave: 15144843
Universidad Abierta y a Distancia de México
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
1
Programación web II Unidad 2. Mi sitio dinámico y seguro
Actividad 1. Segunda fase: Seguridad y visibilidad del sitio web Planteamientos detonadores del aprendizaje Desarrollo de la actividad Actividad 1 Seguridad y visibilidad del sitio (fase 2). Propósito: Conocer e identificar los diferentes elementos de seguridad que existen en la actualidad y que se pueden utilizar, y aplicar éstos a los sitios web para hacerlos confiables y seguros. Hacer Describe a detalle el elemento de seguridad que utilizaste en la Fase 1 de esta unidad. Ingresa nuevamente al Foro, responde a la retroalimentación de tu Docente en línea y lee detenidamente la participación de uno de tus compañeros(as). Una vez que hayas leído la participación de tu compañero(a), responde una aportación a su participación mencionando cuál sería tu idea de uso de la tecnología web que ella o él exponen en el foro.
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
2
Programación web II Unidad 2. Mi sitio dinámico y seguro
INTRODUCCION
La Web se ha convertido en un popular vector de ataque, y la seguridad web es una parte vital a la hora de mantener a su empresa protegida. La piratería ahora es una industria reconocida, y los emprendimientos delictivos son más sofisticados y están mejor conectados que nunca. Los ataques siempre están cambiando, lo cual se vuelve más nocivo y más difícil de detectar. Las organizaciones de hoy en día necesitan una solución de seguridad web completa que incluya estos cinco elementos esenciales:
Protección en toda la secuencia del ataque: antes, durante y después de este Opciones flexibles de implementación Capacidad de proteger datos sensibles y evitar que salgan de la organización Reducir el riesgo a través de controles rigurosos Rápida identificación y corrección de ataques de día cero Desafíos
Las amenazas exteriores a su red no son su única preocupación. Los usuarios dentro de la empresa podrían estar poniendo a la organización en peligro al consumir ancho de banda excesivo y acceder a contenido, como medios sociales, videos de Internet y aplicaciones personales, fuera de las políticas de uso aceptable. Esto puede ocurrir en la sede central y en las sucursales entre empleados y usuarios temporales, y mientras los empleados están en itinerancia. El consumo excesivo de recursos puede ralentizar el rendimiento de las aplicaciones de software como servicio (SaaS) y otras funciones empresariales de alta prioridad.
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
3
Programación web II Unidad 2. Mi sitio dinámico y seguro
PASSWORD_HASH (PHP 5 >= 5.5.0, PHP 7) password_hash — Crea un hash de contraseña password_hash ( string $password , integer $algo [, array $options ] ) : string password_hash() crea un nuevo hash de contraseña usando un algoritmo de hash fuerte de único sentido. password_hash() es compatible con crypt(). Por lo tanto, los hash de contraseñas creados con crypt() se pueden usar con password_hash(). Actualmente se admiten los siguientes algoritmos:
PASSWORD_DEFAULT - Usar el algoritmo bcrypt (predeterminado a partir de PHP 5.5.0). Observe que esta constante está diseñada para cambiar siempre que se añada un algoritmo nuevo y más fuerte a PHP. Por esta razón, la longitud del resultado de usar este identificador puede cambiar con el tiempo. Por lo tanto, se recomienda almacenar el resultado en una columna de una base de datos que pueda aplicarse a más de 60 caracteres (255 caracteres sería una buena elección). PASSWORD_BCRYPT - Usar el algoritmo CRYPT_BLOWFISH para crear el hash. Producirá un hash estándar compatible con crypt() utilizando el identificador "$2y$". El resultado siempre será un string de 60 caracteres, o FALSE en caso de error.
Opciones admitidas:
salt - para proporcionar manualmente una sal a usar cuando se realiza el hash de la contraseña. Observe que esto sobrescribirá y prevendrá que una sal sea generada automáticamente.
Si se omite, se generará una sal aleatoria mediante password_hash() para cada hash. Este es el modo de operación intencionado. Advertencia La opción salt está obsoleta a partir de PHP 7.0.0. Ahora se prefiere simplemente utilizar generada de manera predeterminada.
cost - denota el coste del algoritmo que debería usarse. Se pueden encontrar ejemplo de estos valores en la página de crypt().
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
4
Programación web II Unidad 2. Mi sitio dinámico y seguro
Valores devueltos Devuelve el hash de la contraseña, o FALSE en caso de error. El algoritmo, coste y sal usados son devueltos como parte del hash. Por lo tanto, toda la información que es necesaria para verificar el hash, está incluida en él. Esto permite que la función password_verify() verifique el hash sin tener que almacenar por separado la información de la sal o del algoritmo.
Ejemplo #1 Ejemplo de password_hash() El resultado del ejemplo sería algo similar a: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
5
Programación web II Unidad 2. Mi sitio dinámico y seguro
Ejemplo #2 Ejemplo de password_hash() estableciendo el coste manualmente 12, ]; echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $opciones)."\n"; ?> El resultado del ejemplo sería algo similar a: $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
Ejemplo #3 Ejemplo de password_hash() estableciendo la sal manualmente 11, 'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM), ]; echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $opciones)."\n"; ?> El resultado del ejemplo sería algo similar a: $2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9C8xb.t89F.
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
6
Programación web II Unidad 2. Mi sitio dinámico y seguro
Ejemplo #4 Ejemplo de password_hash() buscando un buen coste $coste]); $fin = microtime(true); } while (($fin - $inicio) < $timeTarget); echo "Coste apropiado encontrado: " . $coste . "\n"; ?>
BIBLIOGRAFIA https://gblogs.cisco.com/cansac/cinco-requisitos-al-considerar-la-seguridadweb/
División de Ciencias Exactas, Ingeniería y Tecnología | Ingeniería en Desarrollo de Software
7