- Coding Videos/
- Node.js /
- Desarrollo seguro en NodeJS OWASP top ten y buenas prácticas en JWT – Raúl Requero
Desarrollo seguro en NodeJS OWASP top ten y buenas prácticas en JWT – Raúl Requero

Download Video link >
Desarrollo seguro en NodeJS OWASP top ten y buenas prácticas en JWT – Raúl Requero
Commit es la conferencia donde nos reunimos a discutir diferentes perspectivas en la forma de hacer y gestionar software. Ven con nosotros para vivir dos días compartiendo y aprendiendo todo lo que tiene la tecnología, y por la oportunidad de romper con la rutina y experimentar algo nuevo.
————–
¿Y si lo escuchas mientras vas al trabajo o te pones en forma?: https://www.ivoox.com/30535262
——-
Todos los vídeos de Commitconf2018 en: https://www.youtube.com/playlist?list=PLKxa4AIfm4pWrJbP5G43g8yLbfumUz72t
Twitter;
https://goo.gl/MU5pUQ
Instagram;
https://lk.autentia.com/instagram
LinkedIn
https://goo.gl/2On7Fj/
Facebook;
https://goo.gl/o8HrWX
source
View Comments source >
Transcript view all >
00:00 bueno como voy un poco más rápido para
00:02 que dé tiempo a gro veamos porque ya
00:03 estaba justa y empezamos tarde así que
00:05 bueno
00:06 vamos a hablar de esa red segura en
00:08 nueva york dando vamos a ir viendo la
00:09 lista aguas 'top ten' y además alguna
00:11 cosilla más y cómo está aplicando a la
00:13 nueva leal a los servidores no ven bueno
00:16 yo soy arquitecto fue él está aquí
00:18 informados además embolia aparte tenemos
00:20 una pequeña empresa de seguridad en la
00:22 que soy cto y bueno pues si es si
00:25 queréis seguir ahí tenéis mi twitter y
00:28 linkedin vale pero bueno vamos a ello
00:29 agua que es aguas aguas es una entidad
00:33 sin ánimo de lucro que lo que intenta es
00:36 que las aplicaciones tengan la mayor
00:38 seguridad posible nos ha ganado sean no
00:41 son auditores de seguridad pero si lo
00:43 que hacen es recapitular cada tres años
00:45 cuatro normalmente una lista con las
00:47 vulnerabilidades más importantes o que
00:49 más te dan en las aplicaciones web que
00:51 hay en ese momento vale todo esto lo
00:53 hace preguntando a otras de seguridad de
00:54 todo el mundo o sea no es que ellos vean
00:56 más o menos sino que se basan de toda la
00:58 comunicación con otros auditores de
00:59 seguridad etcétera
01:01 hay un montonazo se recomienda que eches
01:03 un vistazo porque la verdad que muchas
01:04 cosillas tienen muchos temas de código
01:07 por ejemplo también ejemplos tiene una
01:09 aplicación que se llama saps que es muy
01:11 buena para auditar redes y auditar
01:13 aplicaciones o la recomiendo el agua es
01:15 top ten que lo que vamos a ver hoy y
01:17 aparte bueno tenéis un me tapé en madrid
01:19 un terminal y lo eventos globales
01:21 etcétera etcétera vale bueno vamos a la
01:23 uas entonces como os decía es una lista
01:25 que lo que hace es recapitular las
01:26 vulnerabilidades más importantes que hay
01:28 en las aplicaciones que están en ese
01:30 momento el internet publicada en las o
01:32 las empresas bien porque es que hay
01:34 veces que cuando hablo para ya no se me
01:36 pague bien una versión cada 34 años
01:39 depende con el de una de 2013 ha salido
01:41 en el 2017 el anterior fue el 2010 por
01:44 preso 34 años seguro y la idea es eso es
01:47 formar a la gente que sepa la gente lo
01:49 que hay por internet y que ellos mismos
01:50 también puedan adoptar esas medidas para
01:53 que no les pase a ellos vale
01:55 bien ahí os dejo la web y el pdf en
01:59 español lo tenéis en inglés entre los
02:00 idiomas vale pero bueno eso y vamos a
02:03 empezar la primera de las
02:04 vulnerabilidades que más se da es la
02:05 inyección esto sonará a todos porque es
02:07 la más famosa la inyección de sql bueno
02:11 hay más tipo de inyección vale tenemos
02:13 también en javascript que se nos da
02:14 mucho es la inyección de javascript vale
02:17 que en qué consiste no sé cuántos haréis
02:20 esto habéis utilizado alguna vez en una
02:21 aplicación no ve un embalse time out de
02:24 un set interval que las funciones en
02:26 momento en tiempo de ejecución etcétera
02:29 pues la primera cosa es no la hagáis
02:32 vale lo primero intentar por todos los
02:34 medios no utilizar este tipo de cosas
02:36 pero si lo necesitáis porque no queda
02:38 otra válida siempre la entrada del
02:40 usuario vale existe libre así no de para
02:42 validar este tipo pero nunca nunca nunca
02:45 cojáis y según lo que llega del front o
02:48 del foro no de la app y que se estén
02:50 atacando en el estero para sí son el
02:52 balón time out on time out en el levante
02:54 es más normal que lo conozcamos porque
02:56 sabemos que es evalúa lo que le pasemos
02:58 pero ese time out lo que le pasamos en
03:00 donde idea la función también va a
03:03 evaluar el código exactamente igual y os
03:04 va a pasar lo mismo vale entonces no es
03:07 en ese tema es más raro que los que nos
03:10 demos cuenta al hacerlo por eso que os
03:11 digo porque no es tan normal vale mirar
03:13 los voy enseñando de vez en cuando una
03:16 aplicación
03:17 que se llama know the goat que es esta
03:20 la tenéis en good heart os dejo el
03:21 enlace al final de las transparencias
03:23 está basado en la lista del 2013 pero
03:26 bueno hay muchas vulnerabilidades que
03:27 todavía se comparten vale aquí podéis
03:29 jugar con este tipo de cosas ver cómo es
03:32 la vulnerabilidad y cómo solucionarlo
03:33 entonces por ejemplo
03:37 mira en esta pantalla tenemos un
03:39 formulario normal y corriente vale que
03:42 ocurre que si yo aquí
03:44 porque paso un cero lo que sea por
03:46 stewart dando pero si le pasó mira no sé
03:50 si lo veis
03:54 bueno se ve muy poco vale lo que estoy
03:56 haciendo esto por detrás tiene tienes
03:58 press lo que estoy haciendo simplemente
03:59 es utilizarla
04:01 la variable normal de redes de las
04:03 responsables que eres y decirle que me
04:06 devuelva todo lo que hay en el
04:08 directorio aún recuerde fs y lo cargo
04:09 algo normal en 9 vale bueno normal entre
04:12 comillas vale como aquí no se está
04:14 validando la entrada el usuario lo que
04:16 me devuelve directamente no es el html
04:18 que me devolvería a la web sino que me
04:19 devuelve lo que yo he pedido en esa en
04:22 ese código el insertado vale porque
04:24 están haciendo un eral saber también
04:26 pensar que estas vulnerabilidades a ver
04:30 están puestas aquí a fuego para que se
04:32 van se vea más rápido qué cosas pueden
04:34 pasar esto no creo que lo hagáis aquí no
04:36 ninguna algo así parecido a esto no dudo
04:39 que lo hagáis ahí evaluar lo que viene
04:41 directamente y ejecutarlo pero bueno si
04:44 a lo mejor en otro tipo de librería son
04:45 otro tipo de cosas que hagáis que esté
04:46 más interno que llega a pasar vale pues
04:49 nunca lo hagáis que nosotros tenemos
04:53 3
04:55 antes del momento
05:00 que más cosas tenemos luego ya las
05:03 típicas inyecciones de sql que no se
05:05 cuele las las típicas conocemos a las de
05:08 sql en el no sql también se puede
05:10 inyectar código y no lo pueden inyectar
05:11 vale al final no si utilizamos una
05:14 montgó y no utilizamos una rm como
05:16 monbús o un 91 de mejor dicho
05:19 todo lo que le invitamos tal cual a
05:20 concatenar un string cuando hacemos la
05:22 query
05:22 al final se va a evaluar como un jason
05:24 entonces si nos pasan una parte de un
05:26 jason se podría llegar a evaluar vale
05:28 entonces
05:29 la solución es fácil utilizar 1 dm que
05:32 lo da todo
05:33 si estáis utilizando existe con sql
05:34 utilizar una red de utilizarlas las
05:37 personas los primeres statements y os
05:40 quitáis de problemas vale nunca le
05:42 llames a que hagáis una cuerda
05:43 directamente con lo que os llega lo
05:44 mismo vale además existen herramientas
05:46 de inyección sql automáticas que os van
05:49 a fusilar la aplicación en cuanto en
05:51 cuanto lo tengáis vale y es que son la
05:53 cuenta enseguida además nunca ejecuten o
05:57 le deis permisos a la conexión de base
05:59 de datos que estáis utilizando de
06:00 administrador por lo mismo si o si os
06:02 cuelan que al menos puedan hacer el
06:03 menor daño posible vale esto es
06:05 minimizar los riesgos que más tenemos
06:10 pérdida autenticación vale cuando esto
06:13 es cuando por fuerza bruta intentan
06:15 lograrse nuestra aplicación cuántos
06:17 robots nos han atacado aplicaciones
06:19 bueno los wordpress ya no digamos nada
06:21 pero aplicaciones que cuentan un login
06:23 serían hacer peticiones para por
06:25 diccionarios decir tiene un usuario un
06:27 password típicos y atacar a atacar a
06:29 atacar a atacar a atacar hasta que o nos
06:31 tienes la aplicación porque nosotros
06:33 desde ese ha conseguido consiguen entrar
06:35 porque tengamos un usuario password
06:37 típico de un diccionario vale lo mismo
06:40 lo podemos limitar o remediar limitando
06:43 el número de intentos por el ente porque
06:47 él es el típico hay atento las webs tres
06:49 intentos si no tengo lo que el usuario
06:50 fuera intentar que los usuarios añadan
06:53 contraseñas que no sean típicas de
06:55 diccionario tenéis diccionarios en
06:57 internet contigo las contraseñas típicas
06:59 por validar los contras los diccionarios
07:00 y que no exista ahí vale no le dejes al
07:02 usuario
07:03 y luego además pues también se escuela
07:06 en sql escuela por un 9 sql poniendo una
07:10 inyección encriptar todas las partes en
07:13 base de datos
07:14 todavía me ha sido encontrado en
07:15 aplicaciones por ahí md5 md5 releva roto
07:17 ya no sé cuántos años vale no utilicéis
07:20 de 5 para encriptar los passwords
07:22 utilizar no podéis utilizar un s h a una
07:24 rosada
07:26 es la librería de clip en no des lo va a
07:28 hacer sin ningún problema y utilizando
07:30 salte etcétera tenía la solución de
07:32 seguridad para que al menos no sea tan
07:34 fácil de sacar la contraseña
07:36 tampoco enviéis que también lo estoy
07:39 viendo todavía el session haití en la
07:41 url es una idea de lo que es la de la
07:43 sesión del usuario no envíes en la url
07:45 enviarlo en cookie que pasó están vale y
07:47 estas cookies además firmar las para que
07:49 nos haga un robo de sesión vale
07:51 simplemente y el su factor
07:54 authentication lo mismo cuantas más
07:56 seguridad mientras en el login mejor
07:59 vale más es cuestión de datos sensibles
08:05 es que más o menos se dice a sí misma no
08:08 guardéis datos confidenciales números de
08:11 tarjeta de crédito que siempre el dinero
08:12 es lo que más primero llama datos
08:14 médicos datos de sexo etcétera todos
08:18 estos temas no os guardéis nunca la base
08:20 datos en claro porque os hacen lo que
08:23 decía la primera mini habilidad o se
08:25 hace una simple inyección sacan todo
08:27 vale pues que está encriptado al menos
08:29 para que no lo puedan sacar buenos y los
08:30 hagan y no lo puedan ver mejor dicho
08:32 no acá chase estos datos sensibles vale
08:35 por algo también decimos mal tengo la
08:37 base de datos perfecta está no me la
08:38 toca a nadie pero tengo por delante un
08:40 barniz y me está echando todas las
08:42 precisiones que devuelvo y ahí no van y
08:43 encima ni encriptadas seguramente
08:45 estamos en las mismas vale que no nos
08:47 pase eso y esto lo he visto menos pero
08:51 sí que lo he visto que es utilizar
08:53 algoritmos de encriptación propios que
08:54 nos hacemos nosotros mismos
08:57 si sois la leche sois los matemáticos de
09:00 la leche perfecto pero existen
09:02 algoritmos que están destinados por la
09:04 comunidad que los han hecho que ya los
09:06 han probado y requiere probado utilizar
09:08 esos o sea que por mucho que queramos
09:10 hacer en un día que estemos ahí
09:12 inspirados
09:14 puede ser que se pueda romper fácilmente
09:16 vale de todas es intentar no utilizarlos
09:18 los estándares vale este no de no se da
09:23 mucho porque no solemos trabajar o yo no
09:26 suelo trabajar con xml no y no sé si
09:28 alguna otra vía tenéis que estar con
09:30 ello pero bueno si que se dan porque
09:33 ésta aparece aquí porque hay muchas
09:34 aplicaciones empresariales todavía que
09:37 por desgracia utilizar xml y todavía
09:38 tenemos que estar lidiando con todo esto
09:40 entonces mucho cuidado con los xml que
09:43 nos pasan y los detalles que cargamos
09:45 para cargar y validar esos xml
09:48 porque pueden tener código malicioso y
09:49 que nosotros al ejecutarlo si al
09:51 traernos los fast se nos hayan metido
09:53 vale entonces mucho cuidado con ese tipo
09:55 de cosas no carguemos de fuentes
09:57 inseguras
09:58 y este tipo de cosas siempre confiar en
10:00 lo que queráis si no queréis cargarlo en
10:02 unas ambos en que no os puedan hacer
10:04 nada un entorno en el que de ahí no
10:05 puedan salir y hasta vale el mal rollo
10:08 pero os quitáis de posibles problemas
10:10 que los van a intentar ya os digo luego
10:13 la pérdida de control de acceso
10:16 a ver
10:19 todavía hay aplicaciones apis que se
10:23 hacen normalmente para que las ejecuten
10:25 frank a las utilizan front
10:27 y decimos bueno si al front ya está
10:30 validando el usuario no tiene acceso a
10:31 la página de administración pues la api
10:33 no la valida total si no va a llegar el
10:35 usuario ahí no lo va a hacer
10:38 yo digo yo que uno sería lo mejor normal
10:41 no va a hacer pero un robot si lo hace
10:44 vale entonces siempre siempre siempre
10:47 este remedio lo cuando eso porque pasa
10:50 mucho aunque no lo ha mojado y diréis
10:52 algunos pero como puede ser que esto no
10:53 esté valían de una api pues pasa vale
10:56 válida siempre los permisos siempre en
10:59 el back end porque al final la pino deja
11:02 de ser una entidad pública que está
11:03 expuesta me da igual que hay un front
11:04 por delante bueno que haya un front que
11:06 la esté consumiendo para finales tengo
11:07 una ip pública y se está consumiendo a
11:09 pueden subir cualquiera entonces tener
11:11 mucho cuidado con este tipo de cosas
11:12 luego temas dejó tablet de utilizar
11:15 autenticación por jota doblete eso sí
11:17 que luego está bien visto generar los
11:20 tokens si lo vais a utilizar con con su
11:22 música con una password no me pongáis
11:24 1234 o my secret o mi súper sigre todo
11:28 lo que sea porque tenemos un problema
11:31 bueno no es un problema es cómo está
11:32 hecho ojo tableta y es que cuando
11:34 tenemos un token nosotros por fuerza
11:36 bruta podemos llegar a estar ahí van a
11:38 vaya a ver si la firma correcta con esta
11:40 password y con este con esta por fuerza
11:42 bruta nos sacan la parte final es un
11:44 token qué
11:45 y que puede siempre probar no vas a
11:46 tener límites de peticiones ni de nada
11:48 entonces trabaja poder sacar presentaron
11:51 la conferencia de londres the house king
11:55 hace dos meses tres meses en un tío que
11:58 se había hecho un brote fox dejó tablet
12:00 en fe y tardaba 10 minutos en quita en
12:03 sacar la contraseña de seis caracteres
12:06 me parece que era un tablet eran diez
12:09 minutos en un ordenador normal
12:10 esta gente no utiliza el ordenador
12:12 anormales te coge te clusterina eso y en
12:14 nada te lo tienes sacado vale os
12:17 recomiendo que utilicéis encriptación
12:18 por clave prima de clave pública vale
12:20 ahora ya contable que hay todo esto la
12:22 verdad que es súper sencillo y os vais a
12:25 asegurar mucho más seguras mucha más
12:27 seguridad en vuestros tokens vale luego
12:29 otra cosa más que suele pasar las corts
12:32 esto es lo típico de que viene el from a
12:34 los de back-end y os dice oye que me
12:37 tienes que habilitar las cosas que no
12:38 puedo atacar y decimos pues el asterisco
12:40 a tomar por sí ya está todo el mundo
12:45 y ahí se queda porque cuando ya sabemos
12:46 que cuando hacemos eso hay que dar
12:48 producción y ahí se queda a ver no es
12:50 una seguridad absoluta eso no te va a
12:52 asegurar que nadie llame a tu opina
12:53 demás que separando ese dominio no
12:55 porque lo pueden simular desde un back
12:56 end vale pero bueno ya nos quitamos de
12:59 que haya páginas maliciosas que cogiendo
13:02 las cookies del usuario
13:04 imaginaos que pasó hace mucho vale este
13:06 error el pasó hace mucho y no es
13:08 exactamente el mismo pero para ilustrar
13:10 os
13:11 en gmail tenemos una cookie de sesión
13:14 bueno antiguamente la cookie de
13:15 sesionará y un poco más de tela y detrás
13:17 pero bueno teníamos una cookie de sesión
13:19 que ocurría había páginas maliciosas que
13:21 lo que hacían era muy bien cuando tú
13:23 entras en mi página te enseño mi página
13:24 que bien pero yo por debajo en
13:25 javascript estoy llamando gmail como
13:28 tengo la cookie como tu navegador está
13:30 logrado es aquí que iba a ir con la
13:32 petición o iba con las peticiones
13:33 entonces vale y obtenía los correos ya
13:37 está tú no te has enterado de que te
13:39 habían entrado en gmail al estado de
13:41 hace ya muchos años vale esto no es de
13:43 ahora ni muchísimo menos pero bueno
13:44 entonces
13:46 mucho cuidado y con las corts es no
13:49 habría pasado por el navegador ya se va
13:50 encargar de que no podamos llamar nada
13:52 más que desde dominios autorizados por
13:53 nosotros vale pues lo mismo
13:58 y bueno y otra cosa también que pasó
14:01 hace
14:03 y que pasó dos meses tres meses lo de
14:05 telefónica en la validad que encontró la
14:07 gente de la ocu de las primeras facturas
14:09 os acordáis que hagamos siempre eran a
14:12 tonterías a cualquiera lo podríamos
14:13 haber hecho sea escoge presentas a tu
14:16 factura cambiase vídeos tienes otras
14:20 a ver eso suena venga que esto tiene que
14:22 estar para mañana
14:25 pues muy bien pues luego luego pasan
14:28 esas cosas verificar siempre la autoría
14:31 de los datos es decir que lo que se está
14:32 pidiendo es del usuario que lo está
14:33 pidiendo vall y aparte no os fiéis
14:35 también he visto por ahí que esa otra
14:38 cosa que hizo es coger te fías mucho del
14:39 usuario
14:41 envían a el líder del usuario
14:42 directamente en la petición y el líder
14:44 del usuario logrado sí sí vale pues yo
14:48 envío 5000 envíos el 2 pero envió 5.000
14:50 y melo con los usuarios
14:51 lo mismo vale no os fiéis de eso
14:54 para eso tenéis las sesiones tenéis el
14:55 token de jota doblete que son cosas que
14:57 las que podéis confiar y en las que no
14:59 os van a fastidiar por esa edad entonces
15:00 nunca utilicéis cosas de entradas por el
15:02 usuario tal cual siempre intentar lo del
15:04 usuario lo mínimo vale llega por la
15:06 experiencia me da cuenta que del usuario
15:08 que fue hace poco o sea nos cuidamos lo
15:10 mínimo justo que funcione que vaya todo
15:12 bien
15:13 más configuración de seguridad
15:15 incorrecta
15:18 cuántos de aquí habéis utilizado exprés
15:21 vale
15:23 y cuántos de aquí os habéis fijado en
15:25 las cabeceras que envía exprés cuando
15:27 levantas una api
15:30 vale ok y tenemos que salir fijar hay
15:34 alguna cabecera que elijáis ostras esta
15:36 cabecera estando mucha información de
15:37 quién soy os habéis fijado de eso no
15:40 sólo la cabecera que es x powered by
15:43 y mirar esto es solo vale bueno está
15:47 dormido ahora espera
15:48 mientras se carga esto es una web vale
15:52 la que se ha escaneado type 4 buscando
15:55 servicios web levantados entre 4
15:58 bien pues si buscamos por express nos
16:02 van a aparecer no será lo mismo con los
16:04 resultados habían sean millones son sé
16:06 que de servidores web expuestos a
16:08 internet que sabemos ya que es un
16:09 express selladas con esa información de
16:11 que sabemos que es un express para un
16:13 atacante es tan simple como hay que
16:14 buscar la vulnerabilidad del cb que
16:16 tenga exprés y decir venga voy a
16:17 probando una tras otra exploit algún
16:19 acaip y alguna calle ya os lo digo vale
16:22 a ver joder sientes lo que no sabes y
16:26 mientras me conecto al móvil ya ver si
16:28 ha sido pues bueno mientras que contado
16:29 más cosas va a ver existen librerías
16:31 como helmet no sé si la conocéis esta
16:34 librería es muy simple es un vídeo que
16:36 le cargamos en expresen con el freno que
16:38 uséis y ya se va a encargar el desde se
16:40 te hará la configuración más básica
16:41 luego le podéis extender un poco más ya
16:44 pero ya de forma básica te lleva
16:45 muchísimas cosas que tú ya no tienes que
16:47 preocuparte temas también de que nos
16:48 quedan en nuestra aplicación de frank
16:50 pues estamos sirviendo html dentro de un
16:52 iframe en otra web porque otras de esas
16:53 cabeceras que no ponemos normal
16:55 esta aplicación de gel mete esta
16:57 librería lo que hace es ponerlas y nos
16:59 quitamos de problemas de que nosotros
17:00 pues nos acordemos etcétera vale no he
17:04 llegado el millón 775 mil exprés
17:06 levantados en el mundo vale pues eso lo
17:09 pones a probar vale esto es gratuito y
17:12 esto sí p 4 en este lugar estamos
17:14 haciendo ip 6
17:17 ya cuando salgo veréis
17:20 porque si pe 4 ya es un descampado
17:23 ips ya no digo nada o sea la gente
17:25 encima le olvida completamente de él o
17:28 sea parece que no existe y ahora otros
17:29 planos de clown nos están dando y p6 y
17:31 el ceip es con ips desde entonces por
17:32 cuerpo te lo digo realmente es súper
17:34 fácil de usar es cargarlo y se acabó es
17:37 un app de puntojus de helmets y ya está
17:39 y ya nos hemos quitado muchas cosas en
17:41 una sola línea vale es la recomiendan a
17:43 los seis porque es que la verdad que la
17:45 leche y luego
17:48 no sé cuántos habéis expuesto un expreso
17:51 no de directamente internet sin pasar
17:54 por un servidor web
17:56 de esto que habéis publicado
17:58 directamente en el puerto 80 google no
18:01 ve y ha visto expuesto eso internet y
18:03 que sirva cosas no lo hagáis nunca vale
18:05 poner portante servidores web sean nunca
18:08 exponga es un servidor de aplicaciones
18:09 directamente internet vale nunca por
18:12 temas de seguridad lo mismo porque os
18:14 fastidia
18:16 se nos hace un ataque de bs y a ver
18:17 dónde está muy bien para la máquina
18:19 final en la máquina que levantéis y cómo
18:20 levantéis en la típica levantamos de 5
18:22 pagos para levantar nuestra web adiós es
18:24 vale y si esos vídeos de producción o
18:26 las que teníamos microservicios por los
18:28 mismos tiran todo ellos pueden tener un
18:29 clúster entonces levantar siempre con
18:31 servidor web por delante luego tiene una
18:33 cosilla más de meten el servidor web
18:34 pero bueno al menos que tengáis ese
18:36 servidor web que quiero ayudar y luego
18:39 ya utilizar la última versión de la
18:40 librería ahora no de nos la ha puesto
18:42 súper fácil con el mpm se ahora ya cada
18:44 caso ministro dice cinco críticas una
18:46 media y una moderada
18:49 no estamos bien puestos evidente nación
18:51 continua o local como lo tengáis si sale
18:54 alguna cosa de éstas no desplegamos
18:55 actualiza y mira que vaya todo bien eso
18:57 que tenemos los test para que pasen
18:58 estas cosas vale
19:00 pues las actualizamos nunca levantes
19:02 librerías con habilidades porque es que
19:04 de verdad los robots no sabéis lo
19:06 rápidos que son
19:08 y que más bueno y configuración y
19:11 cuentas por defecto ya es como lo del
19:12 router
19:13 nunca expongas el router con el admira
19:15 min ponemos este 42 internet vale pues
19:18 esto es igual no tengamos cuentas hay
19:20 con admin 1234 que tenemos para probar
19:23 en producción vale el famoso xs s esto
19:26 es nada más todo esto también es muy
19:28 famoso en el tema de seguridad sobre
19:30 todo entre los desarrolladores esto ya
19:32 que nos puedan inyectar código
19:33 javascript
19:34 dentro de nuestro frank por ejemplo y
19:36 puedan hacer cosas sin que nosotros
19:37 entendemos que eso suena esto es muy
19:41 fácil de validar y de que no pase vale
19:43 normalmente ahora ya si utilizáis algún
19:45 framework web vemos algún freno
19:47 javascript tipo angula tipo view
19:49 riad cosas así no vais a tener ese
19:51 problema no sé que vosotros aposta
19:53 digáis esto no quiero que lo para así
19:54 que lo que los
19:58 y no quiero que se haga evaluado sino
20:01 simplemente lo pinte lo pinte estreno le
20:03 evalúes como código html los campos que
20:05 no sabía perder entonces ya mente lo
20:08 vamos a tener pero si por lo que sea el
20:11 stage que estén generando el html en el
20:13 servidor y pintáis directamente la
20:15 salida del usuario dentro de una tabla
20:16 vamos a poner escapar ese contenido
20:18 nuevamente también por ejemplo js lo
20:20 escapa ya no sé que tú no quieras otros
20:23 tipos de frenos para este tipo de cosas
20:25 de librerías lo hacen ya pero bueno
20:27 vuelvo al mismo si lo hacéis porque lo
20:29 necesitáis porque tenéis que pintar html
20:30 porque el usuario ha metido ahí un post
20:32 mucho cuidado escapar todo el javascript
20:35 es capaz de etiquetas etcétera porque os
20:38 la pueden fastidiar o sea se han dado de
20:39 los sin ningún problema o se pueden
20:41 hacer si en el banco consiguen acción xs
20:43 s es tan simple como que esos instala es
20:46 una extensión en cromo por ejemplo
20:50 que hace lo que sea pero que ya está
20:52 validando en qué páginas web entras como
20:54 direcciones en un banco en cuanto
20:55 detecten ya está en el script
20:59 y eso ha hecho una transferencia no
21:00 sabes la cuenta a ver ahora con el envío
21:02 del mensaje y tal no tanto vale pero
21:05 antiguamente pasaba eso muchísimo por
21:07 eso se ha metido otro tipo de seguridad
21:08 pero pasaba un montón o acceden a datos
21:10 en los envían a servidores remotos lo
21:12 que sea entonces tener mucho cuidado y
21:14 escapar todo lo que venga del usuario
21:15 vale entonces es muy simple es de
21:18 solucionar y simplemente escapar mirar
21:20 un ejemplo de esto
21:22 mi auto maquilla en el 9 gold si nos
21:26 vamos a nuestro perfil es una tontería
21:27 pero nosotros aquí la vestimenta no es
21:30 un script lo ve bien simplemente
21:32 comunales vale que ocurre no se está
21:34 evaluando lo que entra por el usuario y
21:36 esto además luego se utiliza aquí en
21:38 este tal cual llega tal cual se pinta
21:40 vale puede saber mira que si no no me
21:43 deja guardar
21:49 veis a esta ya está es una tontería pero
21:53 con esto ya salió la web porque no os
21:55 vais a enterar no va ser una alerta para
21:56 que otros siete dice que se metió algo
21:58 se van a cargar y eso ya va a empezar a
22:00 cargar script va a empezar a hacer cosas
22:01 dentro de nuestra web y adiós a leyes
22:03 fastidiando
22:05 vale más de señalización insegura esto
22:09 es una cosa que no debemos tener muy en
22:11 cuenta pero que es peligrosa vale a
22:14 veces no de no tanto porque en jason
22:15 meter código etcétera pues no es fácil
22:18 pero en java y payton yo digo que entran
22:22 que da gusto vale
22:25 es muy simple esto es nos envían un
22:27 objeto señalizado desde el front desde
22:29 otro servidor de donde sea nosotros
22:31 cogemos lo de señalizamos y al de
22:34 señalizar los ejecutan x acciones que
22:35 hace que se cambien código malicioso que
22:37 estaba inyectado en el objeto o en ese
22:39 código serializado por lo mismo ya han
22:41 entrado en cuanto entren se remota y
22:43 adiós ya tienen todo vale pues a ver en
22:47 el lado de no de cómo estamos utilizando
22:48 normalmente jason pues simples hay
22:51 librerías que ya utilizamos normalmente
22:52 para validar las entradas de los datos
22:54 no sabemos conscientemente no estamos
22:57 diciendo voy a evaluar que no me metan
22:59 algo al de señalizar el objeto no lo
23:00 estamos ya por si utilizamos librerías
23:02 de que se las valide aitor el j son
23:05 esquema y hoy líneas de éstas que nos
23:07 valía la entra de usuarios y si no es
23:09 correcta para afuera no se llevaría de
23:10 serializado vale para que para este tipo
23:12 de cosas
23:14 y si por algún motivo tenéis que desee
23:16 realizar cosas que no sabéis que pueden
23:17 llegar vuelvo a hacerlo en un entorno en
23:20 el que si os entran no puedan salir
23:23 no me refiero de aplicación sino que no
23:25 puede seguir ese entorno de esas sandbox
23:27 en el que si entran pues vale se ha
23:29 ejecutado se ha quedado ahí pero no han
23:31 podido hacer nada más esto es marrón yo
23:33 lo entiendo esto es meter más código
23:34 meter seguridad extra pero a ver depende
23:37 también de la aplicación hasta qué nivel
23:39 queráis llegar pero también de los datos
23:41 porque como estoy tocando números de
23:43 cuenta o tarjetas y hacer esto porque
23:46 como los imaginaos como éste vuestra
23:48 tarjeta y ahora mismo ya no está ahí
23:49 está en 200 sitios más vale entonces
23:52 tener cuidado
23:54 y esto que es una tontería es una cosa
23:58 que nosotros instalamos la aplicación
23:59 producción nos olvidamos si no hay que
24:01 hacerle actualizaciones a la salida de
24:03 la aplicación nos olvidamos es no
24:05 utilizar componentes con
24:06 vulnerabilidades y si en ese momento no
24:09 tiene habilidades de estar chequeando de
24:10 vez en cuando que esas librerías no
24:11 tienen vulnerabilidades vale nos
24:15 encontramos millones de estas o sea es
24:17 una tontería pero bueno soto en
24:19 wordpress que ya sabéis que se deja eso
24:20 en internet ahí tirado y ya está igual
24:23 que hace tres años con la vulnerabilidad
24:24 es que te puedes hacer con la máquina
24:25 pero en no de por lo mismo es tan simple
24:29 como que corremos periódicamente un audi
24:30 sobre nuestra de nuestras dependencias
24:32 las mantengamos actualizadas
24:34 sé que es un trabajo que hay que ir
24:35 haciendo que ya cuando la aplicación
24:36 está hecha es un sobrecoste entre
24:38 comillas pero al final nos vamos a
24:40 quitar de problemas nos acordemos este
24:41 tipo de cosas cuando nos entran ya está
24:44 ese día es condenación me cabe la leche
24:46 si está una tontería pero mira la que en
24:48 aliado y estáis ahí jodido toda la noche
24:50 porque encima encima como siempre te lo
24:52 hacen así de la tarde cuando te vas a
24:54 casa
24:55 vale entonces estás jodido la tarde y el
24:58 jefe ahí es que has hecho bueno y
25:02 tenemos la última del top que es el
25:05 registro y monitoreo vale suele haber
25:07 muy poco monitoreo y registro de
25:09 acciones
25:11 esto sí que me ha encontrado sobre todo
25:12 desarrolladores que
25:15 en 9 tenemos formas de depurar que yo no
25:19 soy muy esté muy a favor de ellos por
25:21 este motivo que es cojo y de buceo con
25:23 el coro de chrome y conectó directamente
25:26 al nadie empieza a ver el código pasito
25:28 a pasito como se va soltando con el
25:29 visual cauto lo que utilicéis vale
25:31 qué pasa con ese tipo de cosas que como
25:33 ya podemos depurar así para que hasta en
25:35 los blogs si los blogs son cosas que
25:37 utilizamos para depurar pero estamos
25:38 depurando el otro modo nos hace falta
25:39 vale bien
25:42 hay cosas que no es necesario que porque
25:45 a veces también que ves ahí una lentilla
25:47 de lo que los siguientes una suma y
25:49 estar diciendo voy a hacer una suma vale
25:52 pero hay cosas que no hace falta pero
25:55 por ejemplo acciones importantes en
25:56 nuestra aplicación yo que sé dar de baja
25:58 una cuenta que puede ser algo que pueda
26:00 haber sido por por el usuario que está
26:01 sino que se le han colado y lo tenéis
26:03 que ver pues estas cosas hay que lograr
26:05 las para luego si los accesos han colado
26:07 por lo menos que un auditor de seguridad
26:09 tenga trazas de por dónde mirar y por
26:11 dónde empezar a mirar vale o vosotros
26:13 también se hace ver también qué está
26:15 pasando luego igual intentos de login
26:17 pues como da un error no entra pues para
26:20 atrás no sacamos blogs de error ni nada
26:22 como nos están haciendo un ataque como
26:24 nos damos cuenta a no ser que la máquina
26:26 se ponga al cien por cien y nos demos
26:27 cuenta porque está tirando no en la
26:29 máquina como nos damos cuenta si cada
26:31 diez segundos está intentando hacer un
26:32 login pues podemos verlo con este tipo
26:35 de cosas si tenemos un monitoreo de logs
26:37 en el que vemos hostias están saltando
26:39 muchos errores en lugares controlados
26:41 pero errores ya podemos ver que salta
26:43 alguna alarma y ver lo estás igual
26:45 estamos aquí casi nunca se hace y nos
26:47 ayuda a prevenirlos con este tipo de
26:49 cosas y si nos han fastidiado ya no sólo
26:51 a prevenir no sino a ver qué ha pasado y
26:52 cómo lo podemos solucionar y quién ha
26:53 sido
26:57 y bueno está sobre el 'top ten' vale
26:59 todos modos yo voy a dar alguna más
27:00 porque mirar estoy al lado de la lista
27:02 del 2013
27:05 así
27:09 y está la lista del 2013 la de la
27:13 izquierda y la del 2017 veis que han
27:15 cambiado cosas en cosas que han salido
27:16 cosas que ya no se dan tanto porque se
27:19 han ido arreglando y ya pues no se dan
27:20 tanto en el mundo web o en el mundo de
27:23 aplicaciones pero bueno ahora sí hay que
27:24 tenerlas en cuenta no es porque ya no se
27:26 vayan aparece en ella nosotros olvidamos
27:27 xalapa dentro cosas con el csr efe
27:30 cuando se utiliza el csr efe en vuestros
27:32 formularios
27:34 sabéis lo que es
27:37 es pues la idea es que no pueden hacer
27:40 ataques a ese guardar hay que crear algo
27:42 así post sin tener sin haber hecho una
27:45 petición previa en el que se autorizan
27:47 es una persona pero le das un toque un
27:48 token y ese toque le autoriza a hacer la
27:50 llamada del crea de este modo por
27:51 ejemplo con un x ss si se nos cuelan y
27:54 tenemos csr efe no va a ser no van a
27:55 tenerlos nada fáciles maps lo más
27:57 probable es que no puedan hacerlo vale
27:59 entonces ya nos hemos quitado bueno no
28:01 tenemos una que se perdía al formulario
28:02 no nos tocan vale hoy ganamos algo
28:05 limitar el número de peticiones ya no
28:07 sólo en el login en toda la aplicación
28:09 un rey limite es tan simple como hay una
28:11 librería para express y samarrá dimite
28:13 quiere poner las que quieres y ya está
28:15 vale y además se funciona en clúster
28:17 efectos
28:18 sin clúster que tengáis varios por
28:19 utilizar red y sólo quien necesite si
28:21 fuera si no hay otros servidores otro
28:23 tipo de servidores que lo van a hacer
28:24 vale también este tipo de cosas lo que
28:26 decía tras poner el servidor web nunca
28:28 internet perdón en servidor de
28:30 aplicaciones tener siempre una inglés un
28:31 apache algo por delante que es el que
28:33 recibe las peticiones y en ruta a él
28:35 directamente así que como se comunica
28:37 con la red interna que es donde tenéis
28:39 vuestra aplicación por lo que si tenéis
28:40 el de los 3000 ese no de está ahí
28:44 a internet pero si tenéis un servidor
28:45 web que expone el 80 y que internamente
28:47 luego ya en ruta al servidor web la
28:50 subida de aplicaciones en la cabeza
28:51 interna y además os va a servir para más
28:53 cosas no sólo eso sino también lo que
28:55 está siendo que os pongo límite el
28:56 tamaño de los pilots os habéis probado
28:58 alguna vez intentan enviar un pelota a
29:00 vuestra py de 10 gigas
29:03 no tengáis limitado se lo come el
29:05 servidor lo va a ver y cuando ya lo
29:07 localizara decir no este no es válido
29:09 pero te has comido los 10 gigas de red
29:10 entonces como eso es un ataque de ese
29:13 vale os fastidian directamente os hace
29:15 un ataque con este tipo de cosas y fuera
29:16 adiós muy buenas
29:18 y luego otra cosilla que no utilizamos
29:21 79
29:24 las expresiones regulares demonios que
29:26 nos acomodamos en español esto que es
29:29 cuando eso lo hemos utilizado la
29:32 expresión regulares para validar una
29:33 entrada de datos casi todo el mundo yo
29:35 creo que es la forma más regulares son
29:39 muy costosas decimos esto es una presión
29:42 regular entre y dentro del lujo
29:44 como lo hagamos bien la presión regular
29:46 puede entrar en un ciclo porque depende
29:48 lo que nos manden ellos lo saben del
29:50 siguiente modo sea tú coges y te envían
29:52 en el nombre a 10 eyes y te encontré
29:55 tarde la petición 10 milisegundos vale
29:57 envió 100 ice contrato de petición 100
29:59 milisegundos y hay algo por nada en
30:02 medio un millón de aes y se os queda la
30:05 petición los aseos queda del servidor
30:07 muerto ahí esperando de las guerrillas
30:09 dándole coma vale ya son fastidiado si
30:11 lo de javascript por lo mismo hay
30:13 librerías etcétera para que eso no pase
30:15 el inter y eso yo creo ya todos los
30:17 utilizamos en el día a día pero reconoce
30:19 habla nunca está de más y ven poco y
30:20 rápido este es lo de no de gol ahí lo
30:22 tenéis si queréis enterar vale y para
30:24 los dejo tablet que vengan cinco minutos
30:26 o que algunos empezado tarde pues estaba
30:28 justo para los 50 bueno jota doblete que
30:30 es el servicio al mismo por excelencia
30:32 para logar para autenticar y autorizar
30:34 vale bueno son los jason west token
30:37 siguen ese estándar por si queréis echar
30:38 un vistazo y al final no es más que un
30:40 modo compacto y autónomo de transmitir
30:42 información es decir no es más que un
30:44 jason codificado y firmado
30:46 codificado en base 64 es decir que yo
30:49 cojo jason y me lo que hay lo que hay
30:52 vale entonces no metáis ahí passwords
30:53 que también menos encontrado que si es
30:57 seguro pero porque está afirmado es
30:58 decir porque podemos verificar que el
31:00 contenido que lo que contiene es de
31:02 verdad lo que nos dice pero cuidado vale
31:05 entonces esto es en lo que se compone
31:07 por si alguno había visto un gen es
31:09 donde están las cabeceras de que
31:12 algoritmo estamos utilizando para
31:13 generar la firma del tipo es una tablet
31:15 y el cai de que éste lo que seguro que
31:17 casi nadie conocéis que la parte de jota
31:19 doble k s vale esto aquí es donde le
31:21 decimos el id de la línea único de la
31:23 clave pública con la que tiene que
31:24 validar la firma eso explicaré ahora van
31:27 a un pelot lo que queráis meter
31:28 importante eso si mínimo las cuatro que
31:31 veis y ss out ya te guíes hay más pero
31:34 mínimo esas y ha de perdón y ss es la
31:38 entidad que ha generado el token
31:39 imaginaos que utilicéis un single xenón
31:40 y tener varias aplicaciones que lo van
31:42 con él pues el iese ese seríamos todos
31:44 en el seno en el nombre que le queráis
31:45 dar el out es a quién va dirigido el
31:48 token quien me ha pedido el token para
31:49 decir esto que no es para ti para que no
31:50 se utilice se toquen en otra aplicación
31:52 baleària la mejor utilizáis el mismo
31:55 toque para distintas aplicaciones no lo
31:56 más es lo mejor existen otros modos de
31:58 hacer eso pero bueno yo lo pondría y
32:02 siempre y luego cuando verifique inserto
32:04 que en vuestra aplicación verificar que
32:06 esto que es para vosotros vale para que
32:07 no lo haya firma otro el yate es cuando
32:10 se generó el token y el f es cuando
32:12 expira el token máximo 24 horas no hay
32:15 tokens infinitos vale junto con
32:18 infinitos que no tenéis ya está en ese
32:19 toque padre para siempre luego a que no
32:22 he dicho listas blancas y listas negras
32:23 de estas cosas vale lista blanca
32:25 mantener los tokens válidos por si acaso
32:27 tenéis que quitar un token de
32:29 desautorizar un token y ese toque de 24
32:31 horas si lo que desea utilizar ahora dos
32:33 no lo hacéis por una lista blanca o
32:35 lista negra o si no no hay manera de
32:37 shotokan basta 24 horas en las que
32:38 pueden hacer cosas vale si os lo han
32:40 robado
32:40 entonces mantén una lista blanca la que
32:42 tenéis los tokens que si son válidos o
32:44 no yo bueno yo tengo siempre lista
32:46 blanca o una lista negra de que tenéis
32:48 todos los toques que no son válidos pero
32:49 se puede crecer infinitamente vale a ver
32:52 si te es si de verdad os asegura es que
32:54 todavía genera con 24 horas sólo hay que
32:56 mantener esa lista negra 24 horas
32:58 pero asegurado que antes
33:01 [Música]
33:03 que vamos que spirit vale y que se la
33:06 jota doble k loja table k no es más a
33:10 ver que un mecanismo de distribución de
33:11 claves públicas vale cuando podemos
33:12 firmaron también con rsa que extrae
33:14 pública clave privada que era este modo
33:16 que está aquí perdona que nos ha
33:17 enseñado cada asignatura la asignatura
33:20 en la parte donde tenemos es la esta es
33:21 la fórmula vale para generarlo es en
33:24 este caso es el hm hace de 256 en el que
33:27 se coge el header codificado en base 64
33:30 más un punto y el pei lo tenga 64 más y
33:34 conesa barcos que genera la firma y a lo
33:36 que se acopla al final del toque y en el
33:38 caso de rsa es lo mismo pero para firmar
33:42 toques utilizamos la clave privada que
33:43 la que tenemos nuestra privada porque de
33:45 ahí el nombre y para luego verificar el
33:47 token utilizamos la pública que ocurre
33:49 que no vamos a estar distribuyendo las
33:50 públicas en cada aplicación lo podríamos
33:51 hacer pero tenemos un sistema que scott
33:53 áulica es el modo estándar de publicar
33:56 vale de publicarla hasta de 22 minutos y
33:59 date de publicar las claves vale
34:01 entonces
34:03 tiene este aspecto mirad es esto a este
34:06 sujeto le caisse si os fijáis el cai de
34:08 que iba en el header que no veis es
34:10 donde pone commit pues le da al zeidi yo
34:13 puedo tener una lista enorme de claves
34:15 públicas no pasa nada por este en
34:16 públicas porque la idea solo que sólo
34:18 sirve para verificar y en temas pues
34:19 esto lo publicase en un servidor vuestro
34:21 en un s 3 o lo que sea una url y todas
34:23 las aplicaciones cargan sj doble acá
34:25 para verificar las vejigas vuestras
34:28 claves que me genera con el single
34:29 sign-on por ejemplo vale como no me da
34:32 tiempo os he dejado un gif hub
34:34 si lo queréis aquí está implementado la
34:36 generación de jota doble k esa
34:37 generación de claves generación de token
34:39 con esas claves privadas y un serbio
34:42 neneco up con todo este sistema en el
34:44 que podéis hacer las peticiones y ver
34:45 que se codifican se valida etcétera vale
34:47 subir en las transparencias imagino que
34:49 lo pondrán vale subir las transferencias
34:50 y nada más si tenéis alguna pregunta
34:53 perdonar por el retraso pero es que por
34:55 estar yo quiero un poco más a fuego
35:00 [Aplausos]
Leave a Reply