15 de mayo de 2013

Wizard para crear un archivo de configuración de WordPress


Una de las nuevas funcionalidades publicadas en WPHardening v1.1 fue la implementación de un wizard que nos va a ayudar a crear el archivo de configuración de WordPress wp-config.php incorporando algunos parámetros que nos pueden ayudar a fortificar nuestra instalación.

Para activar esta opción vamos a convocar los siguientes flags.

$ ./wphardening.py -d /home/user/path/wordpress --wp-config

Recuerden que con -d especificamos el directorio donde se encuentra el proyecto de WordPress y utilizamos --wp-config

A partir de ahora nos va a solicitar que ingresemos una serie de parámetros como el nombre de la Base de Datos, el usuario registrado para administrar esa base de datos junto a su contraseña, el host, un prefix para las tablas y un lenguaje para la configuración. Un menú muy similar al siguiente.

$ ./wphardening.py -d /home/dmaldonado/Downloads/wordpress --wp-config

/home/dmaldonado/Downloads/wordpress -
This project directory is a WordPress.

Created file wp-config-wphardening.php
        Name of the database > db_wordpress
        Name of the User > user
        Password of the user > password
        Host [localhost] > localhost
        Table prefix [wph_] > wph_
        Language [es_ES] > es_ES

Una vez finalizado, whpardening crea un archivo nuevo de configuración llamado wp-config-wphardening.php donde se encuentran los nuevos parámetros seteados.

En wp-config-wphardening.php van a encontrar las constantes ingresadas previamente y además si pueden observar, el wizard se conectó a internet para generar los Key y Salts de la siguiente manera:

/**
 * Authentication Unique Keys and Salts..
 */
define('AUTH_KEY',         'x:9I^PIQ/I+ln)5h3G7-+|V`h/CBOs_J*wl-al;JGNECJd+BTsKi1P%D){/-:2|9');
define('SECURE_AUTH_KEY',  'prp.*eys9Z-Q-+reo;_}poAo.BdJ1&[r }+=pT,h:2zhC_h+-d#*mXo-19^ET^pw');
define('LOGGED_IN_KEY',    '+AKETow cQZ^@(AI{.0+Uav|]tk>!3F.Czoxn}p=s~]&-!1;H$P#_u?}iZaP4Y.M');
define('NONCE_KEY',        'rHzDl >?Bq8`GyA$9#X.~vcv$~2/u}eg-MzM=ATUn3M1]w`~OgFKXco=v||Z=KFb');
define('AUTH_SALT',        'g{T2cu8(u1jT0s(wP|=mXD>!oY71_hT%H5f0n_u3&NJ-p:D?gM6U<j0v:I-6ZH},');
define('SECURE_AUTH_SALT', '_/-sO&p(J71xSp,SzC~u!= J:+ BN^m-,qqoQ9)Sm*+xO0kq9RuI5i|wNo[Kb<V3');
define('LOGGED_IN_SALT',   'jin-R)-ZCKTde3&u5@.cu0M%YBeQ8.D-^|qX}eiE?HsNk$_r=jW:-M%9U{w9m=E|');
define('NONCE_SALT',       '/UCO~08E. ik-PRcAW{-e5I0YM6r+q|QT,l`?N^{vMHD)a+}38;m6$Xbi&lEBxlk');

por otro lado van a encontrar parámetros como WP_DEBUG desactivados, WP_POST_REVISIONS desactivados para optimizar su velocidad, AUTOSAVE_INTERNAL en 240 segundos y finalmente recomiendo desactivar la edición de archivos tanto de Themes como de Plugins desde el mismo Frontend de Wordpress. Considero que este tipo de edición de archivos debería generarse en entornos controlados de desarrollo y no estar probando en Producción.

No me queda más que seguir recomendando WPHardening v1.1, esta herramienta escrita en Python y que nos va a ayudar a mejorar nuestra seguridad en los proyectos en WordPress.

Saludos!

Entradas populares