it-swarm-es.com

¿Cómo puedo proteger una instalación de WordPress?

¿Cómo se protege una instalación predeterminada WordPress?

¿Qué lista de verificación utiliza, mejores prácticas, consejos y trucos, etc.?

Cualquier recomendación sobre complementos, herramientas de terceros son bienvenidas.

28
Nuno Morgadinho

En realidad, hay una muy buena guía para esto en el sitio web wordpress - Hardening WordPress .

Sin embargo, mi breve lista de verificación personal es

  • mod_security - @atdre ya mencionado mod_security es un muy buen paso. Sin embargo, requiere una gran cantidad de ajustes en el conjunto de reglas principales para permitir que wordpress funcione correctamente. También es muy probable que necesite personalizar el conjunto de reglas según los complementos que utilice).
  • Permisos de archivo - ver aquí
  • Administración sobre SSL - Use SSL para el área de administración, consulte aquí .
  • Actualización - el más crítico en mi opinión mantener wordpress actualizado. Usando las herramientas integradas, por parcheando manualmente o usando un script de actualización (escribí esto uno).
17
Mark Davidson

ModSecurity con el conjunto de reglas básicas no está mal, pero es mejor configurarlo explícitamente para cada entrada que toma la aplicación, así como corregir la salida sin escape que envía en la salida. Esto funciona mejor en el modo de proxy completo, pero integrado tiene otras ventajas únicas. Puede ser inteligente usar ambos, especialmente porque Wordpress es increíblemente inseguro.

5
atdre

Un paso sería asegurar el servidor (que generalmente es Apache) que se describe en las respuestas de mi pregunta anterior de Endurecimiento del servidor Apache

4
Eric Warriner
  1. Cambiar el nombre de usuario de la cuenta de administrador. Si un hacker ya conoce tu nombre de usuario, eso es la mitad de la batalla e intentará adivinar tu contraseña.
  2. Cambie el prefijo de tabla WordPress durante la instalación.
  3. Usando un .htaccess archivo puede bloquear su directorio wp-admin por dirección IP. Esto significa que solo las direcciones IP que especifique pueden acceder a las URL de su panel de administración.
  4. Establezca una contraseña segura para el inicio de sesión de administrador y el acceso a ftp.
2
Mena Samy

Además del gran consejo anterior, tengo otra sugerencia: recientemente publiqué un complemento Wordpress que puede resultarle útil. Lo llamo Foresight . Está disponible para descargar desde el Wordpress Plugin Directory:

http://wordpress.org/extend/plugins/foresight/

(También es reflejado en github .)

El complemento es bastante simple: todo lo que hace es cargar un enlace "Previsión" en la sección "Herramientas" de su barra lateral cuando está conectado como administrador. Si hace clic en ese enlace, se le presentará una serie de iframes con pestañas, cada uno de los cuales muestra los más nuevos Wordpress exploits encontrados en los siguientes rastreadores de exploits populares:

Esta herramienta no es particularmente elegante ni nada. (Lo considero una herramienta tonta para un administrador inteligente), ya que en última instancia solo está cargando un montón de iframes. Para usarlo, solo tiene que cargarlo periódicamente y explorar los exploits, manteniendo un ojo abierto para detectar exploits en el núcleo de Wordpress o los complementos que utiliza. Si encuentra un exploit, puede entonces tome una decisión inteligente sobre la mejor manera de proceder.

Hice este complemento porque, después de la reciente debacle de TimThumb, me resultó obvio que muchos administradores de Wordpress no vigilan los rastreadores de exploits. Mi esperanza es que esto lo haga un poco más fácil de hacer.

1
Chris Allen Lane

Agregaré mi respuesta también:

Métodos para aumentar la seguridad (OBLIGATORIO):

  • Usando [~ # ~] https [~ # ~] (también existe ssl gratuito por "Vamos a cifrar").

  • No escribe credenciales en una PC pública/desconocida/Internet WIFI (si necesito Internet sobre la marcha, comparto Internet desde mi móvil a mi computadora portátil)

  • Usar contraseñas seguras

  • tener solo 1 administrador (yo mismo) y asignar a otros como editores, etc.

  • Suscribiéndose a wpvulndb.com para recibir noticias diarias.

  • Comprobando sitios con complementos Pen-Test (como estos ).

  • Usando el complemento de autorización bidireccional .

  • Cambie Nicename & DisplayName - configúrelos de manera diferente a username.

  • Deshabilite las advertencias en la página de inicio de sesión (usando el complemento iThemes )

  • Bloqueo de fuerza bruta (usando el complemento iThemes )

  • Cambio wp-admin url (usando el complemento iThemes )

  • Deshabilite las modificaciones del archivo PLUGIN/THEME desde el tablero (usando el complemento iThemes )

  • En algunos casos, el uso del complemento IP LOGIN RESTRICTOR (bloquea todas las IP no permitidas si intenta ingresar a cualquier página en /wp-admin zona.

  • instalar complementos de seguridad (como iThemes), que:

  • Si el sitio específico es ALTAMENTE CRÍTICO, utilizo solo esos complementos y tema **, cuya fuente he comprobado línea por línea por seguridad.

  • Habilite las actualizaciones automáticas para CORE & PLUGINS & THEMES !

  • utilice el complemento "bloquear IP/bots incorrectos".

  • instalar el complemento Actividades para inspeccionar las actividades de vez en cuando.

  • verifique los registros de inicio de sesión para ver si alguien ingresó desde otro país.

  • Cierre la sesión si usa Internet público.

Partes aún vulnerables:

  • alguien podría omitir autorización bidireccional , wp-admin confusiones de backend u otras restricciones mediante:

    • "COOKIE Fuerza bruta" (en lugar de comprobar la contraseña del usuario).

    • Aplicación de WordPress en Android (no solicita detalles de 2 factores, porque tiene su forma de conectarse a WP)

    • Comandos JSON-API (no solicita detalles de 2 factores o etc.)

"Consejos" inútiles :

Es posible que haya escuchado varios de estos, pero son inútiles:

  • Ocultar cualquier wp-* enlaces en la fuente (bastante inútil, alguien simplemente verifica cualquier archivo, es decir, example.com/wp-settings.php para el código HTTP 200).

  • Ocultar WordPress versión/readme (inútil, porque alguien podría comprobar la fuente del sitio y comprenderá qué versión estás usando))

  • Cambiando el nombre de usuario de Admin (inútil, cualquiera puede ver sus nombres de usuario en: yoursite.com/wp-json/wp/v2/users a menos que hagas lo que he dicho en la parte superior)

1
T.Todua

El complemento de iThemes Security es bastante bueno para hacer cosas como cambiar los nombres de inicio de sesión, el prefijo de la base de datos, las sales e incluso cambiar/ocultar el área de administración y la página de inicio de sesión. También es bueno para verificar permisos.

Algo de lo que no he visto mucho es cómo proteger el xmlrpc.php que está expuesto a ataques DoS incluso si usa el complemento Jetpack y activa "proteger". Encontré este código para poner en el archivo .htaccess o Apache para permitir solo el acceso xmlrpc.php por el rango de IP de WordPress.

<files xmlrpc.php="">
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Satisfy All
ErrorDocument 403 http://127.0.0.1/
</files>

Con suerte, esto es útil o quizás alguien conoce una mejor manera de proteger el xmlrpc.php.

0
sdexp

Hay cientos de artículos sobre este tema. Lea los siguientes artículos.

Si puede pagarlo, alquile un servidor dedicado para que otros sitios web comprometidos que están alojados en la misma caja que el suyo no lo afecten. Puede hacer todo lo posible para asegurarse de que su sitio web sea seguro, pero si su host está utilizando una versión desactualizada de Apache o Linux, eso solo podría ser su desaparición.

Realice regularmente una suma de comprobación y/o revisión de código en sus complementos. Es común que los piratas informáticos inyecten shellcode en sus complementos, tanto porque no lo esperaría/buscaría allí como porque se ejecutará cada vez que se ejecute ese complemento. Si encuentra algún complemento que no puede verificar que haya instalado, elimínelo. Esté atento también a la fecha en que se modificó por última vez un complemento, documente cada modificación que realice en un complemento.

Si debe almacenar contraseñas, hágalo de forma segura. Use un algoritmo de hash fuerte con una sal por usuario (no hay dos sales iguales). La sal de los usuarios (si se almacena) debe estar en una base de datos separada. Lea este artículo (OSWASP) sobre cómo almacenar contraseñas de forma segura.

Hablando de bases de datos, use la regla de privilegios mínimos. Verificar si las credenciales de un usuario son correctas no requiere privilegios de root.

Asegúrese de realizar la validación en todas las entradas del usuario . Para búsquedas, campos de registro, etc. esto será fácil, comentarios/respuestas no tanto. Establezca una lista blanca de entrada válida, restrinja todo lo demás. Por ejemplo, en su página de registro no hay ninguna razón para permitir nada más que a-z, A-Z y 0-9 en el campo de nombre de usuario. Todo lo demás debe restringirse explícitamente. Desde mi experiencia, la forma más fácil de entrar en un sitio web (Wordpress o no) es explotando la validación incompetente. Haz uso de listas blancas y escape de personajes.

Tenga en cuenta todos los vectores de ataque. Si solo está haciendo una Wordpress instalación, asegurarla es relativamente fácil. Sin embargo, en el futuro puede instalar complementos y aplicaciones adicionales (foros, comercio electrónico, análisis, etc.). A continuación, debe asegurarse de que se mantengan actualizados y de tener contraseñas seguras.

Limite el número de intentos de inicio de sesión que un usuario puede intentar antes de ser bloqueado. Personalmente, utilizo el acertadamente llamado " Limitar intentos de inicio de sesión ", pero hay bastantes, como Bloqueo de inicio de sesión . Algunas personas también usan un CAPTCHA en su página de inicio de sesión, es una cuestión de preferencia. Esto reducirá enormemente las probabilidades de que un ataque de fuerza bruta (un método de penetración que ya es deficiente) tenga éxito. Habilite también el registro opcional.

Si necesita información adicional, no dude en contactarme. Tenía mucho más que agregar, pero decidí quitarlo para ahorrar energía;)

0
Fairlight

Para la auto-auditoría, puede encontrar plecost de interés.

Definitivamente echa un vistazo a http://codex.wordpress.org/Hardening_WordPress para obtener una lista muy completa de tácticas y estrategias. Otras respuestas a su pregunta tienen enlaces igualmente útiles. Repase cada uno de ellos hasta que sienta que tiene la cobertura adecuada.

Además, tenga MUY consciente de qué complementos instala y cuántos. Mientras que WordPress está en constante desarrollo y revisión por pares, no se puede decir lo mismo de muchos de estos complementos. Cada uno representa un riesgo de seguridad y debe mantenerse.

0
chao-mu