+ All Categories
Home > Presentations & Public Speaking > Seguridad en WordPress, fundamentos y mejores prácticas

Seguridad en WordPress, fundamentos y mejores prácticas

Date post: 07-Aug-2015
Category:
Upload: lucy-tomas
View: 692 times
Download: 3 times
Share this document with a friend
29
Seguridad en WordPress Fundamentos y mejores prácticas #wpvalencia II Meetup WPValencia 16/05/2015
Transcript

Seguridad en WordPressFundamentos

y mejores prácticas

#wpvalencia

II Meetup WPValencia

16/05/2015

WordPress Valencia#wpvalencia @_wpvalenciaTwitter

Web http://www.wpvalencia.org

Lucy Tomas Cross

@_lucymtcTwitterWeb http://lucytomas.com

http://wptips.meBlog

Desarrollo web. Desarrollo plugins WordPress a medida.

#wpvalencia

WordPress és SEGURO.

- La responsabilidad está en el usuario. La seguridad de tu web depende de ti.

- La reputación de WordPress sobre la falta de seguridad se debe a que gran parte de los usuarios no siguen las buenas prácticas para mantener su web segura.

#wpvalencia

¿Porqué me están atacando?

Diversión.

Dinero.

#wpvalencia

Ideales. Grupos radicales.

Algunos ejemplos:

- Insertar links, redirecciones. (Viagra, Cialis….)- Insertar keywords para el propio beneficio.- Formar ejercito para atacar a un sitio web más grande.- Acceder al visitante desde el navegador.

Ataques más comunes

#wpvalencia

Ataques de fuerza bruta Recuperar contraseñas probando todas las combinaciones posibles.O probando las contraseñas más utilizadas por los usuarios, o por diccionario.

SQL Injections Infiltración de código intruso en la base de datos. Este tipo de inyecciones afectan directamente al servidor.

Cross Site Scripting (Secuencias de comandos en sitios cruzados) Ataque al lado cliente, no al servidor. Se inyecta y ejecuta código javascript en las páginas visitadas por un usuario.

Cross Site Request Forgery Una vez que te has identificado otros sitios pueden hacerse pasar por ti.

DDOS (Ataque de denegación de servicios) Se genera mediante la saturación de los puertos con flujo de información, haciendo que el servidor se sobrecargue y no pueda seguir prestando servicios.

#wpvalencia

Pilares para la seguridad

#wpvalencia

#wpvalencia

Tener al día WordPress con la última versión disponible.Las pequeñas actualizaciones 3.9.X, 4.0.X… suelen llevar parches de seguridad.

Actualizar siempre Plugins y Themes.

Actualizaciones

Enlaces de interés:

https://blog.sucuri.net

https://wpvulndb.comWPScan Vulnerability Database

Blog Sucuri

http://www.wordfence.com/blog/Blog Wordfence

- Contraseñas largas, no legibles, con $@!?^#], números y mayúsculas. - Contraseña única para cada sitio web, usar gestor de contraseñas.- Cambiar las contraseñas de manera regular.

Contraseñas fuertes

Clave 8 letras = 52 segundos Clave 8 números y letras = 11 minutos Con Mayusculas/!@#$ = 3 horas 12 letras/números/mayusculas/!@#$ = 2 mil años

1Password LastPass KeyPass

#wpvalencia

Copias de Seguridad

#wpvalencia

Tener un plan de Backup y no dejarlo todo en manos del hosting.

Guárdalos en la nube. (Dropbox, Google Drive, Amazon…)

Automatízalos, no confies en ti.

Verifica que funcionan, realiza una restauración de prueba.

Elegir Proveedor de alojamiento

Alojamiento AdministradoPuede ser compartido, servidor dedicado o VPS.El usuario se encarga de la seguridad de su WordPress. El proveedor se encarga de la seguridad del servidor.

Alojamiento NO AdministradoServidor dedicado o VPS.El usuario se encarga de toda la seguridad.

WordPress Managed Hosting (alojamiento gestionado)Menos preocupaciones.Expertos en WordPress gestionan la web y trabajan contigo.( WPEngine, Pagely, Siteground, Synthesis, GoDaddy, Dreamhost, Bluehost, … )

#wpvalencia

Recomendaciones durante la instalación de WordPress

#wpvalencia

#wpvalencia

Archivo wp-config.php

Cambiar el prefijo de las tablas para la base de datos.

Renombrar la carpeta wp-content.

$table_prefix = 'rg5htg_';

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/mi-contenido' );define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . ‘/mi-contenido' );

Definir la URL del sitio web.

define('WP_HOME','http://www.mi-dominio.com');define('WP_SITEURL','http://www.mi-dominio.com');

Cambiar las claves secretas para la encriptación de cookies.

define('AUTH_KEY', 'put your unique phrase here');define('SECURE_AUTH_KEY', 'put your unique phrase here');define('LOGGED_IN_KEY', 'put your unique phrase here');define('NONCE_KEY', 'put your unique phrase here');define('AUTH_SALT', 'put your unique phrase here');define('SECURE_AUTH_SALT', 'put your unique phrase here');define('LOGGED_IN_SALT', 'put your unique phrase here');define('NONCE_SALT', 'put your unique phrase here’);

https://api.wordpress.org/secret-key/1.1/salt/

#wpvalencia

define('AUTH_KEY', 'Dv70c+}yQ:eQ^kQbws`zZ3*^X){? nqDHW+`*$:<9Xjpl]HNIC~}]Cv/E^~Mj2vP');define('SECURE_AUTH_KEY', 'ZT7[%Ou26ZWt-2]-Sfm+<sc+N+|:n^Tr6?4uK^p|7s:is 0I6n9,sy&6(134=cz ');define('LOGGED_IN_KEY', 'Tl=GEwBQw|TO6pq+72@<TYl6H(>/KKQ {P8tL/19bkl`eRi 1k](^#`lKinN0xNG');define('NONCE_KEY', 'F|-HlzFg&N@|BS<}VY7H%xM5m`<4Rfz+%>p;z0`1pzS(jG!u2VdbjRwDVknA]eQA');define('AUTH_SALT', 'Y;Z<rZSB3,;|}!PHy&/oA<tb?LTxQD[eeeg@p-+Jc[poK=ns&twVAFY7mD<LNQ)U');define('SECURE_AUTH_SALT', 'M@`?mwSdO3?>U#D5@);r{DV2[#{l@{2OB-.-.*_wN_WsoJ:M[c!SW1M^N-hX{-sE');define('LOGGED_IN_SALT', '&|+Q_eA||y{RHRbD>7B8`YJ-*D/0?u)B0LDU}-+t{Vxm2)*-0@,$oqT-T,M c`(x');define('NONCE_SALT', ‘kZ&l?sb2R)$&(mRm*u8Ju#o8i-s3!T2H&q]}$rp2g_193g1K,?$_l:|g5~GlRJ}&');

Deshabilitar el editor de archivos.

define( 'DISALLOW_FILE_EDIT', true );

#wpvalencia

#wpvalencia

Elegir un nombre de administrador que no sea “admin”. Todavía mejor si contiene algún carácter especial @, #, $…

Nombre de usuario

Elegir una contraseña fuerte, que no se pueda averiguar mediante datos personales y que no sea una palabra del diccionario. Larga con números, letras, mayúsculas y caracteres especiales.

Contraseña

ZVgu,=zZ3AJb%n.X3ExT9^spH]√

Después de la instalación

Usuario no administrador.Crear un usuario Editor para publicar el contenido.

DB: ID por defecto del administradorCambiar el ID del administrador en tablas users y usermeta.

DB: Campo user_nicenameCambiar el campo user_nicename. user_nicename y display_name no deben tener el mismo valor que user_login.

Nombre y Apellidos administradorPoner siempre un nombre y apellidos al administrador.

Contenido de ejemplo Eliminar Themes y Plugins que no se usan.

#wpvalencia

Permisos de archivos y carpetasArchivos 644 Carpetas 755

Bloquear acceso a carpeta wp-includes# Block the include-only files.<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^wp-admin/includes/ - [F,L]RewriteRule !^wp-includes/ - [S=3]RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]RewriteRule ^wp-includes/theme-compat/ - [F,L]</IfModule>

Bloquear acceso a archivo wp-config.php<files wp-config.php>order allow,denydeny from all</files>

#wpvalencia

Nota: Estos pasos pueden ser gestionados por un plugin de seguridad

otros .htaccess snippets: https://codex.wordpress.org/Brute_Force_Attacks

Sistema de BACKUP

Instalar un plugin para realizar copias de seguridad.Y!!! verificar que funciona.

#wpvalenciaRepito….

#wpvalenciaInstalar plugin de Seguridad

https://wordpress.org/plugins/better-wp-security/

(formerly Better WP Security)

Cambiar la URL de acceso a la página de Login.Hide Login Area

Prohibir acceso público a readme.html, readme.txt, wp-config.php, install.php, wp-includes, y .htaccessProtect System Files

Protege contra ataques de fuerza bruta.Enable BruteForce Protection

No permitir archivos php en la carpeta uploads.Disable PHP in Uploads

#wpvalencia

Prohibir la posibilidad de examinar el contenido de los directorios.Disable Directory Browsing

Eliminar permisos de escritura en archivos. Cambia los permisos de 0664 a 0444 para wp-config.php y .htaccess.Remove File Writing Permissions

Incluir blacklist de HackRepair.comDefault Blacklist

Malware Scan. API de virustotal.comMalware Scanning

Prohibir al usuario “admin” de forma automática.Automatically ban “admin” user

Filtrar las consultas sospechosas en la URL.Filter Suspicious Query Strings in the URL

Instalar plugin contra Spam en Comentarios

#wpvalencia

https://wordpress.org/plugins/zero-spam/

https://wordpress.org/plugins/akismet/

VPN (Virtual Private Network) en Redes no seguras (biblioteca, cafetería, hotel,…)CLOAK (mac) desde $2.99/mes www.getcloak.com

Otros Consejos

Acceso a archivos por SFTP o SSH

Two Factor AutheticationClef https://wordpress.org/plugins/wpclef/

Educar al cliente.

#wpvalencia

SSL (Secure Sockets Layer)

Conocer lo que instalamos (plugins y themes).

Servicios y Herramientas

#wpvalencia

¡¡Me han hackeado!!¿Y ahora que hago?

#wpvalencia

#wpvalencia

1 - Cambiar todas las contraseñas (HOST, WP, FTP, BD)

#wpvalencia

2 - Descargar y guardar la carpeta wp-content

3 - Hacer un scan de la máquina local. Asegurarse que el ordenador no esta infectado.

4 - Eliminar www/ cron/ plugins/ themes/ de wp-content, todo lo que puedas y no usas.

5 - Subir una nueva copia de WordPress menos la carpeta wp-content

6 - Añadir de nuevo wp-content, verificando cada archivo manualmente. Buscar comando eval seguido de base64

7 - Vuelve a cambiar todas las contraseñas.

Agradecimientos a:- Networking - Sala de juntas - Amplio Horario - Espacio único - Mensajería Low Cost - Conserjería y recepción

http://www.svcoworkingvalencia.es/[email protected]

#wpvalencia

twitter @svcoworking


Recommended