En mi largo andar por este camino del desarrollo y a ultimas fechas en el mundo LAMP me he dado cuenta que muchos de los que empezamos a programar en PHP y MySQL lo hacemos desde Windows. Lo que me sorprendio es que hay algunos aventureros que dejan esa instalacion en Windows o no cambian a lo seguro porque le tienen 'miedo' a Linux y dejan esta implementacion para su sistema en produccion . Por esta razon me di a la tarea de buscar algo que les pudiera ayudar a asegurar sus instalaciones y confiar un poco mas en sus soluciones WAMP. A continuacion una serie de sugerencias para tal fin.
Paso 1. Instala en una versión reciente de Windows basada en tecnología NT.
Cabe mencionar que mi recomendación personal (y seguro de la mayoría de los lectores) es utilizar Linux, pero si de plano esto no es posible es imperativo que el servidor se instale en Winbugs XP, 2000 o 2003 Server; estas ya cuentan con políticas de seguridad mas desarrolladas y son mas estables que 95, 98 o ME (recuerdas las pantallas azules), por supuesto hay que asegurarse de tener los parches y Service's Pack's mas recientes.
Paso 2. Utiliza el sistema de archivos NTFS.
NTFS es un sistema de archivos mucho mas seguro que su predecesor FAT32, entre otras cosas soporta control de accesos, archivos de mayor tamaño y encripcion de datos. Bubsca mas información al respecto http://www.ntfs.com/ntfs_vs_fat.htm para mayor información acerca de los beneficios de utilizar este sistema.
Paso 3: Procura que este alojado en un servidor destinado solo para ese fin.
Cualquier servidor de base de datos en producción debería estar corriendo en un equipo dedicado única y exclusivamente para ese fin, claro que esto no aplica si estas haciendo prueba o apenas aprendiendo. Todos los servicios que no sean requeridos deben estar deshabilitados y ninguna otra aplicación debe estar ejecutándose ahí mismo. Esto no solo incrementa la estabilidad del servidor de Base de Datos, también deja libres los recursos del sistema para que atiendan por completo a MySQL y previene que otras aplicaciones puedan causar riesgos de seguridad. Tampoco es recomendable tener varias cuentas de usuario 'mortal' con la cuenta de administrador es suficiente.
Paso 4: Descarga e instala la mas reciente versión para producción de MySQL.
Al momento de escribir/traducir este articulo la última versión en producción de MySQL es la 4.1.14; al utilizar la versión mas nueva nos aseguramos de que tenemos el producto mas estable y seguro posible. Si eres de los aventureros/as que le gusta utilizar las versiones aun no liberadas para probarlas, pues adelante pero nunca pongas en producción una versión beta, no es recomendable ya que no todos los errores o posibles huecos de seguridad han sido completamente corregidos, lo cual obviamente incrementa la posibilidad de ataques maliciosos e inestabilidad en tu servidor.
Paso 5: Utiliza cuentas de acceso seguras.
Asegúrate de que root así como todos los usuarios de la base de datos tengan contraseña, y no solo la clasica 123, abc, admin o todas esas contraseñas que tú y yo sabemos que son demasiado obvias. La clave debe tener por lo menos seis caracteres y debe contener letras (mayúsculas y minúsculas), número y símbolos y no debe estar contenida en un diccionario. Una buena técnica es elegir una frase y tomar los primeros caracteres de la misma así como los símbolos. Por ejemplo "To be, or not to be: that is the question!", esta puede ser convertida a "2b,On2b:Tstq!". Esta clave es mucho mas segura (bueno hasta antes de haberla publicado aquí) y también fácil de recordar. Intenta con frases menos comunes ya que tarde o temprano esta técnica también tratara de ser explotada.
Hablando de cuentas de usuarios también es importante que definas específicamente quien tiene acceso desde un equipo externo y es altamente recomendable no dejar cuentas anónimas disponibles.
Proximamente complementare el resto de este documento, recibo comentarios si es que se presenta alguna duda o sugerencia.
Asegurando MySQL en Windows (Primera Parte)
Autor: gomezbjesus | 10/19/2005 | Seguridad | 0 comentarios »
Bueno, esta ya no es informacion muy nueva pero sin duda es muy interesante, se refiere a una "nueva serie" de aplicaciones que esta surgiendo en el mercado, dedicadas a ubicar tu posicion en el globo terraqueo, con la finalidad de decirte primeramente donde te encuentras y llegar al grado de recomendarte lugares (restaurantes, hoteles, centros de espectaculos, museos, etc.) segun el lugar en el que te ubiques.
Empiezo por platicar acerca de Google Maps, lanzado hace unos meses, el cual te permite ubicar las mas importantes carreteras de EUA y al parecer algunas de Mexico y en el caso del pais vecino inclusive las principales calles y puntos interesantes de algunas ciudades.
Micro$oft no pudo quedarse atras y poco tiempo despues lanzo su producto llamado MSN Virtual Earth el cual te proporciona un resultado muy similar al anterior e inclusive por medio de tu IP o conexion inalambrica WiFi te da la localizacion "exacta" de donde te encuentras.
Pero el que si me sorprendio, e invito a que prueben, es la nueva generacion de la familia Google, se llama Google Earth, es una aplicacion que descargas gratuitamente, instalas e inmediatamente puedes usar. Inicialmente te muestra una imagen del globo terraqueo, con unos cuantos dobles click en lugares estrategicos te posicionas en cualquier ciudad del mundo y en algunas importantes como el DF, Tokio, Londres, etc, puedes llegar a ver inclusive edificios y casas en relieve.
Me pongo a pensar, si esto es lo que esta al alcance de cualquier mortal, que tanto habra que no conocemos.
Cada vez que hago un "rm -fr *" como root un escalofrio me recorre el cuerpo, sobretodo, cuando estoy conectado por ssh a algun servidor de produccion. Por eso he decidido incluir en todos los equipos con los que trabajo la siguiente linea en el ".bashrc"
De esta manera cada vez que borro cualquier cosa, en vez de borrarlo, lo que hago es moverlo a un directorio llamado "/papelera". Despues de incluir la linea en el archivo es necesario volver a iniciar la sesion para que los cambios tengan efecto.
Supongo que habra formas mas elegantes de hacerlo pero esto a mi me funciona.
Encontre este comentario en "Linux Free Magazine" Año 3, 2° Trim, No. 10. pag. 81



