Blog Day 2010

Todos los años, el 31 de agosto, existe la costumbre de recomendar 5 blogs a tus lectores, entre que van pasando los años y se acumulan los blogs days (2009, 2008, 2007, 2006) y que últimamente son más los blogs que desparecen que los nuevos, la recomendación se hace cada vez más complicada.

Mis recomendaciones para este año son estas:

  • http://www.error500.net/ A mi criterio el mejor blog en Español. No muy técnico y siempre intentando preveer tendencias tecnológicas, algo nada sencillo.
  • http://www.mimesacojea.com/ Mala leche y sarcasmo a raudales sobre, principalmente, la política española. Últimamente escribe menos, así que si por desgacia está cayendo en el síndrome del ‘aburrimiento del blog’,  aprovechad mientras dure.
  • http://amazings.es/ Un blog sobre ciencia en el que se han arrejuntado algunos de los blogs en español con más tirón en esa temática. Si te gusta la ciencia no te lo debes perder.
  • http://lasindias.info/ Más que un blog una revista porque cada uno de los autores tiene temáticas propias: Ciberderechos, Tercer Mundo, Internet…hasta entradas escritas en Esperanto. Yo llegué hasta él por Versvs, que es uno de los que escriben allí.
  • Viñetas de Sansón (de Rafa Vega) Las puedes encontrar en diarios del grupo Vocento (y no sé si en alguno más) si no sueles leerlas te recomiendo que te suscribas al feed.

Repasando mis recomendaciones de otros años me doy cuenta de que más de la mitad de los recomendados ya no escriben o lo hacen con poca frecuencia, así que lo publicaré hyoy día 30, uno antes de lo previsto, para ver si animo a alguien más a escribir sus 5 recomendaciones, ya sea en su blog, en twitter o en Facebook y así ampliar un poco este horizonte que se nos estrecha cada vez más.

WordPress más seguro y cómo reaccionar a un ataque

Recientemente he recibido el que creo que es el primer ataque que lanzan contra este blog, algún amigo de lo ajeno ha conseguido la contraseña del usuario administrador, ha modificado algunos archivos de un plugin y ha colocado  un archivo con malas pulgas dentro del contenido del blog. Aparentemente no han roto nada más y creo que he conseguido repeler el ataque así que, a riesgo de enfadar más al atacante (que seguramente va a leer esto) os voy a contar mi experiencia por si le puede servir a alguien más.

Todo empezó cuando recibí un correo con este contenido

Contraseña perdida y cambiada para el usuario: dondado

Alguna otra vez había recibido correos de alguien que pedía el cambio de contraseña pero nunca de que efectivamente se había cambiado por lo que me preocupé y en cuanto tuve ocasión me puse a investigar qué pasaba. Descargué los logs de acceso al servidor apache y comienzo la investigación.

1. Retoma el control:

Entrar con el usuario y volver a pedir una nueva contraseña, una vez recibida acceder con ese usuario administrador al blog.
Desactivar todos los plugins por si han hecho cambios en ellos
Volver a cambiar la contraseña del administrador y ya de paso la cuenta de correo por si viene por ahí el fallo de seguridad.

2. Investiga qué ha pasado:

Acceder al log de acceso al servidor y buscar los accesos a wp-login.php y fijarse en la IP desde la que se han hecho el que se corresponda con la hora en que te llegó el correo del cambio de contraseña u otra hora en la que sepas que tú no has accedido.
Buscar todo lo que se haya hecho desde esa IP: en mi caso, además del cambio de contraseña, se ve que había modificado un plugin desde el editor de plugins de wordpress.
Con algún programa de comparación, compara los archivos que tenías (benditos backups) con los que han dejado los atacantes, así he detectado yo los cambios que habían hecho en el plugin simple-tags

3. Reforzar la seguridad.

A). Limitar los accesos al directorio wp-admin. Lo normal es que al panel de administración sólo entres desde tu casa, para ello basta con añadir, en el directorio /wp-admin/ un archivo con el nombre .htaccess con el siguiente contenido

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic

order deny,allow
deny from all
# whitelist Casa
allow from xxx.xxx.xxx.xxx
# whitelist Trabajo
allow from xxx.xxx.xxx.xxx

Sustituyendo las xxx.xxx.xxx.xxx por tus direcciones IP desde las que quieras acceder a la administración, por ejemplo la de casa y la del trabajo.

Si no sabes tu dirección IP puedes visitar, por ejemplo, esta dirección http://whatismyipaddress.com/ donde te la dicen o, si tienes cuenta de GMail, en la parte inferior aparece tu IP y pinchando en “información detallada”, un listado con las IPs desde las que has accedido últimamente a tu cuenta de gmail.
Ten en cuanto que muchos tenemos IPs dinámicas, es decir, que nuestro operador nos las cambia de vez en cuando, así que recuérdalo por si al cabo de unas semanas no consigues entrar ni siquiera tú. Una opción puede ser utilizar asteriscos en las dos últimos tramos de la IP, que es lo que suelen cambiar los ISP. La línea en ese caso te quedaría con la forma

allow from xxx.xxx.*.*

B) Deshabilitar los editores internos de wordpress, el editor de plugins y el editor de themes. No sé vosotros, pero yo, salvo en contadas ocasiones no los utilizo, así que más vale
tenerlos deshabilitados y reactivarlos sólo cuando sean necesarios. Para deshabilitarlos hay que añadir la siguiente línea en el archivo wp-config.php

define('DISALLOW_FILE_EDIT',true);

4. Volver a colocar las cosas en su sitio.

Hay que ser desconfiado y no dar por sentado que hemos encontrado todo lo que han modificado, más vale prevenir.
Volver a descargar todos los plugins desde la página de wordpress, borrar los que tienes instalados actualmente y volverlos a instalar.
Descargar la última versión de wordpress y volver a hacer una instalación limpia. Si como yo, además hacéis las actualizaciones de vuestro WP sólo de forma incremental es conveniente hacer esto de vez en cuando para eliminar posibles archivos que hayan quedado en desuso.

5. Paranoico de la seguridad

Si lo han intentado una vez es muy posible que vuelvan así que es mejor estar preparado esperándoles:

  • Crea un nuevo usuario con permisos de administrador que sea distinto del que utilizas para escribir en el blog, una vez creado, identifícate con él y cambia los permisos de tu usuario normal, el que conoce la gente, para que sea tan solo editor. A partir de ahora tendrás que pensar qué vas a hacer cuando entres al blog, escribir, administrar entradas y comentarios  (para esto utiliza el viejo usuario que ahora sólo es editor) o cambios de plugins, opciones, aspectos… para eso sí tendrás que entrar con el nuevo usuario administrador.
  • Cambia la contraseña de la base de datos del blog.
  • Cambia la contraseña del correo electrónico que tienes asociado al usuario del blog.
  • Cambia las claves secretas del wp-config.php:
define('AUTH_KEY', 'xxxxxxxxx');
define('SECURE_AUTH_KEY', 'xxxxxxxxxxxx');
define('LOGGED_IN_KEY', 'xxxxxxxxx');
define('NONCE_KEY', 'xxxxxxxxxxx');

Para generar unas nuevas visita el generador aleatorio de claves de WP y copia y pega sobre tus anteriores líneas del wp-config.php
Aún no he logrado averiguar cómo consiguieron acceso a mi blog en su primer intento (en el segundo no lo consiguieron). Puede que sea una vulnerabilidad no descubierta de wordpress aunque me inclino a pensar que sea algo más concreto de mi instalación, por ejemplo, las claves del wp-config.php no las cambiaba desde que las puse hace muchos meses (cuando salió la versión 2.6), quizá incluso tenía unas claves genéricas copiadas de algún sitio que les facilitaban conseguir la key para acceder a la administración. Quién sabe, espero no volver a llevarme sustos como este ¿Y tú, has sufrido algún intento de ataque de tu blog?.

Por último agradecer a la gente de Iteisa su interés y ayuda para conseguir salir de este entuerto.

Foto original de Dunechaser

Open data en la administración

RutaRecientemente he asistido a algunas sesiones de un curso de la UIMP sobre administración electrónica y Gobierno abierto. El curso estaba dirigido por Santiago García Blanco (Dir. Gral. de Desarrollo Tecnológico e Innovación del Gobierno de Cantabria) que ha conseguido un nivel de ponentes realmente magnífico: sebasmuriel (proyecto Aporta), alorza (irekia y más cosas en el Gobierno Vasco), Andy Macleod (CISCO) , Jaime Obregon (Iteisa), Marco Fioretti, Ricardo Cavero (ayto Zaragoza)…
Que la digitalización del Estado (lo de digitalización va sin segundas), la Administración Electrónica, tienen que mejorar es un hecho claro, pero no obstante, se están haciendo avances y a mi juicio se va en la dirección correcta, al menos si tenemos en cuenta tres condicionantes:

  • La situación de partida era mala, mucha incomunicación entre administraciones y un nivel de digitalización de la información escaso.
  • Un “monstruo” como la Administración se mueve despacio, le falta la agilidad que puede tener una pequeña o mediana empresa.
  • El abordaje a la digitalización de las comunicaciones con la Administración ha empezado hace relativamente poco, había algo de normativa previa pero hasta el 2007 con la LISI no se ha empezado en serio con ello.

La Hoja de Ruta de la Administración Electrónica:

Esta es en mi opinión, a modo de conclusiones propias del curso, el camino que se debe seguir en el proceso
Open Data –> Formatos Abiertos y Estandarización –> Software Libre

Open Data: poner a disposición de los ciudadanos la información que pertenece a los ciudadanos. Cuanta más mejor y cuanto antes mejor, que las empresas dispongan de ese material de trabajo y aumenten su valor mediante la clasificación, ordenación y filtrado. Pensando en toda la información que tiene el Estado (tráfico, resoluciones, clima, demografía, normativa…) y la cantidad de aplicaciones que se podrían hacer sobre ella y que nos servirían a muchas personas al tiempo que generarían riqueza en los intermediarios de ese flujo de información entre la administración y la ciudadanía.

Formatos Abiertos y Estandarización: lo primero es tener algo que decir (Open Data) y lo siguiente es saber decirlo de forma clara (Formatos Abiertos) y que lo entienda el mayor número de agentes (Estandarización). Los formatos abiertos y estándares son la forma de que toda esa información alcance al mayor número de destinatarios, facilitando su manejo desde el mayor número de plataformas y softwares posibles.

Software Libre: Una vez que esos datos han sido liberados, que la Administración utilice Software Libre mejorará el control y auditoría de lo que se hace con nuestra información, la que los ciudadanos hemos querido/tenido que ceder. Esta es un beneficio que añadir a otros beneficios del SL para la Administración que ya he anotado en alguna ocasión más.

Por último mi agradecimiento a Santiago por haberme invitado a asistir y mis mejores deseos para que este curso se pueda repetir más años y manteniendo, o incluso mejorando el nivel de los ponentes.

Foto original de Shahram Sharif

Actualizaciones incrementales de WordPress

Recientemente han liberado la versión 3.0.1 de wordpress y hemos tenido que actualizar nuestros blogs los que utilizamos este sistema de publicación y nos preocupamos por mantener al día todas las actualizaciones de seguridad. WordPress desde hace tiempo ofrece un cómodo botón en el panel de administración que con solo pulsar hace todo el proceso de actualización sin intervención por nuestra parte pero por desgracia a muchos no nos funciona; la razón no la sé exactamente pero por lo que he leído se debe a la configuración de PHP que cada uno tenga en su servidor. En mi caso es un plan 90 en OVH y nunca he conseguido que funcione, al igual que también me falla la actualización de algunos plugins.

Si como yo te ves obligado a actualizar mediante FTP (“classic style”) tal vez te interese actualizar de forma incremental, es decir, obtener un archivo zip con sólo las diferencias entre las versiones y machacar con él la instalación lo que supone un ahorro tremendo de tiempo.

Ventajas:

  • Muchísimo más rápido que una actualización completa
  • Si tienes archivos modificados del core ves de un plumazo si la modificación te afecta o no, y si no te afecta no tendrás que retocarlos.

Inconvenientes:

  • El trac, el lugar de donde se obtienen las diferencias, es sobre la versión inglesa, por lo que si actualizas así perderás la traducción al español si es que la tenías instalada. Esto lo notarás más o menos según los archivos con texto en castellano que se incluyan en la nueva versión.
  • En el caso de que WP dejase de utilizar algún archivo se te quedará “muerto” en el servidor.

Teniendo en cuenta todo esto yo recomiendo utilizarlo sólo en los cambios menores de versión (los que afectan al tercer número, ejemplo, pasar de 3.0.0 a 3.0.1) y hacer una actualización completa cuando el cambio sea de más calado (cambie alguno de los dos primeros dígitos).

¿Cómo se hace la actualización incremental?

Debes ir al trac de wordpress a obtener las diferencias. Una vez allí rellenas el from con: /tags/número_versión_vieja y el to con: /tags/numero_version_nueva dejando los campos de revisión en blanco. Mira la imagen siguiente que vale más que mil palabras:

En la página de resultados que te aparecerá, abajo del todo, tienes el archivo en formato zip que debes descargar. Una vez descomprimido está listo para actualizar.

El mérito de la entrada para Neri que fue quien me enseñó que existía esta posibilidad, hoy me he acordado y lo he reescrito aquí para que no se me olvide la próxima vez, un saludo pibe, un auténtico fenómeno en WordPress.