Cómo asegurar tu sitio WordPress (2da parte)

 

¿Quién dijo que las segundas partes no son buenas? ¡Esta es súper interesante y completa! Luego de una primera entrega donde repasamos algunos conceptos de seguridad básicos, se va la segunda con muchos más tips.

 

WordPress Ninjas Defence

Limitar la cantidad de intentos de acceso al panel administrativo

Para evitar los ataques de acceso por fuerza bruta es recomendable restringir la cantidad de intentos que realiza un usuario para ingresar al panel administrativo y bloquearlos temporalmente luego de una determinada cantidad de intentos fallidos. Esto ayuda a prevenir que alguien descubra nuestra contraseña por prueba y error.

Esto se puede hacer fácil y rápidamente con plugins como Login LockDown y Simple Login Lockdown que se ocupará del control de acceso de tu sitio WordPress permitiendo, entre otras cosas, configurar cuantos intentos de accesos se admitirán y el tiempo de espera antes de permitir un nuevo intento.

Ocultar los errores de acceso

Cuando intentas ingresar a tu sitio WordPress con un usuario o contraseña incorrecta, el formulario de acceso muestra un mensaje de error indicando cual de los datos es el erróneo. Esto brinda información a los usuarios malintencionados sobre que nombres de usuarios son correctos para ingresar al sitio. Se recomienda reemplazar esos mensajes de error por uno genérico y así ocultar dicha información.

Para esto hay que agregar el siguiente código en el archivo functions.php del theme de tu sitio:

add_filter('login_errors', create_function('$a',
"return 'Los datos de acceso son incorrectos.';")
);

Reemplaza donde dice Los datos de acceso son incorrectos por el mensaje que desees mostrar.

Utilizar el modo seguro para ingreso de usuarios

Desde WordPress es posible definir que los accesos de usuarios se realicen en Modo Seguro utilizando el protocolo SSL únicamente para que los datos de acceso viajen encriptados entre el navegador y tu sitio. Es decir que sólo se podrá ingresar con un usuario si utilizando una dirección que comienza con https://.

Para habilitar esta opción simplemente debes agregar en tu archivo wp-config.php la siguiente línea de código:

define('FORCE_SSL_LOGIN', true);

Si además de forzar que los ingresos sean seguros se desea forzar la navegación segura con SSL en toda la sección del panel administrativo, se puede hacer agregando el siguiente código:

define('FORCE_SSL_ADMIN', true);

Para que tengan efecto estos códigos deben ser agregados al archivo de configuración antes de la siguiente línea:

require_once(ABSPATH . 'wp-settings.php');

También debes tener en cuenta que el acceso con modo SSL hace más lenta la navegación en el sitio. Además, si bien MDQSERVER.COM sí lo permite, algunos servidores y planes de hosting no tienen habilitado el acceso a través de SSL, con lo cual asegúrate de tener habilitada esa opción en tu servicio de hosting antes de realizar este paso o contratá hoy mismo un plan con nosotros 😉

Configurar las claves secretas de autenticación

Estas claves se encuentran definidas en el archivo wp-config.php y se utilizan para encriptar de forma más segura tu contraseña y los datos que se transmiten entre el sitio y tu navegador lo que hace más difícil que alguien pueda adivinarlos o acceder a ellos.

Para definir estas claves secretas debes editar las líneas del archivo wp-config.php en donde figura lo siguiente:

define('AUTH_KEY', 'Agrega aquí tu frase de seguridad');
define('SECURE_AUTH_KEY', 'Agrega aquí tu frase de seguridad');
define('LOGGED_IN_KEY', 'Agrega aquí tu frase de seguridad');
define('NONCE_KEY', 'Agrega aquí tu frase de seguridad');
define('AUTH_SALT', 'Agrega aquí tu frase de seguridad');
define('SECURE_AUTH_SALT', 'Agrega aquí tu frase de seguridad');
define('LOGGED_IN_SALT', 'Agrega aquí tu frase de seguridad');
define('NONCE_SALT', 'Agrega aquí tu frase de seguridad');
Donde dice “Agrega aquí tu frase de seguridad” debes colocar la frase o clave que quieras utilizar, se recomienda que sean claves aleatorias de tal forma que no puedan ser adivinadas fácilmente.

Puedes generar las claves aleatorias utilizando el WordPress Key Generator. Simplemente copia las claves que genera y reemplazalas en tu archivo wp-config.php.

Cambiar la ubicación del archivo wp-config.php

En las últimas versiones de WordPress, más específicamente a partir de la versión 2.6, es posible reubicar el archivo wp-config.php UN (1) nivel más arriba del directorio donde se haya creado la instalación para que no sea accedido públicamente.

Por ejemplo, si nuestra instalación está ubicada en /public_html/misitioweb/, entónces el archivo wp-config.php podría moverse de esa carpeta a /public_html/ y WordPress autodetectará en cual de las dos se ubica. Pero por más que se lo coloque en cualquier otra ubicación, WordPress no lo detectará.

Cabe aclarar que el archivo de configuración sólo se puede reubicar en la carpeta superior al raíz de la instalación WordPress y NO en cualquier directorio como se menciona en algunos artículos.

Si lo colocas en cualquier otra ubicación, WordPress no lo detectará e intentará crear uno nuevo a través del asistente de instalación. Esto genera una falla de seguridad más grave ya que quien ingrese primero al sitio web podrá generar una nueva instalación.

Prevenir la inyección de código malicioso

Dependiendo de cómo esté configurado el servidor de hosting, existe la posibilidad de que alguien intente sobreescribir las variables globales de PHP a través de la URL de acceso a algunas de las páginas del sitio. Para evitar esto se pueden filtrar los parámetros de las URL a través del módulo Rewrite, agregando la siguiente configuración en el archivo .htaccess del directorio raíz:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Eliminar los plugins innecesarios

Existen muchos plugins que no se encuentran debidamente probados o que no reciben mantenimiento y actualización para las nuevas versiones de WordPress. Estos pueden generar errores, agujeros o filtraciones de seguridad que pueden ser aprovechados por quienes deseen hacer daño y perjudicarán el funcionamiento del sitio.

Si tienes plugins instalados en tu sitio que no estas utilizando o de los cuales no sabes qué riesgos de seguridad pueden presentar, la mejor opción es desactivarlos y desinstalarlos completamente desde el menú de gestión de Plugins.

Asegurate de que se hayan eliminado todos los archivos de esos plugins en la carpeta /wp-plugins de tu instalación para evitar cualquier filtración posible.

Hasta aquí llega el alcance de la seguridad básica que podría implementar cualquier propietario de un sitio WordPress. En la próxima nota veremos otros tips para restricción de permisos en los archivos, modificación de configuraciones predefinidas durante la instalación y como agregar más seguridad al panel administrativo.

Escrito por: Anita Massacane

Cómo asegurar tu sitio WordPress (1ra parte)

Nos interesa mucho tu seguridad por lo que seguimos acercándote las mejores sugerencias para tu sitio. En esta oportunidad te vamos a contar, en dos notas, qué acciones podes tomar para aplicar en tu sitio WordPress.

Uno de las principales desventajas de utilizar WordPress para tener un blog o sitio propio reside en que es una herramienta pública. Es decir, todo el mundo tiene acceso al código fuente de la misma y, por ende, puede saber o analizar como funciona. Esto implica que cualquiera con un mínimo conocimiento en programación y desarrollo de sitios web pueda encontrar errores o vulnerabilidades que aún no hayan sido corregidas, o siquiera detectadas, de las cuales aprovecharse para dañar el sitio o robar información.

Pensando en todo esto decidimos definir los tips a tener en cuenta para poder hacer un poco más seguro su sitio WordPress. En esta primera parte de la serie de notas que publicaremos nos ocupamos de la seguridad básica para tu sitio WordPress. Esto incluye:

 

Mantener WordPress actualizado

Las versiones viejas de WordPress presentan errores o vulnerabilidades detectadas que sus desarrolladores no tuvieron en cuenta al momento de lanzarlas. Por esto es fundamental utilizar la ultima versión de WordPress y mantenerlo actualizado permanentemente a su release más estable, así nos aseguraremos de que las vulnerabilidades detectadas han sido corregidas y evitaremos que usuarios malintencionados se aprovechen de ellas.

Ocultar la versión de WordPress que utilizas

La versión de WordPress le da mucha información a los usuarios malintencionados respecto a las vulnerabilidades que tiene. Ocultar esa información es una buena medida para dificultar los ataques maliciosos y así prevenir que dañen el sitio web.

WordPress publica automáticamente la información de versión en el theme, pero se puede remover fácilmente gracias a que utiliza un hook para incluir esa funcionalidad. Para hacer esto se debe incluir la siguiente línea de código en el archivo functions.php del theme utilizado:

remove_action('wp_head', 'wp_generator');
Utilizar una contraseña de acceso compleja

La mayoría de los usuarios suele utilizar contraseñas demasiado sencillas o que contengan datos personales para poder recordarlas. De esta forma también facilitan el acceso a cualquiera que intente averiguarlas. Es fundamental que un usuario con permisos de administrador defina una contraseña compleja para prevenir dicha situación. Algunas recomendaciones que deberían cumplirse al momento de elegir una contraseña serían:

– Debe ser alfanumérica, es decir que contenga tanto letras como números.
– Debe estar formada tanto por mayúsculas como minúsculas.
– Debe contener caracteres especiales. Por ej: &%$#”!?

Escrito por: Dev Team

Librerias de PHP Soportadas

¿Cuáles son las librerías de PHP5 soportadas por MDQSERVER.COM?

Algunas de las librerías soportadas por PHP5 son:

Zend Optimizer 3.3.0

eAccelerator 0.9.5.3

bcmath

bz2

calendar

curl

dbase

exif

ffmpeg

fileinfo

freetype

ftp

gd

geoip

gettext

iconv

imagemagick

imap-ssl

json

latex

ldap

mbstring

mcrypt

memcache

mencoder

mhash

mime-magic

ming

mssql

mysql

mysqli

openssl

pcntl

pdflib

pdo-mysql

pdo_sqlite

pspell

simpleXML

snmp

soap

sockets

xmlreader

xmlrpc

xmlwriter

xsl

zip

Estás fueron agregadas en la última actualización de PHP4 y 5.

Para ver todo lo que aceptamos puede crear un archivo de phpinfo. Esto pueden hacer creando un archivo de texto con extensión .php y dentro deben escribir:

<?

phpinfo();

?>

Luego de ejecutarlo debería verse algo como http://www.mdqserver.com/php/phpinfo.php5 o http://www.mdqserver.com/php/phpinfo.php4 para la versión de PHP4.

De necesitar alguna librería o modulo de PHP en particular pueden solicitarlo a soporte arroba mdqserver.com en donde se evaluará si es posible la implementación.

 

Alianzas + Servicios

Alianzas

Estas empresas trabajan con nosotros para darte el mejor servicio de Cloud Hosting:

cloudflareoptimized we_stop_badware_web
Somos el primer Optimized Hosting Partner de Latinoamérica de CloudFlare, empresa de rendimiento y seguridad web. Si aún no conocés a Cloudflare te resumimos su misión en pocas palabras:  hacer cualquier página web muchas veces más rápida y protegerla de una amplia gama de amenazas web.Hoy, cientos de miles de sitios web que van desde blogs individuales, sitios de comercio electrónico hasta las páginas web de las compañías Fortune 500 y gobiernos nacionales,  utilizan CloudFlare para hacer sus sitios más rápidos y más seguros. CloudFlare maneja más de 65 billones de páginas vistas cada mes, más que Amazon, Wikipedia, Twitter, Zynga, AOL, Apple, Bing, eBay, PayPal y Instagram combinados y más del 25% de la población de Internet pasa a través de su red regularmente.

MDQSERVER.COM es el primer Partner de Hosting en categoría Optimized de Latinoamérica, con la tecnología Railgun.

Railgun garantiza que la conexión entre el servidor de origen y la red CloudFlare sea tan rápida como sea posible. Railgun logra una relación de compresión de 99,6% de objetos previamente almacenable web usando técnicas similares a las utilizadas en la compresión de vídeo de alta calidad. Esto resulta en un incremento en el rendimiento promedio de 730%

MDQSERVER.COM es la segunda empresa de latinoamérica habla hispana en ser reconocida por la organización  We Stop Badware™, que nuclea a las principales empresas de tecnología web como Google, Paypal, Mozilla y Verizon. Esta insignia demuestra el compromiso de ELSERVER.COM en proteger a nuestros clientes siguiendo las Mejores prácticas para Proveedores de Web Hosting de StopBadware. Estas Mejores Prácticas son una serie de guías y lineamientos que ayudan a los proveedores de hosting a responder rápido, clara y efectivamente a reportes sobre contenido peligroso en sus redes. Y si eres el dueño de un sitio, ¡esto es muy importante para ti también!

Si tienes o administras un sitio es tu trabajo mantenerlo seguro. Elegir un proveedor responsable como MDQSERVER.COM es una parte clave de la seguridad de tu sitio. En MDQSERVER.COM somos proactivos a la hora de asegurar nuestros servidores y nuestra plataforma cloud e implementar políticas que protegen nuestras redes y a nuestros clientes. El programa We Stop Badware™ nos reconoce permitiéndonos hacer público nuestro compromiso de denunciar el badware y actuar como buenos ciudadanos de  Internet.

Para mayor información sobre We Stop Badware no dejes de visitar https://www.stopbadware.org

Acentos & Caracteres

Mi sitio no muestra correctamente los acentos o caracteres especiales

Cuando un servidor se comunica con un cliente (Internet Explorer,
FireFox, Opera, etc) y le transmite datos, le indica previo a la
transmisión el tipo de codificación de caracteres que va a utilizar.

En esencia, la codificación o Charset indica la forma en que los
caracteres están representados a nivel de bit. Aún hoy lo más común es
utilizar Charsets de 8 bit como ISO-8859-1 y UTF-8. En estos, se
utiliza un byte de datos para cada letra a representar, dando un total
de 256 letras posibles (1 byte = 8 bit = 256 posibles valores). Idiomas
más complejos como el Chino precisan Charsets especiales ya que a veces
256 es una cantidad muy pequeña para representar a todas las letras
posibles del alfabeto.

Según como hayas generado tu página web, es posible que la
codificación por defecto que emitimos (ISO-8859-1) no sea la apropiada
para tu caso.

A tal efecto, podés modificar el Charset que emitimos creando un
archivo de nombre “.htaccess” (empieza con un punto) con el contenido:


AddDefaultCharset UTF-8

o bien

AddDefaultCharset KOI8-R (ruso)

o bien


AddDefaultCharset gb2312 (chino tradicional)

Recordá que también debes definir el Charset correcto en tus páginas de la siguiente manera:

<meta http-equiv=”Content-Type” content=”text/html; charset=CHARSET” />

Por ejemplo:

<meta http-equiv=”Content-Type” content=”text/html; charset=CHARSET” />

En el caso de tener tu sitio con extensiones .php y con las modificaciones anteriores no se modifico solo tenes que agregar la siguiente linea:

<?php header(‘Content-Type: text/html; charset=utf-8’); ?>

O bien otra manera es poner la siguiente variable:

mb_http_output( “UTF-8″ );
header( “Content-Type: text/html; charset=”.mb_http_output());

¿Qué es el protocolo SSL?

¿Qué es el protocolo SSL?

Escrito por: Anita Massacane

Seguridad con SSLLa seguridad es, cada vez más, una condición para desarrollar tu negocio en internet.

Carritos de compra, sitios de registraciones y hasta las aplicaciones para Facebook, la red social más importante del mundo, hoy exigen tener un certificado Secure Sockets Layer (SSL).

¿Pero qué es finalmente el SSL y por qué es tan importante?

SSL es un protocolo criptográfico que hace que los intercambios en Internet requieran una autenticación, lo cual otorga seguridad y privacidad a las comunicaciones.

Su función es cumplir tres simples pasos:

  1. Negociar entre las partes el algoritmo que usará para comunicarse, y poner a disposición el certificado
  2. Identificar mediante certificados digitales al portador
  3. Cifrar el tráfico de la información involucrada en la transacción

Si el certificado es aprobado comienza el intercambio de la información privada y crítica requerida en la transacción pero de manera segura, completamente encriptada. Que la información está encriptada significa que se utilizó un algoritmo de cifrado con una clave para transformar un mensaje en una combinación incomprensible para cualquiera que no tenga la claves secreta de descifrado del algoritmo.

Nuestros certificados SSL utilizan uno de los algortimos de cifrado más habituales, 128 bits: si quisieran vulnerarlo significaría un trabajo de un billón de años para el atacante que quisiera entrar a una sesión protegida.

Contratá ahora tu certificado SSL y empezá a trabajar en un entorno seguro y escalable, cumpliendo con las nuevas normas de Facebook. Vos ocupate de la creatividad, nosotros la hacemos correr.

¿Cómo configurar una cuenta de correo usando Entourage?

¿Cómo configurar una cuenta de correo usando Entourage?

Para configurar nuestra cuenta de correo en el cliente Entourage (Mac) debemos seguir los pasos a continuación:

  • Desde el menú principal, seleccionamos “Herramientas” > “Cuentas”

 entourage01

  • En la ventana a continuación, desplegamos “Nuevo” y seleccionamos “Correo”entourage02

  • Dentro de “Asistente para configurar cuentas” elegimos la opción “Configurar cuenta manualmente”
  • entourage03entourage04

  • Completa los datos tal como figuran en el ejemplo, reemplazando con la información de las cuentas que hayas creado dentro del panel de control de MDQSERVER.COM. Si todavía no creaste las cuentas en el panel, por favor verificá este tutorial.

 entourage05

  • Dentro de la ventana “Opciones de envío avanzadas”, seleccioná la casilla correspondiente al puerto de salida y modificalo por el puerto correspondiente de acuerdo a las siguientes opciones:

– 25: Si usás la cola de envíos personales o el Professional Mail Server.
– 2525: Si tildaste la opción “Mailing” desde el panel de control de tu cuenta y querés usar la cola de envíos masivos.
– 255: Si tu proveedor bloquea el puerto 25 (generalemente Arnet).

Recordá tildar la opción “Mi servidor requiere autenticación” y “Usar la configuración del servidor de recepción de correo”. Una vez ingresados todos estos datos, dar click en “Aceptar” para guardar los cambios.

 entourage06

Codificacion de Caracteres

Mi sitio no muestra correctamente los acentos o caracteres especiales

Cuando un servidor se comunica con un cliente (Internet Explorer,
FireFox, Opera, etc) y le transmite datos, le indica previo a la
transmisión el tipo de codificación de caracteres que va a utilizar.

En esencia, la codificación o Charset indica la forma en que los
caracteres están representados a nivel de bit. Aún hoy lo más común es
utilizar Charsets de 8 bit como ISO-8859-1 y UTF-8. En estos, se
utiliza un byte de datos para cada letra a representar, dando un total
de 256 letras posibles (1 byte = 8 bit = 256 posibles valores). Idiomas
más complejos como el Chino precisan Charsets especiales ya que a veces
256 es una cantidad muy pequeña para representar a todas las letras
posibles del alfabeto.

Según como hayas generado tu página web, es posible que la
codificación por defecto que emitimos (ISO-8859-1) no sea la apropiada
para tu caso.

A tal efecto, podés modificar el Charset que emitimos creando un
archivo de nombre “.htaccess” (empieza con un punto) con el contenido:


AddDefaultCharset UTF-8

o bien

AddDefaultCharset KOI8-R (ruso)

o bien


AddDefaultCharset gb2312 (chino tradicional)

Recordá que también debes definir el Charset correcto en tus páginas de la siguiente manera:

<meta http-equiv=”Content-Type” content=”text/html; charset=CHARSET” />

Por ejemplo:

<meta http-equiv=”Content-Type” content=”text/html; charset=CHARSET” />

En el caso de tener tu sitio con extensiones .php y con las modificaciones anteriores no se modifico solo tenes que agregar la siguiente linea:

<?php header(‘Content-Type: text/html; charset=utf-8’); ?>

O bien otra manera es poner la siguiente variable:

mb_http_output( “UTF-8″ );
header( “Content-Type: text/html; charset=”.mb_http_output());

Exportar usuarios registrados a una hoja de cálculo.

Seguro que más de una vez te lo has preguntado, te aseguro que yo si, y por eso me puse a buscar un modo sencillo de poder exportar de manera sencilla la lista de usuarios registrados a una hoja de cálculo.

Los motivos pueden ser diversos, pero el más obvio es para campañas de márketing. Eso si, recuerda que siempre debes informar a los usuarios de lo que supone registrarse en tu sitio si vas a usar sus datos, sino estarías cometiendo una ilegalidad.

Bien, pues hay muchas maneras de hacerlo, y la más habitual suele ser exportando la tabla loquesea_users desde PHPmyAdmin a tu ordenador y luego abrir el fichero exportado en tu aplicación de hoja de cálculo preferida, pero hay una manera aún más fácil, accesible desde cualquier parte donde te encuentres.

exportar usuarios wordpress phpmyadmin

Si, has adivinado, se trata de un plugin, y se llama Export users to csv. Los ajustes de que dispones son los siguientes:

  • Exporta todos los campos de usuario
  • Exporta los datos meta de usuarios
  • Exporta usuarios por perfil
  • Exporta usuarios por fecha

exportar usuarios wordpress csv

Todo lo configuras en una única página y lo que te ofrece, al hacer clic en el botón “Export“, es un fichero con extensión “csv” que puedes abrir con Microsoft Excel o tu aplicación favorita, Google Drive incluida.

Usando cualquiera de los sistemas elegidos la hoja de cálculo que genera es completísima, mostrando los siguientes campos por defecto:

  • ID de usuario
  • Nombre visible de usuario
  • Contraseña de usuario codificada
  • Nombre de registro de usuario
  • Email del usuario
  • Web del usuario
  • Fecha y hora de registro
  • Nombre completo de usuario

Luego, el uso que le des ya es cosa tuya.

Como puedo ver mi Web en desarrollo?

Todas las webs que se encuentran en desarrollo estan ubicadas en: http://mdqserver.com.ar/demos/tuweb

Podes ingresar para colaborar con nuestros diseñadores o Solicitar al area de programacion lo que tu sitio web requiera.

Tambien puede solicitar una auditoria para ascesorar al personal de su empresa, un auditor lo visitara en sus instalaciones para brindarle una charla sobre el uso y la implementacion de su nuevo sistema.

Audit Objective: To confirm that the web server system has been established and implemented./

Objetivo de Auditoria: Confirmar que el sistema servidor web ha sido establecido e implantado.

Times are approximate and will be confirmed at the opening meeting prior to commencement of the audit./

Los tiempos son aproximados y se confirmarán en la reunión de apertura antes de iniciar la auditoria .

MDQSERVER auditors Hosting & Web Design reserve the right to change or add the elements given before or during the audit,
depending on the results of the investigation site./

Los auditores de MDQSERVER Hosting & Diseño Web se reservan el derecho de cambiar o adicionar los elementos indicados antes o durante la auditoria,
dependiendo de los resultados de la investigación en sitio .

A private place for preparation, review and conferencing is requested for the auditor’s use. /

Se requerirá un lugar privado para la preparación, revisión y comentarios entre el equipo auditor.

Please provide a light working lunch on-site each audit day. /

Le agradeceremos proveer un almuerzo liviano para cada día de auditoria.

Your contract with MDQSERVER is an integral part of this audit plan and details confidentiality arrangements, audit scope,
information on follow up activities and any special reporting requirements. /

Este plan de auditoría y los correspondientes acuerdos de confidencialidad, alcance de la auditoría, información de actividades de
seguimiento y los requerimientos especiales de reporte son parte integral de su contrato con MDQSERVER.