Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aplicar la seguridad en WordPress desde la selección de un hosting

659 views

Published on

Presentación realizada en la WordCamp Sevilla 2016

En ella aprendemos desde la selección de un hosting hasta el mantenimiento día a día o como actuar con nuestro contenido.

Published in: Internet
  • Be the first to comment

Aplicar la seguridad en WordPress desde la selección de un hosting

  1. 1. @josecontic http://www.joseconti.com Aplicar la seguridad en WordPress
 desde la selección de un hosting WordCamp Sevilla 2016
  2. 2. La inmensa mayoría de veces no sabremos que nos han hackeado
 
 Estaremos dentro de una botnet Meetup WordPress BarcelonaMeetup WordPress Barcelona @josecontic http://www.joseconti.com Aplicar la seguridad en WordPress desde la selección de un hosting
  3. 3. Dónde actuar Selección de hosting
 Durante la instalación En la estructura Con plugins Mantenimiento Estar al día Cuidar nuestro contenido @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  4. 4. Selección de Hosting La selección de un hosting es el primer arma que tenemos para protegernos @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  5. 5. Selección de Hosting Pero…
 ¿necesitamos contratar un hosting? @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  6. 6. Selección de Hosting Quizá WordPress.com ya nos sirva @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  7. 7. Selección de Hosting Un hosting que no esté bien preparado y configurado significará que nos hackearán @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  8. 8. Selección de Hosting fast-cgi, suPHP o mod_ruid2 Jailed Shell Si tenéis que dar permisos a directorios y/o archivos Cambiad de Hosting @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  9. 9. Selección de Hosting Para más seguridad Contratad VPS administrados @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting Hosteurope PHP7 Let’s Encrypt HTTP/2
  10. 10. Selección de Hosting Los permisos siempre deben ser 750 o 755 > directorios 644 o 640 > archivos
 
 wp-config puede tener 600 @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  11. 11. Selección de Hosting Lo repito
 Si tenéis que dar permisos a directorios y/o archivos Cambiad de Hosting @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  12. 12. 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  13. 13. Ejemplo de contraseña segura 8x92$vwo7Ze6X/>kAn[b/7sZZ>ya6Ed @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  14. 14. Usad generadores de contraseñas Somos humanos y aplicamos patrones predecibles @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  15. 15. @josecontic http://www.joseconti.com ¿Sabéis que es esto? Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  16. 16. La policía de todo el mundo lo utiliza para localizar a los asesinos en serie con un error del 1% @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  17. 17. Usad gestores de contraseñas Pero que sean seguros @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  18. 18. 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  19. 19. En la estructura 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  20. 20. 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  21. 21. 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  22. 22. 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  23. 23. Mover directorio uploads define( 'UPLOADS', 'wp-content/uploads' ); @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  24. 24. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  25. 25. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  26. 26. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  27. 27. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  28. 28. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  29. 29. @josecontic http://www.joseconti.comWordCamp 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 @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  30. 30. .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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  31. 31. wp-config.php No mostrar errores en pantalla error_reporting( 0 );
 @ini_set( 'display_errors', 0 ); @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  32. 32. wp-config.php No permitir editar archivos define( 'DISALLOW_FILE_EDIT', true ); @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  33. 33. Forzar SSL para el admin Si tenemos certificado
 
 define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true); @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  34. 34. SSL gratuito y fiable Let’s Encrypt https://letsencrypt.org Pero necesitas de un hosting que te lo ofrezca @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  35. 35. Forzar el SSL, es imprescindible si nos conectamos mediante conexiones públicas y no usamos un VPN @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  36. 36. Pero ojo Desde ya, se puede afirmar que tener toda nuestra web bajo SSL es imprescindible. Los navegadores “castigan” a los que no tienen @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  37. 37. Web segura @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  38. 38. Web ¿no segura? @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  39. 39. Backup Es el primer plugin que se debe instalar BackWPup BackupBuddy o incluso Duplicator @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  40. 40. Protección 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.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  41. 41. Control Los plugins de control nos ayudaran a controlar nuestro WordPress Wordfence Security Antivirus @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  42. 42. Themes Nunca descargar themes (o plugins) que no estén en sitios de confianza Nunca descargar themes (o plugins) de pago desde
 sitios que los ofrecen de forma gratuita @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  43. 43. Themes Si instalas contenido dummy en tu theme, elimínalo después
 
 Puedes acabar en la blacklist de Google @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  44. 44. Mantenimiento Imprescindible mantener todo actualizado Themes Plugins WordPress (Todas las menores) SO, PHP, MySQL, Apache, Nginx, etc. @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  45. 45. Mantenimiento Hosteurope Nos mantiene actualizado todo Si en una semana no decimos lo contrario, todo lo no actualizado, será actualizado automáticamente @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  46. 46. Mantenimiento No os olvidéis de los plugins y themes premium
 que no ofrecen actualizaciones gratuitas @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  47. 47. Estar al día Hay que estar al día de todo Seguiremos cuentas de Twitter Blogs de seguridad Blogs sobre WordPress Blogs oficiales @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  48. 48. Protegiendo el contenido que creamos Como ya he comentado,
 backup, backup y backup pero… @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  49. 49. Protegiendo el contenido que creamos ¿Tenemos un WordPress y publicamos contenido en Facebook? @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  50. 50. Protegiendo el contenido que creamos En Facebook se publican referencias a nuestro contenido NO pongamos TODO nuestro contenido en Facebook @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  51. 51. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  52. 52. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com bloquearon la foto (ya rectificaron)
 de la cuenta The Guardian Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  53. 53. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  54. 54. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com mensaje que recibió Shaun King
 Famoso columnista de New York Daily News en pro de los derechos de las personas de color Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  55. 55. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Su cuenta fue bloqueada durante 24h Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  56. 56. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Estas son personas o empresas famosas
 En un caso que no cree polémica, pueden llegar a eliminar una cuenta. Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  57. 57. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Tu trabajo de años eliminado de internet por la decision de un tercero Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  58. 58. Protegiendo el contenido que creamos @josecontic http://www.joseconti.com Que Facebook trabaje para ti No trabajes tú para Facebook Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting
  59. 59. Muchas gracias a todos José Conti www.joseconti.com @josecontic @josecontic http://www.joseconti.com Meetup WordPress BarcelonaMeetup WordPress BarcelonaAplicar la seguridad en WordPress desde la selección de un hosting

×