Saltar al contenido

Podcast · 15 ene 2026 · 1:02:06

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

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é.