Seguridad básica: instalación de WordPress

Hoy seguiremos nuestro tutorial sobre Seguridad en WordPress con el segundo apartado, Seguridad básica: instalación de WordPress. La instalación de WordPress es la base de nuestra seguridad y, aunque es extremadamente fácil de hacer, lo mejor es tomársela  con calma y prestar atención a todos sus detalles, que no siempre son tenidos en cuenta.

  1. Usuario de la base de datos: lo ideal es crear un usuario destinado exclusivamente a nuestro blog, con permisos exclusivos para trabajar con las tablas de WordPress. Es por eso que no debemos utilizar nunca el usuario root. En general, los permisos que daremos al usuario destinado a acceder a la base de datos de nuestro blog serán SELECT, INSERT, UPDATE, DELETE (para datos) y CREATE, ALTER, DROP (para estructuras), pudiendo descartar el CREATE y el DROP si comparte su base de datos con otros proyectos.
  2. Cambia el prefijo de tus tablas: WordPress por defecto utiliza wp_ como prefijo para las tablas correspondientes a nuestro WordPress, pero siempre se debería cambiar esta opción en nuestra instalación. De esta forma alguien que quiera acceder a nuestros datos deberá conocer ese prefijo antes. Lo mejor, pues, es utilizar un prefijo aleatorio que no sea de fácil deducción.
  3. Elimina los ficheros de instalación: en /wp-admin/, install.php, upgrade.php e installer-helper.php. También puedes eliminar los importadores (wp-admin/import/), que sirven para importar contenido y modifican la base de datos.
  4. Fichero wp-config.php: es nuestro fichero más importante para la configuración de WordPress y, por lo tanto, para nuestra seguridad. Con él conectamos a la base de datos, así que hay información confidencial. Por este motivo, tenemos que darle permisos 644, es decir, tenerlo como fichero de sólo lectura.
  5. Cambia tu usuario Administrador. Ya tenemos nuestro WordPress instalado, es hora de configurarlo. Lo mejor es crear otro usuario para utilizarlo como administrador (puedes configurarlo desde el panel de administración) e inhabilitar (ponerlo como suscriptor) el administrador que nos crea nuestro WordPress.
  6. No utilices tu usuario de administración. Aunque lo acabemos de crear, no lo utilices. En general no necesitarás ser administrador de tu blog, sólo querrás escribir y cambiar cuatro cosas. Así que puedes crearte otro usuario editor o autor, con tu nick y nombre, y configurarlo a tu manera para utilizarlo habitualmente para escribir. Así, si perdieras la contraseña o te la descubrieran, solamente podrían modificar unas pocas cosas de tu instalación. Puedes instalar Role Manager para marcar qué permisos quieres que tenga el usuario que utilizarás para escribir habitualmente.
  7. Restringe los directorios que tus usuarios no verán: wp-content, wp-includes y wp-admin son los directorios más usados por WordPress, es por eso que debemos limitar el uso de estas carpetas.  En una próxima entrada haremos especial hincapié en este punto, explicando cómo configurar nuestros archivos .htaccess
  8. Crea un archivo en blanco: por defecto, las carpetas de plugins son completamente visibles. Si creas un documento en blanco y lo guardas allí como index.html, ya no serán tan fácilmente visibles.
  9. Bloquea las carpetas a los motores de búsqueda. No es necesario que los bots accedan a nuestros archivos de WordPress, así que podemos bloquearlos con el archivo robots.txt. Añade la siguiente línea: Disallow: /wp-*

Espero que estos consejos en la instalación os hayan servido. Si hay alguna duda, o queréis que hable sobre algún tema de seguridad concreto que no haya quedado claro, por favor, comentad.

Fuentes: anieto2k, Online Tech Tips, sigt.

Comentarios
  1. FeR

    9. Bloquea las carpetas a los motores de búsqueda. No es necesario que los bots accedan a nuestros archivos de WordPress, así que podemos bloquearlos con el archivo robots.txt. Añade la siguiente línea: Disallow: /wp-*

    Así bloquearías el acceso a los motores de búsqueda a todas las imágenes y archivos alojados en wp-content/uploads. No siempre quieres eso, que muchas veces traen visitas y posibles lectores finales. ;)

    Escrito el11/01/2010
  2. Muchas gracias por las sugerencias. No tenía ni idea de que una instalacón de WP tuviera que configurarse así.
    No acabo de entender muy bien el número 8, ¿qué ocurre si no está index.html?

    Escrito el11/01/2010
  3. Otro ejemplo podria denegar el archivo de wp-config en tu htaccess eso lo hize yo y va perfecto ^^:

    # protect wpconfig.php

    Order deny,allow
    deny from all

    Escrito el12/01/2010
  4. LUCHOSAR

    Muy interesante..me gusto.

    Respuesta para 1C11:
    Ecxisten servidores que muestran el contenido de las carpetas es decir, al colocar en el navegador por ejemplo: http://www.tudominio.com/images es posible que te muestre los nombres y enlaces de todas las imagenes de esa carpeta y no solo eso tambien las sbcarpetas …para evitar esto creamos una pagina (en dreamwaver o cualquier otro editor), le damos el nombre de index.html pero no colocamos nada en ella, la dejamos en blanco, esa pagina la subimos a la carpeta en mencion, asi NUNCA podran ver el contenido de esa carpeta, ahora bien, debe ser preferiblemente con la extension .html, curiosamente (no tengo idea de porque) los vanegadores visualizan primero esta extension.

    Aunque estuve revisando la carpeta de plugin como sugiere todowp.com y no se presenta este caso no se en que carpeta debo hacerlo.

    Escrito el12/01/2010
  5. @FeR, he dudado con tu comentario. En un primer momento he pensado que tenías razón, que no se indexarían las imagenes con el disallow /wp-*, pero buscando por Internet he encontrado más de un comentario diciendo:

    “I guess disalowing “wp-” will not affect Google Image bot from crawling your images because it crawls them from the post and not from the directory”

    Investigaré un poco más, a ver si puedo aclararlo cuando hable de SEO y de posicionamiento en los buscadores.

    @1C11, ya te han contado porque es importante proteger nuestras carpetas con un index.html vacío, así los usuarios no pueden ver el contenido si tu no lo deseas.

    @kzok, supongo que también es una buena idea para proteger este archivo. ¡Gracias por tu aportación!

    @LUCHOSAR, me alegro que te guste, y muchas gracias por explicar detalladamente el punto 8. Cuando hablo de las carpetas de plugins, no me refiero a /wp-content/plugins/, sino a los plugins que tengas dentro, que hayas instalado utilizando el instalador de WordPress o subiéndolos por FTP.

    ¡Gracias a todos por los comentarios!

    Escrito el12/01/2010
  6. No es necesario crear un archivo index.html, con poner en el .htaccess de la raiz del sitio lo siguiente es suficiente:

    Options -Indexes

    Escrito el13/01/2010
  7. Hola, muchas gracias por los consejos, ya he tomado algunos en cuenta.

    Mi duda viene con el punto de los prefijos de las tablas. Si ya tienes la instalación de WordPress hecha como las cambias. Me ha pedido un amigo que se lo hiciera porque yo ya lo tenía hecho desde el principio en el mío y me han surgido dudas.

    Yo lo he cambiado modificando el wp-config y modificando con sentencias SQL los nombres de las tablas pero solo con esto no funcionaba. Al entrar en el panel de administración me decía que no tenía permiso para ver esa página.

    Solo he visto esta web que ponía que más cosas se debían de cambiar y funciono. De todas maneras lo de “wp_autosave_draft_ids” yo no lo encontré.

    Estaría bien que se hiciese un tutorial sobre el cambio del prefijo para que quede bien como si lo hubieras puesto desde el principio de la instalación. Porque yo ahora mismo se que funciona pero tengo dudas de que este todo bien como si hubiera puesto el prefijo de ahora desde el principio. En todos los sitios pone que con cambiar esas dos cosas vale, pero esta visto que no.

    Bueno y luego esta el tema de los plugins, mi amigo no tenia muchos así que no le he dado importancia. Decidme si alguno de ellos da problemas con el cambio de prefijo o si hay que cambiarles algo. Tenía los siguientes:
    -Akismet
    -All in One SEO pack
    -Antivirus
    -Google XML sitemaps
    -Let it Snow
    -Secure Press
    -Sociable
    -Wordpress Database Backup
    -WP-cumulus
    -WPTouch iphone theme

    Muchas gracias de antemano

    Escrito el16/01/2010
  8. Perdón, se me pasó poner el link de la web que les decía.

    http://www.leegar.com.ar/cambiar-el-prefijo-de-la-base-de-datos-de-wordpress/

    Saludos

    Escrito el16/01/2010
  9. @Juan, gracias por tu comentario. Me guardo el tema para hacer un tutorial más adelante.

    Por lo que dices de los plugins, no creo que tenga ningún problema. Es importante tenerlos actualizados por si hay algún problema de seguridad.

    Escrito el19/01/2010

DEJA TU COMENTARIO