Re: [Python-es] Python y Base de Datos
El día 16 de marzo de 2010 13:17, Hernan M Foffani escribió: > 2010/3/16 Francisco Javier Cuadrado >> >> El día 16 de marzo de 2010 12:42, Hernan M Foffani >> escribió: >> > 2010/3/16 Soto >> >> >> >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico >> >> que trata de putearnos y que tiene que ser una puta máquina. >> >> Lo de cambiar la función de coficación me parece una idea bastante >> >> buena. >> >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión >> >> supondrán una buena barrera de seguridad. >> > >> > Para ser mas preciso: *la* barrera de seguridad son los permisos. La >> > codificación es para aquellos que no entienden de temas de seguridad >> > tengan >> > una sensación de protección extra. >> > >> >> Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que >> «tener». > > Creen tener y tienen, aunque por razones distintas de las que creen. > *Nunca* dije que uno fuera sustitución de lo otro. > Yo tampoco me refería a que uno fuera sustituto de otro, sino a que tú le dices mira además de los permisos te pongo este cifrado para que sea más seguro, y el otro se cree que su sistema ya es anti-super-hakers-dominadores-de-mundos cuando la realidad es que el cifrado realmente «no hace nada», yo prefiero dejarle bien claro que la seguridad se consigue con los permisos y que no es necesario nada más, a darle un «placebo» para que se quede contento. >> >> Creo que todo este asunto ha derivado en una serie de mensajes con >> poco sentido, ya que si no puedes proteger el acceso al archivo de la >> contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de >> nada ya que podrán ir a los archivos de tu código fuente y ver qué >> haces para descifrar esa contraseña. >> >> Y creo que lo de que te quitarás un alto porcentaje de gente con bajo >> nivel aquí no vale, ya que si no tienen buen nivel para conseguir el >> código de descifrado no creo que tengan nivel suficiente para que con >> la contraseña se pongan a «jugar» con la base de datos. > > No se trata de quitar a nadie. Si el que paga reclama mas protección porque > "¡que barbaridad! la clave está en claro", le intentas explicar que la > seguridad > no va por ahí. Si sigue con la misma cantinela, ROT13 y a por otra cosa. Hay casos y casos, pero como he dicho antes prefiero explicárselo antes de hacer una chapuza, en la que si luego llega una auditoría, ven un ROT13 en la contraseña que no vale para nada y el jefe les diga: "No, lo hizo ese." Y el que queda mal eres tú. >> >> Además, si hubiera un método más seguro cualquier aplicación de uso >> extendido lo usaría, pero es que las aplicaciones que hacen uso de >> bases de datos (como aplicaciones web), mantienen un archivo con la >> contraseña de la base de datos sin ningún tipo de ofuscación, >> codificación y/o cifrado. Sólo te piden que tengan el mínimo de >> permisos una vez hayas editado el archivo, es decir, sólo lectura para >> el usuario que ejecute la aplicación. > > Si sólo te piden eso es que saben de lo hablan y no hace falta mas. > El problema, como dije antes, es cuando el cliente te dice que no es > suficiente porque "¡él puede ver la clave!". El coste de esa educación > no suele estar presupuestado y la "solución" (ROT13) es muy barata. > Con ese «... Sólo te piden ...» me refería a las aplicaciones que hacen uso de bases de datos y están extendidas, que sólo te piden en la instalación/configuración que el archivo que contiene la contraseña de la base de datos no tenga permisos de ningún tipo exceptuando sólo lectura para el usuario que ejecuta la aplicación. Quizá me exprese mal. > >> >> >> >> >> Aún así seguiré investigando. >> >> Un saludo y mil gracias a todos >> >> El 16 de marzo de 2010 12:03, Hernan M Foffani >> >> escribió: >> >>> >> >>> 2010/3/16 lasizoillo >> >> >> El 16 de m >> >> arzo de 2010 08:22, Soto escribió: >> > >> > Otra opción podría ser encriptar la contraseña en un fichero. Pero >> > hay >> > métodos que te permiten descriptar contraseñas con bastante rapidez >> > como >> > puede ser John the Ripper. http://www.openwall.com/john/ >> > >> >> Si hay métodos para descifrar contraseñas con bastante rapidez cambia >> de >> algoritmo de cifrado. El problema no es la calidad del algoritmo de >> cifrado. >> Si puedes almacenar la contraseña de descifrado de forma segura, >> puedes >> almacenar la contraseña del mysql de forma segura. Si no puedes >> almacenar la >> contraseña del mysql de forma segura, olvidate de métodos que >> requieran >> contraseña como un algoritmo de cifrado/descifrado. >> Si no puedes usar permisos para securizar el fichero con las claves >> quedan algunas opciones (basadas en pasar el marron a otros >> sistemas): >> * Usar un anillo de claves http://pypi.python.org/pypi/keyring >> * Tratar de kerberizar tu servicio. No se hasta qu
Re: [Python-es] Python y Base de Datos
2010/3/16 Francisco Javier Cuadrado > El día 16 de marzo de 2010 12:42, Hernan M Foffani > escribió: > > 2010/3/16 Soto > >> > >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico > >> que trata de putearnos y que tiene que ser una puta máquina. > >> Lo de cambiar la función de coficación me parece una idea bastante > buena. > >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión > >> supondrán una buena barrera de seguridad. > > > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La > > codificación es para aquellos que no entienden de temas de seguridad > tengan > > una sensación de protección extra. > > > > Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que > «tener». > Creen tener y tienen, aunque por razones distintas de las que creen. *Nunca* dije que uno fuera sustitución de lo otro. > Creo que todo este asunto ha derivado en una serie de mensajes con > poco sentido, ya que si no puedes proteger el acceso al archivo de la > contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de > nada ya que podrán ir a los archivos de tu código fuente y ver qué > haces para descifrar esa contraseña. > > Y creo que lo de que te quitarás un alto porcentaje de gente con bajo > nivel aquí no vale, ya que si no tienen buen nivel para conseguir el > código de descifrado no creo que tengan nivel suficiente para que con > la contraseña se pongan a «jugar» con la base de datos. > No se trata de quitar a nadie. Si el que paga reclama mas protección porque "¡que barbaridad! la clave está en claro", le intentas explicar que la seguridad no va por ahí. Si sigue con la misma cantinela, ROT13 y a por otra cosa. Además, si hubiera un método más seguro cualquier aplicación de uso > extendido lo usaría, pero es que las aplicaciones que hacen uso de > bases de datos (como aplicaciones web), mantienen un archivo con la > contraseña de la base de datos sin ningún tipo de ofuscación, > codificación y/o cifrado. Sólo te piden que tengan el mínimo de > permisos una vez hayas editado el archivo, es decir, sólo lectura para > el usuario que ejecute la aplicación. > Si sólo te piden eso es que saben de lo hablan y no hace falta mas. El problema, como dije antes, es cuando el cliente te dice que no es suficiente porque "¡él puede ver la clave!". El coste de esa educación no suele estar presupuestado y la "solución" (ROT13) es muy barata. > > >> > >> Aún así seguiré investigando. > >> Un saludo y mil gracias a todos > >> El 16 de marzo de 2010 12:03, Hernan M Foffani > >> escribió: > >>> > >>> 2010/3/16 lasizoillo > > > El 16 de m > > arzo de 2010 08:22, Soto escribió: > > > > Otra opción podría ser encriptar la contraseña en un fichero. Pero > hay > > métodos que te permiten descriptar contraseñas con bastante rapidez > como > > puede ser John the Ripper. http://www.openwall.com/john/ > > > > Si hay métodos para descifrar contraseñas con bastante rapidez cambia > de > algoritmo de cifrado. El problema no es la calidad del algoritmo de > cifrado. > Si puedes almacenar la contraseña de descifrado de forma segura, > puedes > almacenar la contraseña del mysql de forma segura. Si no puedes > almacenar la > contraseña del mysql de forma segura, olvidate de métodos que > requieran > contraseña como un algoritmo de cifrado/descifrado. > Si no puedes usar permisos para securizar el fichero con las claves > quedan algunas opciones (basadas en pasar el marron a otros sistemas): > * Usar un anillo de claves http://pypi.python.org/pypi/keyring > * Tratar de kerberizar tu servicio. No se hasta que punto se puede > kerberizar mysql o tu script. > Seguro que hay muchas más opciones. Pero a mi la de controlar los > permisos donde estan los ficheros con las passwords me funciona > bastante > bien ;-) > >>> > >>> Exacto. > >>> El otro gran problema es lo difícil hacer entender estos argumentos. > >>> Cuando las discusiones se tornan interminables e improductivas, antes > de > >>> perder la paciencia termino por aplicar una codificación trivial a la > clave, > >>> por ejemplo rot13 o similar, con lo que me evito discusiones > interminables. > >>> Aquel que entienda verá que el sistema de seguridad usado depende de > >>> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no > >>> entienda nada también se quedará tranquilo. > >>> -H. > >>> > >>> ___ > >>> Python-es mailing list > >>> Python-es@python.org > >>> http://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >> > >> __ > >> > >> "La ocasión hay que crearla, no esperar que llegue." > >> Francis Bacón > >> > >> ___ > >> Python-es mailing list > >> Python-es@python.org > >>
Re: [Python-es] Python y Base de Datos
El día 16 de marzo de 2010 12:42, Hernan M Foffani escribió: > 2010/3/16 Soto >> >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico >> que trata de putearnos y que tiene que ser una puta máquina. >> Lo de cambiar la función de coficación me parece una idea bastante buena. >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión >> supondrán una buena barrera de seguridad. > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La > codificación es para aquellos que no entienden de temas de seguridad tengan > una sensación de protección extra. > Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que «tener». Creo que todo este asunto ha derivado en una serie de mensajes con poco sentido, ya que si no puedes proteger el acceso al archivo de la contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de nada ya que podrán ir a los archivos de tu código fuente y ver qué haces para descifrar esa contraseña. Y creo que lo de que te quitarás un alto porcentaje de gente con bajo nivel aquí no vale, ya que si no tienen buen nivel para conseguir el código de descifrado no creo que tengan nivel suficiente para que con la contraseña se pongan a «jugar» con la base de datos. Además, si hubiera un método más seguro cualquier aplicación de uso extendido lo usaría, pero es que las aplicaciones que hacen uso de bases de datos (como aplicaciones web), mantienen un archivo con la contraseña de la base de datos sin ningún tipo de ofuscación, codificación y/o cifrado. Sólo te piden que tengan el mínimo de permisos una vez hayas editado el archivo, es decir, sólo lectura para el usuario que ejecute la aplicación. >> >> Aún así seguiré investigando. >> Un saludo y mil gracias a todos >> El 16 de marzo de 2010 12:03, Hernan M Foffani >> escribió: >>> >>> 2010/3/16 lasizoillo El 16 de m arzo de 2010 08:22, Soto escribió: > > Otra opción podría ser encriptar la contraseña en un fichero. Pero hay > métodos que te permiten descriptar contraseñas con bastante rapidez como > puede ser John the Ripper. http://www.openwall.com/john/ > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. Si puedes almacenar la contraseña de descifrado de forma segura, puedes almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la contraseña del mysql de forma segura, olvidate de métodos que requieran contraseña como un algoritmo de cifrado/descifrado. Si no puedes usar permisos para securizar el fichero con las claves quedan algunas opciones (basadas en pasar el marron a otros sistemas): * Usar un anillo de claves http://pypi.python.org/pypi/keyring * Tratar de kerberizar tu servicio. No se hasta que punto se puede kerberizar mysql o tu script. Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos donde estan los ficheros con las passwords me funciona bastante bien ;-) >>> >>> Exacto. >>> El otro gran problema es lo difícil hacer entender estos argumentos. >>> Cuando las discusiones se tornan interminables e improductivas, antes de >>> perder la paciencia termino por aplicar una codificación trivial a la clave, >>> por ejemplo rot13 o similar, con lo que me evito discusiones interminables. >>> Aquel que entienda verá que el sistema de seguridad usado depende de >>> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no >>> entienda nada también se quedará tranquilo. >>> -H. >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> __ >> >> "La ocasión hay que crearla, no esperar que llegue." >> Francis Bacón >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
2010/3/16 Soto > Parece ser que se trata de poner obstáculos al hipotético ente maléfico que > trata de putearnos y que tiene que ser una puta máquina. > > Lo de cambiar la función de coficación me parece una idea bastante buena. > Supongo usando eso y estableciendo permisos 600 al archivo en cuestión > supondrán una buena barrera de seguridad. > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La codificación es para aquellos que no entienden de temas de seguridad tengan una sensación de protección extra. > Aún así seguiré investigando. > > Un saludo y mil gracias a todos > > El 16 de marzo de 2010 12:03, Hernan M Foffani escribió: > > 2010/3/16 lasizoillo >> >> >>> >>> El 16 de m >>> >> arzo de 2010 08:22, Soto escribió: >>> >>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay métodos que te permiten descriptar contraseñas con bastante rapidez como puede ser John the Ripper. http://www.openwall.com/john/ >>> Si hay métodos para descifrar contraseñas con bastante rapidez cambia de >>> algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. >>> Si puedes almacenar la contraseña de descifrado de forma segura, puedes >>> almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la >>> contraseña del mysql de forma segura, olvidate de métodos que requieran >>> contraseña como un algoritmo de cifrado/descifrado. >>> >>> Si no puedes usar permisos para securizar el fichero con las claves >>> quedan algunas opciones (basadas en pasar el marron a otros sistemas): >>> * Usar un anillo de claves http://pypi.python.org/pypi/keyring >>> * Tratar de kerberizar tu servicio. No se hasta que punto se puede >>> kerberizar mysql o tu script. >>> >>> Seguro que hay muchas más opciones. Pero a mi la de controlar los >>> permisos donde estan los ficheros con las passwords me funciona bastante >>> bien ;-) >>> >> >> Exacto. >> >> El otro gran problema es lo difícil hacer entender estos argumentos. >> Cuando las discusiones se tornan interminables e improductivas, antes de >> perder la paciencia termino por aplicar una codificación trivial a la clave, >> por ejemplo rot13 o similar, con lo que me evito discusiones interminables. >> Aquel que entienda verá que el sistema de seguridad usado depende de >> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no >> entienda nada también se quedará tranquilo. >> >> -H. >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > __ > > "La ocasión hay que crearla, no esperar que llegue." > Francis Bacón > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Parece ser que se trata de poner obstáculos al hipotético ente maléfico que trata de putearnos y que tiene que ser una puta máquina. Lo de cambiar la función de coficación me parece una idea bastante buena. Supongo usando eso y estableciendo permisos 600 al archivo en cuestión supondrán una buena barrera de seguridad. Aún así seguiré investigando. Un saludo y mil gracias a todos El 16 de marzo de 2010 12:03, Hernan M Foffani escribió: > 2010/3/16 lasizoillo > > >> >> El 16 de m >> > arzo de 2010 08:22, Soto escribió: >> >> >>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>> puede ser John the Ripper. http://www.openwall.com/john/ >>> >>> >>> >> Si hay métodos para descifrar contraseñas con bastante rapidez cambia de >> algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. >> Si puedes almacenar la contraseña de descifrado de forma segura, puedes >> almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la >> contraseña del mysql de forma segura, olvidate de métodos que requieran >> contraseña como un algoritmo de cifrado/descifrado. >> >> Si no puedes usar permisos para securizar el fichero con las claves quedan >> algunas opciones (basadas en pasar el marron a otros sistemas): >> * Usar un anillo de claves http://pypi.python.org/pypi/keyring >> * Tratar de kerberizar tu servicio. No se hasta que punto se puede >> kerberizar mysql o tu script. >> >> Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos >> donde estan los ficheros con las passwords me funciona bastante bien ;-) >> > > Exacto. > > El otro gran problema es lo difícil hacer entender estos argumentos. Cuando > las discusiones se tornan interminables e improductivas, antes de perder la > paciencia termino por aplicar una codificación trivial a la clave, por > ejemplo rot13 o similar, con lo que me evito discusiones interminables. > Aquel que entienda verá que el sistema de seguridad usado depende de > servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no > entienda nada también se quedará tranquilo. > > -H. > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > __ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
2010/3/16 lasizoillo > > > El 16 de marzo de 2010 08:22, Soto escribió: > > >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> >> > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de > algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. > Si puedes almacenar la contraseña de descifrado de forma segura, puedes > almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la > contraseña del mysql de forma segura, olvidate de métodos que requieran > contraseña como un algoritmo de cifrado/descifrado. > > Si no puedes usar permisos para securizar el fichero con las claves quedan > algunas opciones (basadas en pasar el marron a otros sistemas): > * Usar un anillo de claves http://pypi.python.org/pypi/keyring > * Tratar de kerberizar tu servicio. No se hasta que punto se puede > kerberizar mysql o tu script. > > Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos > donde estan los ficheros con las passwords me funciona bastante bien ;-) > Exacto. El otro gran problema es lo difícil hacer entender estos argumentos. Cuando las discusiones se tornan interminables e improductivas, antes de perder la paciencia termino por aplicar una codificación trivial a la clave, por ejemplo rot13 o similar, con lo que me evito discusiones interminables. Aquel que entienda verá que el sistema de seguridad usado depende de servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no entienda nada también se quedará tranquilo. -H. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Hazte tus propias funciones de cifrado y descifrado. Para despistar un poco más, pon como nombre de función: encodeBase64 y decodeBase64. Cualquiera avispado te va a encontrar estas funciones y comprender el algortimo de cifrado simétrico, y ver que realmente no es base 64. Pero como todo en seguridad, te puede proteger de un x%, evidentemente no tan efectivo como la clave asimétrica o cosas así xD. Es muy fácil hacerte tu propia función de cifrado simétrico con la operación booleana XOR. Gracias a este propiedad: a XOR b = c c XOR b = a Donde: a=mensaje desencriptado b=clave simétrica, conocidos por los 2 c=hash o mensaje encriptado Por cierto, llevo más de 1 año suscrito a la lista, y es la primera vez que escribo xD HOLA xD Un saludo. El 16 de marzo de 2010 11:35, lasizoillo escribió: > > > El 16 de marzo de 2010 08:22, Soto escribió: > > >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> >> > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de > algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. > Si puedes almacenar la contraseña de descifrado de forma segura, puedes > almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la > contraseña del mysql de forma segura, olvidate de métodos que requieran > contraseña como un algoritmo de cifrado/descifrado. > > Si no puedes usar permisos para securizar el fichero con las claves quedan > algunas opciones (basadas en pasar el marron a otros sistemas): > * Usar un anillo de claves http://pypi.python.org/pypi/keyring > * Tratar de kerberizar tu servicio. No se hasta que punto se puede > kerberizar mysql o tu script. > > Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos > donde estan los ficheros con las passwords me funciona bastante bien ;-) > > Un saludo: > > Javi > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El 16 de marzo de 2010 08:22, Soto escribió: > > Otra opción podría ser encriptar la contraseña en un fichero. Pero hay > métodos que te permiten descriptar contraseñas con bastante rapidez como > puede ser John the Ripper. http://www.openwall.com/john/ > > > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. Si puedes almacenar la contraseña de descifrado de forma segura, puedes almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la contraseña del mysql de forma segura, olvidate de métodos que requieran contraseña como un algoritmo de cifrado/descifrado. Si no puedes usar permisos para securizar el fichero con las claves quedan algunas opciones (basadas en pasar el marron a otros sistemas): * Usar un anillo de claves http://pypi.python.org/pypi/keyring * Tratar de kerberizar tu servicio. No se hasta que punto se puede kerberizar mysql o tu script. Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos donde estan los ficheros con las passwords me funciona bastante bien ;-) Un saludo: Javi ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
No creo que sea una buena idea dejar al usuario de mysql root sin clave. Tienes que tener en cuenta que el usuario con el que se accede a mysql no tiene nada que ver con el usuario del sistema root. También me planteé esa posibilidad y llegué a un nuevo callejón sin salida. Es que si se deja un usuario de mysql sin clave es un agujero de seguridad bastante grande. ¿Más ideas? __ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón El 16 de marzo de 2010 09:13, Manuel Enrique González Ramírez < maeng...@gmail.com> escribió: > mmm, tenes razón.. en ese caso podrías usar la conexión a mysql sin > clave de root y para acceder a tu programa encriptar la clave dentro de una > tabla de tu base de datos que será consultada por tu programa para dar > permiso a tus forms/modulos/etc. > > El 16 de marzo de 2010 02:55, Soto escribió: > > ¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con >> el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de >> dicho archivo para cargar la configuración del programa. >> __ >> >> "La ocasión hay que crearla, no esperar que llegue." >> Francis Bacón >> >> >> >> >> El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < >> maeng...@gmail.com> escribió: >> >> Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll >>> o .cualquiercosa y que luego los leas desde tu script de python >>> >>> El 16 de marzo de 2010 02:22, Soto escribió: >>> >>> Me interesa bastante este tema. Se me planteó este tema y aun no le he dado una solución feaciente. La primera aproximación fué usar con el módulo una opción para la contraseña. El inconveniente de esto es que al usar como comando el programa en un script habrá que dejar la contraseña al descubierto. Alguien comentó por aqui usar mysql para que guardase la contraseña, pero creo que no entendí muy bien la idea puesto que creo que se traslada el problema. Otra opción podría ser encriptar la contraseña en un fichero. Pero hay métodos que te permiten descriptar contraseñas con bastante rapidez como puede ser John the Ripper. http://www.openwall.com/john/ ¿Que otra solución sería posible? __ "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún objeto. Cuando no, piensa en otra cosa." Bertrand Russell El 15 de marzo de 2010 22:04, marmolro escribió: > Es la ley del script todo lo que hagas con él se puede hacer a mano > :) Así que estos cifrados sirven para despistar y poco más... > > > > 2010/3/15 Mario Lacunza > >> Hola, >> >> >> No entiendo por que no encryptas la contraseña en otro lado? usa por >> ejem MD5 u otro similar. >> >> >> Saludos / Best regards >> >> Mario Lacunza >> Email:: mlacu...@gmail.com >> Personal Website:: http://lacunza.biz/ >> Hosting:: http://mlv-host.com/ >> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >> MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav >> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >> >> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base >> de datos realizo un archivo que se llama conectar.py >> >> import MySQLdb >> >> host = "localhost" >> user = "usuario" >> passwd = " 12345" >> db = "prueba" >> >> conn = MySQLdb.connect (host,user, passwd , db) >> cursor = conn.cursor() >> >> Como hago para que mi clave de conexion al servidor mysql sea seguro, es >> decir asi todos ven la clave de acceso a la base de datos. >> >> Python 2.6.2 >> Ubuntu 9.10 >> >> >> >> >> >> ¡Obtén la mejor experiencia en la web! >> Descarga gratis el nuevo Internet Explorer 8. >> http://downloads.yahoo.com/ieak8/?l=e1 >> ___ >> Python-es mailing >> listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-e
Re: [Python-es] Python y Base de Datos
mmm, tenes razón.. en ese caso podrías usar la conexión a mysql sin clave de root y para acceder a tu programa encriptar la clave dentro de una tabla de tu base de datos que será consultada por tu programa para dar permiso a tus forms/modulos/etc. El 16 de marzo de 2010 02:55, Soto escribió: > ¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con > el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de > dicho archivo para cargar la configuración del programa. > __ > > "La ocasión hay que crearla, no esperar que llegue." > Francis Bacón > > > > > El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < > maeng...@gmail.com> escribió: > > Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o >> .cualquiercosa y que luego los leas desde tu script de python >> >> El 16 de marzo de 2010 02:22, Soto escribió: >> >> Me interesa bastante este tema. Se me planteó este tema y aun no le he >>> dado una solución feaciente. >>> La primera aproximación fué usar con el módulo una opción para la >>> contraseña. El inconveniente de esto es que al usar como comando el programa >>> en un script habrá que dejar la contraseña al descubierto. >>> Alguien comentó por aqui usar mysql para que guardase la contraseña, pero >>> creo que no entendí muy bien la idea puesto que creo que se traslada el >>> problema. >>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>> puede ser John the Ripper. http://www.openwall.com/john/ >>> >>> ¿Que otra solución sería posible? >>> __ >>> >>> "El hombre prudente sólo piensa en sus dificultades cuando ello tiene >>> algún objeto. >>> Cuando no, piensa en otra cosa." >>> >>> Bertrand Russell >>> >>> >>> >>> El 15 de marzo de 2010 22:04, marmolro escribió: >>> Es la ley del script todo lo que hagas con él se puede hacer a mano :) Así que estos cifrados sirven para despistar y poco más... 2010/3/15 Mario Lacunza > Hola, > > > No entiendo por que no encryptas la contraseña en otro lado? usa por > ejem MD5 u otro similar. > > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://lacunza.biz/ > Hosting:: http://mlv-host.com/ > Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: > MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav > On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: > > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base > de datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 > > > > > > ¡Obtén la mejor experiencia en la web! > Descarga gratis el nuevo Internet Explorer 8. > http://downloads.yahoo.com/ieak8/?l=e1 > ___ > Python-es mailing > listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> Manuel Enrique González Ramírez >> http://maengora.blogspot.com >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Manuel Enrique González Ramírez http://maengora.blogspot.com <><><><>_
Re: [Python-es] Python y Base de Datos
¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de dicho archivo para cargar la configuración del programa. __ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < maeng...@gmail.com> escribió: > Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o > .cualquiercosa y que luego los leas desde tu script de python > > El 16 de marzo de 2010 02:22, Soto escribió: > > Me interesa bastante este tema. Se me planteó este tema y aun no le he dado >> una solución feaciente. >> La primera aproximación fué usar con el módulo una opción para la >> contraseña. El inconveniente de esto es que al usar como comando el programa >> en un script habrá que dejar la contraseña al descubierto. >> Alguien comentó por aqui usar mysql para que guardase la contraseña, pero >> creo que no entendí muy bien la idea puesto que creo que se traslada el >> problema. >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> ¿Que otra solución sería posible? >> __ >> >> "El hombre prudente sólo piensa en sus dificultades cuando ello tiene >> algún objeto. >> Cuando no, piensa en otra cosa." >> >> Bertrand Russell >> >> >> >> El 15 de marzo de 2010 22:04, marmolro escribió: >> >>> Es la ley del script todo lo que hagas con él se puede hacer a mano >>> :) Así que estos cifrados sirven para despistar y poco más... >>> >>> >>> >>> 2010/3/15 Mario Lacunza >>> Hola, No entiendo por que no encryptas la contraseña en otro lado? usa por ejem MD5 u otro similar. Saludos / Best regards Mario Lacunza Email:: mlacu...@gmail.com Personal Website:: http://lacunza.biz/ Hosting:: http://mlv-host.com/ Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py import MySQLdb host = "localhost" user = "usuario" passwd = " 12345" db = "prueba" conn = MySQLdb.connect (host,user, passwd , db) cursor = conn.cursor() Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. Python 2.6.2 Ubuntu 9.10 ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 ___ Python-es mailing listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Manuel Enrique González Ramírez > http://maengora.blogspot.com > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > <><><><>___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o .cualquiercosa y que luego los leas desde tu script de python El 16 de marzo de 2010 02:22, Soto escribió: > Me interesa bastante este tema. Se me planteó este tema y aun no le he dado > una solución feaciente. > La primera aproximación fué usar con el módulo una opción para la > contraseña. El inconveniente de esto es que al usar como comando el programa > en un script habrá que dejar la contraseña al descubierto. > Alguien comentó por aqui usar mysql para que guardase la contraseña, pero > creo que no entendí muy bien la idea puesto que creo que se traslada el > problema. > Otra opción podría ser encriptar la contraseña en un fichero. Pero hay > métodos que te permiten descriptar contraseñas con bastante rapidez como > puede ser John the Ripper. http://www.openwall.com/john/ > > ¿Que otra solución sería posible? > __ > > "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún > objeto. > Cuando no, piensa en otra cosa." > > Bertrand Russell > > > > El 15 de marzo de 2010 22:04, marmolro escribió: > >> Es la ley del script todo lo que hagas con él se puede hacer a mano :) >> Así que estos cifrados sirven para despistar y poco más... >> >> >> >> 2010/3/15 Mario Lacunza >> >>> Hola, >>> >>> >>> No entiendo por que no encryptas la contraseña en otro lado? usa por ejem >>> MD5 u otro similar. >>> >>> >>> Saludos / Best regards >>> >>> Mario Lacunza >>> Email:: mlacu...@gmail.com >>> Personal Website:: http://lacunza.biz/ >>> Hosting:: http://mlv-host.com/ >>> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >>> MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav >>> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >>> >>> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de >>> datos realizo un archivo que se llama conectar.py >>> >>> import MySQLdb >>> >>> host = "localhost" >>> user = "usuario" >>> passwd = " 12345" >>> db = "prueba" >>> >>> conn = MySQLdb.connect (host,user, passwd , db) >>> cursor = conn.cursor() >>> >>> Como hago para que mi clave de conexion al servidor mysql sea seguro, es >>> decir asi todos ven la clave de acceso a la base de datos. >>> >>> Python 2.6.2 >>> Ubuntu 9.10 >>> >>> >>> >>> >>> >>> ¡Obtén la mejor experiencia en la web! >>> Descarga gratis el nuevo Internet Explorer 8. >>> http://downloads.yahoo.com/ieak8/?l=e1 >>> ___ >>> Python-es mailing >>> listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Manuel Enrique González Ramírez http://maengora.blogspot.com <><><><>___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Me interesa bastante este tema. Se me planteó este tema y aun no le he dado una solución feaciente. La primera aproximación fué usar con el módulo una opción para la contraseña. El inconveniente de esto es que al usar como comando el programa en un script habrá que dejar la contraseña al descubierto. Alguien comentó por aqui usar mysql para que guardase la contraseña, pero creo que no entendí muy bien la idea puesto que creo que se traslada el problema. Otra opción podría ser encriptar la contraseña en un fichero. Pero hay métodos que te permiten descriptar contraseñas con bastante rapidez como puede ser John the Ripper. http://www.openwall.com/john/ ¿Que otra solución sería posible? __ "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún objeto. Cuando no, piensa en otra cosa." Bertrand Russell El 15 de marzo de 2010 22:04, marmolro escribió: > Es la ley del script todo lo que hagas con él se puede hacer a mano :) > Así que estos cifrados sirven para despistar y poco más... > > > > 2010/3/15 Mario Lacunza > >> Hola, >> >> >> No entiendo por que no encryptas la contraseña en otro lado? usa por ejem >> MD5 u otro similar. >> >> >> Saludos / Best regards >> >> Mario Lacunza >> Email:: mlacu...@gmail.com >> Personal Website:: http://lacunza.biz/ >> Hosting:: http://mlv-host.com/ >> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >> MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav >> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >> >> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de >> datos realizo un archivo que se llama conectar.py >> >> import MySQLdb >> >> host = "localhost" >> user = "usuario" >> passwd = " 12345" >> db = "prueba" >> >> conn = MySQLdb.connect (host,user, passwd , db) >> cursor = conn.cursor() >> >> Como hago para que mi clave de conexion al servidor mysql sea seguro, es >> decir asi todos ven la clave de acceso a la base de datos. >> >> Python 2.6.2 >> Ubuntu 9.10 >> >> >> >> >> >> ¡Obtén la mejor experiencia en la web! >> Descarga gratis el nuevo Internet Explorer 8. >> http://downloads.yahoo.com/ieak8/?l=e1 >> ___ >> Python-es mailing >> listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > <><><><>___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Es la ley del script todo lo que hagas con él se puede hacer a mano :) Así que estos cifrados sirven para despistar y poco más... 2010/3/15 Mario Lacunza > Hola, > > No entiendo por que no encryptas la contraseña en otro lado? usa por ejem > MD5 u otro similar. > > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://lacunza.biz/ > Hosting:: http://mlv-host.com/ > Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: > MSN:] mlacun...@hotmail.com [image: Y! messenger:] mlacunzav > On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: > > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de > datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 > > > > > > ¡Obtén la mejor experiencia en la web! > Descarga gratis el nuevo Internet Explorer 8. > http://downloads.yahoo.com/ieak8/?l=e1 > ___ > Python-es mailing > listpython...@python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > <><><><>___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Hola, No entiendo por que no encryptas la contraseña en otro lado? usa por ejem MD5 u otro similar. Saludos / Best regards Mario Lacunza Email:: mlacu...@gmail.com Personal Website:: http://lacunza.biz/ Hosting:: http://mlv-host.com/ Chat mlacunzav mlacunzav mlacun...@hotmail.com mlacunzav On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py import MySQLdb host = "localhost" user = "usuario" passwd = " 12345" db = "prueba" conn = MySQLdb.connect (host,user, passwd , db) cursor = conn.cursor() Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. Python 2.6.2 Ubuntu 9.10 ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
On 15/03/10 12:26, Jordi Funollet wrote: El setuid es uno de los inventos más inseguros de Unix. Es equivalente a taponar un agujero de la pared con un cartucho de dinamita. +1 QOTW si es que tuviéramos Python-es-URL :-p ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
On Friday 12 March 2010 04:48:40 Jean Carlos Rodrìguez wrote: > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. > Depende de a quién te refieras al decir "todos". Separar la configuración del código, como ya te han aconsejado, es lo más elemental. Sin esto no puedes considerar que tu programa puede configurarse. Una vez separado, incluye en el código una configuración de ejemplo y cada usuario podrá generar la configuración que le convenga. Para evitar que otros usuarios del mismo servidor lean ese fichero limita los permisos del mismo: dale permisos de lectura solo al usuario que correrá los scripts (con `chmod 600`). Si es una aplicación web, en Ubuntu generalmente será 'www-data'. Otros scripts corriendo en el mismo servidor web y, por tanto, con el usuario 'www-data', podrían tener acceso a ese fichero. Una forma de evitarlo es correr tus scripts con otro usuario distinto, fuera del servidor web. Con FastCGI es razonablemente fácil, pero a menudo es rizar el rizo. Otra definición de "todos" podría ser usuarios externos a la máquina pero que puedan esnifar los paquetes que van de tu servidor web a tu servidor Mysql (suponiendo que estén en máquinas distintas). En este caso puedes configurar Mysql para tener las conexiones encriptadas. http://dev.mysql.com/doc/refman/5.0/en/secure-connections.html -- ## ### Jordi Funollet ### http://www.terraquis.net ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
On Friday 12 March 2010 11:01:22 José Luis Torre Hernández wrote: > Además, tendrás que habilitar el set-uid para el proceso que lee el fichero > de contraseña (por ej. con #chmod 2710) de manera que el ejecutable tenga > acceso al fichero (o en el propio ejecutable realices otras funciones de > encriptación) > El setuid es uno de los inventos más inseguros de Unix. Es equivalente a taponar un agujero de la pared con un cartucho de dinamita. En general, si llegas a un punto en que necesitas usar setuid significa que has planteado las cosas mal un par de niveles más arriba. -- ## ### Jordi Funollet ### http://www.terraquis.net ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El 14/03/10 16:06, Jose Caballero escribió: > nes para no querer que el login/password esté escrito en el propio código. > Hay casos donde el código es "open source" y está disponible a través de > la web para tus usuarios, pero eso no significa que quieras que > cualquiera encuentre el login/password a tu base de datos a través de > google. Pero es que eso es distinto! El código disponible, debe ser el código base... no el código en producción, con los parámetros de acceso a base de datos usados en el sitio! -- Renato Covarrubias Romero counter.li.org #399677 listas [at] rnt.clhttp://rnt.cl https://fedoraproject.org/wiki/User:Rcovarru ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Una pregunta: para qe queres que no se va la contraseña? Hay muchas razones para no querer que el login/password esté escrito en el propio código. Hay casos donde el código es "open source" y está disponible a través de la web para tus usuarios, pero eso no significa que quieras que cualquiera encuentre el login/password a tu base de datos a través de google. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Hola el problema es que es una aplicacion, y con el login, passwd y lugar donde se encuentra la base de datos, se pueden meter y modifacar la misma?? es por seguridad --- El sáb, 3/13/10, juan marcelo conca escribió: > De: juan marcelo conca > Asunto: Re: [Python-es] Python y Base de Datos > A: "La lista de python en castellano" > Fecha: sábado, 13 de marzo de 2010, 02:35 pm > Una pregunta: para qe queres que no > se va la contraseña? estas en > python y ubuntu > En donde lo usas? > Un saludo. > -- > Machi Conca. > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
Una pregunta: para qe queres que no se va la contraseña? estas en python y ubuntu En donde lo usas? Un saludo. -- Machi Conca. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El 12/03/10 00:48, Jean Carlos Rodrìguez escribió: > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de > datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 Lo más sencillo, es usar base de datos/usuario/contraseña distintas para producción y para desarrollo. Saludos! -- Renato Covarrubias Romero counter.li.org #399677 listas [at] rnt.clhttp://rnt.cl https://fedoraproject.org/wiki/User:Rcovarru ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El 12 de marzo de 2010 10:29, Juan Ignacio escribió: > 2010/3/12 Francisco Javier Cuadrado : > > > Si le das permisos de lectura sólo al usuario que ha creado ese > > archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá > > ejecutar o con el usuario de los permisos o «root», no sólo con > > «root». > > Ok, perdona, no te habia entendido, tienes razón :-) > > De todas formas, el esquema me parece muy flojo, si alguien tiene un > sistema mejor estoy muy interesado > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Además, tendrás que habilitar el set-uid para el proceso que lee el fichero de contraseña (por ej. con #chmod 2710) de manera que el ejecutable tenga acceso al fichero (o en el propio ejecutable realices otras funciones de encriptación) Saludos José Luis ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
2010/3/12 Francisco Javier Cuadrado : > Si le das permisos de lectura sólo al usuario que ha creado ese > archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá > ejecutar o con el usuario de los permisos o «root», no sólo con > «root». Ok, perdona, no te habia entendido, tienes razón :-) De todas formas, el esquema me parece muy flojo, si alguien tiene un sistema mejor estoy muy interesado ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El día 12 de marzo de 2010 10:22, Juan Ignacio escribió: > 2010/3/12 Daniel Garcia : >> >> Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la >> contraseña, en teoría es seguro menos para root, que todo lo ve, pero >> eso es inevitable. > > Pero, además, el proceso que lee la contraseña también se tendrá que > ejecutar con permisos de root, lo que es también bastante peligroso. ¿Ein? Si le das permisos de lectura sólo al usuario que ha creado ese archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá ejecutar o con el usuario de los permisos o «root», no sólo con «root». > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
2010/3/12 Daniel Garcia : > > Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la > contraseña, en teoría es seguro menos para root, que todo lo ve, pero > eso es inevitable. Pero, además, el proceso que lee la contraseña también se tendrá que ejecutar con permisos de root, lo que es también bastante peligroso. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
El vie, 12-03-2010 a las 08:49 +, Juan Ignacio escribió: > 2010/3/12 Jean Carlos Rodrìguez : > > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de > > datos realizo un archivo que se llama conectar.py > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > > decir asi todos ven la clave de acceso a la base de datos. > > Es una pregunta muy interesante, a mi se me plantea el mismo problema > desde hace tiempo. Lo que hago ahora es una chapuza, simplemente para > evitar que leyendo el código aparezca la contraseña en claro, la > contraseña está codificada en base64 y guardada en un fichero externo. > Evidentemente, esta seguridad es nula ante cualquiera con un mínimo de > conocimientos, solo evita, como digo, el que se vea en una inspección > superficial. Viene a ser como un condón de ganchicho: protege poco, > solo te mantiene calentito. :-) > Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la contraseña, en teoría es seguro menos para root, que todo lo ve, pero eso es inevitable. signature.asc Description: Esto es una parte de mensaje firmado digitalmente ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Python y Base de Datos
2010/3/12 Jean Carlos Rodrìguez : > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de > datos realizo un archivo que se llama conectar.py > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. Es una pregunta muy interesante, a mi se me plantea el mismo problema desde hace tiempo. Lo que hago ahora es una chapuza, simplemente para evitar que leyendo el código aparezca la contraseña en claro, la contraseña está codificada en base64 y guardada en un fichero externo. Evidentemente, esta seguridad es nula ante cualquiera con un mínimo de conocimientos, solo evita, como digo, el que se vea en una inspección superficial. Viene a ser como un condón de ganchicho: protege poco, solo te mantiene calentito. :-) -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euriba...@gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Python y Base de Datos
Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py import MySQLdb host = "localhost" user = "usuario" passwd = " 12345" db = "prueba" conn = MySQLdb.connect (host,user, passwd , db) cursor = conn.cursor() Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. Python 2.6.2 Ubuntu 9.10 ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/