Uno de los principales problemas con la tecnología son los frecuentes fallos en la seguridad que experimentamos; mucha información se roba diariamente y se utiliza para robar más información, enviar mensajes de correo no deseado, abrir puertas traseras a los sistemas y, a veces, incluso dañar nuestras computadoras.

Ninguno de estos problemas desconocidos para WordPress, una cantidad asombrosa de sitios, se han convertido en víctimas de delincuentes desagradables que explotan a la comunidad para su propio beneficio.

Para poder vencer esta amenaza, hemos reunido un resumen de algunas buenas herramientas y consejos sobre cómo evitar ser la próxima víctima. O si tiene la mala suerte de ser una víctima, cómo defenderse y reparar su instalación.

Ataques de explotación

Es posible que haya escuchado al respecto, incluso puede conocer los detalles, pero para aquellos que no tienen aquí el problema: un exploit es una pieza de código malicioso distribuido para explotar una debilidad en el código existente.

TimThumb era susceptible a un ataque de este tipo; una de sus funciones, que permite a los usuarios subir imágenes de diferentes sitios y acceder a ellas libremente, imágenes almacenadas en un directorio de caché para que Timthumb no tenga que volver a procesarlas. Esta función podría ser explotada por un hacker que carga archivos en el servidor, lo que les permite acceder a tantos recursos de la instalación de WordPress como lo deseen.

Exactamente el mismo problema afectado Uploadify , un complemento que permite a los usuarios subir archivos. Cuando no se controlaba adecuadamente, el complemento permitía a los piratas informáticos el acceso gratuito al sitio al cargar scripts PHP para otorgar permisos de acceso.

Maintenance

Imagen de mantenimiento a través de Shutterstock.

El problema en estos casos, como en la mayoría de los ataques de exploits, no era WordPress sino los plugins. La solución es simple, mantenga sus complementos actualizados e informe cualquier error que encuentre a los desarrolladores para ayudarlos a corregir problemas potenciales.

Inyecciones de SQL

La instalación de WordPress en sí no es inmune a los problemas. Dependiendo de la versión, la inyección SQL puede ser un gran dolor de cabeza. Una inyección SQL es un proceso mediante el cual un atacante intenta pasar el código SQL a través de un formulario o script de sitio web con la esperanza de que el código SQL analice "correctamente" y recupere datos de la base de datos. Esos datos pueden ser direcciones de correo electrónico, pero lo más probable es que sean nombres de usuarios y contraseñas que le den más acceso al usuario para otros ataques.

La razón por la cual los ataques de SQL pueden ser tan irritantes es que para combatirlos necesita hacer una copia de seguridad con frecuencia de su base de datos. Preferiblemente al menos una vez por día.

Mainenance

Imagen de mantenimiento a través de Shutterstock.

Para evitar eso, puede intentar proteger sus archivos usando Apache con un código como este en su archivo .htaccess:

RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]RewriteRule ^(.*)$ - [F,L]RewriteCond %{QUERY_STRING} ../ [NC,OR]RewriteCond %{QUERY_STRING} boot.ini [NC,OR]RewriteCond %{QUERY_STRING} tag= [NC,OR]RewriteCond %{QUERY_STRING} ftp:  [NC,OR]RewriteCond %{QUERY_STRING} http:  [NC,OR]RewriteCond %{QUERY_STRING} https:  [NC,OR]RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]RewriteCond %{QUERY_STRING} base64_encode.*(.*) [NC,OR]RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|ê|"|;|?|*|=$).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*("|'|<|>||{||).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$RewriteRule ^(.*)$ - [F,L]

Esto pospondrá a un aficionado, pero un pirata informático profesional encontrará otro agujero de seguridad para explotar. Afortunadamente, la mayoría de los ataques son perpetrados por novatos o spammers, utilizando scripts como PHP r57 o Shell. La reducción de estos ataques reducirá en gran medida la cantidad de problemas con los que debe lidiar.

Usuario predeterminado

El mayor agujero de seguridad en todos los sistemas es el usuario final. No importa cuán compleja sea la contraseña que cree. De hecho, cuanto más compleja es la contraseña, peor es el riesgo de seguridad; porque las contraseñas muy complejas deben ser guardadas en alguna parte. Los usuarios suelen guardar contraseñas en archivos .txt o .doc en sus computadoras y eso deja al sistema abierto a ataques de phishing usando archivos de virus como troyanos.

El único lugar seguro para almacenar una contraseña está dentro de tu propia cabeza.

Sin embargo, incluso si solo almacena su contraseña en su propia memoria, aún no está a salvo de los ataques de fuerza bruta. Un ataque de fuerza bruta simplemente intentará 'adivinar' tu contraseña con intentos repetidos de iniciar sesión. Puede comenzar con 'aaaaaa', pasando a 'aaaaab' y así sucesivamente hasta que llegue a '000000'. Este proceso no se limita a una sola computadora, comúnmente cientos de máquinas ejecutan contraseñas potenciales que buscan acceso.

Una forma de manejar los ataques de fuerza bruta es instalar un limitador de inicio de sesión que solo permita unos pocos intentos de inicio de sesión antes de bloquear el acceso de ese usuario durante una hora más o menos. Esto reduce la cantidad de oportunidades que tiene el atacante para ingresar. Hay varios complementos de WordPress que pueden ayudarlo con esto: Limitar los intentos de inicio de sesión , Mejor seguridad de WP y Solución de seguridad para iniciar sesión .

Finalmente, preste atención a los nombres de usuario. El nombre de usuario predeterminado para WordPress es 'Admin' y si lo deja como tal, está reduciendo a la mitad la cantidad de trabajo que el hacker necesita hacer para acceder a su sitio. Si no cambió su nombre de usuario mientras estaba instalando WordPress hágalo ahora. Simplemente inicie sesión en su cuenta, cree una nueva cuenta con el nombre de usuario que desee, asígnele permisos de administrador y luego elimine la cuenta de administrador.

Cleanup

Imagen de limpieza a través de Shutterstock.

Acceso directo

Otro problema que pueden tener nuestros sitios de WordPress es proporcionar acceso directo a la página de inicio de sesión, lo que simplifica el proceso de pirateo de su sitio.

Mientras que proteger sus contraseñas es el problema más acuciante, un usuario malintencionado no podrá usar todo lo que haya robado si no puede encontrar la página de inicio de sesión. La solución más simple para esto es usar un plugin como Ocultar inicio de sesión para ocultar la ubicación de la página de inicio de sesión.

También se puede acceder a ciertos archivos en nuestra instalación de WordPress si no se protegen adecuadamente. Podemos aclarar estos cabos sueltos agregando algunas reglas más a nuestro archivo .htaccess, así:

Options All -IndexesOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from all

Prefijo predeterminado

Debería quedar claro que mientras más información le demos a nuestro potencial pirata informático, más fácil le será a ellos tener éxito.

El prefijo de tabla predeterminado de WordPress es 'wp_'. ¿Por qué querríamos darles eso? Cambiemos ese prefijo por algo más difícil de adivinar, como 'oijrr58_', por ejemplo, hará que sus vidas sean mucho más difíciles y aumentará las posibilidades de que su sitio permanezca seguro.

Para las instalaciones nuevas, esto es obvio porque el script de instalación nos pide un prefijo. Para los sitios más antiguos tiene dos opciones, puede hacer el cambio manualmente (solo intente esto si tiene mucho tiempo y está seguro de que sabe lo que está haciendo) o use un plugin como Mejor seguridad de WP que se encargará de eso por ti.

Demasiado tarde…

Nunca es demasiado tarde. Siempre puedes combatir a los hackers y evitar que te conviertas en una víctima perpetua.

Si no está seguro de si su sitio ha sido infectado, hay herramientas que le informarán. Sucuri SiteCheck por ejemplo, escaneará su sitio y, si está infectado, le aconsejará sobre los pasos a seguir para corregir el problema.

Hazardous

Imagen peligrosa a través de Shutterstock.

Soluciones básicas

Aquí hay algunos pasos básicos a seguir:

  • Copia de seguridad del sitio y la base de datos, pirateado o no, no desea perder su contenido.
  • Haga copias de los elementos que no están en su base de datos, como las imágenes.
  • Descargue la última versión de WordPress.
  • Asegúrese de que todos los complementos estén actualizados, compruebe qué versiones resuelven problemas conocidos.
  • Asegúrese de que las plantillas estén actualizadas, compruebe qué versiones resuelven problemas conocidos.
  • Use un cliente FTP o cPanel para eliminar todo en el directorio de WordPress.
  • Suba los nuevos archivos que descargó.
  • Ejecute la actualización de la base de datos.
  • Cambia tu contraseña, no quieres permitir que los piratas informáticos vuelvan.
  • Finalmente, revisa cada publicación, corrigiendo cualquier daño que se haya hecho.

Combate de scripts r57

r57 es un script PHP que ofrece a un atacante una amplia gama de capacidades, aunque el atacante tiene estas capacidades, estas no funcionarán hasta que el shell esté en nuestro servidor web, por lo tanto podemos evitar que funcione usando los siguientes comandos:

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Este comando buscará archivos PHP ubicados en su carpeta WWW, y luego dentro de los archivos encontrados buscará cualquier mención de r57 en el nombre y contenido. Luego eliminará los archivos infectados.

find /var/www/  -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Este código hace lo mismo, a excepción de los archivos TXT en lugar de los archivos .php.

Tenga en cuenta que estos códigos son para Linux, no los pruebe en Windows o MacOS y tenga en cuenta que son potencialmente muy destructivos, ya que eliminarán archivos sin pedir permiso.

Código obscurecido

Una causa importante de preocupación dentro de los temas es el código oscurecido, ya que el código malicioso tiende a ser más difícil de encontrar dentro de los temas. Se pueden hacer todo tipo de daños, desde redirigir a los usuarios a otros sitios, hasta hundir su SEO.

Un arma clave en la lucha contra este tipo de problema es Comprobador de autenticidad del tema . Este complemento no solo verificará el código en busca de líneas sospechosas, sino que detectará enlaces estáticos y código oculto como el código generado en base64 que es difícil de detectar a simple vista.

Si me engañas una vez, la culpa es tuya…

El hecho de que haya sido atrapado en el pasado no significa que deba seguir jugando.

Considera seguir estos pasos para asegurarte más:

  • Solo permita PHP cuando sea estrictamente necesario.
  • Asegúrese de que su servidor web no permita a los clientes modificar el archivo .htacess.
  • Implemente un firewall que restringirá el correo saliente en el puerto 25 a solo la raíz y el ID del servidor de correo electrónico.
  • Supervise las cargas en su sitio con una aplicación como Escáner ConfigServer eXploit .
Repair

Reparar la imagen a través de Shutterstock.

Finalmente

La seguridad de WordPress es tan importante como la seguridad de cualquier sitio. Debe asegurarse de que tanto usted como sus usuarios estén protegidos contra el spam, el malware y los ataques de phishing. Pero recuerde que la primera línea de defensa es en realidad el software antivirus en su máquina de escritorio.

¿Has tenido problemas con la seguridad de WordPress? ¿Cómo resolviste el problema? Háganos saber en los comentarios.

Escrito exclusivamente para WDD por The Shock Family: un equipo de profesionales de la web y creadores de Temas de WordPress Shock (Temas de wordpress premium), Generador de temas WP (Un gran creador de temas wp), y DesignShock seful design sets). ( conjuntos de diseño útiles).