{"id":2428,"date":"2016-11-09T18:08:22","date_gmt":"2016-11-09T17:08:22","guid":{"rendered":"https:\/\/clouding.io\/blog\/?p=2428"},"modified":"2018-03-22T17:57:06","modified_gmt":"2018-03-22T16:57:06","slug":"wordpress-tutorial-como-bloquear-escaners-enumeracion-usuarios","status":"publish","type":"post","link":"https:\/\/clouding.io\/blog\/wordpress-tutorial-como-bloquear-escaners-enumeracion-usuarios\/","title":{"rendered":"WordPress: c\u00f3mo bloquear los escaners de enumeraci\u00f3n de usuarios"},"content":{"rendered":"<p>En este tutorial en <a href=\"https:\/\/clouding.io\">Clouding.io<\/a>, tu Servidor VPS, te explicamos c\u00f3mo bloquear los escaners de enumeraci\u00f3n de usuarios en WordPress, para que tu gestor de contenidos funcione como la seda \ud83d\ude42<\/p>\n<p>La enumeraci\u00f3n de usuarios ocurre cuando un script malicioso escanea un site de WordPress para datos de usuario mediante la solicitud de n\u00fameros de identificaci\u00f3n usuarios. Por ejemplo, las peticiones para\u00a0<code><strong>?author=1<\/strong><\/code> a trav\u00e9s de alg\u00fan n\u00famero, digamos,<code><strong>\u00a0?author=1000, <\/strong><\/code>puede revelar los nombres de usuario para todos los usuarios asociados. Con un simple script de enumeraci\u00f3n, un atacante puede escanear tu site y obtener una lista de nombres de usuario en cuesti\u00f3n de segundos.<\/p>\n<h2>C\u00f3mo funciona<\/h2>\n<p>Cuando escanea el site buscando los IDs de los usuarios, la revelaci\u00f3n de los datos de los usuarios ocurre de dos formas.<\/p>\n<p>Primero, para sites que tienen permalinks, las peticiones <code><strong>? author=n <\/strong><\/code> (donde <strong> n <\/strong>es igual a cualquier n\u00famero entero) son dirigidas a la versi\u00f3n permalink de la URL para ese usuario, lo que por defecto incluye el nombre de usuario del autor.As\u00ed, por ejemplo, en un site que permite permalinks, las siguientes peticiones de URI:<\/p>\n<p><strong><code>http:\/\/example.com\/?author=1 <\/code><\/strong><\/p>\n<p><strong><code>http:\/\/example.com\/?author=2 <\/code><\/strong><\/p>\n<p><strong><code>http:\/\/example.com\/?author=3<\/code><\/strong><\/p>\n<p>&#8230;<\/p>\n<p>son redirigidas autom\u00e1ticamente por WordPress a sus parejas de \u00abpermalink bonito\u00bb:<\/p>\n<p><strong><code>http:\/\/example.com\/author\/admin-user\/<\/code><\/strong><\/p>\n<p><strong><code>http:\/\/example.com\/author\/wordpress-user\/<\/code><\/strong><\/p>\n<p><strong><code>http:\/\/example.com\/author\/some-other-user\/<\/code><\/strong><\/p>\n<p>&#8230;<\/p>\n<p>por supuesto, los nombres de usuario actuales variar\u00e1n dependiendo de tu site, pero ya pillas la idea.<\/p>\n<p>El segundo motivo de la enumeraci\u00f3n funciona para revelar datos de usuarios es que las plantillas de temas t\u00edpicamente muestran el nombre de autor en p\u00e1ginas de archivo de autor, en informaci\u00f3n post meta, y posiblemente en otras localizaciones, dependiendo del tema.<\/p>\n<h2>\u00bfDeber\u00edas preocuparte?<\/h2>\n<p>Si est\u00e1s seguro de que todos tus usuarios est\u00e1n usando buenas contrase\u00f1as, las cuales se actualizan de forma regular, entonces no hay nada de lo que preocuparse. Este tutorial est\u00e1 dirigido a <strong>sites con m\u00faltiples autores que puede que no sean \u00abpassword savvy\u00bb<\/strong>. Si un autor est\u00e1 siendo vago con sus contrase\u00f1as, entonces la enumeraci\u00f3n de usuarios podr\u00eda poner definitivamente tu site en riesgo. Equipado con un nombre de usuario conocido, un perpetrador podr\u00eda conseguir acceso r\u00e1pidamente usando un simple ataque de fuerza bruta.<\/p>\n<p>As\u00ed que para estar a salvo, echa un vistazo a las siguientes t\u00e9cnicas para proteger tu site contra la enumeraci\u00f3n de usuarios y los ataques de fuerza bruta. S\u00f3lo te llevar\u00e1 un minuto implementarlas y servir\u00e1 para endurecer el empoderamiento de WordPress de tu site con capas adicionales de seguridad.<\/p>\n<h2>Paso 1: Deshabilita los scans<\/h2>\n<p>La primera cosa que vamos a hacer es bloquear el escaneo de enumeraci\u00f3n maliciosa. Esto puede hacerse de una de las siguientes maneras:<\/p>\n<ul>\n<li>A\u00f1ade un fragmento de c\u00f3digo al archivo de tus temas: <strong><code>functions.php<\/code><\/strong><\/li>\n<li>A\u00f1ade un fragmento de c\u00f3digo al archivo de root de tu site:<strong><code>.htaccess<\/code><\/strong><\/li>\n<\/ul>\n<p>Echemos un vistazo a cada uno de estos m\u00e9todos:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>\n<h3>C\u00f3mo bloquear la enumeraci\u00f3n de usuarios via functions.php<\/h3>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>A\u00f1ade el siguiente c\u00f3digo a tu archivo con la tem\u00e1tica de \u00abfunciones\u00bb:<\/p>\n<p><strong><code>\/\/ block WP enum scans<br \/>\n\/\/ http:\/\/m0n.co\/enum<br \/>\nif (!is_admin()) {<br \/>\n\/\/ default URL format<br \/>\nif (preg_match('\/author=([0-9]*)\/i', $_SERVER['QUERY_STRING'])) die();<br \/>\nadd_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);<br \/>\n}<br \/>\nfunction shapeSpace_check_enum($redirect, $request) {<br \/>\n\/\/ permalink URL format<br \/>\nif (preg_match('\/\\?author=([0-9]*)(\\\/*)\/i', $request)) die();<br \/>\nelse return $redirect;<br \/>\n}<\/code><\/strong><\/p>\n<p>No se requiere de ninguna edici\u00f3n para que esto funcione. As\u00ed es como tienes que hacer:<\/p>\n<p>1. Comprueba si la petici\u00f3n es para cualquier p\u00e1gina en el WP Admin Area.<br \/>\n2. Bloquea la petici\u00f3n si es para un archivo de cadena de consulta de autor.<\/p>\n<ol>\n<li>\n<h3>C\u00f3mo bloquear la enumeraci\u00f3n de usuarios via .htaccess<\/h3>\n<\/li>\n<\/ol>\n<p>Si prefieres bloquear peticiones a nivel de servidor, puedes a\u00f1adir la siguiente linea de <strong>.htaccess<\/strong> al archivo <strong>root .htaccess <\/strong>de tu site:<\/p>\n<p><code><strong> # Block User ID Phishing Requests<br \/>\nRewriteCond %{QUERY_STRING} ^author=([0-9]*)<br \/>\nRewriteRule .* http:\/\/example.com\/? [L,R=302]<\/strong><\/code><\/p>\n<p>La \u00fanica edici\u00f3n que es necesaria es el dominio<code><strong>\/URI, http:\/\/ejemplo.com\/<\/strong><\/code>\u00a0el cual deber\u00edas cambiar para que coincida con el tuyo.<\/p>\n<h2>Paso 2: aseg\u00farate de que tus temas no revelan el nombre de usuario<\/h2>\n<p>En este punto, hemos a\u00f1adido un trozo de c\u00f3digo (en <strong>functions<\/strong> o <strong>.htaccess<\/strong>) que bloquear\u00e1 esos feos esc\u00e1neres de enumeraci\u00f3n de usuarios. La segunda parte de la ecuaci\u00f3n es <strong>asegurarse de que tus temas no revelan el nombre de usuario de ning\u00fan autor o usuario<\/strong>. Desafortunadamente, no hay una soluci\u00f3n r\u00e1pida para este paso, ya que requiere un examen cuidadoso de tu tema. Aqu\u00ed tienes algunas de las cosas que debes comprobar:<\/p>\n<ul>\n<li>Nombre de autor mostrado para cada post<\/li>\n<li>Nombre de autor mostrado para vistas de auto-archivo<\/li>\n<li>Nombre de autor mostrado en cualquier sitio en el front-end<\/li>\n<\/ul>\n<p>Si tu tema muestra nombres de autor en cualquier sitio (como lo hacen la mayor\u00eda de los temas), hay unas cuantas formas de <strong>prevenir el disclosure del nombre de usuario<\/strong>:<\/p>\n<ul>\n<li>Cambia todos los Nombres Mostrados de usuario a cualquier otra cosa que no sea el nombre de login<\/li>\n<li>Aseg\u00farate de que cualquier etiqueta de plantilla de autor\/usuario no muestran el\u00a0nombre de login<\/li>\n<li>Quita cualquier etiqueta de plantilla que muestre nombres de login o de autor<\/li>\n<li>Deshabilita los archivos de autor completamente (si no son necesarios)<\/li>\n<\/ul>\n<p>Por supuesto, \u00e9sta es una <strong>gu\u00eda general<\/strong> que no sirve para todos los temas sobre la faz de la Tierra (s\u00f3lo hay como un bill\u00f3n m\u00e1s o menos). Pero deber\u00eda ser suficiente para darte una idea y ayudarte a implementar la mejor soluci\u00f3n posible para tu site.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este tutorial en Clouding.io, tu Servidor VPS, te explicamos c\u00f3mo bloquear los escaners de enumeraci\u00f3n de usuarios en WordPress, para que tu gestor de contenidos funcione como la seda \ud83d\ude42 La enumeraci\u00f3n de usuarios ocurre cuando un script malicioso escanea un site de WordPress para datos de usuario mediante la solicitud de n\u00fameros de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88,31],"tags":[303,302,230,66],"yst_prominent_words":[3144,3136,3142,3147,3138,3146,3134,3150,3145,3137,3143,3140,3135,3149,2346,3141,3148,3139,975,2465],"class_list":["post-2428","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualidad","category-usuarios","tag-enumeracion","tag-tutorial","tag-usuarios","tag-wordpress"],"acf":[],"_links":{"self":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/2428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/comments?post=2428"}],"version-history":[{"count":34,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/2428\/revisions"}],"predecessor-version":[{"id":4074,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/2428\/revisions\/4074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/media\/2479"}],"wp:attachment":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/media?parent=2428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/categories?post=2428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/tags?post=2428"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=2428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}