Tengo la gran suerte de poder venir a Granada al menos una vez al año, y aprovechando la vuelta de la WordCamp Sevilla sin duda era un momento perfecto para ello; y aprovechándolo, le comenté a David, Ángel y al resto del equipo si querían que participase en alguna Meetup. La respuesta fue que sí, y el miércoles 18 estuve prácticamente (y literalmente) toda la tarde con la comunidad WordPress Granada.
Cuando planteé la charla acabé poniendo un tweet en el que pregunté si querían una charla técnica o una muy técnica. La charla «normal» de seguridad iba a ser una versión adaptada de una que hice en Girona (y que no está grabada ni publicada, por lo que me sentía en el compromiso de poder repetirla) o una nueva que iba a ser (ida de olla) montar un VPS desde cero con un WordPress que incluyera medidas de seguridad integradas. Esta segunda acabó pareciendo un poco loco (aunque no tanto).
Al final la charla fue de seguridad normal, sí que es verdad que me explayé muy mucho, pero sobre todo creo que quedó claro que, metiendo un poco de miedo, hay muchas cosas a hacer en la parte de servidor y configuración de WordPress para aumentar la seguridad y evitar que haya hackeos.
Después de 1:45 me atreví a enseñar un par de materiales en los que he estado trabajando últimamente. Por un lado un poco de las entrañas de WPdanger, y por otro un TXT en el que tengo en modo experimental parte de ese manual de instalación de una máquina nueva. Dejo un par de detalles que pueden ser útiles:
Código que añado por defecto a todos los WordPress en el wp-config.php (hay que adaptarlo, pero en general sirve):
//
define( 'WPLANG', 'en_US' );
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', false );
define( 'SCRIPT_DEBUG', false );
define( 'WP_CACHE', true );
define( 'WP_SITEURL', 'https://ABCDE12345' );
define( 'WP_HOME', 'https://ABCDE12345' );
//
define( 'AUTOSAVE_INTERVAL', 30 );
define( 'EMPTY_TRASH_DAYS', 7 );
define( 'WP_POST_REVISIONS', false );
define( 'DISALLOW_FILE_EDIT', true );
define( 'FORCE_SSL_LOGIN', true );
define( 'FORCE_SSL_ADMIN', true );
define( 'WP_AUTO_UPDATE_CORE', false );
define( 'IMAGE_EDIT_OVERWRITE', true );
define( 'WP_DEFAULT_THEME', 'twentysixteen' );
//
define( 'CONCATENATE_SCRIPTS', false );
define( 'COMPRESS_CSS', true );
define( 'COMPRESS_SCRIPTS', true );
//
define( 'COOKIE_DOMAIN', 'ABCDE12345' );
//
Comandos WP-CLI que se pueden usar rápido tras una instalación para verificarla que en principio, si está recién instalada no haría falta… pero puede servir para un mantenimiento semanal.
// WP-CLI
wp --allow-root cli version
wp --allow-root cli update
cd /web/ABCDE12345/
wp --allow-root core version
wp --allow-root core check-update
wp --allow-root core update
wp --allow-root core update-db
wp --allow-root plugin list
wp --allow-root plugin update --dry-run --all
wp --allow-root plugin update --all
wp --allow-root theme list
wp --allow-root theme update --dry-run --all
wp --allow-root theme update --all
wp --allow-root language core list --status=installed
wp --allow-root language core update --dry-run
wp --allow-root language core update
Podéis descargar la presentación (licencia EUPL) desde aquí: Seguridad WordPress WPGranada.
Deja una respuesta