Seguridad y

Rendimiento

Integrantes

Cesar Patricio
Oscar Murillo
Enrique León
Renzo Tejada

MAESTRÍA EN INGENIERÍA DE SISTEMAS

CON MENCIÓN EN TECNOLOGÍAS DE LA INFORMACIÓN Y TELEMÁTICA

SEGURIDAD

No utilices el prefijo wp_ para la base de datos

Esto es algo que todo hacker sabe, y es

información gratuita que damos a cualquier posible atacante

No utilices el usuario admin para acceder  a WordPress y Utiliza una contraseña fuerte

Así que en el momento de elegir el nombre de tu primer usuario para acceder a WordPress no elijas aquellos nombres comunes para esta tarea, como admin, Admin, root, etc., ya que son los primeros que comprobará un hacker que quiera tomar posesión de tu web.

WordPress, en sus últimas versiones, incorpora un generador de contraseñas seguras y te «sugiere» utilizarlas. Ésta será siempre la mejor opción.

Usa siempre la última versión de WordPress

Los hackers suelen atacar principalmente sitios con versiones antiguas, no actualizadas,

Actualiza los plugins instalados

La principal vía de entrada de ataques a una instalación WordPress es en su mayoría a través de plugins sin actualizar.

Actualiza el tema activo

Igualmente importante es usar siempre una versión actualizada del tema activo, pues los hackers saben que no se suelen cambiar muy a menudo

No utilices plugins o temas obsoletos

Revisa frecuentemente la página del programador de tu tema y plugins para comprobar si ha actualizado recientemente su producto y, en caso contrario, busca una alternativa que te ofrezca las mismas prestaciones.

Borra los plugins y temas que no utilices

 Es un peligro tener instalados plugins y temas inactivos, por la sencilla razón de que les prestaremos menos atención al no estar activos.

El único tema activo que deberías dejar instalado es el último tema por defecto de WordPress disponible (ahora mismo Twenty Fifteen), que supone una regla de protección adicional para tu web, ya que si WordPress detecta un problema en tu tema activo y no puede cargarlo intentará activar automáticamente el tema por defecto si lo encuentra instalado.

Descarga plugins y temas de sitios seguro

El sitio más seguro para descargar plugins y temas es el directorio oficial

Además, hay mercados de temas y plugins como Envato, Woothemes o Elegant Themes, de gran calidad y cuidado por sus productos.

Protege el archivo de configuración de WordPress

El archivo de configuración de WordPress, el fichero wp-config.php

Protegerlo contra escritura cambiando los permisos a 444

Añade las siguientes reglas al fichero de Apache .htaccess para evitar accesos no deseados:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

Protege la carpeta de archivos subidos

La carpeta uploads, situada en la ruta tusitio.es/wp-content/uploads donde se suben las imágenes y documentos que adjuntas a tus publicaciones en WordPress, es la más susceptible de ataques.

Para ello, añadiremos las siguientes líneas de código al fichero oculto de configuración de Apache .htaccess, situado en la carpeta donde instalaste WordPress:

<Files ~ ".*\..*">
	Order Allow,Deny
	Deny from all
</Files>
<FilesMatch "\.(jpg|jpeg|jpe|gif|png|bmp|tif|tiff|doc|pdf|rtf|xls|numbers|odt|pages|key|zip|rar)$">
	Order Deny,Allow
	Allow from all
</FilesMatch>

Haz copias de seguridad

Siempre habrá alguna vulnerabilidad nueva para la que no estemos protegidos, siempre iremos un paso por detrás de los ataques malintencionados. Así que, en caso de desastre, lo único que nos puede salvar de una eventual pérdida de todo nuestro contenido es disponer de copias de seguridad.

Limita los intentos de acceso

La mayoría de los actuales ataques contra sitios WordPress se realizan mediante intentos masivos de acceso a través de la pantalla de login

Instala un plugin de seguridad

La mayoría de ellos contienen ajustes para evitar ataques de fuerza bruta, inyecciones de código y modificaciones de archivos de sistema, incluyendo sistemas de aviso para que estés informado de cualquier posible ataque en curso.

Los más recomendables son los siguientes:

Utiliza permisos de archivos y carpetas seguros

WordPress aplica permisos de lectura y escritura a archivos y carpetas

Los permisos por defecto que deben tener archivos y carpetas en WordPress son los siguientes:

  • Archivos: 644
  • Carpetas: 755

Utiliza un proxy inverso como CloudFlare

 La seguridad de WordPress es usar un servicio CDN, o red de entrega de contenidos remotos como CloudFlare, con un plan gratuito muy completo y plugins que facilitan su integración con WordPress.

Además de ofrecer un sistema de cache muy potente, también incorpora medidas de protección como las siguientes:

  • Ofuscación de emails, evitando la captura de direcciones de email mostradas en tu web
  • Bloqueo de IPs de visitantes con comportamientos sospechosos de ser atacantes
  • Siempre online, para mostrar una versión en cache de tu web incluso cuando estés siendo objeto de un ataque en curso

Crea una cuenta en Google Search Console

Es imprescindible que des de alta tu sitio en la Search Console para que Google te informe de:

Plugins como Yoast SEO o All in one SEO pack permiten la integración de WordPress con la Search Console de manera sencilla.

Impide el acceso de sploggers

Si por algún motivo permites los registros de usuarios en tu WordPress debes protegerte contra los conocidos como sploggers, usuarios que se registran masivamente en webs para intentar acceder a su configuración, añadir comentarios spam o incluso inyectar malware.

 

La solución definitiva para este tipo de usuarios es, por supuesto, no activar el registro de usuarios (comportamiento por defecto de WordPress). Pero si por motivos de fidelización o marketing tienes habilitado el registro deberás instalar el mejor plugin que existe para detectar y eliminar esta amenaza: WangGuard.

Protege el archivo .htaccess

El archivo .htaccess es un fichero del servidor Apache que aplica reglas a cualquier aplicación instalada en tu alojamiento, en nuestro caso WordPress, pudiendo aplicar medidas de seguridad y seguridad, entre otras.

Para proteger también el archivo .htaccess de accesos no deseados puedes incluir las siguientes líneas en el mismo archivo:

<files .htaccess>
order allow,deny
deny from all
</files>

Protégete del spam

Una de las tareas habituales de cualquier administrador de un gestor de contenidos, como WordPress, es controlar el spam en los comentarios. Primero, porque es fuente de distracciones y enlaces no deseados en los formularios de comentarios. Y segundo, porque algunos hackers utilizan estos formularios para inyectar código que podría comprometer la seguridad de tu instalación de WordPress.

Evita la vulnerabilidad pingback

Hay una vulnerabilidad concreta, denominada como vulnerabilidad pingback, que merece una mención especial porque, aunque de fácil solución, dejaría inactivas funciones importantes de WordPress como la gestión remota, el uso de aplicaciones móviles o incluso el sistema de pingbacks y trackbacks.

Está relacionada con el protocolo XML-RPC, que es el que permite que WordPress se conecte, por ejemplo, con la aplicación WordPress para iOS o Android, así como editores offline y algunos sistemas de sindicación de contenidos, por lo que en principio inactivar este protocolo no parece recomendable.

Lo malo es que es una vía abierta de posibles inyecciones de código por parte de atacantes.

Comprueba los cambios en los archivos de tu instalación de WordPress

Un modo estupendo de vigilar nuestra instalación de WordPress es utilizando plugins como iThemes Security o WordFence, vistos anteriormente.

 

Estos plugins vigilarán por nosotros la integridad y posibles cambios de los archivos de nuestra instalación de WordPress, tratando de evitar modificaciones y, cuando no sea posible, avisándonos de estos cambios para que podamos revertirlos y así permanecer seguros.

RENDIMIENTO

La importancia de la velocidad

La velocidad web es importante por varios motivos.

La velocidad es un factor de posicionamiento SEO y Google penaliza los sitios lentos.

Un sitio rápido vende más y un ejemplo es Amazon, que calculó que por cada segundo de carga de más, perdería 1.6 billones de Dólares (inglés) en ventas en un año.

¿Por qué WordPress se vuelve lento?

Estos son los motivos por los que WordPress se vuelve lento:

  • Tu hosting no es adecuado: cuando se usa un hosting de calidad se nota la velocidad por toda la tecnología que usa.
  • Tienes una plantilla de mala calidad: si usas un tema que tenga muchos scripts CSS o JS y esté mal optimizado ralentizará tu WordPress.
  • Usas plugins demasiado pesados: tener muchos plugins no es malo, siempre que estos no hagan un consumo exagerado de recursos.
  • Imágenes pesadas: si no optimizas las imágenes, estas ralentizarán mucho tu web.
  • Tienes muchos scripts externos: si el problema no es interno, seguro que será externo porque llames a scripts.

Con WordPress lento también hace que sea casi imposible trabajar con el panel de administración y consumirá muchos más recursos del servidor, no importando si tienes pocas o muchas visitas.

Hacer un test velocidad de carga a tu web WordPress

La primera tarea de toda optimización es hacer un test de velocidad a tu web WordPress y te recomiendo que uses PageSpeed

Activa la compresión GZIP en WordPres

Debes activar la compresión GZIP en WordPress, porque comprime los archivos de un sitio web, haciendo que pesen menos y tarden menos en cargar.

Si usas Cpanel puedes activar la compresión Gzip en el apartado Software/Servicios en uno que se llama Optimizar sitio web y actívala eligiendo la opción Compress all content.

Actualiza WordPress a PHP 7

Text

 Cpanel es tan sencillo como irte a 1H software - administrador de versiones de PHP, haces clic en la carpeta que quieras cambiar y elige la versión de PHP correspondiente.

Aumenta la memoria de WordPress

Para aumentarla debes de editar el archivo wp-config.php que estará en la carpeta public_html e insertar dentro lo siguiente:

define('WP_MEMORY_LIMIT', '256M');

Actualiza WordPress, temas y plugins

Siempre, siempre debes actualizar WordPress, temas y plugins, porque las últimas versiones son las más rápidas y seguras.

Muchos de los fallos de velocidad suelen venir porque algún plugin o un tema tiene algún fallo. A lo mejor intenta conectarse a una url que ya no existe, carga una API que ya no está u otra cosa.

Elimina plugins duplicados o que no sirvan

Sé perfectamente que no vas a instalar el mismo plugins 2 veces.

Pero seguramente tengas plugins que hagan las mismas funciones y no estés usando. Te pongo algunos ejemplos:

  • Analítica: recomiendo tener un solo sistema de analítica y a poder ser fuera de WordPress para no recargar la instalación. Yo eliminaría cualquier otro sistema de analítica como Jetpack.
  • Redes sociales: si tu plantilla ya ofrece esta función, no instales otro plugin o si lo haces, desactiva la función de esta para ahorrar recursos.
  • Caché: no necesitas más de un plugin de caché en tu WordPress. Quédate el mejor y elimina el resto.

Usa un tema WordPress rápido

Analiza tu web y busca scripts que tengan el nombre de la plantilla en la URL y si tiene más de 10, ya sabes que es muy pesada.

Analiza plugins lentos y cámbialos por otros

El número de plugins no importa, lo que sí importa es si estos son plugins lentos, con un alto consumo de recursos, porque será este el que ralentice tu WordPress.

Es un plugins para WordPress que analizará hasta el último plugin de tu web y te dirá cuál de ellos es el culpable del consumo de recursos.

  • Entras en el instalador de plugins de WordPress.
  • Busca P3 Profiler, lo instalas y activas.
  • Te vas a herramientas – P3 Plugin Profiler.
  • Le das al botón de Start scan.
  • Tienes que quitar todo el que te consuma más de un 20%.

Activa la caché en WordPress

Lo hacemos mediante plugins de caché y el más usado por ser gratuito es WP Super Cache, aunque yo uso WP Rocket que es mejor

Desactiva el archivo Cron

El archivo Cron de WordPress es el encargado de realizar muchas tareas.

 

Desde buscar actualizaciones del sistema y de plugins, hace que tus artículos programados se publiquen, que tus copias de seguridad se hagan automáticamente y mucho más.

Lo primero es irnos a editar el archivo de configuración de WordPress wp-config.php, ya sea por el panel hosting o por FTP y añadimos lo siguiente para desactivarlo.

define('DISABLE_WP_CRON', true);

Limita el HeartBeat de WordPress

El HeartBeat o latido de WordPress es una función que hace que WordPress esté despierto ejecutando continuamente algunas funciones.

Un ejemplo puede ser la de guardar un artículo cada x segundo para que no ser pierdan los nuevos cambios.

Optimizar imágenes

Las imágenes son otro de los motivos principales que hacen que el tiempo de carga de una web aumente.

Debes de optimizar las imágenes de WordPress y te doy consejos de cómo hacerlo.

Usa las miniaturas de WordPress

Las miniaturas de WordPress son básicamente unas copias de estas imágenes en otros tamaños.

Puedes tener varios tamaños configurados y cuando subas una imagen en por ejemplo 1200x800, se crea una de 600x300, otra de 150x150, etc.

Optimiza la base de datos

Suele recargar la base de datos de varias maneras:

  • Post: cada vez que editas un post se crea una revisión.
  • Plugins: por cada plugin que instales se crea una o varias tablas en la misma y hay algunos que crean más de 10. Si sueles instalar y desinstalar muchos plugins lo más normal es que la base de datos se acabe haciendo más pesada.
  • Comentarios spam: sí, todos esos comentarios sobre pastillas azules de la felicidad también sobrecargan tu base de datos y debes de limpiarlos.
  • Datos temporales: se crean los transients que son datos temporales que ya no se necesita, pero ocupan espacio.

Para solucionar el problema de las revisiones lo ideal es que las desactives y esto se hace añadiendo el siguiente código al wp-config.php:

define('WP_POST_REVISIONS', false);

lo que te queda es optimizar la base de datos y lo puedes hacer con el plugin WP Optimize.

Optimiza archivos JS y CSS​

El problema de usar temas y plugins pesados es que contienen muchos archivos estáticos.

 

Por eso lo primero es usar un tema ligero, pero sino, podemos intentar arreglarlo.

 

Ademas, cada plugin lleva los suyos, así que en cuanto tengas varios plugin, puede que WordPress acabe ralentizado, así que una solución para este problema es optimizar archivos CSS y JS en WordPress.

Eliminar cadenas estáticas o remove query strings from static resources

Muchos archivos CSS y scripts de Javascript tiene un control de versiones. Por ejemplo, http://miweb.com/miarchivo.css?version=1.02

Lo malo de ésto es que hacer esa comprobación añade carga a la web y no ayuda precisamente a la seguridad del sitio, porque cualquiera puede ver la versión de ese script que usas y si tiene algún fallo que explotar.

Lo podemos desactivar añadiendo lo siguiente al archivo functions.php del tema que uses, dentro de Apariencia - Editor.

function _remove_script_version( $src ) {
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

Usa un CDN en WordPress

Un CDN o Content Distribution Network es un servicio que lo que hace es servir por ti los archivos estáticos de tu sitio web.

Seguridad y Rendimiento

By Renzo Tejada

Seguridad y Rendimiento

  • 689