T5 E1 - con Borja Roux sobre Ciberseguridad y bases de datos
Qué lujazo es hablar con Borja Roux sobre ciberseguridad aplicada al mundo real, sin postureo ni lenguajes grandilocuentes o tecnicismos absurdos. Así como si estuviéramos tomando un café en una cafetería de San Sebastián, hablamos de riesgos habituales en empresas, errores comun
Escuchar y ver el episodio
- Acast: este episodio · todos
- YouTube: el vídeo · la lista completa
- Spotify: Café Database en español
- Apple Podcasts: Café Database en español
Transcripción del episodio
Transcripción generada automáticamente y corregida con glosario técnico. Puede contener algún error residual. Está cortada en las mismas frases que llevan los subtítulos: descargar .srt · descargar .vtt
[0:08] Y ya estamos dentro. Pues muy buenas tardes, Borja Rooks.
[0:13] ¿Qué tal estás? Borja Rooks.
[0:14] Qué bien, muy bien. Encantado de estar por aquí charlando.
[0:17] Muy bien. Pues mira, estamos empezando.
[0:19] Eres el episodio 1 de la quinta temporada del podcast de Café Database.
[0:24] Y para los que se entren aquí, nos oigan por primera vez y para contar un poquito la
[0:29] dinámica, estamos en directo en el servidor de Discord de Café Database.
[0:34] La gente que nos está escuchando en directo puede participar, puede escribir
[0:41] en el chat, puede subir a la audiencia, puede preguntarnos lo que quieran.
[0:47] Si nos hacen alguna pregunta o lo que sea, podemos hacerles participar sin problemas.
[0:53] Y para aquellos que nos estén escuchando en diferido o aquellos que lleguen tarde o lo
[0:57] que sea, pues cuando terminemos el podcast lo subiremos a las plataformas de podcast,
[1:00] Spotify, Apple Podcasts, iVoox y todas estas.
[1:05] Así que, primer episodio de la primera temporada, Borja Rooks, te voy a presentar, ¿vale?
[1:12] Mira, experto en ciberseguridad, y me mola muchísimo la frase que te presentas que dices,
[1:18] ¿cómo lo has dicho? Ayudo a las empresas a protegerse de criminales, ¿no?
[1:25] Ayudo a las empresas a protegerse de los criminales de fuera y de los torpes de dentro.
[1:31] ¿Cómo lo ves eso? ¿De qué hay más?
[1:36] ¿De qué hay más? Hay muchos más, afortunadamente hay muchos más torpes dentro.
[1:41] Al final, digamos que los ciberdelincuentes son bastante menos que los torpes, sobre
[1:48] todo por una razón muy sencilla.
[1:50] Todos en algún momento somos torpes.
[1:54] Todos en algún momento terminas llegando al trabajo, me da igual con resaca, me da igual
[2:00] habiendo venido de llevarle al peque al hospital.
[2:05] Puede ser un momento en el que estés pensando en otras cosas entonces todos todos todos
[2:11] la vamos a liar en algún momento todos somos torpes en algún momento y afortunadamente
[2:16] no todos somos ciber delincuentes en algún momento oye una cosa como nos ves a los dbas
[2:21] en los desarrollos como es los a la gente de base de datos cuando tú haces alguna alguna
[2:26] consultoría de ciberseguridad sobre todo tocas startups y empresas digamos para construir
[2:32] toda la política de ciberseguridad desde cero, toda la planificación.
[2:36] ¿Cómo nos ves a los técnicos de base de datos?
[2:39] ¿Estamos educados? ¿Hay que evangelizarlos mucho?
[2:41] ¿Cómo nos ves? A ver, tampoco os puedo poner a parir en este foro, estaría feo.
[2:48] No, Hablando en serio yo lo que me suelo encontrar con la gente de base de datos
[2:56] para mí es muy parecida a la gente de sistemas.
[2:59] La gente de base de datos y la gente de sistemas temas, vienen de, en general, obviamente
[3:05] estoy generalizando, vienen de situaciones en las que cada vez que hay un problema en
[3:09] producción sudan sangre. Cada vez que hay un problema en producción es levantarse a la
[3:14] hora que sea, ir a resolver, no se está dando un servicio, no está funcionando lo que
[3:20] debería estar funcionando.
[3:21] Son cuestiones en general muy graves y que requieren una atención inmediata entonces
[3:27] eso hace que el cuidado con el que tanto la gente de sistemas como la
[3:34] gente de bea el cuidado con el que tratan la información sobre todo desde el punto
[3:41] de vista de la seguridad es francamente bueno todo el mundo todo el mundo no siempre
[3:48] hay siempre hay digamos pero en mi experiencia trabajar con gente de base
[3:56] de datos en general es francamente agradable puede que haya que explicar ciertas
[4:03] cosas puede que haya que echar un cable en algún tema pero todos los momentos en el momento
[4:10] en el que alguien de base de datos entiende cuál es el riesgo está está encantado de
[4:16] hacer todo lo que sea necesario para mitigarlo.
[4:18] Eso es maravilloso y hasta aquí el podcast.
[4:21] No hace falta que Hablemos nada más.
[4:25] Genial muchas gracias pues, oye, fíjate que yo, además, yo tenía muchas veces el complejo
[4:32] de que éramos un poco también los torpes, porque fíjate que habíamos comentado muchas
[4:36] veces que la password de SIS, yo te había dicho, la password de SIS de toda la vida siempre
[4:41] ha sido change on install, ¿no?
[4:43] Y la de System era Manager.
[4:45] Entonces, ¿no te puedes imaginar la de sitios donde aquí los usuarios, la seguridad
[4:52] y no sé qué, y entrabas al servidor como sys, password, change on install, y entrabas.
[4:57] Y entrabas y viste, es decir, toda la política estaba en los usuarios,
[5:02] o cuando te autentica el sistema operativo tú puedes conectarte con barra, barra a sysdba.
[5:08] O sea, no me autentico porque ya el sistema operativo me deja entrar.
[5:12] Ni contraseña nada, para adelante entonces tenía un poco la idea esa y esa es la
[5:19] forma de trabajar en muchísimas empresas hasta que se empieza
[5:25] Hasta que empiezan los incidentes, vale, o sea no hay, digamos, no hay empresa con mejor,
[5:31] no voy a decir mayor, pero desde luego no hay empresa con mejor presupuesto de ciberseguridad
[5:35] que la empresa al día siguiente de haber recibido un ciberataque, vale Es posible que
[5:41] cambie el responsable de seguridad, bien, pero el responsable de seguridad que está al
[5:46] día siguiente normalmente suele tener las cosas más o menos en condiciones.
[5:51] Y en el momento en el que tienes el primer incidente porque alguien no cambió la contraseña
[5:55] por defecto de la base de datos, del servicio de VPN o de cualquier otro elemento crítico,
[6:03] al día siguiente, bueno, pues lo normal suele ser que haya visitas a recursos humanos
[6:09] Y que se empiecen a arreglar las cosas Sí, además quiero decir, está cada vez no más
[6:15] de moda, pero está a la orden del día noticias como lo que ha pasado en el Louvre, la
[6:18] filtración de datos de clientes que ha tenido recientemente Endesa un montón de...
[6:24] Es decir, estamos a la orden del día quizá la IA está ayudando también a los
[6:30] Cibercriminales A ver, la IA ayuda a todo el mundo.
[6:33] Como tecnología es agnóstica.
[6:35] Entonces, va a echar una mano tanto a ataque como a defensa.
[6:41] Lo que pasa es que las condiciones del ataque son muy distintas a las condiciones de
[6:46] la defensa, me explico. Tú en ataque solamente necesitas encontrar una puerta, o sea,
[6:51] necesitas encontrar un agujero Tú en defensa tienes que tapar todos los agujeros Tú en
[6:57] ataque puedes atacar un millón de veces que solamente necesitas que una funcione Tú en
[7:04] defensa tienes que asegurarte de que ninguna de ese millón un ataques tenga éxito Con
[7:11] lo cual, mi sensación es que vamos a estar en desventaja, en defensa durante
[7:18] bastante tiempo hasta que entendamos todos cómo utilizar la inteligencia
[7:26] artificial. Hasta entonces vamos a seguir probando, por decirlo de alguna manera, y haciendo
[7:31] cosas más o menos experimentales.
[7:34] Y en ese contexto, mi sensación es que los atacantes tienen ventaja, porque
[7:41] ellos pueden probar mil cosas y con que funcione una, pues eso, les toca la lotería.
[7:48] En defensa tiene que funcionar, entre comillas, tiene que funcionar cada cosa.
[7:53] A mí, de esto que hablabas de la IA, me gustaba mucho una cosa que contaste hace poco
[7:57] en tu newsletter, que decías que la IA es un amplificador.
[8:01] Luego, como el dinero el dinero es un amplificador.
[8:05] Si eres buena persona, pues serás mucho más buena persona si tienes dinero.
[8:09] Si eres un gilipollas, serás mucho más gilipollas con dinero.
[8:12] La IA, digamos, es un amplificador también de lo que eres.
[8:17] A muchos niveles. Más allá del uso que hago de la IA en la parte
[8:26] de ciberseguridad, también soy profesor en un máster de inteligencia artificial no -code
[8:30] y parte de lo que suelo comentar es que la IA nos va a obligar a saber
[8:38] mucho más de los temas y a conocernos mucho mejor a nosotros, porque si no, no va a funcionar
[8:45] bien. Quiero decir, este fin de semana he estado utilizando la inteligencia artificial
[8:50] para crear un programa de edición de vídeo.
[8:53] Yo necesito tener muy claro qué es lo que yo sé de edición de vídeo, qué es lo que yo
[8:59] sé de programación para poder guiar, corregir y digamos pulir lo que me dé
[9:06] la inteligencia artificial.
[9:07] Si yo no sé nada de edición y yo no sé nada de programación las probabilidades que tengo
[9:13] de que eso llegue a donde yo quiero son mucho menores es lo que está que vete a echar
[9:21] gpt ayúdame a fortalecer la seguridad de mis sistemas pero eso es lo mismo
[9:28] que nos hubiera pasado con el preguntárselo a google y que te devuelva me da igual las
[9:35] 10 mejores medidas de seguridad que tiene que tomar tu empresa y cesc las
[9:43] probabilidades que tienes de acertar son bajas que bueno que bueno oye pues vamos
[9:51] a meternos en materia técnica dura vale a ver a ver a ver qué tal yo tengo contar una
[9:57] Esto que decías de empresas, yo soy de una empresa, no voy A decir cuál, un portal web
[10:03] muy famoso. Un día llegó la Guardia Civil con un CD -ROM, se habían llevado la base de
[10:09] datos y se la habían llevado del servidor de backup.
[10:13] Es decir, parece muchas veces que ponemos una puerta, digamos, una fortaleza inexpugnable,
[10:21] digamos, en la base de datos para que los usuarios de una contraseña vayan cambiando,
[10:26] el servidor principal está en clúster, cifrado, encriptado, todo esto.
[10:30] Y luego los backups se están llevando a un NAS, a un file system compartido, es decir,
[10:37] se habían llevado la base de datos de ahí, se había llevado limpio el export -import,
[10:40] el feature de export se habían llevado limpio para hacer un import.
[10:45] Te quería preguntar, ¿cómo es de homogénea o cómo te encuentras de homogénea o sigue
[10:51] aplicando esto de estoy poniendo muchísima fortaleza en un sitio y estoy descuidando
[10:57] lo más tonto? Te has encontrado con cosas así o relativas en base a datos también es
[11:02] muy habitual un poco por lo que comentaba antes de que cuando estás defendiendo tienes
[11:09] que tapar todos los agujeros es normal que se queden algunos agujeros sin
[11:16] tapar el problema es cuando los agujeros que se quedan sin tapar están en, vamos a decir,
[11:22] están en un ángulo muerto, no eres consciente de que tengas que cubrir eso Eso.
[11:28] Yo normalmente trabajo sobre todo Con startups entonces, en algunos casos, la
[11:36] gran revelación para esa empresa es descubrir que debería de hacer backups.
[11:41] Y dices, ostras, es verdad, debería de hacer backups.
[11:43] ¿Vale? Digamos que hay niveles de madurez para todos los gustos y sabores.
[11:51] Pero las empresas que se ponen a hacer cosas de ciberseguridad, lo
[11:58] que les suele pasar es que las hacen de manera desordenada.
[12:01] Quiere decir, todo el mundo sabe que hay que poner un antivirus, todo el mundo sabe que
[12:04] hay que poner un segundo factor de autenticación, todo el mundo sabe que hay que hacer
[12:08] backups. Entonces, si no planteas, digamos, la estrategia
[12:15] a nivel de ciberseguridad, vas a tomar acciones muy puntuales.
[12:19] Una de las acciones puntuales hacer backups, entonces tenía en la lista hacer backups,
[12:25] entonces copio todos los ficheros o copio todo el contenido de la base de datos a este
[12:29] servidor y marco un check en lo de hacer backups entonces los backups ya están hechos
[12:36] es que luego hay que hacer la prueba de restore ¿eh?
[12:38] Luego hay que hacer la prueba de restore es decir
[12:42] dudo mucho bueno, dudo mucho lo más habitual
[12:48] a ver A ver, es habitual que las empresas no tengan ningún tipo de backup.
[12:53] No voy a decir que la mayor parte de las empresas, no es cierto, pero hay muchas empresas
[12:57] que no tienen backup. De las que tienen backup, muchas no tienen un backup o no tienen
[13:04] backups de manera sistemática.
[13:08] No digo ya automatizada, sistemática.
[13:10] Todos los viernes, todos los martes, una vez al mes, no hay algo sistemático.
[13:16] Incluso habiendo algo sistemático, la seguridad Del backup suele ser
[13:23] bastante deficiente. Y ahora entro en la parte de cifrados y tal.
[13:29] Y de aquellos que tienen backup, empresas que hagan una recuperación del backup una
[13:36] vez, te voy a decir, al año, son una minoría.
[13:41] Son una minoría y esta me la contó mi hermano, me gusta mucho.
[13:46] No eres digno del título hasta que no lo defiendes.
[13:52] Entonces, lo de hacer backup está muy bien, pero en realidad tú no tienes ese backup
[13:57] hasta que no defiendes el título y no verificas que ese backup realmente sirve para algo.
[14:03] Y para eso necesitas hacer una recuperación.
[14:07] Que bueno, mira dime, dime, perdona bueno, te iba a ir al hilo de eso bueno, sí que te
[14:13] digo yo, al hilo de esto también para un poco trasladarlo al siguiente tema, habíamos
[14:18] estado hablando de DBSAT, una de las primeros warnings que te salta en DBSAT cuando tú
[14:22] miras una base de datos y le lanzas el DBSAT y dices, oye, en esta base de datos ¿qué
[14:27] problemas de seguridad hay?
[14:28] Hay dos que son muy grandes, uno si está en el último parche y dos, si hay backups físicos,
[14:33] o sea, se habla mucho de backups o de...
[14:35] Dice, no, no, si yo ya me llevo un snapshot de la máquina.
[14:39] Y luego dices, oye, que esto a lo mejor lo intentas recuperar y no funciona, ¿no?
[14:42] He visto casos que dicen, no, hemos recuperado un snapshot de la máquina y luego Oracle
[14:45] no arrancaba, ¿no? El tema de backups consistentes y tal.
[14:49] Ahí falta mucho yo te digo, mi experiencia va a ser, entonces, que falta bastante.
[14:53] Fíjate en el DBSAT, es de las primeras cosas que te avisa, te dice, si no tienes un backup
[14:57] físico consistente, digamos, en caliente, cuidado, porque es como si no tuvieras nada.
[15:03] Y por lo que tú has visto, por lo que tú Tú conoces de Debesat y todo esto, y te dejo
[15:07] que termines lo que decías de backup.
[15:09] ¿Cómo has visto la herramienta?
[15:10] ¿Cómo ves el tema? ¿O cómo ves la explicación Que da cuando dice, oye, no tienes suficiente
[15:16] backup, estas son las buenas prácticas, estas son las recomendaciones de seguridad?
[15:20] ¿Cómo has visto la herramienta?
[15:22] A ver, para mí la herramienta es francamente muy buena por dos razones.
[15:27] Primero, porque las cosas, digamos, más flagrantes te las pones sobre la mesa.
[15:32] Oye, que es que esto está sin parchear.
[15:34] Cachondo, esto está sin parchear, no me jodas.
[15:37] No tiene sentido desde un punto de vista de ciberseguridad saber que hay vulnerabilidades
[15:42] de seguridad en algunos casos graves y no haber aplicado los parches.
[15:46] Lo que dices de los backups, señores, tener una base de datos en la que se supone que
[15:52] tienes información importante y no tener unos backups, obviamente es una cagada.
[15:58] Pero me gusta también mucho porque presenta muchísima información diciendo, oye,
[16:05] chico, esto échale un ojo.
[16:08] Tienes no sé cuántos usuarios de este tipo, tienes esto configurado de esta manera, que
[16:13] a lo mejor es lo que a ti te gusta y a lo mejor es la forma de funcionar en tu empresa,
[16:17] pero no huele bien. Entonces, no es una cuestión de tienes una gran cagada, como el tema
[16:24] de los parches, pero sí que te ayuda mucho a guiar a tu cliente a, oye, he visto
[16:31] esto, tú estás seguro de que se necesitan tantos usuarios para esto, tú estás seguro
[16:38] de que Esto tiene sentido o es que simplemente ha habido un crecimiento orgánico, un
[16:43] crecimiento de estos descontrolados, se le empezó a dar a la gente permisos y se le empezó
[16:48] a permitir a todo el mundo hacer mil cosas, y esto ha terminado en
[16:55] el caos. En eso te quería
[17:01] preguntar, ¿cuánto ves que va a seguir siendo necesario la parte humana para interpretar
[17:07] cuando de verdad un usuario está crecido en privilegios o cuando un sistema está como
[17:12] muy regalado de que se ha dado el DBA a todo el mundo, porque claro te dice, oye yo veo
[17:17] aquí estos tres usuarios que tienen el rol DBA pero yo no sé si está bien no sé si corresponde
[17:24] es decir, ¿hasta qué punto crees que vamos a seguir siendo más importantes los humanos
[17:31] en toda la parte esa, ¿no?
[17:36] Sentido humano para mí, la toma de decisiones durante mucho tiempo va a seguir siendo
[17:41] humana. Pero tiene que ser un humano que sepa de lo que está hablando.
[17:47] Y eso cada vez es más complicado.
[17:51] Respecto al tema concreto que dices de los permisos.
[17:54] Y luego quiero comentar una cosa sobre sobre el tema de las versiones de passwords y
[17:59] tal. Sobre el tema de los permisos, mi sensación es que, ¿cómo
[18:07] se llama? ¿El Privilege Capture?
[18:09] ¿Puede ser? Sí, sí, es una herramienta para...
[18:12] La herramienta esta lo que te va a decir es qué privilegios que están dados, ¿vale?
[18:19] Realmente se están utilizando.
[18:21] Y eso, mi sensación es que va a tener dos grandes beneficios uno es dentro
[18:28] de la seguridad de las bases de datos va a ser fabuloso porque no nos engañemos si hay
[18:33] un usuario que no ha utilizado no sé qué permiso en los últimos cinco años vamos a suponer
[18:39] que no lo necesita y digo cinco años pueden ser cinco años cinco minutos cinco meses
[18:44] el tiempo digamos que lo podemos lo podemos discutir pero va a ser para
[18:52] mí un factor actor clave a la hora de reducir los permisos de los usuarios, que es un
[18:57] proceso que es dolorosísimo en ciberseguridad, porque no nos engañemos no hay ningún
[19:03] usuario que nunca se haya quejado por tener permisos de más como muchos se quejan de
[19:07] tener permisos de menos, necesito hacer no sé qué y no puedo pero el decir tengo permisos
[19:13] de más y creo que no los necesito, nunca nadie se quejó por eso
[19:19] Volviendo a lo que decía de las password version Otro tema que me ha parecido súper curioso
[19:26] de base de datos, perdón, del DBSAT, es que te hace un informe de qué
[19:33] usuarios tienen todavía las contraseñas con versiones de passwords antiguas y vulnerables.
[19:41] Eso me parece genial desde el punto de vista de vamos de los usuarios de base de
[19:49] datos pero hay un trabajo que hacer tremendo a la hora de proteger las contraseñas
[19:56] de los usuarios de las aplicaciones ahí yo me encontrado bueno desde poner las contraseñas
[20:02] en plano vale en texto claro Claro, un clásico donde los haya, a no saber hacer una
[20:09] criptografía mínimamente decente para proteger esas contraseñas.
[20:13] Y eso me parece muy grave.
[20:14] Y ese es uno de los casos que te comentaba al principio, en el momento en el que hablas
[20:20] con un DBA y le explicas, oye, pues los hashes funcionan así, el motivo por el que tienes
[20:26] que tener un hash con un salt es este, el motivo por el que tienes que almacenarlo de
[20:31] esta manera es este, El motivo por el que necesitas hacerlo de este otro modo es para
[20:36] protegerte de este ataque.
[20:37] En el momento en que a un DBA le explicas esas cosas, se ponen manos a la obra, implementan
[20:43] un PL o hablan con el desarrollador o hacen lo que sea necesario para garantizar que
[20:48] esas contraseñas estén hechas en condiciones, escritas en condiciones.
[20:54] Te diré que estamos muy acostumbrados a estar en la parte de que cada vez que implementamos
[20:59] algo, algo se rompe, alguien se queja, que habéis tocado, que de pronto ahora ya no funciona
[21:05] esto. Pues mira, hemos puesto lo que sea, hemos actualizado las versiones de las contraseñas,
[21:11] hemos actualizado esta paquetería.
[21:12] Pues a mí me iba, oye, esta paquetería es del año de la polca, por favor, ya no tienes
[21:18] que utilizar este paquete, lo hemos retirado por seguridad.
[21:21] No, no, pues es que ciertos procesos financieros necesitan esta paquetería, déjanoslo.
[21:28] Entonces, estamos en esa primera línea de fuego muchas veces de tener la mala fama, ¿no?
[21:34] De ser los que rompemos las cosas en pro un poco de la seguridad, ¿no?
[21:41] Pero, bueno, es que me suenan mucho cosas que…
[21:45] Nos pasa mucho en ciberseguridad.
[21:48] Hay un dicho que es la culpa es del cortafuegos, sobre todo cuando trabajas con desarrolladores.
[21:54] Esto en mi máquina funciona, suele derivar a la culpa es del cortafuegos.
[21:59] Y la forma en la que yo siempre he instruido a mis equipos que trabajen
[22:06] con las quejas de el cortafuegos no funciona y no nos está cortando el no sé qué.
[22:14] Necesitas tener un procedimiento súper ágil para verificar
[22:21] si el problema es del cortafuegos o no.
[22:25] Vale cada vez que hacíamos modificaciones cada vez que hacíamos cambios aunque no estuvieran
[22:31] relacionados con nada de las quejas de los usuarios nosotros siempre teníamos un procedimiento
[22:36] de oye exactamente en el caso de cortafuegos cuál es la máquina de origen cuál es la
[22:42] máquina de destino vamos a hacer un ping si el ping funciona vamos a hacer un telnet
[22:47] si el telnet funciona vamos a hacer un tal y si eso funciona vamos a hacer sí y teníamos
[22:51] un procedimiento súper claro súper a mano de tal manera que cuando alguien se quejaba
[22:57] sabíamos perdón sabíamos que no habíamos sido nosotros en el 90 % de los casos pero
[23:06] independientemente de que fuéramos nosotros o no necesitábamos tener un procedimiento
[23:12] para demostrar demostrarnos si habíamos sido nosotros otros a veces pasaba claro o demostrar
[23:19] a la otra parte esto no es nuestro vete a quejarte a otra parte y qué bueno el procedimiento
[23:28] de verdad recomendadísimo cada vez que se haga una actualización O lo que sea buscar
[23:34] la forma de cuando alguien se queje como puedo mostrar que no he sido yo librarme
[23:43] de librar los ojos de mí te iba a decir esto de firewall y tal oye que le has echado
[23:48] un ojo al sql firewall de oracle para la nueva versión 26 y como que te ha parecido a
[23:55] ver me parece genial sobre todo desde el punto de vista del rendimiento que se puede
[23:59] conseguir yo he trabajado con firewalls de base de datos externos tipo por ejemplo interna
[24:05] entonces él Tienes una pieza dentro de la infraestructura de red
[24:13] que te hace ese trabajo de firewall de SQL.
[24:20] Básicamente, aprende cuáles son las SQL que se ejecutan y todo aquello que no se corresponda
[24:28] con las SQL que ha aprendido, pues dice esto no es mío, esto no hay que ejecutarlo, esto
[24:33] está mal. En contexto de sesión, si todo el mundo entra por aplicación y de pronto entra
[24:40] un SQL Developer, por ejemplo, una aplicación SQL Developer .exe, dice, esta aplicación
[24:46] no está dentro de mi contexto de entorno.
[24:50] A mí me parece súper interesante el perfilado por usuario, porque obviamente
[24:57] las operaciones que va a realizar un DBA van a ser muchísimo más variopintas que las
[25:04] operaciones que tiene que hacer una aplicación.
[25:05] Ahí, ese es un caso claro del procedimiento del que te hablaba yo.
[25:12] En algún momento el firewall De SQL se pondrá a aprender durante
[25:20] X tiempo y habrá un momento en el que se ponga a bloquear.
[25:24] En el momento en el que se ponga a bloquear, lo más probable es que no tengáis ningún
[25:30] problema. ¿Por qué? Porque has estado aprendiendo hasta hace 15 minutos.
[25:34] Muy raro será que la aplicación haya puesto una SQL nueva en los últimos 15 minutos,
[25:40] pero un mes después, una semana después o un año después, un desarrollador creará
[25:48] una SQL distinta, una SQL nueva para una nueva funcionalidad.
[25:53] Y es como debe ser, no estoy diciendo que eso sea pecado te voy a decir lo bueno, es
[25:59] que el error que va a dar es SQL no permitida por contexto por el SQL Firewall
[26:05] Ahí sí que nos van a venir con esa etiqueta que dice, oye el Firewall de SQL se
[26:12] está quejando el Firewall no me deja pasar
[26:16] que es una de las cosas que cuando no puedes entrar a través de un Firewall no sabes
[26:20] qué pasa y dices, oye, ¿y el Firewall qué?
[26:21] Espera, a ver no es como un error silencioso o es un bloqueo no te quedas ahí esperando
[26:26] es quien no me está dejando entrar aquí de pronto se devuelve un error y dice oye este
[26:31] sql no está dentro de mi perfil como le puedes decir oye habéis habéis metido una nueva
[26:36] sql porque habéis metido una sql nueva sin decirnos nada no habíamos quedado en que tal
[26:42] tal tal sí y a mí me parece que ese se va a ser un
[26:48] Desde un punto de vista de mejora de la seguridad, creo que va a mejorar mucho la seguridad.
[26:53] Ahora te hago un par de referencias al hospital, pero desde el punto de vista de, vamos
[27:01] a decir, de relaciones internas entre equipos, creo que puede ser bastante claro.
[27:08] Como dices tú, si el error es suficientemente claro, la discusión debería de ser suficientemente
[27:13] corta. El problema es
[27:21] lo que has dicho tú sobre sobre los firewalls normalmente cuando bloqueas con un firewall
[27:27] lo que haces es ignorar una petición que no te interesa vale entonces pues hay
[27:34] un time out y dices no sé si el time out es porque está mal la red no sé si es por no
[27:38] sé qué no sé si es por no sé cuánto, no tienes un error claro si tienes un error claro
[27:42] de estás meando fuera de tiesto con esta sentencia SQL la discusión debería de ser muy
[27:48] corta Totalmente eso va a ser una opción de pago el SQL Firewall va a estar dentro del
[27:55] Advanced Security y es una es un componente carete en Oracle y me
[28:02] parece súper a ver, me parece razonable que sea caro la protección que te da es muy alta
[28:08] lo que iba a decir de de Wasp Top 10 el Wasp Top 10 son las 10
[28:16] vulnerabilidades más comunes en aplicaciones web
[28:22] Así como hace yo creo que era, ojo, me fallarán los años, pero la versión de 2017 si
[28:28] mal no recuerdo tenía como principal
[28:32] Principal problema inyecciones inyecciones de código, especialmente inyecciones SQL hace
[28:40] Hace cosa de unos tres años, una cosa así, pasó
[28:47] de, no sé si era la primera posición, no sé si pasó a la quinta o a la tercera, y ahora
[28:53] está en la quinta. O sea, cada vez hay menos inyecciones, cada vez es un tema menos...
[28:58] O sea, ha dejado de ser, digamos, el top uno ha dejado de ser la máxima prioridad, pero
[29:03] sigue siendo un problema gravísimo.
[29:05] Te lo iba a preguntar, de eso te quería preguntar yo, sobre el SQL Injection.
[29:11] ¿Es tan fiero el lobo como lo pintan?
[29:14] ¿Es tan real? ¿Es tan fácil que nos hagan SQL Injection?
[29:18] A ver, es fácil. Se tienen que dar muchas
[29:25] cosas para que haya un SQL injection.
[29:27] Digamos que tienes que tener un número razonablemente elevado de fallos.
[29:34] No has hecho una buena validación de la entrada, no estás utilizando unas sentencias
[29:40] SQL específicas, No tienes un firewall de base de datos, ni en la red, ni en la base
[29:46] de datos. Posiblemente no haces una buena gestión de los errores, porque parte de lo
[29:53] que se necesita es que cuando hay un error, al usuario le dices, ha habido un error.
[29:59] El desarrollador quiere saber exactamente cuál es el error que ha habido claro pero al
[30:05] usuario deberías de darle tan poca información como sea posible entonces hay una serie
[30:10] de cosas que se tienen que dar para que haya una secuela inyección aún y todo se dan
[30:15] se siguen dando y se dan demasiadas se dan demasiadas y
[30:21] bueno y parte de los problemas muchas veces es un mal perfilado del el usuario de la
[30:26] aplicación la idea de que uno de los típicos sql inyección de los
[30:33] viejos tiempos era hacer un drop table dices ostras porque la aplicación puede
[30:41] hacer un drop table de la tabla de usuarios o de no sé qué bueno pues porque
[30:48] tiene un permiso que posiblemente no debería de tener.
[30:51] Entonces, ¿sigue sucediendo?
[30:53] Sí, sigue sucediendo y sigue sucediendo demasiado.
[30:57] Madre mía, madre mía bueno, tenemos que prepararnos un poquito.
[31:01] Desde la teoría, en principio si utilizamos paquetes PSQL, utilizamos
[31:08] bind variables, deberíamos estar bastante cubiertos, bastante cubiertos a que digamos,
[31:14] en una variable no puede ser comilla y usuario like cualquiera
[31:22] uno igual a uno es decir, eso no puede ser un valor de una variable y cuando se interpreta
[31:27] como una variable como hay varias sustituciones es fuera, digamos, del contexto de compilación
[31:33] del código con lo cual podemos estar tranquilos, pero no sé, pero siempre puede haber
[31:38] algún error con lo cual se nos cuele ahí un un java con literales no sé A
[31:46] ver, la cuestión es dónde, desde el punto de vista de gestión de la empresa, se
[31:53] focaliza el desarrollo y la implementación de la lógica.
[32:00] La mayor parte de los DBAs con los que yo he hablado están indignadísimos con muchas
[32:06] decisiones de muchas empresas.
[32:08] Y esas empresas lo que hacen es poner prácticamente el 100%, no te voy a decir el 100%,
[32:14] pero me da igual, el 95 % de la carga del desarrollo y de la seguridad en el desarrollo
[32:19] en el equipo de desarrollo que desarrolla en lenguajes de programación, digamos, de alto
[32:26] nivel, totalmente desligados de la base de datos.
[32:29] Un equipo de desarrollo con su Javascript, con su Python, etc.
[32:35] Y estos equipos normalmente no tienen en la cabeza un, mira, en lugar de lanzar una sentencia
[32:42] SQL, lo que voy a hacer es programarme un PL dentro de la base de datos que encapsule
[32:51] la lógica de negocio que yo necesito para hacer tal actividad.
[32:55] Normalmente como era eso del martillo de maslow cuando lo único que tienes es un martillo
[33:00] todo te parece un clavo entonces si tú tienes un equipo de desarrolladores que saben
[33:05] de python y algo de sql van a plantear todo toda la solución de todos los problemas
[33:12] en python con lo cual vas a perder una enorme cantidad de capacidad de
[33:19] securizar tu sistema que tiene la base de datos bueno sí que bueno un
[33:27] ejemplo en el road level road level security la capacidad de decidir
[33:35] a nivel de línea de tupla de base de datos quien tiene acceso y quien no un cliente
[33:42] mío estaba encantadísimo y y estaba Ufano diciendo, mi aplicación es segura.
[33:49] ¿Por qué es segura? Porque yo tengo Row Level Security, porque yo tengo definido a nivel
[33:55] de la propia base de datos, cuáles son las líneas, y me parece fabuloso.
[34:00] Y le dije, tienes dos cosas importantes a tener en cuenta.
[34:04] Primera, la autenticación de usuarios que tienes no es buena, porque tenía ciertos problemas.
[34:12] Con lo cual, si la autenticación de usuario que tienes no es buena toda la seguridad
[34:16] que puedas meter a nivel de base de datos es irrelevante por decirlo de algún modo porque
[34:22] estás impersonando un usuario que tiene permisos y segunda piensa muy
[34:29] mucho si cuando metas nuevos desarrolladores al equipo de desarrollo van a entender La
[34:38] seguridad a nivel de base de datos porque no vas a poder contratar a un tío que sepa
[34:45] de python vas a tener que contratar un tío que sepa de python y se lleve muy bien con
[34:50] la base de datos entonces ese tipo de cuestiones son más administrativas y son más
[34:57] de gestión que digamos puramente tecnológicas en empresas En empresas grandes yo creo
[35:04] que se suelen hacer las cosas algo mejor en el sentido de aplicar las bondades
[35:12] de ciberseguridad que te ofrece una base de datos en condiciones tipo Oracle, pero en
[35:17] empresas más pequeñas hay
[35:22] Más equipos verdes yo sigo viendo empresas muy grandes, con equipos de desarrollo muy
[35:29] grandes, que al final implementan todo el tema de acceso desde tablas, tabla usuario,
[35:33] tabla contraseñas, tabla permisos, hechas por ellos en su propio repositorio de la aplicación,
[35:39] programados por ellos. Entonces lo que te encuentras es que el usuario, imagínate, la
[35:42] aplicación es de contabilidad, usuario, propietario, contabilidad, contraseña, contabilidad.
[35:48] Todas las políticas de password están en la lógica de la aplicación, pero luego alguien
[35:53] que entra a la base de datos y hace un export dice, ¿qué usuario?
[35:57] Contabilidad, export full, me lo llevo todo y decir, ostras, pues has puesto una barrera
[36:03] tremenda y justo detrás has abierto la autopista.
[36:09] Por donde pasan sin ningún tipo de peaje, ¿no?
[36:13] Y sobre el tema este que comentas, justo de las contraseñas, Oracle en su momento
[36:20] tenía el cifrado de, o sea, sí, tenía el cifrado de las contraseñas de usuarios de base
[36:26] de datos con algoritmo DES, que se considera no seguro, con lo cual está feo utilizar,
[36:31] no sé si era 10G o no sé cuál era la versión.
[36:34] Pero hay versiones antiguas que no se deben de utilizar.
[36:37] Estupendo pasamos a versiones más nuevas que utilizan SHA -1 y SHA -512, que son algoritmos
[36:45] de hashing mucho más robustos y a día de Hoy se consideran seguros.
[36:53] Pero la cuestión es, si no los utilizas de manera adecuada, vas a hacer un pan con
[37:00] unas hostias. Si tú tienes la contraseña de la aplicación o la contraseña
[37:07] de un usuario de la aplicación cifrado con un algoritmo de estos y no tienes ningún elemento
[37:13] adicional, ahí, perdón, dame un segundo, ¿sabemos lo que es un algoritmo
[37:20] hash? Sí, sí, sí, aquí más o menos, aquí estamos puestos en estas cosas, sí.
[37:27] Perfecto, perfecto cuando tú haces un hash, esa es una operación de un solo sentido.
[37:32] En principio, no puedes deshacer un hash, no puedes a partir del hash saber que la contraseña
[37:37] es Pepito Pérez. Pero, si tú utilizas un algoritmo estándar,
[37:45] tipo SHA1, digamos con una configuración por defecto, tú puedes ponerte
[37:53] a hacer los hashes de Pepito Pérez, password 123, 123456,
[38:01] digamos contraseñas habituales.
[38:03] Entonces, creas una tabla de hashes y luego cuando recibes una base de datos con los
[38:10] hashes de las contraseñas, puedes hacer una búsqueda inversa.
[38:15] Es lo que se llaman las rainbow tables, las tablas arcoiris.
[38:18] Entonces, hay ciertos ataques que si no tienes cuidado a la hora de cifrar las contraseñas,
[38:26] las puedes liar. ¿Más formas de liarla con contraseñas?
[38:32] La contraseña es robusta, está bien almacenada, pero está en el código fuente
[38:39] de la aplicación. Ni te imaginas lo habitual que es.
[38:44] Sí, Y hardcodeada o está en
[38:51] la aplicación o está en un repositorio público o hay una piquí perdida
[38:59] de la mano de Dios que termina en GitHub y hubo gran regocijo, como decían en la
[39:06] de Monty Python gran parte del problema dime, dime De
[39:14] esto de las pasos quería decir otra cosa, de las pasos para que nadie se asuste con versión
[39:17] 10 y algo así, es que eso es cuando tú migras un entorno de 8, 9, 10,
[39:25] se ha migrado esa base de datos, se ha hecho un grade de la base de datos, te sigue conservando
[39:31] las pasos, no te las modifica.
[39:33] Entonces, si puedes tener un sistema a lo mejor que ha evolucionado de una versión 9
[39:37] a una versión 10 y te dice, estos usuarios se crearon en versión 10, si la contraseña
[39:42] no ha cambiado, sigue estando en versión 10, es decir tú no tienes forma, lo digo para
[39:46] los demás, es decir, no tenemos un problema nosotros ahora de que alguien nos vaya a
[39:50] crear una password en versión 10, no
[39:54] Debería estar permitido, las passwords nuevas que se crean son siempre en la versión
[39:58] nueva, pero ese sería por dar la pista, ¿vale?
[40:02] Si nos encontramos una salida así en DBSAT o algo así, hay que ver esos usuarios que
[40:07] vienen a lo mejor digamos de épocas anteriores en las que la base de datos estaba en
[40:13] versiones anteriores. Si una aplicación ha ido evolucionando de 9, 10, 11, es muy probable
[40:19] que a lo mejor la contraseña, si no se ha actualizado, esté aún en el formato con la
[40:23] codificación DES, en el formato antiguo.
[40:26] Eso sería un pequeño disclaimer, no decir que nadie se asuste.
[40:31] Vais a buscar ahí, alguien me puede cambiar eso.
[40:33] Ahora no, si las cambian no van a poder ponerse la versión antigua, pero sí sería investigar
[40:39] aquellos restos de usuarios que nos hace muchísimo tiempo, que puedan tener la contraseña
[40:46] Paleolítica, digamos. Pues, oye, muy interesante.
[40:52] Hoy te voy a decir que, mira, en Oracle, no sé si sabes, en Oracle, por ejemplo, el tema
[40:55] de las contraseñas, de las passwords, hay un PL que es el que es para cada...
[41:01] Tú puedes definir para perfiles de usuario
[41:04] Qué función de verificación de passwords tiene.
[41:07] Hay una que es la por defecto, que te deja
[41:10] modificarla, pero tú puedes crearte la tuya propia.
[41:12] Si tú puedes crear un PL y decir, oye, yo quiero implementar mis propias reglas, no quiero
[41:17] que se utilicen ciertas palabras de diccionario que aquí son comunes, no queremos que
[41:22] se utilicen fórmulas o lo que sea.
[41:25] Es decir, tú puedes implementarte eso muy a mano, aunque Oracle te dice que sepas que
[41:30] la propia política estándar de verificación de passwords de la que La que te viene ya
[41:37] por el fabricante es bastante fuerte.
[41:40] ¿Tú conoces otras aplicaciones, otros entornos donde el nivel de seguridad sea así?
[41:45] Es decir, defínete tu propia política de verificación de passwords, como lo tiene, digamos,
[41:52] Oracle. ¿Es algo común o estamos exagerando aquí un poco?
[41:57] A nivel de empresa tiene que haber una política de contraseña si se toma la ciberseguridad
[42:03] mínimamente en serio. Pero es a nivel de compañía.
[42:11] Cuestiones típicas de la política de contraseña, si ahora me lo llevo a la base de datos.
[42:16] Longitud mínima de la contraseña.
[42:17] En algunos casos longitud máxima también tiene mucho sentido.
[42:22] Número de mayúsculas, minúsculas, símbolos de puntuación, emojis, kanjis,
[42:30] sangre de unicornio, todo ese tipo de cosas.
[42:33] Importantísimo, sí las contraseñas se hacen más seguras por longitud.
[42:40] El aumento de seguridad por longitud de la contraseña es muchísimo más razonable
[42:47] y además mucho más fácil de recordar que el aumento de complejidad por distintos tipos
[42:54] de caracteres, que es algo que mucha gente se pasa
[43:01] por alto. Entonces decía, política de tamaño de contraseña, etc.
[43:06] Si hace falta cambiarla o no.
[43:07] Las últimas recomendaciones de NIS, las últimas recomendaciones, vamos a decir, de los
[43:12] que saben de seguridad, son a menos que tengas la sensación de que la contraseña ha sido
[43:18] comprometida, no hace falta que la cambies de manera periódica.
[43:22] Sobre todo porque descubrieron que los usuarios al final ponían la misma contraseña pero
[43:27] ponían el número del mes al final y cuando no le dejaban eso lo ponían al principio y
[43:32] cuando no le dejaban eso hacían mil triquiñuelas hasta que al final se salían con la
[43:38] suya y seguían teniendo con perdón una contraseña de mierda entonces la política de contraseñas
[43:45] tiene que estar definida a nivel de a nivel de empresa la política de cifrado preferiblemente
[43:51] también y cuando te llevas eso a base de datos termina siendo algo así como las contraseñas
[43:58] Se cifran así se utiliza un algoritmo de hash algoritmos permitidos sh1 sh a
[44:05] 512 si una lista de algoritmos permitidos las contraseñas no se almacenan tal
[44:12] cual se les pone un salt vale el salt digamos por simplificarlo es, si la contraseña
[44:18] es password123, le pones al principio mi contraseña bonita password123.
[44:26] De esa manera, cuando pones ese mi contraseña bonita, es muy poco probable que alguien
[44:33] se haya dedicado a hacer hashes de contraseñas que tengan al principio el string mi contraseña
[44:40] bonita. Preferiblemente, además de añadir la contraseña y esa salt, está
[44:47] muy bien añadir el usuario ¿Por qué?
[44:50] Porque de esa manera, dos usuarios distintos que tengan la misma contraseña van
[44:57] a tener el hash de la contraseña distinto
[45:02] Pues fíjate, aquí te voy a decir una cosa, en la política de verificación de contraseñas
[45:07] la contraseña no puede contener el nombre de usuario en ella
[45:12] No, no, no la contraseña no va a contener el nombre del usuario.
[45:17] O sea, si mi usuario es Javier, la contraseña no puede ser mi contraseña bonita hash
[45:22] $ $37 Javier 2037. Sí, pero no puede
[45:29] figurar la cadena Javier dentro de la contraseña.
[45:32] Sí, pero yo no estoy hablando de...
[45:34] O sea, la contraseña será algo que tenga sentido.
[45:38] Voy a decir password 123, que es una muy mala contraseña.
[45:41] Es la contraseña lo que me refiero con mi contraseña bonita password123 es el string
[45:47] que nosotros vamos a jasear.
[45:49] Ah, vale, vale, claro en aplicación estamos hablando.
[45:54] En lugar de jasear password123, vamos a jasear Javier, mi contraseña bonita password123.
[46:01] ¿Vale? Vale, vale, vale ¿Cuáles son las contraseñas?
[46:05] Dime, dime no, que quiero decir, esto es cuando estamos delegando la seguridad En aplicación,
[46:11] porque en Oracle no tienes forma de alterar esa, distorsionar, digamos, la password para
[46:17] que se almacene con más texto.
[46:20] Para los usuarios de base de datos no, pero tiene mucho sentido tener PLs cuando se establece
[46:27] la contraseña de un usuario de aplicación.
[46:29] Sí, exacto ahí sí, es lo que te decía.
[46:32] Y ahí es el punto donde todo esto puede tener sentido.
[46:36] Y añadir cosas como lo mismo que dices que hace Oracle, no puede tener más de no sé cuántos
[46:43] caracteres seguidos del identificador de Usuario no puede tener más de no sé cuántos
[46:50] caracteres seguidos de el nombre de la persona, ¿vale?
[46:55] Imagínate, yo me llamo Borja Rooks, el identificador de usuario es B .Rooks, la
[47:02] contraseña no puede tener en ningún caso ORJA, ¿vale?
[47:08] Y si le quieres dar una vuelta más, en lugar de almacenar el hash, puedes almacenar
[47:15] el hash del hash del hash, para ponerlo incluso un poquito más complicado.
[47:21] Muy buena esa, muy buena esa.
[47:22] Voy a hacer una cosa borja, por los que no lo conozcan, tiene una newsletter buenísima.
[47:29] Todos los días manda un consejo de ciberseguridad muy útil, muy cachondo.
[47:34] A veces cuando lo lees se te clava una espinita porque dices, ay, que yo esto
[47:42] lo he vivido. Y si os queréis dar de alta en su newsletter, borjaroaks .com, y ahí
[47:49] vais a recibir unos tips de ciberseguridad y podéis contactar con él porque ya veis
[47:57] que no solo es lo que sabe, sino que cómodo y que fácil es comentar contigo todos
[48:04] estos temas. Eres el auditor amable bueno, o no.
[48:10] Eres el auditor amable con gente que lo intenta.
[48:17] Sí, sí, sí a ver, reconozco que este es un sesgo, no te voy a decir que sea maravilloso,
[48:24] pero es algo que a mí me pasa mucho.
[48:25] Cuando yo trabajo con una empresa que intenta hacer las cosas bien, soy
[48:34] mucho más amable. Habrá muchas cosas que haya que modificar, pero desde un tono mucho
[48:41] más, vamos a decir, agradable conciliador.
[48:45] En el momento en el que detectó que una empresa no está buscando la seguridad sino el
[48:51] cumplimiento normativo bueno pues juego al juego del cumplimiento
[48:58] normativo y claro de esto estoy una un tip que dijiste en una en
[49:05] un mail que me gustó mucho que era en la mínima que veas que que algo no está acorde
[49:11] con tu concepto seguro, no te sientes seguro, redacta una carta y di, a partir
[49:18] de ahora, si no se implementa esta política, yo me eximo de total responsabilidad
[49:25] de cualquier cosa. Es decir, y decirle a la persona, mírame a los ojitos y
[49:33] fírmame esto. Mírame a los ojos y fírmame que si no vamos a poner este nivel de seguridad
[49:37] o esto y tal. El responsable no voy a ser yo, vas a ser tú.
[49:41] No, mírame a los ojillos y dime qué.
[49:44] Eso yo lo he visto también a nivel de base de datos, por ejemplo, en cuestiones de parches.
[49:52] El administrador de base de datos es consciente de que la versión de base de datos que
[49:56] tienen tiene una serie de agujeros de seguridad importantes y no tiene
[50:03] permiso para hacer las migraciones, o no tiene permiso para hacer los mantenimientos,
[50:08] porque el negocio ha decidido que no se pueden hacer intervenciones o por la razón que
[50:13] sea. Coge el administrador de base de datos, que es el equivalente a lo que hago yo con
[50:19] mis clientes como responsable de seguridad.
[50:21] Coge el administrador de base de datos y dice, mira, es muy sencillo, yo te estoy diciendo
[50:25] que hay que hacer esto. Si tú me dices que no, me miras a los ojos, me dices que no,
[50:30] lo ponemos por escrito y ya está.
[50:32] No me enfado no voy a discutir una decisión de
[50:39] negocio porque creo que si queremos que la ciberseguridad se tome en serio, se tiene
[50:46] que tomar como decisión de negocio.
[50:48] Si queremos que se tome como decisión de negocio, negocio decide qué riesgos tomar y
[50:52] qué riesgos evitar. Y si decide tomar el riesgo de esta base de datos lleva sin actualizarse
[50:59] desde que Franco era corneta, así es.
[51:02] O sea, si entiende cuáles son los riesgos, mi punto de vista como profesional
[51:09] de ciberseguridad es, si entiendes cuáles son los riesgos, no me parece mal realizar
[51:14] este tipo de acciones, este tipo de, vamos a decir, falta de acciones.
[51:20] Lo que dices de mirarnos a los ojitos es, hablas con alguien que realmente pueda tomar
[51:25] la decisión y te aseguras de que esa decisión es una decisión explícita.
[51:30] Sí, sí, sí pues oye, tu newsletter, lo vuelvo a decir, borjaroaks .com y
[51:38] que se apunten a ese. Lo que me suele decir mucha gente de la newsletter es que, sobre
[51:44] todo, me leen porque se lo pasan bien.
[51:46] O sea, en algún caso he estado tentado de decir, oye, pero no lo lees porque aprendes
[51:50] mucho de ciberseguridad y dice, bueno, eso también.
[52:01] Oye, tengo más cosas que preguntarte Mira Oracle ha sacado para la versión 26,
[52:08] 23 pero ahora han renombrado 26 por un tema de rebranding y tal ha sacado un rol developer
[52:14] por el tema de que en desarrollo, en Oracle supongo que te habrás encontrado,
[52:21] como se Se utiliza la regla del mínimo privilegio, es decir, creas
[52:29] un usuario y el usuario se no puede ni hacer, créate sesión, todo lo tienes que dar de
[52:34] forma explícita. Pues en todos los desarrollos se suele regalar mucho el DBA.
[52:40] Pues oye, mira, los usuarios en desarrollo son DBAs y muchas veces estas cosas terminan
[52:46] acabando en producción. No ahora que se ha sacado el rol de velo pero que en principio
[52:50] es cuando a los desarrolladores puedes dar el rol de velo pero y pueden hacer todo lo
[52:55] que puedo hacer un de velo pero no te quiero preguntar un par de cosas vamos a decir
[52:58] tú tú cómo crees que va a acabar eso cuando se pase en producción cuando se produce van
[53:05] a colarse roles de velo pero en producción también y yo te pregunta cómo ves el tema
[53:10] de estandarizar de que el fabricante estandarice roles en plan decir vamos a crear un
[53:15] rol application y en producción se dará en vez del rol de velo pero se dará el rol application
[53:21] así como hay un rol de vea evidentemente que puedes hacerlo todo como ves está estandarizado
[53:27] Y es posible o al final siempre hay que hilar fino y ver qué se está dando y que no y
[53:33] hay que personalizar lo conoces a ver voy voy por partes primero lo que dice es de que
[53:39] se cuelen permisos de desarrollo en producción eso va a suceder eso va a suceder mientras
[53:46] no nos lo tomemos en serio vale porque normal lo habito lo más habitual es que pensemos
[53:55] en producción como lo que tenemos en desarrollo termina en producción bueno o no habrá
[54:02] que ver ver cómo evoluciona.
[54:06] Pero si no hay cuidado, sí, cualquier mierda que hayamos hecho en desarrollo terminará
[54:11] en producción, incluyendo cualquier aberración en desarrollo o cualquier aberración en
[54:17] base de datos o en donde sea.
[54:20] Sobre si Oracle es capaz de definir un perfil para un desarrollador
[54:28] con mucho cariño y mucho respeto si yo no sé que necesitan mis desarrolladores que puñetas
[54:34] lo vas a ver oracle vale que oracle me ofrezca de manera out of the
[54:41] box muy sencillita un perfil que es más que nada y menos que admin
[54:49] oye bienvenido sea eso será suficiente seguramente será suficiente
[54:56] pero seguramente no será necesario vale seguramente mi sensación es que se va
[55:03] a pasar de permisos no se va a pasar tanto como un como un administrador de base de datos
[55:08] pero sí que se va a pasar de los permisos que necesite el desarrollador De turno oracle
[55:14] va a ser capaz de definir perfiles para aplicaciones etcétera pues te respondo lo mismo
[55:21] si yo no sé qué permisos va a necesitar mi aplicación que puñetas lo vas a ver oracle
[55:28] Que partiendo de lo que oracle me de como
[55:32] Aplicación típica yo puedo pasar a mi aplicación tuneando a partir de ahí y añadiendo
[55:38] cuatro cosas y quitando cuatro cosas seguro que es una muy buena ayuda pero igual que
[55:44] lo que decimos es una forma de empezar un poquito es una forma de decir mira tienes ahí
[55:49] un he puesto ahí en el chat digamos que es lo que que incluye el rol de developer, tiene
[55:56] crear vistas analíticas, crear attribute dimensions, cubos, dimensiones, jerarquías,
[56:03] jobs, vistas materializadas, procedimientos, secuencias, sesiones, sinónimos, tablas,
[56:07] triggers, tips. Es decir, sobre todo son cosas de create, más que nada, de poder crear
[56:12] triggers y tablas y seguimientos y temas de data warehouse y
[56:19] tal. Y force transaction y on commit refresh, cosas así.
[56:24] Es una forma, digamos, de decir...
[56:26] Me parece una aproximación muy adecuada, pero acuérdate del desarrollador del que te
[56:32] hablaba antes que se ponía a hacer modificaciones en la seguridad a nivel de tupla.
[56:41] Pues muy probablemente Oracle no cuenta con que un desarrollador se va a poner a hacer
[56:45] eso. Entonces, ¿será un buen punto de partida?
[56:50] Seguro que sí pero si no se le dedica cariño, no va a ser suficiente.
[56:57] Será mejor que todos los desarrolladores tengan permisos de administración en producción.
[57:02] ¿Vale? Sí o sea, mejor que eso va a ser.
[57:05] Seguro más que nada porque no puede ser mucho.
[57:09] Sí, por lo menos lo que veo es que no tiene el select any, ¿no?
[57:14] Los privilegios de any, muchos de ellos son los peligrosos, ¿no?
[57:18] De select any table, create any table, alter any table, que son los que dices, no, puede
[57:25] también de su usuario y de otros, de otros puede ser incluso de sys, ¿no?
[57:30] Esos son los peligrosos quizá es un rol contenidito, ¿no?
[57:34] Es a lo mejor muy peligroso, pero bueno.
[57:37] Y creo que es bueno, creo que es muy bueno que haya un punto de partida que no sea
[57:44] ni todo ni nada. Pero hay que darle cariño.
[57:49] Hacer estas cosas sin darle cariño creo que puede ser un problema.
[57:53] Y en general el perfil de desarrollador que termine en producción no lo
[58:00] veo como algo razonable al menos no en la mayor parte de los casos porque
[58:08] El desarrollador debería de poder hacer lo que quiera que pueda hacer en desarrollo no
[58:13] en producción claro que es donde las cosas se se rompen, ahí
[58:20] hay impacto en dinero, ¿no?
[58:23] Sí. Pues, oye, no sé si se te ha hecho corto o se te ha hecho largo, pero casi nos hemos
[58:30] estampado una hora ya, ¿eh?
[58:32] Cortito, ¿verdad? Pues, Si quieres añadir algo más, algo que dices,
[58:39] oye, venga, ahora que tengo gente aquí de base de datos,
[58:44] Consejito, una cosa que os quiero decir, o un algo.
[58:46] Un consejo para La gente de base de datos Sobre todo los que más se preocupan por
[58:53] la ciberseguridad, que en mi experiencia tienden a sufrir bastante.
[59:00] Buscad el punto en el que las recomendaciones que hacéis sean entendidas, que cuando
[59:07] vosotros digáis, oye, deberíamos de hacer esto, entiendan por qué lo estáis diciendo,
[59:13] Pero no os llevéis a nivel personal el que alguien tome la
[59:20] decisión, preferiblemente por escrito, tome la decisión de no seguir vuestra recomendación.
[59:27] Porque conozco mucha gente que se ha quemado, yo entre ellos, porque mis recomendaciones
[59:35] de ciberseguridad eran desoídas.
[59:41] Que te juegas el tipo es decir yo a veces si he dicho
[59:47] Si no implementamos una política de backup, yo no sigo jugando aquí, yo no quiero pasar
[59:51] a la historia como el de vea al que se le quedó la base de datos en las manos y no pudo
[59:57] recuperar porque no tuvo backup si, si, si, a ver, yo he ido de sitios o sea, yo he dejado
[60:02] de trabajar con clientes por cuestiones de ese tipo o sea, hay un punto en el que dices
[60:07] el negocio quiere admitir estos riesgos estupendo yo no quiero trabajar en una empresa
[60:12] que admite estos riesgos pero son para mí son dos cuestiones distintas o sea obviamente
[60:17] una empresa que no quiere hacer backups estupendo me parece genial yo no quiero trabajar
[60:23] con una empresa así Totalmente entendible
[60:33] cuando el tipo es que mira yo digo muchas veces es que pasa que a nosotros en base de
[60:37] datos nos Nos viene un director de negocio y nos dice, yo asumo la responsabilidad de
[60:44] que tú ahora pares la base de datos.
[60:45] Y eso qué significa, que si paro la base de datos y no arranca, que voy a estar aquí
[60:50] hasta que arranque. Pues vaya forma de asumir la responsabilidad.
[60:54] Al final, quizá a lo mejor somos un poco vehementes, lo que acabas de decir y me identifico,
[60:59] somos muy vehementes en decir, es mi base de datos.
[61:05] Por favor, debes poder cuidar la seguridad, porque mi honra está en juego.
[61:11] Pero sí es cierto, a veces nos jugamos el careto, nos ponemos de skin in the game.
[61:19] Y cuando viene un director y dice yo asumo la responsabilidad se le responde con un en
[61:25] la línea de puntos Firmas en la línea de puntos Y tanto, y tanto Pues oye,
[61:32] es que en la línea de puntos no está asumiendo la responsabilidad
[61:36] Totalmente Totalmente, totalmente Pues oye Borja, nos hemos tampado la hora
[61:43] y ha sido un placer, a mí también se me ha hecho cortísimo ¿Qué tal has estado?
[61:46] ¿Has estado cómodo? Me ha pasado estupendamente me lo he pasado muy bien yo estoy hablando
[61:50] de estas cosas más que encantado que bien, pues nada, si te parece dejamos el podcast
[61:57] aquí, nos despedimos de la gente por no esternos un poquito de la hora, muchas gracias
[62:02] a todos y cuando quieras hacemos otra segunda ronda seguro que sí, seguro que sí cuídate
[62:10] mucho, un abrazo vale, muchas gracias, chao
Suscríbete a la lista de emails y únete a Discord.
Nada de spam: lo que se publica, cuando se publica, y el Discord del Café.