WordPress es uno de los CMS más usados del mundo y por este motivo es uno de los más atacados.
¿Sabíais que en la mayoría de las veces, vosotros no sabréis que os han hackeado? Vuestro sitio solo se habrá incorporado en una botnet.
El añadir seguridad a WordPress, no es algo opcional en estos días, es algo necesario que comienza desde la instalación, y en esta meetup, vamos a aprender a securizar nuestro WordPress desde la selección del hosting (características mínimas que debe tener), al mantenimiento diario imprescindible para que nunca tengamos problemas, y en el caso de tenerlos, poder recuperar nuestro sitio rápidamente.
5. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Selección de Hosting
Meetup WordPress Barcelona
La selección de un hosting es
el primer arma que tenemos
para protegernos
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
6. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Selección de Hosting
Meetup WordPress Barcelona
Un hosting que no esté bien
preparado y configurado
significa que nos hackearan
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
7. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Selección de Hosting
Meetup WordPress Barcelona
suPHP o mod_ruid2
Jailed Shell
Si tenéis que dar permisos a
directorios y/o archivos
Cambiad de Hosting
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
8. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Selección de Hosting
Meetup WordPress Barcelona
Los permisos siempre deben ser
750 o 755 > directorios
644 o 640 > archivos
wp-config puede tener 600
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
9. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Selección de Hosting
Meetup WordPress Barcelona
Si tenéis que dar permisos a
directorios y/o archivos
Cambiad de Hosting
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
10. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Meetup WordPress Barcelona
Nombre de base de datos complejo
Usuario base de datos complejo
Contraseña base de datos compleja
Nunca dejar prefijo wp_
Usuario WordPress de dos o más palabras
Contraseña compleja (WordPress ahora nos ofrece una)
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
11. @josecontic
http://www.joseconti.com
Seguridad en WordPress de la A a la Z
Meetup WordPress Barcelona
El usuario administrador que hemos creado
será temporal. Crearemos uno nuevo en el momento
en que accedamos a WordPress por primera vez.
Eliminaremos los permisos de administrador al
usuario creado durante la instalación.
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
12. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
En la estructura
WordCamp Barcelona 2015
Mover wp-config.php al directorio superior
Permisos correctos de archivos y directorios
Siempre tener rellenado los Security Keys
Posibilidad de mover wp-content
Posibilidad de mover directorio plugins
Posibilidad de mover directorio themes
Posibilidad de mover directorio uploads
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
13. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Mover directorio wp-content
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/directorio/wp-content' );
define( 'WP_CONTENT_URL', ‘http://ejemplo.com/directorio/wp-content' );
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
14. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Mover directorio plugins
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/plugins' );
define( 'WP_PLUGIN_URL', ‘http://ejemplo.com/wp-content/plugins' );
define( 'PLUGINDIR', dirname(__FILE__) . '/wp-content/plugins' );
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
15. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Mover directorio themes
No se puede mover, ya que está en el core
$theme_root = WP_CONTENT_DIR . '/themes';
Pero se puede añadir nuevos directorios para themes:
<?php register_theme_directory( $directory ) ?>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
16. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Mover directorio uploads
define( 'UPLOADS', 'wp-content/uploads' );
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
17. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Solo permitir algunos archivos en wp-content
Poner un .htaccess dentro de wp-content
# Bloquear acceso a todos los archivos excepto a los siguientes
Order deny,allow
Deny from all
<Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$">
Allow from all
</Files>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
18. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Bloquear acceso a wp-includes
# Bloquear archivos y directorios
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
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>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
19. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Aceptar solo a ciertas IPs acceder a wp-admin
Se requiere IP estática
# Limitar acceso a wp-admin a estas IPs
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 000.000.000.000
allow from DIRECCION_IP_2
</Limit>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
20. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Proteger wp-config.php y todos los .htaccess
# Denegar acceso a wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# Denegar acceso a todos los archivos .htaccess
<files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
21. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Escondiendo nuestra versión de WordPress
Proteger readme.html y license.txt ( ¿y xmlrpc.php?
#Proteger readme.html y license.txt
<FilesMatch "^(readme.html|license.txt)">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
22. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
functions.php (o plugin propio)
Escondiendo nuestra versión de WordPress
function tusitio_eliminar_version() {
return '';
}
add_filter('the_generator', 'tusitio_eliminar_version');
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
23. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
.htaccess
Protegerse del hotlinking
# Previene el hotlinking mostrando otra imagen.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?tusitio.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?otrositiotuyo.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg [NC,R,L]
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
24. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
wp-config.php
No mostrar errores en pantalla
error_reporting( 0 );
@ini_set( 'display_errors', 0 );
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
25. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
wp-config.php
No permitir editar archivos
define( 'DISALLOW_FILE_EDIT', true );
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
26. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Forzar SSL para el admin
Si tenemos certificado
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
27. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
SSL gratuito y fiable
Let’s Encrypt
https://letsencrypt.org
Pero necesitas de un hosting que te lo ofrezca
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
28. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Forzar el SSL, es importantes si nos conectamos
con conexiones públicas y no usamos un VPN
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
29. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Backup
WordCamp Barcelona 2015
Es el primer plugin que se debe instalar.
BackWPup
BackupBuddy
o incluso Duplicator
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
30. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Protección
WordCamp Barcelona 2015
Los plugins de protección, añadirán una capa
en nuestro WordPress
Wordfence Security
iThemes Security
Login Security Solution
BulletProof Security
Anti-Malware Security and Brute-Force Firewall
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
31. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Control
WordCamp Barcelona 2015
Los plugins de control nos ayudaran a
controlar nuestro WordPress
Wordfence Security
Antivirus
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
32. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Themes
WordCamp Barcelona 2015
Nunca descargar themes (o plugins) que no estén en sitios de confianza
Nunca descargar themes (o plugins) de pago desde
sitios que los ofrece de forma gratuita
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
33. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Themes
WordCamp Barcelona 2015
Si instalas contenido dummy en tu theme,
elimínalo después
Puedes acabar en la blacklist de Google
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
34. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Mantenimiento
WordCamp Barcelona 2015
Imprescindible mantener todo actualizado.
Themes
Plugins
WordPress
(Todas las menores)
SO, PHP, MySQL, Apache, Nginx, etc.
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
35. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Mantenimiento
WordCamp Barcelona 2015
No os olvidéis de los plugins y themes premium
que no ofrecen actualizaciones gratuitas.
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
36. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
Estar al día
WordCamp Barcelona 2015
Hay que estar al día de todo.
Seguiremos cuentas de Twitter
Blogs de seguridad
Blogs sobre WordPress
Blogs oficiales
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z
37. @josecontic
http://www.joseconti.com
Cómo proteger WordPress y como limpiar una instalación hackeada.
WordCamp Barcelona 2015
Muchas gracias a todos
José Conti
www.joseconti.com
@josecontic
@josecontic
http://www.joseconti.comMeetup WordPress Barcelona
Seguridad en WordPress de la A a la Z