¿Cómo se autentica un servidor en otro? Server-To-Server Auth con JWT y RSA

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ • 61

  • @AntonioSarosi
    @AntonioSarosi  2 роки тому +72

    Se me ha olvidado decir que los JWT también se usan para autenticar navegadores normales, que ya me estoy viendo 20 comentarios con eso.

  • @s4vitar
    @s4vitar 2 роки тому +18

    La mejor intro que he visto en mi vida xD

  • @yevtyurin134
    @yevtyurin134 2 роки тому +29

    Eres el primero que explica tan bien todo lo que ofrece el patrocinador, tienen que estar encantados contigo 😄

  • @mcmarc5815
    @mcmarc5815 2 роки тому +7

    Me gusta este tipo de videos donde explicas y escribes el código y también me has ayudado a pensar que tipo de auténticacion de microservicios es mejor.

  • @LuisRuizHalo
    @LuisRuizHalo 2 роки тому +7

    No se si el titulo sea el mejor. Cuando lo lei, crei que hablarias un poco de zero-trust (termino muy usado en infosec) y de mTLS, que es en realidad como se comunican los servers entre ellos de forma segura. JWT y firmas RSA es para las aplicaciones autenticar sus usuarios (similar a OAuth2 aunque este ultimo mas bien usa los JWTs como componente de su proceso).
    En la comunicacion Server-To-Server se da mucho mas en sistemas distribuidos (como microservicios) donde un server debe llamar a otro server para completar cierto proceso. Dentro de esta comunicacion interna, los ingenieros no suelen usar TLS, usan puertos como el 80 o similares para entrada de conexiones mientras que el reverse proxy/api gateway (edge layer) si cuentan con el uso del certificado TLS y usan el puerto 443, protegiendo llamadas publicas de nuestro server contieniendo la aplicacion pero al mismo tiempo dejando expuesto el mismo server dentro de la red privada (en el cloud conocida como VPC). Si el atacante tuviese acceso a alguna instancia dentro de la red privada, este podria hacer llamadas a los servers sin tener que usar TLS, invalidando partes fundamentales de los mecanismos de seguridad de la capa edge (reverse proxies, api gateways).
    Para evitar esto, se usa mTLS (mutual TLS) el cual es una forma de comunicarse entre servidores que usen el protocolo TCP de capa 4 del modelo OSI -principalmente internos de la misma infrastructura de la plataforma- con cada server teniendo un certificado TLS creado por la misma compania (asegurandose que este sea verificable y por ende, confiable). Ambos servers dentro de un proceso de comunicacion TCP requieren de su certificado para habilitar la comunicacion (me parece que esto sucede dentro de un proceso similar al handshake del protocolo TCP). Gracias a este mecanismo, la comunicacion entre servers es mucho mas segura y en todo momento se usa el mecanismo TLS.
    Tambien, hay casos donde usas una plataforma donde la infrastructura esta disponible por protocolos como HTTP y no puedes acceder a ellos directamente por defecto, ya que no estan dentro de tu red privada. La plataforma entonces te da un certificado TLS para que te puedas comunicar con la infrastructura, creando una comunicacion mTLS, segura de punto a punto. El certificado es necesario para crear el cliente HTTP y aun asi, esto se combina con otros mecanismos de seguridad como tokens y secrets. Esto me paso hace unos meses cuando quise usar Apache Cassandra a traves de DataStax AstraDB, llamando la base de datos desde instancias EC2 de AWS.

  • @danielvera4661
    @danielvera4661 2 роки тому +2

    Rebueno el video, espero puedas subir mas similares a estos

  • @andresfcuellarc
    @andresfcuellarc 2 роки тому

    a ti que te de igual!... Videos diferentes, geniales

  • @santiagousca
    @santiagousca Рік тому

    me da igual te lo vy a enseñar igualmente jajaj me llenas de orgullo nuevo sucriptor

  • @2005bgva
    @2005bgva 3 місяці тому

    Hola Antonio, muchas gracias, muy bien explicado.

  • @anomfb
    @anomfb 2 роки тому +1

    Re good buen video educativo para cubrir mi curiosidad

  • @ivanandrade3050
    @ivanandrade3050 2 роки тому

    jajajaja como empezas el video, sos un grande!

  • @victorpimentel3072
    @victorpimentel3072 2 роки тому

    Me lo vi completo de inicio a fin, buen trabajo Antonio

  • @mauricio_per3z
    @mauricio_per3z 2 роки тому +3

    Hey Sarosi, ¿como supiste que anduve buscando estos temas de autenticación en backend? Grande bro! Saludos desde El Salvador!

  • @Hack2Track
    @Hack2Track Рік тому +1

    Muy buen video lo has explicado perfecto, y ya que estas con el tema de autenticacion seria bueno uno sobre oauth. Saludos.

  • @DiPaspafe
    @DiPaspafe 2 роки тому

    Muchas gracias por el vídeo, me ha servido mucho para hacer el lado backend de mi Web APP.

  • @lautarocarreno3161
    @lautarocarreno3161 2 роки тому

    Como te queda eso? Bienvenidos a la web; un genio como siempre explicando a fondo todo en sus videos

  • @hectorjuncal2312
    @hectorjuncal2312 2 роки тому

    Hola Antonio, me encanta tu contenido, cada vez hay más vídeos de estos, educativos y útiles, ahora YT ya es casi todo entretenimiento puro... saludos desde Galicia crack, últimamente ando entrando a aprender lo básico de web dev con lo que esto me viene de joyas

  • @vaas28
    @vaas28 2 місяці тому

    Vine buscando cobre y encontré oro! 🪙
    He podido contrastar y reafirmar conocimientos previos, buenos videos.

  • @lautarochaparro1332
    @lautarochaparro1332 2 роки тому

    gracias por el videos antonio. Saludos!

  • @mariocortez25
    @mariocortez25 2 роки тому

    Por casi no me percato del anuncio

  • @ZeroBl_
    @ZeroBl_ 2 роки тому

    Un video bastante completo

  • @zaphkiel_3371
    @zaphkiel_3371 2 роки тому +1

    Puedes hacer un video explicando detalladamente el sistema de jwt rsa?

  • @stxz-1
    @stxz-1 2 роки тому

    "Bienvenido a la web"
    - Hackerman 2022

  • @carlosdavila4999
    @carlosdavila4999 2 роки тому

    Gracias por tu aportación me sirvio mucho...

  • @serlismaldonado
    @serlismaldonado 2 роки тому

    Muy buen video. A ver cuándo haces uno con Auth 2.0

  • @Kevin-nb6og
    @Kevin-nb6og 2 роки тому

    Más vídeos como esos estaría genial 😃😃 muchas felicidades inge Antonio espero.im vídeo donde crear un formulario dinámico con pasarelas de pagos col tarjetas de crédito

  • @JuanRVillanuevaXX
    @JuanRVillanuevaXX 2 роки тому

    una alternativa a jwt en Laravel es Laravel sanctum, ya viene instalado por defecto y funciona prácticamente igual

  • @SpainTecno
    @SpainTecno 2 роки тому

    Cuando hablas de "formulario" al que subir las public keys te refieres a un endpoint de la api por ejemplo?

  • @irdomeriko
    @irdomeriko 2 роки тому

    cual es tu shell

  • @cu_cu_xiijdd4489
    @cu_cu_xiijdd4489 2 роки тому +2

    Nate Gentile definió muy bien las apis: páginas web pensadas para máquinas y programas de dónde sacar datos más fácilmente que la web normal (cambias interfaz por json)

  • @douglas_w24
    @douglas_w24 2 роки тому

    Podes hacer un video de como hacer un servidor de correo masivo, gracias

  • @helloworld4317
    @helloworld4317 2 роки тому

    Muy buen video

  • @thecrazyboys3574
    @thecrazyboys3574 7 місяців тому

    que paso con la web de antonio? entro a su web y no tiene el mismo contenido

  • @josedanielmejiasrada9105
    @josedanielmejiasrada9105 2 роки тому

    Hola quiero empezar a ver los cursos pagos en la plataforma. PayPal no acepta como método de pago ?

  • @lvck2238
    @lvck2238 2 роки тому

    Oigan como coloco la sensibilidad del mouse lo mas que se pueda ?

  • @lPassword012
    @lPassword012 2 роки тому

    Una pregunta curiosa cuanto tiempo tardas en preparar tus videos.

  • @joseantoniogallegos
    @joseantoniogallegos 2 роки тому

    De 10 !!

  • @judavalos7937
    @judavalos7937 2 роки тому

    Que buenos videos. Hace poco me instale arch con tu configuración de qtile, pero tengo un problema cuando quise instalar virtualbox dentro de arch, vos tuviste algun inconveniente así? para que me puedes ayudar. Saludos!

  • @edwinroman30
    @edwinroman30 2 роки тому

    ¡En verdad estuvo cool Antonio, super interesante el tema de criptografía asimétrica y claro ejemplo!👏🏻👏🏻. Bro, te tengo 2 preguntas ⬇️😁.

    • @edwinroman30
      @edwinroman30 2 роки тому

      ¿No sería darle a los usuarios una clave privada como has hecho en vídeo? 33:15 porque como se hace en la demostración (👌) con la pública no es que firmamos?

    • @edwinroman30
      @edwinroman30 2 роки тому

      ¿Ya en un ambiente productivo, de seguro nos apoyamos de alguna librería o módulo que nos ayude a generar ese archivo de clave pública y del mismo modo poder emitir claves privadas en base a esa pública? O sólo se lograría con la terminal?

  • @Taisen_Des
    @Taisen_Des 2 роки тому

    Confiemos en que a Manolo (0:14) no le peten el buzón con SP4M 🤭
    👋

  • @galo7486
    @galo7486 2 роки тому

    Tremendo tuto de jwt

  • @cesarclarosns
    @cesarclarosns Рік тому

  • @cdavidd
    @cdavidd 2 роки тому

    echate un video explicando pycritty que hay cosas que aun no le doy :(

  • @0xA98Net
    @0xA98Net 2 роки тому +1

    :)

  • @camilasanchez613
    @camilasanchez613 2 роки тому

    Mi nivel de informática todavía es tan bajo que no puedo entender esto jaja XD 🤦‍♀🤷‍♀

  • @brunogreco290
    @brunogreco290 2 роки тому

    Curso de springboot gratis por favor

  • @darwinmendez7770
    @darwinmendez7770 2 роки тому

    Ningún tipo de validaciones con JavaScript, Ni siquiera debería verificar si está vacío el campo ? para mandarlo con Ajax al backend en y terminar de validarlo en PHP y sanearlo, y luego comunicar php con la base de datos!

  • @oscarescam
    @oscarescam 2 роки тому

    esto se queda corto amigo es mucho. mas robusto crear un key agreement con ambas llaves y que la llave publica sea dinamica en cada login

  • @sebastianestrada1311
    @sebastianestrada1311 2 роки тому

    Eso de que les de cringe que uses Windows son bobadas cada quien usa el sistema operativo que quiere cuando quiera, además eso no significa que no sepas usar GNU/Linux incluso a nivel de consola.

  • @samdav1295
    @samdav1295 2 роки тому

    Te la fumaste definitivamente

  • @carlos19989
    @carlos19989 2 роки тому

    Desde que has aprobado la carrera tus vídeos tienen un tono un poco más de sobrado. Sinceramente no me gusta. Creo es mejor ser humilde.

    • @JuanRVillanuevaXX
      @JuanRVillanuevaXX 2 роки тому

      es lo que sucede cuando nos graduamos bro, ya llegará tu momento 🥴👌 XD

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому +1

      Wtf 😂😂😂😂

    • @pellax
      @pellax 2 роки тому

      Pues yo no he notado ninguna diferencia

    • @DaeLliux99
      @DaeLliux99 2 роки тому

      pues considerando que se graduó, es de la carrera de ingeniería informática, pa colmo de la rama de ingeniería de computadores y entabló amistad con S4vitar, se veía venir la verdad xd

  • @MeditationMind2
    @MeditationMind2 11 місяців тому

    Hablas mucho bro ve a la acción de la teoría no se aprende.