En este artículo vemos cómo asegurar wordpress a otro nivel. Prácticas básicas de seguridad para tu página y plugins que pueden ahorrarte muchos problemas.
Plugins para asegurar wordpress
- BackUps para tu wordpress con Plugin UpdraftPlus
- Crear Password seguras con Plugin Force Strong Passwords
- Automatizar actualizaciones con Plugin Automatic Plugin Updates
- Bloquear intentos de acceso con el Plugin Loginizer
- Evitar ver el nombre de usuario/s con el Plugin Stop User Enumeration
- Aplicar firewall con el Plugin Block Bag Queries
- Posibilidad de bloquear IPs y rangos con el Plugin wp ban
- Cambiar URL de ingreso con el Plugin Rename wp-login.php
Asegurar Wordpress en profundidad
- La primera línea de defensa contra cualquier ataque es tener respaldado tu sitio. Esos respaldos los puedes hacer de forma manual, sin embargo lo mejor es hacerlo de forma automática con el plugin ‘Updraftplus’
- Crear Password seguras y encriptarlas. Para obligar a tus usuarios a crear contraseñas seguras en wordpress puedes utilizar el plugin Force Strong Passwords. Encripta y guarda tus contraseñas en tu PC con evernote o con keepass.
- Usar temas y plugins reconocidos. De lo contrario pueden tener código insertado que pueden poner en peligro tu sitio. Usa solo el directorio de wordpress o un administrador reconocido. Aunque el plugin venga de wordpress nunca instales uno que no haya sido probado con la versión actual de wordpress y no tenga buenas reseñas. Esto te va ahorrar muchos dolores de cabeza. Plugin para automatizar esto: Aunque no lo recomiendo, pues a veces conviene actualizar a mano para comprobar que funciona todo correctamente. Otro plugin ‘Avanced Automatic Updates’ También se puede hacer configurando el archivo WP-CONFIG.PHP
- Limitar los accesos. Así evitamos los ataques de fuerza bruta . Instalar el plugin ‘loginizer’. Entramos en los settings del plugins>brute forze y configuramos. y también existe otro muy recomendable por su sencilles de código y eficacia ‘Login LockDown’ si te decantas por este marca la opción Yes, en Mask Login Error y marca la opción No, en Show Credit Link.
- Proteger el archivo wp-config.php. Este contiene información sensible como usuario y contraseña para la base de datos. Es misión crítica mantenerlo seguro. Para restringir el acceso a este archivo, se puede hacer por medio del .htaccess
- Evitar la lista de usuario. Esta es una técnica con la cual un hacker puede obtener la lista de tus usuarios y tratar de hacer un ataque de fuerza bruta. Podemos evitarlo por medio de 2 técnicas. La primera ir a usuarios>todos los usuarios>editar cada usuario> escribir nombre de usuario distinto a nombre y elegir en mostrar públicamente el nombre de la persona. La segunda forma es por medio de functions.php o por medio de un plugin.
- Crear un firewall. Por medio de un plugin ‘block bag queries’Activar y listo.
- Boquear algunas IP. Puedes bloquear la IP de usuarios spam o bot para que no vuelvan a enviar o comentar spam. Para hacerlo existe un plugin llamado ‘wp ban’Activar y listo. Seleccionar IP, ajustes>ban>insertar IP.
- Evitar Hotlinks. Es cuando otro sitio usa imágenes que están en tu web, robando ancho de banda al mostrar imágenes que están en tu server. Usando un enlace de tipo absoluto hacia tu imagen. En lugar de un enlace de tipo relativo. Por medio de un código en el .htaccess puedes evitar esto aunque quizá se dejen de mostrar las imágenes en sites estáticos (por experiencia propia).
- Cambiar la URL de la página de ingreso. Hacerlo a través del .htaccess o con el plugin ‘rename wp-login.php’. o ‘HC Custom WP-Admin URL’ ajustes>enlaces permanentes>WP-Aming Slug. Escribir en el .htaccess:
RewriteRule ^login$ http://www.tusitioweb.com/wp-login.php [NC,L,R]
y cambiar login por lo que queramos, en este caso .htaccess puede dar error y conviene hacer uso de un plugin.
- Crear un fuerte firewall a nivel de servidor. Copiar código de la página del desarrollador y copiar en el .htaccess. Si da problemas con tu servidor, retirar. Podemos bloquear IPs incluyendolas en la última sección del código.
Opciones extra de seguridad para tu wordpress
- Aumentar el límite de memoria de la base de datos [Apadir en wp-config.php debajo de $table_prefix = ‘…’;]
- Mover el directorio wp-content [*] Al mover este directorio también tenemos que mover el de los plugins e imágenes(UPLOADS). Crear carpeta elegida en FTP
- Mover el directorio plugins[*] Crear carpeta en FTP
- Añadir dentro del WP-CONGIF.PHP la ruta de los archivos de las imágenes. Después de la línea require_once(ABSPATH.’wp-settings.php’); la siguientes línea: /*mover el directorio de subida de archivos*/define(‘UPLOADS’,’contenido/wp-content/uploads’);
- Remplazar claves únicas de autentificación que vienen por defecto. Esto borra las cookies existentes y generar una nueva seguridad de claves etc. Do it: copiar la ruta que nos da de la API en el archivo WP-CONFIG.PHP pegarla en el buscador, cogemos una diferente, copiamos y reemplazamos.
- Añadir en el .HTACCESS un código para que cuando alguna carpeta del server o la web no tenga un index.php no muestre las carpetas u otros archivos que tengamos ocultos. De este modo evitamos que accedan a este contenido.
Options - Indexes
Si no funciona intentar con:
Options All -Indexes
- Plugin iTheme Security
- All In One WP Security Este brinda más capas y medidas de seguridad que el anterior. No te olvides de dejar solamente activo un plugin generalista de seguridad y de esa forma evitar conflicto entre los recursos del sistema.
- Ajustes de los enlaces permanentes. Poner nombre de la entrada, así evitamos que vean números y fechas en la URL.
- Eliminar el archivo install.php una vez realizada la instalación. Volver a borrar cada vez que se actualize wordpress. Si por cualquier motivo WP, no puede conectar con la BD, existe la posibilidad de que WP interprete que no se ha producido la instalación y por tanto derive al usuario hasta la página de instalación. Hay que eliminar esa opción. wp-admin>install.php . De forma adicional, podemos evitar el acceso a ese archivo. Esto lo hacemos escribiendo en el .htaccess el siguiente fragmento de código:
- Lo primero que hará un haker que intente atacar nuestro WP, mediante inyecciones SQL, será buscar el prefijo de las tablas. Si este es wp_ que es el que viene por defecto ya conoce el nombre de las tablas pues obviamente la estrucura es común en todas las instalaciones WP. Debemos cambiar ese prefijo. En la instalación siguiendo estos pasos: 1º Editar archivo wp_config.php cambiarlo por ‘loQuesea_’ Guardamos y volvemos a subir el archivo y remplazar por FTP. 2º Acceder a la BD vía PHP_myAdmin, editar las tablas con código SQL en la pestaña SQL 3ºIntroducir en la BD el siguiente código continuar y las entradas que encuentre editar una por una el ‘wp_’ por lo que queramos. 4ºRealizar la siguiente consulta y modificar las tablas que tengan ‘wp_’ Si esto resulta conplejo puedes usar la siguiente extensión/plugin o este . Este último también nos muestra los permisos actuales que tienen nuestros archivos potencialmente vulnerables y por cuales nos aconseja editar. Esto conviene realizarlo de forma manual por medio de .HTACCESS de esta forma podemos mantener mejor el control y cambiarlo si necesitamos un permiso distinto en el futuro ya que hay plugin que quizá necesiten los permisos que vienen por defecto. Entramos por FTP, seleccionamos el archivo .HTACCESS secundario>File permissions… y vamos archivo por archivo.
- Para evitar inyecciones SQL en formularios, se pueden activar uno de estos 2 plugins. Uno se llama ‘SI CAPTCHA’ el otro ‘Easy Captcha’ esta última es más sencilla. También se puede optar por deshabilitar los comentarios y externizarlos con la plataforma disqus o intensedebate . Esto nos quita un problema de seguridad y nos ahorra ancho de banda. Otra opción si no queremos externalizar los comentarios consiste en limitar los comentarios de wordpress. Para ello hay que añadir en el functions.php el siguiente contenido.
add_filter( 'pre_comment_content', 'wp_specialchars' );
De la misma forma, conviene editar el archivo .htaccess e incluir el siguiente código esto previene las inyecciones SQL más frecuentes. Adicionalmente y aunque no evite inyecciones SQL el plugin ‘Spam Free WordPress’ evita que entre spam si hemos activado extensiones de formulario como ninjaform o contact form7.
- Eliminar las extensiones o plugins que no tengamos activados. Porque pueden servir de puerta de entrada para un hacker.
- Ajustes>generales>miembros desactivar opción cualquiera puede registrarse. De esa manera solo podrán crearse usuarios que cree el administrador. Si lo dejas activado otorgar perfil de Suscriptor. Activar plugin ‘stop spammers’ para mayor seguridad.
- Si nuestra web cuenta con usuarios quizá convenga activar el plugin ‘Plainwiew Activity Monitor’ monitorizando un montón de procesos (logearse, registrase, errores de autentificación, cambiar password, IPs… etc).
- Borrar las pistas como la versión de tu wordpress actual. Puedes borrar el archivo ‘readme.html’ por FTP. También debemos eliminar la versión de WP que aparece en las páginas añadiendo en el archivo functions.php de nuestro theme la siguiente línea de código:
remove_action( 'wp_head', 'wp_generator' ); remove_action( 'wp_head', 'wlwmanifest_link' ); remove_action( 'wp_head', 'rsd_link' );
- Si permitimos que se indexen todos los archivos en el buscador, esto podría soponer información extra que pueda ser usada en nuestra contra. Para evitar esto hay que indicar a las arañas donde no queremos que entren. Creamos un archivo en el rootDomain por FTP, le llamamos robots.txt y lo editamos con el siguiente código:
- Proteger el archivo .htaccess. Introducir en el mismo una directiva de seguridad.
Las mejores prácticas para asegurar wordpress
- Escanear regularmente tu página para comprobar que no ha sido explotado por algún tipo de hakeo. Una excelente forma de escanear tu web es usando el escaner en línea de SUCURI o usar el plugin ‘Exploid Scan’ no elimina malware pero si nos informa de código poco habitual.
- La segunda buena práctica es contratar un buen sitio de hospedaje pues es la primera línea de defensa contra ataques. Hay que tener en cuenta que sean especialistas en wordpress. Su atención al cliente.
- Respaldos de tu sitio.
- Mantener actualizados temas/plugins.
- Instalar ‘Acunetix WP Security’ y analizar las vulnerabilidades (esto es para usuarios algo avanzados). . También añadir a G.Chrome la extensión ‘IP Address and Domain Information’ y usarla cuando entremos en un sitio que nos transmita poca confianza. Esta extensión nos permite saber que webs comparten servidor con nosotros.
¿Qué hacer si pierdes la contraseña de wordpress?
Wordpress tiene un sistema de password muy sencillo de usar. Solo tienes que recordar tu nombre de usuario o dirección de correo electrónico.
¿Qué sucede si no recuerdas ninguno o has cambiado tu cuenta de comercio electrónico?. Existe un método que implica el uso de PHPMyAdmin. Tienes que hacerlo por medio del panel de administración de tu proveedor de hospedaje. Abrir tabla de base de datos y buscar la tabla llamada ‘wp_users’. Editar y listo.
¿Qué hacer si wordpress fue hakeado?
- Mantener la calma. Como tomes una medida precipitada puedes causar daños irreversibles. Primero estudiar la situación. Pasar un buen antivirus por tu propio ordenador local. Una vez descartado tu sistema local conviene ponerse en contacto con el proveedor de hosting para ver si el problema es del mismo y también preguntar por posibles herramientas/acciones de ayuda por su parte.
- Eliminar usuarios con poderes de administración.
- Puedes probar a restaurar tu sitio a una versión anterior a que ocurriera el ataque.
- Revisar todos los plugins y themes, ver si están en el repertorio de plugins de WP, eliminar y reinstalarlos desde su sitio original por medio de FTP.
- Borrar los archivos de la instalación de Wordpress. Elimina todos los archivos de instalación excepto la carpeta WP-CONTENT(donde se encuentran plugins, teme e imágenes), el .HTACCESS y el archivo WP-CONFIG.PHP y sustituye por una versión nueva de WP.
- Recuperar archivos del backup y restaurar el sistema.
- Revisa el .HTACCESS y el WP-CONFIG.PHP manualmente para garantizar que no tenga ningún código inyectado. Si el .HTACCESS está infectado borralo y si lo está el WP-CONFIG.PHP usa una copia nueva de la descarga y vuelve a introducir todos tus datos de la base de datos.
- Revisa tu tema. Revisa la carpeta que contiene tus temas y elimina cualquier tema que no sea el que estás usando. Si tienes una copia del tema, sustituye el tema por la copia.
- Haz un escaneo del sitio. Si encuentra una inserción en la base de datos te quedan solo 2 opciones. La primera eliminar tu base de datos y utilizar un respaldo anterior de la base de datos. La segunda contratar a un profesional. Securi ofrece este servicio.
- Cambiar la contraseña de todo lo que tenga que ver con la web (sistema, FTP, Base Datos, Wp, email..). Editar datos del wp-config.
- Revisar .htaccess en busca de código inusual.
- Solicitar revisión a Google de tu web.
En conclusión, wordpress es muy confiable y seguro pero los hakers están continuamente ideando nuevos ataques. Por ello es muy importante entender todos los conceptos básicos y mantener tu sitio seguro para tus usuarios. Siguiendo los pasos de este artículo puedes añadir muchas capas de protección a tu sitio.
Información sobre la seguridad en WordPress
El fundador del proyecto wordPress, hacía públicas las cifras de este CMS a finales de Julio de 2013 en San Francisco. 69 millones de webs en todo el mundo funcionan sobre wordpress lo que representa el 19% de toda la web. Este proyecto cuenta con más de 10.000 temas y más de 25.000 plugins.
WordPress es con total diferencia el CMS o gestor de contenido más utilizado en todo el mundo. Esta posición de liderazgo en el mercado, a su vez supone todo un revulsivo para el propio proyecto. Ya que transmiten la solvencia necesaria como para que desarrolladores de todo el planeta centren en el sus esfuerzos.
Ya sea para continuar el proyecto o el otro lado de la moneda. Cuanto más expuesto esté un proyecto, más riesgos corre. Si eres capaz de hakear un sitio wordpress, eres capaz de hakear un millón.
Si hakeas un millón tienes un poder enorme para usar esos sitios y realizar ataques DDOS contra objetivos específicos. Nuestra web puede ser un simple intermediario para alcanzar otros objetivos. Sin embargo, todo lo que tiene de negativo, lo tiene también de positivo.
Los tiempos en que un haker era un experto informático especialista en entrar en sistemas ajenos sin permiso tras sortear sofisticadas medidas de seguridad han quedado en el pasado. La idea romántica de David contra Goliad, del adolescente enormemente inteligente que desde su ordenador es capaz de burlar la seguridad de una importante organización estatal, simplemente como reto intelectual, es algo que ha quedado atrás.
La llegada de internet, la globalización de la información, la creación de aplicaciones para la auditoría de sistemas, han permitido que hoy cualquiera se pueda convertir en un haker en un par de días sin conocimientos ni cualidades especiales.
Resulta más complejo crear un web de cierta sofisticación y ponerla en marcha, que acceder ilícitamente a ella y destruirla. Es tal la cantidad de herramientas que realizan el trabajo por uno y son tan fácilmente accesibles en la red, que considerar a un haker como un experto informático es sobrestimar lo.
Es como llamar chef al que mete una piza en el horno. Eso no quiere decir que no existan individuos con alta cualificación que burles altas medidas de seguridad empujados por diferentes motivaciones. Pero son una gota en un océano. (Hakers/Lamers).
Las motivaciones de un haker
Las motivaciones de un haker son muy diversas. Se pueden mover desde:
- La autorización personal
- El ciberactivismo
- La estafa
- La extorsión
- El espionaje
- Y en general el ánimo de lucro por vías ilícitas pudiendo llegar incluso a actuar como mercenarios. Un caso frecuente es la utilización del equipo pirateado para difundir spam. Lo que genera al ciberdelincuente ingresos económicos por parte del anunciante.
Somos nosotros los que construimos y ellos los que destruyen. No se merecen ningún tipo de reconocimiento por nuestra parte.
Equilibrio entre seguridad y usabilidad
Ante la imposibilidad de aplicar una política de seguridad muy severa sin que esta redunde negativamente sobre la usabilidad de la web, resulta necesario encontrar un punto de equilibrio.
Todas las herramientas son susceptibles de producir una ralentización en el funcionamiento del sistema. Puede resultar necesario asumir un cierto margen de riesgo en favor de la navegabilidad. Además existe el riesgo de que pueda surgir incompatibilidad entre distintas extensiones como sucede con algunos antivirus.
En función de cada proyecto se deberá estudiar qué medidas de seguridad son las más apropiadas y qué camino para su implementación tomar. Mantener las defensas siempre a punto y estar preparados ante un eventual ataque es lo que va a marcar la diferencia entre un ‘cisma’ o un desastre absoluto.
Debemos realizar y poseer siempre una copia de seguridad tanto de los archivos como de la base de datos.
Servidores dedicados o compartidos
A la hora de elegir un hospedaje para nuestro proyecto, podemos elegir básicamente entre dos opciones.
Si elegimos SERVIDORES COMPARTIDOS, estaremos eligiendo la opción más cómoda y la más económica pero no está exenta de riesgo. En el sentido de que estamos compartiendo un servidor con usuarios desconocemos y pueden no estar cuidando su seguridad. Si uno de ellos es infectado por un gusano, podemos ser infectados de forma lateral de forma indirecta.
Si optamos por la primera opción, los SERVIDORES DEDICADOS, estamos eligiendo la solución más cara pero la responsabilidad de la seguridad recae exclusivamente sobre nosotros. De modo que tenemos que contar con conocimientos elevados de administración de sistemas.
También tenemos la opción de CLOUD HOSTING. Está orientado para webs con una gran carga y un flujo de datos creciente. Sería una solución para una web avanzada, de grandes dimensiones.
Existen más opciones pero no contemplan el administrar la seguridad, como los SERVIDORES VIRTUALES, que son como servidores compartidos pero no tenemos ninguna opción sobre la gestión de la seguridad.
Otros serían las SOLUCIONES HOSPEDADAS, como wordpress.com donde directamente instalamos wordpress, pero somos ajenos completamente al control de la seguridad.
¿Cómo sabemos si un servidor es seguro?
Contar con un servidor seguro es un aspecto clave para la seguridad de nuestro proyecto. Para saber cuanto de seguro es un servidor, podemos ver:
- Con qué tecnología cuenta
- Cuales son las condiciones de su servicio
- Y qué características de seguridad ofrece
Sin embargo, existe otra vertiente que es un tanto subjetiva. Está basada en la reputación del proveedor. Podemos buscar a través de los foros, probar su soporte técnico, ver cuales son las principales quejas de sus clientes y si estas están basadas con aspectos relacionados con la seguridad.
Por otro lado, tenemos que tener claro que un servidor seguro va a salir caro. Es decir, nos va a resultar más costoso que otras ofertas en las que la seguridad no es un factor destacado dentro de sus características principales.
Algunos de los servidores que sin encontrase en el nivel más alto de seguridad, si que son unos servidores que garantizan un nivel aceptable de seguridad. Podemos encontrar muchos dentro de esta gama media. Algunos son nominalia, 1and1, arsys, acens.
Servidores especializados en segurar wordpress
Los servidores especializados en wordpress, son por lo general servidores que están configurados específicamente para el buen funcionamiento de wordpress. Tienen muchas ventajas, entre ellas, la máxima compatibilidad, no vamos a tener ningún problema en cuanto a funcionalidad y además suelen contar con un soporte técnico especializado que nos puede resultar de gran utilidad.
Entre sus desventajas, tenemos el peligro de vaneo, es un ataque de fuerza bruta que se realiza sobre la IP de nuestro servidor y no sobre nosotros. Imaginemos que hay otra instalación de wordpress que es vecina a nosotros y que no ha cuidado la seguridad, no tiene por ejemplo actualizado su wordpress a la última versión. Si recibe un ataque, puede repercutir sobre nosotros.No obstante, el aspecto de la seguridad suele ser muy vigilado por este tipo de servidores. Existe una cantidad incontable de estos servidores, alguno de ellos: webempresa, gigas, pagely, wpengine, factoriadigital, host-fusion .
Derechos de autor en la web
Te leo en los comentarios.