Raul Perez escribió: > Salud a todos > > Tengo mysql 5 y phpp 5 en un servidor con centos > La pregunta es que codigo han implementado ustedes para > asegurar sus aplicaciones en php para evitar injection de sql y xss
Ok, veamos. Para prevenir XSS, utiliza un sistema de templates como PHPTAL, Html_template_flexy o cualquier otro que siga la siguiente regla "elemental" : pasar por htmlspecialchars con la codificacion correcta cualquier "placeholder" al que se le asignen variables a mostrar en pantalla, a no ser que tu deliberadamente le digas lo contrario. ( esto es un sistema de whitelist) cualquier otra forma es propensa a demasiados errores involuntarios. Puedes validar con expresiones regulares u otros por otras razones, pero lo mas imporante es la forma en la cual los datos son **enviados** al navegador, no de la forma que son recibidos, XSS mas que un problema de input es de **output**, evita modificar,eliminar,alterar los datos enviados por el usuario, si no corresponden al formato esperado, emite un error, si es de formato libre, solo preocupate de que cuando estos se muestren el navegador, este los interprete de forma segura y recuerda que esto es valido tanto como para los datos que vienen desde usuario como los que vienen de la DB.( si olvidas esto ultimo vas a caer en una injeccion de "segundo orden" donde te atacan con los datos ya almacenados ;) ) Para prevenir sql injection, utiliza un sistema de ORM o en su defecto alguna biblioteca especializada como Creole, Adodb , MDB2 , PDO que permita utilizar consultas preparadas y/o "bound parameters" y obliga al programador a utilizarlas como costumbre, en todas las consultas que utilizen variables, no importa si esas variables vienen o no vienen directamente del usuario..cualquier otro metodo que utilizes vas en directa picada al fracaso, porque siempre se te puede olvidar utilizar mysql_real_escape_string() en 1 de las miles o millones de variables que pueda tener tu aplicacion. Ademas asegurate que tu base de datos utilize la misma codificacion de caracteres que tu aplicacion y que el cliente que se conecta a esta tambien, en ciertos casos puede generarse un problema de seguridad cuando la codificacion de caracteres no coincide. Por ultimo no utilizar addslashes() o cualquier otra funcion "tuya" para escapar los parametros de las consultas, utiliza solo las funciones especificas y recomendadas para cada DBMS en particular. Espero que te sea de ayuda. Saludos. -- "You don't have to burn books to destroy a culture. Just get people to stop reading them." --Ray Bradbury Cristian Rodríguez R. SUSE LINUX Products GmbH Research & Development From [EMAIL PROTECTED] Fri Sep 21 09:50:12 2007 From: [EMAIL PROTECTED] (marco olivares) Date: Fri Sep 21 10:18:13 2007 Subject: OT: EDULINUX In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> El día 20/09/07, Marcos Vargas <[EMAIL PROTECTED]> escribió: > > Hola > > Les cuento el escenario es el siguiente: > > Tenemos una red con un dhcp con linux y queremos colocar un LTSP > "Edulinux" > funcionando tambien en esta red, modificamos el dhcp.conf y algunas > configuraciones de este servidor y esta funcionando, pero el problema que > tenemos, es que no esta funcionando el mouse en las estaciones, este > edulinux tiene un administrador grafico de estaciones, que al modificar el tipo de mouse de la estacion no graba los cambios, por lo cual necesito > saber el nombre y donde esta ubicado el archivo en el cual quedan grabadas > estas modificaciones ya que graficamente no funciona. ... a mi me funciona.... debes seleccionar el cliente.... con su mac respectiva... y presionar el boton regenar escritorio....o ir a herramientas y regenerar todos los escritorios.... nota: es un servidor para el EDULINUX con su propio dhcp pero esta > funcionando solamente con las mac de las tarjetas de las estaciones viejas yo los uso con pxe, y con etherboot con floppy y hdd... tengo 15 estaciones...amd 450MHZ con 120 RAM. espero te sirva... -- > Marcos Vargas Hormazabal > -- Marco Rojas O. Usuario Linux Registrado http://counter.li.org/cgi-bin/certificate.cgi/396707 From [EMAIL PROTECTED] Fri Sep 21 10:56:33 2007 From: [EMAIL PROTECTED] (Marcos Vargas) Date: Fri Sep 21 10:58:57 2007 Subject: OT: EDULINUX In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> lo que pasa es que tengo 2 dhcp en mi red, el que tenia antes de instalar EDULINUX que esta hecho en linux ademas es dominio de mi red y funciona solo con las mac y el nuevo servidor que esta funcionando de igual manera con un ambito especifico para que le de solo ip a las estaciones viejas y ademas envie el LTSP a estas a traves de floppy.Al hacer estas modificaciones las hice directamente al dhcpd.conf y al parecer el administrador de estaciones se mareo y no graba las modificaciones para las estaciones como la tarjeta de sonido, el mouse, etc., por lo cual necesito si alguien sabe cual es el archivo especifico en el cual se graban estas modificaciones para cada estacion como el mouse, video, audio etc. Muchas Gracias El día 21/09/07, marco olivares <[EMAIL PROTECTED]> escribió: > > El día 20/09/07, Marcos Vargas <[EMAIL PROTECTED]> escribió: > > > > Hola > > > > Les cuento el escenario es el siguiente: > > > > Tenemos una red con un dhcp con linux y queremos colocar un LTSP > > "Edulinux" > > funcionando tambien en esta red, modificamos el dhcp.conf y algunas > > configuraciones de este servidor y esta funcionando, pero el problema > que > > tenemos, es que no esta funcionando el mouse en las estaciones, este > > edulinux tiene un administrador grafico de estaciones, que al modificar > el > > tipo de mouse de la estacion no graba los cambios, por lo cual necesito > > saber el nombre y donde esta ubicado el archivo en el cual quedan > grabadas > > estas modificaciones ya que graficamente no funciona. > > > > ... a mi me funciona.... debes seleccionar el cliente.... con su mac > respectiva... y presionar el boton regenar escritorio....o ir a > herramientas > y regenerar todos los escritorios.... > > nota: es un servidor para el EDULINUX con su propio dhcp pero esta > > funcionando solamente con las mac de las tarjetas de las estaciones > viejas > > > yo los uso con pxe, y con etherboot con floppy y hdd... tengo 15 > estaciones...amd 450MHZ con 120 RAM. > espero te sirva... > > > -- > > Marcos Vargas Hormazabal > > > > > > -- > Marco Rojas O. > Usuario Linux Registrado > http://counter.li.org/cgi-bin/certificate.cgi/396707 > -- Marcos Vargas Hormazabal From [EMAIL PROTECTED] Fri Sep 21 11:47:47 2007 From: [EMAIL PROTECTED] (Aldrin Gonzalo Martoq Ahumada) Date: Fri Sep 21 11:50:11 2007 Subject: Consideraciones para usar entorno grafico en servidor In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> On 9/19/07, kazabe <[EMAIL PROTECTED]> wrote: > Todos los servidores que he implementado hasta el momento, han sido > para trabajarlos remotamente por ssh y en algunos casos por webmin. > Ultimamente varios usuarios me han solicitado la viabilidad de > administrar el servidor por medio de un entorno grafico comparando > permanentemente la facilidad de administracion por terminal server de > los servidores MS, o con como las soluciones novell suse o redhat son > mas "amigables" (por lo graficas). > Siempre mi argumento ha sido la seguridad, y el como entre menos > servicios esten arriba, menos posibilidades de problemas existen. > Pero ha sido tanta la insistencia de varios, que estoy evaluando > realmente hasta que punto es viable activar el servidor grafico en un > servidor. En mi opinion: depende... todo depende. Depende del uso y objetivo del tarro en cuestion. Un ejemplo: un "terminal server" es por definicion un servidor y corre aplicaciones graficas. > Por lo general los servidores que implemento son una maquina con > debian, para firewall, proxy, correo para un unico dominio, con > usuarios del sistema sin shell; el clasico LAMP, y a veces mensajeria > con jabber. Son servidores para entre 30 y 50 usuarios, que > basicamente requieren gestion de la navegacion y tener su correo y > control de spam centralizado. > En que casos puede ser realmente critico tener el servidor con entorno > grafico, o mas bien que consideraciones deberian tenerse en cuenta > para usar entorno grafico en servidores, sin que por ello la seguridad > sea olvidada? Siempre puedes darte "el lujo" de tener un entorno grafico; el cual puedes implementar de distintas formas, algunas mas seguras que otras. Ejemplos que se vienen a mi mente: - Instalar solo las bibliotecas y aplicaciones graficas que necesites. Para ejecutarlas, debes ingresar via "ssh -X" y luego escribir el comando en tu terminal. Requieres servidor X en el cliente. - Levantar gdm, e ingresar a traves del protocolo XDMCP. Requieres servidor X en el cliente. - Levantar vino-server, o gdm controlado por una sesion VNC. Requieres cliente VNC en el cliente. A veces se tienen las aplicaciones graficas por que el administrador no conoce otra forma de manejar el sistema, a veces porque es mas facil, a veces porque es requisito o porque el "servidor" esta destinado a ser terminal server, etc... En general, para tarros de desarrollo o explotacion, esta bien como dices. Para tarros mas criticos, lo unico que importa es la seguridad del mismo y por eso es mejor tener la menor cantidad de software disponible (aun si no se usa). El nivel de importancia del tarro lo defines tu. -- Aldrin Martoq From [EMAIL PROTECTED] Fri Sep 21 12:57:33 2007 From: [EMAIL PROTECTED] (=?ISO-8859-1?Q?Germ=E1n_Po=F3-Caama=F1o?=) Date: Fri Sep 21 13:28:48 2007 Subject: sistema de votacion In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> On Thu, 2007-09-20 at 16:05 -0400, Alvaro Herrera wrote: > Victor Hugo dos Santos escribió: > > > - se establece un nuevo tema de votación > > - a todos los inscriptos el sistema envia un correo con un campo clave > > que coincide con su dirección de correo > > - el usuario clica en responder con su opción en el correo > > - el sistema verifica el valor/campo con la dirección del usuario y > > guardar en una BD. > > > > el otro seria un sistema que generar enlaces aleatorios para cada > > dirección de correo, por ejemplo: > > > > para SI click aca <www.voto.cl/djng234vsfb.php> > > para NO click aca <www.voto.cl/dgfklmaehrfev.php> > > para QUIEN SABE click aca <www.voto.cl/sdoui23211dv.php> > > Germán Poo publicó una explicación del sistema de votación que antes se > usaba para las GUADEC. Se usó un mecanismo muy parecido para hacer un > referendum respecto del Encuentro Linux, hace como un año o algo así. > No recuerdo los detalles, pero básicamente hay que tener de antemano un > registro de los votantes válidos; no puede votar cualquier perejil. > A cada votante se le envía una balota que contiene una "contraseña", > única para cada votante, así que no es tan fácil falsificar un voto. No era para la GUADEC, sino para la elección del Directorio de la Fundación GNOME. Una explicación general se encuentra en: http://www.encuentrolinux.cl/pipermail/encuentro/2006-November/000430.html Aunque según entiendo, lo que requiere Victor Hugo es algo más simple. -- Germán Poó Caamaño Concepción - Chile

