6 consejos de seguridad para tu aplicación web

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024

ความคิดเห็น • 95

  • @AlexAR93
    @AlexAR93 9 หลายเดือนก่อน +1

    Tenia esa duda que me comía la cabeza desde que arranque con desarrollo web jajaj y uno de los motivo por los que no me animaba a crear algo profesional mas que proyectos personales sin riesgo alguno. Mas videos así y muchas gracias!

  • @avila176
    @avila176 2 ปีที่แล้ว +1

    Muchas gracias por los consejos! Dios lo bendiga!

  • @jorgeandreslarios5418
    @jorgeandreslarios5418 3 ปีที่แล้ว

    Saludos desde la costa colombiana, m gustó ... y mas por q de cierta forma andaba pensando en esas ciertas buenas practicas a la hora de desarrollar Software, GRACIAS

  • @BreegBenjamin
    @BreegBenjamin 4 ปีที่แล้ว +7

    Están muy buenos los consejos Manuel. gracias.

  • @JohnnyDeCastro
    @JohnnyDeCastro 3 ปีที่แล้ว

    Parecen recomendaciones básicas, sin embargo no tienes idea de en cuantos proyectos he visto que no se tienen en cuenta, con lo que se hacen muy importantes. Buen vídeo. 👍🏼

  • @leticiavilla539
    @leticiavilla539 9 หลายเดือนก่อน

    Gracias Manuel por la información.

  • @javiergutierrez6518
    @javiergutierrez6518 4 ปีที่แล้ว +1

    El nivel de tu canal es único Manuel, muchas gracias

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Gracias por esas palabras, Javier! Se hace lo mejor posible.

  • @MathiasGimenez-tp8vu
    @MathiasGimenez-tp8vu 7 หลายเดือนก่อน

    Muy buen video, gracias por la información!

  • @BrokenDevEspanol
    @BrokenDevEspanol ปีที่แล้ว +1

    Muy buen video, me hace sentir tan bien que antes de informarme tanto yo ya sabía que había algo raro con que pudieras manipular tan fácil cualquier API con postman, actualmente valido con la misma cookie el acceso a las apis, de igual manera que con los controladores pero estoy pensando implementar Jwt aunque me pongo a pensar que si las cookies son tan fáciles de robar y acceder a tu api cuál sería el problema con robar una y acceder a tu sesión, hice unas pruebas con navegadores externos y efectivamente es tan fácil como copiar y pegar mi cookie para tener el acceso como usuario, aquí las soluciones buenas son las cookies que se autoregeneran o que se ligan directamente a una ip, hay un montón de cosas pero yo uso php, probablemente con otras texnolgoias sea más fácil llevar el tema pero mientras me la juego protegiendo mi php

  • @hectorsegura451
    @hectorsegura451 4 ปีที่แล้ว +4

    Excelentes consejos, estaría muy bien una segunda parte. Saludos

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Genial Hector! Algún problema de seguridad que te hayas encontrado y que sería interesante mencionar en la segunda parte?

  • @manuelromero4208
    @manuelromero4208 3 ปีที่แล้ว

    Están muy buenos tus videos, te vi en un live de Manuel Gil, pero no había tenido la oportunidad de ver tu contenido y esta excelente

  • @victorpinedo5121
    @victorpinedo5121 3 ปีที่แล้ว

    Agrada mucho el gran conocimiento que tienes y la humildad que transmites bro

    • @ManuelZapata
      @ManuelZapata  3 ปีที่แล้ว

      Gracias por esas palabras, Victor.

  • @oslinperezU-235
    @oslinperezU-235 3 ปีที่แล้ว

    Que gran Explicación

  • @adriandiaz8024
    @adriandiaz8024 3 ปีที่แล้ว +1

    Gracias por estos valiosos consejos 👌, no me pierdo tus videos
    Estoy manejando arquitecturas serverless, y en esta es dificil el manejo de variables de entorno, algun consejo de seguridad adicional para este tipo de arquitectura?

  • @Renso2010
    @Renso2010 4 ปีที่แล้ว +2

    1. Restringe tu base de datos.
    2. Guarda información sensible de forma segura encriptada.
    3. Guardar la configuración en variables de entornos.
    4. Asegura la información de tus apis, seguridad.
    5. Valida del lado del servidor.
    6. No guardes información sensible en en front end.

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Como siempre, gracias por el aporte Renso!

  • @sentadoensilla
    @sentadoensilla 3 ปีที่แล้ว

    cg1 8.5, el que utilizan en los supermercados, tiendas y similares, tiene todos los problemas de seguridad que te puedas imaginar: carpetas compartidas con todos los permisos, información escrita en texto plano, rutas alternas de acceso, etc, etc, etc y es utilizado en varias ciudades de américa latina

  • @celestinoescudero4252
    @celestinoescudero4252 3 ปีที่แล้ว

    Muy buenos consejos, cómo impides del lado frontend que no guarden datos en los input=text por decir he visto usan un atributo autocomplete=false esa sería una existe otra ?

  • @elgeorh
    @elgeorh 4 ปีที่แล้ว

    Excelentes consejos, me ayudan a mejorar mis APIs

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Esa es la idea, Richard! 🙌

  • @kevinguzman1929
    @kevinguzman1929 4 ปีที่แล้ว

    Muy buen contenido Manuel. ¡Dios te bendiga!

  • @diegobayona8258
    @diegobayona8258 4 ปีที่แล้ว

    Excelente información, super importante tener buena seguridad en nuestros desarrollos, gracias Manuel.

  • @crissanchez1251
    @crissanchez1251 3 ปีที่แล้ว

    Buen video, justo aplicaba las recomendaciones mencionadas en el backend

  • @Acidlocuaz
    @Acidlocuaz 3 ปีที่แล้ว

    Yo me he topado con api que manejan sus id con identity consecutivos. Creo también puede set un problema de seguridad ya que es fácil tener uno válido y seguir hasta el infinito en la obtención de datos.
    Otra cosa que también he visto es demasiados log visibles en el front algunos hasta con información sensible.
    Guardar también datos sensibles en el front dentro de campos no visibles. Son cosas que he visto.

  • @Fran-td8zw
    @Fran-td8zw 4 ปีที่แล้ว

    Excelentes. consejos como siempre Manuel

  • @edismr4181
    @edismr4181 4 หลายเดือนก่อน

    Cómo recomiendas guardar el secreto OTP en la BD?

  • @capialroja8880
    @capialroja8880 2 ปีที่แล้ว

    Hola, si tengo un proyecto de front que solo es JS, Html y Css donde guardarias el token que te regrese la api por inicio de sesion?

  • @enriquerivera814
    @enriquerivera814 4 ปีที่แล้ว +1

    Excelente contenido como siempre Manuel gracias por compartir tu conocimiento. Manuel espero que a futuro puedas hacer un vídeo explicando la forma correcta de organizar tu solución (que clases deberían en qué que proyecto) y el tema de organizar las librerías externas que se descargan (nuget) el tema de el ambiente de permiso sobre el sistema operativo ( iis, variables de Windows). Ya que este el punto inicial del desarrollo y dónde llega a perderse mucho tiempo y del cual casi no existen videos explicativos.

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Hola Enrique, gracias por las recomendaciones! El tema de como se podría organizar el proyecto me parece interesante. Creo que a muchas personas les beneficiaría. Quizá el tema de las librerías externas y los permisos sea demasiado específico para abordar en el canal, pero igual lo anoté en mi backlog de ideas. Saludos!

  • @oscargdi
    @oscargdi 3 ปีที่แล้ว +1

    Muy buen video! Gracias por los consejos 🙌🏻 sobre las cookies, que opinas de la idea de encriptar su contenido para que no llegue como texto plano al cliente? Gracias!

  • @felipeescudero8164
    @felipeescudero8164 4 ปีที่แล้ว

    Muy buen video deberías hacer un live sobre seguridad y hacer alguna práctica evidenciando estos tips que mencionas

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Felipe, dale una mirada a este live sobre seguridad que hicimos hace unas semanas: th-cam.com/video/p9jhzpJJUEQ/w-d-xo.html

  • @danielurrea4664
    @danielurrea4664 2 ปีที่แล้ว

    Será posible aplicar bcrypt al value que introduce el usuario en la web y a ese mismo aplicarle AES_ENCRYPT de mysql en la bd?

  • @RexGanesAdventures
    @RexGanesAdventures 4 ปีที่แล้ว

    Muy bueno, me toco aprender todo eso con la experiencia

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      La experiencia es una muy buena maestra

  • @chicharrero3884
    @chicharrero3884 3 ปีที่แล้ว

    Si no mal me equivoco, si consiguen acceso a la base de datos pueden descubrir que tipo de hash has usado y buscar bibliotecas de ese hash o crearla de forma local o desde botnet para saber que contraseñas tenian esos usuarios. Porque supongo que twitch tenia eso y recomiendan cambiar contraseñas por esto mismo

  • @javierrenteria3195
    @javierrenteria3195 4 ปีที่แล้ว

    Buenos datos. Estoy recién inscrito en este canal. Está bueno. 😃

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Genial Javier! Bienvenido por estos lados.

    • @javierrenteria3195
      @javierrenteria3195 4 ปีที่แล้ว

      @@ManuelZapata 😎👉👉

  • @lvbernal
    @lvbernal 4 ปีที่แล้ว

    ¡Gracias! Me he encontrado con muchos errores de seguridad, especialmente en aplicaciones legadas: un endpoint DELETE abierto, la lógica de negocio en el cliente, la cadena de conexión en el código, las consultas a la base de datos sin el "where user=xyz", autenticación implementada desde cero, etc. Muchas veces lo más complicado es argumentar el refactoring, porque son "aplicaciones que funcionan".

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +2

      El mejor argumento que he encontrado es explicar los riesgos legales y de reputación de la empresa en caso de que exista una fuga de datos.
      La otra alternativa es ir pagando esa deuda técnica de "a pocos".
      Y sí, la consulta sin WHERE con user pasa. Lo vi una vez. Autenticación desde cero también es para problemas.

  • @miguelandres1620
    @miguelandres1620 3 ปีที่แล้ว

    VIDEASOO .. EXCELENTEEE !!

  • @vuro
    @vuro 4 ปีที่แล้ว

    Muy buen video Manuel, en algún momento que me pase a frontend me di cuenta que tenia el backend seguro pero en el front me faltaba agregar guards para que no vieran las vistas., saludos

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Saludos Jesus! Gracias por compartir tu experiencia.

  • @ale_gallardo
    @ale_gallardo 3 ปีที่แล้ว

    Hola Manu, muy buen canal. Pregunta. En caso de almacenar passwords en una tabla que precauciones y recomendaciones entregarias? Saludos.

  • @ezecel9
    @ezecel9 3 ปีที่แล้ว

    Muy bueno el video, en la universidad nunca me enseñaron estos tips.
    Consulta, la encriptación por hash con bcryot se hace en el código backend o en el servidor de base de datos se puede hacer directamente? gracias!

    • @ManuelZapata
      @ManuelZapata  3 ปีที่แล้ว

      Se hace normalmente en el backend, Eze. La idea es que una vez encriptas haces una consulta para ver si el nombre y la contraseña encriptada están en la BD o no.

  • @mabg68
    @mabg68 2 ปีที่แล้ว

    Al entrar en mis aplicaciones usamos LDAP, pero al estar depurando con F12 se ve el usuario y contraseña por que se manda al LDAP con POST, ahí que puedo hacer??? he visto muchas páginas web en donde estoy dado de alta (Escuela por ejemplo, intranet del trabajo donde también esto ocurre) solo en páginas como google o amazon ahí no ocurre

  • @jhonnylopezr.545
    @jhonnylopezr.545 4 ปีที่แล้ว

    Excelentes consejos Manuel. Solo quisiera agregar algo al primer punto porque puede no ser tan claro cuál es la ip u origen de la aplicación al que se le debe dar acceso: esto sería, por ejemplo, la ip del servidor en el que se hospeda la aplicación, en caso de una aplicación web.

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Así es Jhonny! Gracias por el aporte.

  •  3 ปีที่แล้ว

    Excelente vídeo!

  • @Harry_floress
    @Harry_floress 4 ปีที่แล้ว +1

    esta muy bueno los consejos, pero donde puedo conseguir mas informacion sobre las variables de entorno

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +2

      Empieza por aquí 12factor.net/config

  • @paolagalarza2823
    @paolagalarza2823 4 ปีที่แล้ว

    Hola que tal Manuel. Podrías ampliar el tema de variables de entorno por favor

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Ese es un tema importante. Lo incluí en mi lista de temas a tratar.

  • @jhonfredymartinezrealpe9527
    @jhonfredymartinezrealpe9527 4 ปีที่แล้ว

    Excelentes consejos Manuel. Yo he encontrado varios fallos en los proyectos que he estado, incluso yo los he cometido, jejejeje... Por ejemplo quemar las credenciales para conectar a la bd, no realizar validaciones en el back porque asumimos que el front valida, no encriptar datos sencibles al guardar en la base de datos, no eliminar los tokens cuando el usuario cierra sesión, entre otros. Pregunta: Cuando dices que usar variables de entorno, ¿Te refieres a la variables de entorno del servidor?

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Errores clásicos! Lo importante es aprender y no volverlos a cometer.
      En cuanto a tu segunda pregunta, así es Jhon Fredy. Son las variables de entorno del servidor o contenedor sobre el cual corre la aplicación.

  • @miguelcamacho7516
    @miguelcamacho7516 4 ปีที่แล้ว

    Que buenos consejos, saludos

  • @JeanpierreCajoHernandez
    @JeanpierreCajoHernandez 4 ปีที่แล้ว

    Una consulta que es mejor usar para la seguridad Jwt u OAuth2

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      No son excluyentes Jeanpierre. OAuth2 es un estándar para autorización y JWT es un formato para tokens.

  • @borisgr04
    @borisgr04 3 ปีที่แล้ว

    Donde almacenar los token de forma segura?

  • @antonioalvarezd.7400
    @antonioalvarezd.7400 4 ปีที่แล้ว

    Gracias por el aporte. Una consulta, consideras viable y buena practica de seguridad encriptar la data de los request del lado del frontend y desencriptarlo en el backend ? Saludos desde Lima, Perú

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Pero con HTTPS ya resolverías ese problema, no crees?

  • @hugomauleongonzalez7940
    @hugomauleongonzalez7940 4 ปีที่แล้ว

    Muchas gracias Manuel; estos tips se pueden aplicar a una plataforma para el IOT?

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      Eso depende en parte de las capacidades de los dispositivos, pero como puedes ver, casi todos estos consejos están enfocados al backend, no a los clientes.

    • @alfonsodevcastaneda3758
      @alfonsodevcastaneda3758 3 ปีที่แล้ว

      Yo me encontré con un dilema al utilizar WepAPI de Google, no encontré como restringir la Key o no me funcionó; las apikey tienes q ponerlas en el front o al menos para c# no ví ejemplos de como mandarla desde el back, no sé si alguien haya usado apimaps desde el back

  • @jonatanpadilla2437
    @jonatanpadilla2437 4 ปีที่แล้ว

    Buen video, me alegra saber que ya hago implementacion de alguno de estos consejos, una pregunta. Yo implemento un token donde va el id, el rol y el correo del usuario, ¿es necesario validar la veracidad de esta información en la base de datos en cada petición? Hay vistas donde hago peticiones simultáneas y no se que tan óptimo sea validar la información del usuario en cada petición. Muchas gracias por el video, excelente contenido.

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +2

      La ventaja de utilizar el token (supongo que es un JWT) es que puedes detectar si es modificado. O sea que en teoría no tendrías que validarlo en cada llamado. Saludos Jonathan y muchas gracias por hacerte miembro.

  • @elnerto3154
    @elnerto3154 3 ปีที่แล้ว

    Si guardas el numero de tarjeta de credito en la Base de datos, la encriptacion debe ser reversible

  • @sergiobayona152
    @sergiobayona152 4 ปีที่แล้ว

    Creo que el más comun que he visto es el uso de frameworks/librerias deprecadas, ya que constantemente las tecnologias más usadas estan arreglando bugs de seguridad, usar versiones antiguas de los mismos siempre es un riesgo, pero si ademas usas versiones que ya ni siquiera tienen soporte de seguridad mucho peor

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Buenísimo el aporte. Tienes toda la razón. Saludos!

  • @alejandromora6074
    @alejandromora6074 3 ปีที่แล้ว

    Seguridad App Web
    - Resumen
    Consejo 1: Restringe el acceso a la BD (Solo ip u origenes autorizados)
    Consejo 2: Guarda de manera segura información sensible (Hashing de contraseñas, bcrypt | PBKDF2)
    Consejo 3: Usa variables de entorno (Ambientes: Dev | Test | Pro)
    Consejo 4: Asegura las rutas de tu API (Tokens, Authorization)
    Consejo 5: Valida del lado del servidor (Entradas de datos, Campos requeridos, Prevenir SQL Injection)
    Consejo 6: No guardar información sensible del lado del cliente (Cookies, LocalStorage No info que pueda comprometer al usuario).
    TOP 10 del OWASP

    • @ManuelZapata
      @ManuelZapata  3 ปีที่แล้ว

      Primer comentario del 2021 👏👏👏. Gracias Alejandro por el aporte!

  • @homeroaddams3434
    @homeroaddams3434 4 ปีที่แล้ว

    Ese tema de la seguridad muy pocos lo tocan pero es obligatorio en cualquier aplicación

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Muy cierto! Muchas aplicaciones tienen deuda técnica en cuanto a seguridad.

  • @Aprendder
    @Aprendder 4 ปีที่แล้ว

    Hola Manuel, entonces cuando quiero recuperar la contraseña como se hace con bcrypt?, no se mucho del tema pero me surgió la pregunta

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      No se puede recuperar la contraseña con bcrypt, Camilo. Es un algoritmo de una sola vía. Es decir, la única opción es cambiarla.

  • @ws2893
    @ws2893 4 ปีที่แล้ว

    Cómo podría hacer lo de dar acceso a solo ciertas ips en la base de datos con Apache?

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      Depende de tu base de datos y su ecosistema de herramientas, pero las IPs las configuras en el servidor de bases de datos.

  • @YamidElTitan
    @YamidElTitan 4 ปีที่แล้ว

    JWT para las API, como mínimo. En mi caso uso spring security y JWT así me cercioro hasta de que usuario me pide algo.

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว +1

      🙌

    • @YamidElTitan
      @YamidElTitan 4 ปีที่แล้ว

      Master, le sigo hace ratito ya y seguiré aprendido conforme usted siga enseñando. 👏🏼

  • @sc-nc6bb
    @sc-nc6bb 4 ปีที่แล้ว

    12:51 Yo he visto contraseñas tapadas visiblemente con un display="none" Solo era cuestión de clic derecho ver código fuente y todas las cuentas a tu disposición. Era un concurso de una galleta muy conocida en mi país!

    • @ManuelZapata
      @ManuelZapata  4 ปีที่แล้ว

      😨 En serio??? Increíble. Esa no la conocía.

  • @raulantoniosuarezpolanco9421
    @raulantoniosuarezpolanco9421 3 ปีที่แล้ว

    Eres dominicano?

  • @josuegonzalez3324
    @josuegonzalez3324 3 ปีที่แล้ว

    Hasta que te hackean te preocupas por la seguridad 😣

    • @ManuelZapata
      @ManuelZapata  3 ปีที่แล้ว

      Como dicen por ahí: “No pasa hasta que te pasa”