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.

4 comentarios

  1. Anónimo // 5:35 p.m.  

    Dear Blogger,

    I recently launched a blog articles site exclusively for bloggers ... built entirely from articles submitted by bloggers.

    We all know that the best content on the web is produced by bloggers ... unbiased first hand knowledge, experiences and opinions. Nothing to sell and no hidden agendas!

    As a seeker of information or article content, you have access to this vast source of interesting and informative articles. As a contributor, you get the recognition of having your article published and seen by thousands of web users. The pride and satisfaction of seeing your article published in a prestige directory is hard to beat.

    Not all of us are gifted with the ability to write to professional standards of grammatical correctness ... as a result, many bloggers don't bother to have their articles published.

    We welcome an informal style of writing that matches your personality and fits in with your article content. We welcome articles that are uniquely based on your personal knowledge, experiences and opinions. All we ask is that your articles do not contain vulgar language, incite hatred or generally offensive.

    All this is absolutely free ... please come over and have a look at our blog articles directory for yourself.

    Best Regards
    Emily

  2. Infactahost.com // 12:25 a.m.  

    Hey, you have a great blog here! I'm definitely going to bookmark you!

    I have a web hosting service site/blog. It pretty much covers web hosting service related stuff.

    Come and check it out if you get time :-)

  3. ebaypowerseller2006 // 8:51 a.m.  

    I enjoyed reading your blog. There is a lot of useful information about ftp web hosting in it. We offer Turnkey Websites and Reliable Hosting. We also provide a blogging service that will help your site get indexed fast and keep the search engines visiting your site. Click here for more information about ftp web hosting.
    Thank you
    TWP Admin

  4. Anónimo // 2:54 p.m.  

    Hello,

    Just thought I would check out your blog.
    I am new to blogging. I hope you don't mind me posting to your blog. If you are interested in checking out my blog and making a post that would be great.

    I have a christian hosting web site/blog. It pretty much covers ##WEB HOSTING## related stuff.


    Thanks,
    Ed