SSH. Ver los intentos de acceso o accesos correctos en Debian

Cuando configuramos un acceso por SSH a un servidor lo primero que deberíamos de hacer, además de bloquear el acceso al usuario root, es permitir el acceso solo por pares de claves (pública/privada).

De todas formas podemos ver los intentos de acceso o accesos correctos que hemos tenido.

Para ver los intentos incorrectos usaremos el siguiente comando:

sudo cat /var/log/auth.log | grep ‘sshd.*Invalid’

Para ver los intentos correctos usaremos el siguiente comando:

cat /var/log/auth.log | grep ‘sshd.*opened’

Y si lo queremos ver en tiempo real, para depurar, para ver un ataque en tiempo real,… añadimos a esto el comando tail:

sudo tail -f /var/log/auth.log | grep ‘sshd.*Invalid’

o

sudo tail -f /var/log/auth.log | grep ‘sshd.*opened’

Crear un tema WordPress desde cero

Dejo el vídeo de mi participación en la II WordPress Marbella, donde en minutos trato de explicar cuáles son los pasos básicos a la hora de montar un tema propio desde cero en WordPress. Muy indicado para los que no les convence ningún tema, para los que siempre apuestan por crear algo propio, para los que tienen que realizar un encargo personalizado o para los que simplemente quieren aprender para llegado el momento no tener que depender de una plantilla que no se ajusta a sus necesidades. La presentación disponible en este enlace.

 

WordPress 4.0 ‘Benny’, a examen

Dejo el hangout que tuve el martes 9 de septiembre para analizar la nueva versión de WordPress, 4.0 ‘Benny’, junto con Fernando Tellado, Ángeles Portillo y Pedro Santos.

WordPress 4.0. Los principales cambios

Acaba de publicarse WordPress 4.0, con varios cambios y mejoras. A continuación resumo los principales.

1) Instalación

Lo primero que encuentras al iniciar una instalación nueva es el selector de idioma, que descarga e instala el paquete de idioma y te permite continuar el resto de la instalación en el idioma seleccionado.

WordPress › Setup Configuration File

Curioso que probé la instalación en español (es_ES), en español de Chile (es_CL), en español de Perú (es_PE), gallego (gl_ES), catalán (ca) y euskera (eu) y el único instalador que no descargó los archivos (al directorio /wp-content/languages/) e inició la instalación correcta fue el español (es_ES). Supongo que será un bug.

Continue reading “WordPress 4.0. Los principales cambios”

Protección para la vulnerabilidad XML-RPC de WordPress

Llevo unos días con el servidor en el que se aloja este blog y otros (todos desarrollados en WordPress) caído por intervalos, con un consumo tan alto de CPU que a veces no podía ni conectarme a la máquina para poder administrarla.

Cuando conseguí conectarme y ejecutar un htop (un top mejorado) había una gran cantidad de procesos de Apache, que por separado consumían pocos recursos pero todos juntos estaban tirando la máquina.

Al detener el servicio de Apache pude ver que la máquina se estabilizaba; es decir, algo estaba sobrecargando el servicio de Apache.

Tras analizar la últimas entradas del log había una gran cantidad de peticiones por segundo desde diferentes IP que ejecutaban

“POST /xmlrpc.php HTTP/1.1”

Este ataque es conocido desde hace tiempo y se aprovecha de una funcionalidad de WordPress que implementa XML-RPC.

La solución es sencilla, y simplemente hay que desabilitar la llamada al PHP xmlrpc.php mediante una configuración de Apache en el .htaccess en cada uno de los sitios creados con WordPress:

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Si quieres habitar alguna IP para poder usar las funcionalidades del xmlrpc.php simplemente hay que permitir el acceso a esas IP:

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Allow from 55.66.77.88
</Files>