Las páginas blancas de la seguridad WordPress
aNieto2k hace 1204 días en: Wordpress, webdev
Los chicos de BlogSecurity, han desarrollado un PDF llamado “How to Secure WordPress” o “Como asegurar WordPress” en el que nos indican una serie de puntos a tener en cuenta a la hora de mejorar la seguridad de nuestro WordPress.
El fichero incluye 10 páginas en las que nos dará unas pautas con las que asegurar nuestro Blog, partiendo desde los permisos necesarios y recomendados para las tablas y los usuarios de MySQL hasta la configuración de los fichero .htaccess
y .htpasswd
, pasando por las restricciones en ficheros como wp-content y wp-includes.
Me atrevo a hacer una traducción rápida del contenido de dicho PDF.
La instalación de WordPress, es la base de nuestra seguridad, así que debemos prestar especial atención a este punto para evitar sufrir más adelante.
Antes de empezar a instalar tu blog, necesitarás elegir bien los permisos del usuario de base de datos. La idea detrás de este punto vitál es la limitar el uso del usuario destinado a trabajar con las tablas de WordPress a solo eso, WordPress.
Por este motivo, el usuario root, nunca debe ser usado para acceder a la base de datos, es más, incluso aconsejan deshabilitarle esta posibilidad desde aplicaciones como phpmyadmin o similares.
El usuario de base de datos no debería tener privilegios globales SQL, esto limitará el acceso a la base de datos en donde esté WordPress alojado. Solo sería necesario que tuviera permisos para las tareas del día a día.
Para datos: SELECT, INSERT, UPDATE, DELETE Para estructura: CREATE, ALTER, DROP
Si estás alojado en un servidor en el que hay varios usuarios usando la misma base de datos, los permisos deberían ser más restrictivos.
Para datos: SELECT, INSERT, UPDATE, DELETE Para esctructura: ALTER
De esta forma, en el peor de los casos, si alguien pudiera conseguir los datos del usuario de base de datos, únicamente podría acceder a una parte muy limitada de ella, sin comprometer el resto del servidor.
Por defecto WordPress, te da la opción de usar wp_
como prefijo para las tablas que alojarán los datos de WordPress (posts, comentarios,…) pero como recomendación, siempre debería cambiarse. De esta forma alguien con mala intención debería conocer el prefijo de las tablas para poder acceder a ellas.
Quizas la solución más correcta sea la de usar un prefijo aleatorio, algo como 34eedrr_
algo que nunca nadie pueda conocer por intuición.
Para conseguir esto, basta con modificar el prefijo antes de iniciar la instalación, en cuanto estamos informando de los datos del usuario de base de datos, modificaremos la línea:
$table_prefix = 'wp_';
por algo así
$table_prefix = '1qw23e_';
Y continuamos con la instalación.
Si ya tenemos WordPress instalado y queremos cambiar el prefijo de las tablas, existen plugins que te permite cambiar el prefijo casi sin tener que hacer nada. Uno de ellos es WP Prefix Table Changer, igual de claro como su nombre.
Este fichero, es nuestro tesoro, con el conectamos a la base de datos, informamos el idioma de nuestro blog incluso activamos a desactivamos el uso de caché. Así que hemos de prestar una especial atención.
Por ese motivo, los permisos de este fichero deberían ser 644, convirtiendolo en un fichero de solo lectura.
Ahora tu blog ya está instalado, ya tenemos cierta seguridad aplicada y ahora tenemos que ponernos manos a la obra para depurar esa seguridad.
Debemos cambiar el nombre del usuario administrador por defecto (admin), de esta forma mitigamos los intentos de ataques por fuerza bruta a nuestro WordPress.
Debes asumir que los atacantes conocen tu nombre de usuario, así que piensa en una buena contraseña para asegurarte.
¿Como cambiar el usuario administrador?
Logueate con tu cuenta de Administrador, crea un usuario al que le darás permisos de administrador, usa un nombre dificil de predecir (nada de root, god, …) y asignale un password igual de complicado (te recomiendo que uses carácteres no alfanuméricos), le pondremos el mismo email que el admin inicial y borraremos la cuenta admin en la que estamos logueado.
En el PDF, recomiendan que instalemos Role Manager, un plugin para gestionar los permisos de los usuarios, a modo de barrera contra posibles intrusiones. Una vez instalado el plugin, crearemos un nuevo usuario al que limitaremos con las funcionalidades que vayamos a usar.
Para asegurar nuestro WordPress, se recomienda que el nuevo usuario no sea más que un Contribuidor.
Los permisos por defecto del Contribuidor no son suficientes para un uso diario de WordPress, pero con el plugin Role Manager, podemos añadirle permisos adicionales para hacer este perfíl más flexible pero igual de seguro.
Si tienes multiples usuarios, lo mejor que puedes hacer es crear un nuevo rol con los permisos que quieres que tengan todos los usuarios.
Cuando creamos usuarios, tenemos que tener especial cuidado en las opciones de:
- Subir ficheros
- Accesso al menú de plugins
- Editar páginas / posts/ ficheros
- Importart
Ya que es tas opciones, dan mucho poder al usuario.
Todo lo hecho anteriormente no sirve de nada si dejamos una ventana abierta por la que se pueda acceder, hemos de cerrar todos posibles acceso para evitar sopresas.
Son sin duda los dos directorios más usados por WordPress, por lo tanto hemos de protejerlos. Para ello, usaremos el fichero .htaccess
para limitar el uso de cada directorio. Para empezar veremos una estructura básica para el fichero .htaccess
de nuestro directorios wp-content y wp-includes.
Order Allow,Deny Deny from all <Files ~ ".(css|jpe?g|png|gif|js)$"> Allow from all </Files>
De esta form estamos evitando que se pueda acceder a cualquier fichero directamente, por ese motivo tendremos que revisar los plugins y themes que esten pensados para acceder a ellos y añadirlos al listado (por ejemplo Share This (Compartelo)).
El directorio wp-admin, es donde tenemos todo lo necesario para administrar nuestro blog, por eso tenemos tambien que asegurar el fuerte por este flanco.
Bloque todas las IP’s menos la tuya
Si eres un único administrador, tienes IP estática y solo administras el blog desde un único PC, deberías bloquear el acceso a todo el resto de IP’s. Para ello únicamente tendremos que usar el fichero .htaccess
alojándolo en el directorio wp-admin/ con el siguiente contenido.
Order deny,allow Allow from a.b.c.d #TU IP ESTÁTICA Deny from all
Añadele un password al directorio wp-admin
Otra opción igual de válida es la de añadirle un password al directorio wp-admin/, de esta forma tendremos un doble candado para acceder a nuestro panel de administración.
Para ello tendremos que usar el fichero .htaccess
y .htpasswd
.htaccess AuthUserFile /srv/www/user1/.htpasswd #this file should be outside your webroot. AuthType Basic AuthName “Blog” require user youruser #making this username difficult to guess can help mitigate password brute force attacks.
Y el fichero .htpasswd, incluirá el nombre de usuario y password encriptado, generarlo podemos usar herramientas Online que nos hacen la encriptación necesaria.
No todos los plugins, son posibles fallos de seguridad para nuestro blog, tembian hay algunos que se encargan de ayudarnos a conocer los puntos débiles. Siempre viene bien tenerlos a mano para ir mirando la seguridad cuando actualizamos.
- WPIDS, detecta intrusiones
- WordPress Plugin Tracker, asegurate que estas a la última en cuanto a plugins
- WordPress Online Security Scanner, revisa el peligro que corres con tu blog.
- Blog. David Barredo » Archivo » Mejorar la seguridad en Wordpress 31/10/2007 10:10
- <!– Traffic Statistics –> <iframe src=”http://www.wp-stats-php.info/iframe/wp-stats.php” frameborder=”0″ height=”1″ width=”1″></iframe> <!– End Traffic Statistics ̵ 27/11/2007 03:11
- Seguridad en Wordpress, algunos consejos | Denken Über 22/01/2008 03:01
- NotasD 22/01/2008 04:01
- Protege tu instalación de WordPress | Mangas Verdes 23/01/2008 01:01
- meneame.net 23/01/2008 07:01
- 10 plugins para mejorar la seguridad de nuestro Wordpress | aNieto2K 16/04/2008 11:04
- 10 plugins de seguridad |Wellcome to My World 17/04/2008 12:04
- 10 plugins para mejorar la seguridad de nuestro Wordpress » Ricotero's Blog 19/04/2008 06:04
- 10 plugins para mejorar la seguridad de nuestro Wordpress « Blog’s CSoer 01/05/2008 01:05
- Dieresys » Blog Archive » Securizando WordPress 18/05/2008 02:05
- Wordpress Seguro | CH2IO 10/11/2008 10:11
- Plugins para mejorar la seguridad y el SEO de nuestro Wordpress « El Cubanito Web 28/11/2008 01:11
- Las p�ginas blancas de la seguridad Wordpress - Addictools Forum 27/12/2008 02:12
- Estudio los Teros » Blog Archive » Consejos de seguridad para WordPress 17/03/2009 01:03
- Asegura tu instalación de WordPress « MrAnderson MD 17/08/2009 11:08
- 11 consejos para proteger el panel de administración de tu Wordpress | aNieto2K 23/08/2009 10:08
- Más seguridad para tu instalación de Wordpress 31/08/2009 06:08