Vulnerabilidad muy grave detectada en el nucleo de Drupal

por el en la categoría Aplicaciones

Vulnerabilidad muy grave detectada en el nucleo de DrupalAyer se publicó la 7.32 de Drupal, la cual corrige una vulnerabilidad muy grave detectada en el núcleo de Drupal.

Cuando decimos muy grave, no estamos exagerando. Según se informa desde la página oficial del proyecto Drupal, este bug permite la posibilidad de inyección SQL, con el consiguiente riesgo para la web atacada.

Drupal se basa en una API, mediante la cual abstrae todas las sentencias SQL y de paso, realiza una verificación de todas dichas sentencias para evitar ataques por SQL. El bug detectado, se encuentra precisamente en esta API, que no realiza correctamente su trabajo y permite a un atacante con suficientes conocimientos, la ejecución de comandos SQL.

El detalle de dicha vulnerabilidad se encuentra en https://www.drupal.org/SA-CORE-2014-005

Como comentamos al principio, el bug detectado tiene la calificación de “altamente crítico“, por lo que se recomienda la inmediata actualización del sitio web a la última versión.

En el caso de no poder actualizar, por seguridad, se recomienda aplicar un parche temporal, del fichero database.inc, para mitigar en lo posible la vulnerabilidad de nuestro sitio. Para aplicar este parche, consulta este enlace https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch

Para descargar la última versión, no tenéis mas que acceder a la página oficial del proyecto: https://www.drupal.org/project/drupal

Forzar la descarga de un archivo en lugar de mostrarlo en el navegador

por el en la categoría Apache

Forzar la descarga de un archivo en lugar de mostrarlo en el navegadorBien sea de forma nativa, bien sea por la instalación de algún complemento, los navegadores son capaces de mostrar una serie de archivos como imágenes, ficheros de texto, ficheros pdf, etc. En cambio, hay otros que por lo general son descargados directamente, como los ficheros comprimidos (zip, tar, gzip, rar, etc.). Lo que pretendemos en éste artículo es mostraros la manera de forzar la descarga de un archivo concreto, que por defecto se visualiza en el navegador.

Comentar también, que a parte de la adición de plugins que nos pueden modificar el comportamiento del navegador, es muy probable que ficheros que por ejemplo en Firefox serán descargados (por ejemplo un fichero de Word), en otros navegadores puede que sean interpretados, como en Internet Explorer.

Para asegurarnos que el comportamiento al clicar sobre un enlace de nuestra página web sea el esperado en la mayoría de navegadores, deberemos crear un fichero .htaccess, en el cual indicaremos lo siguiente:

<FilesMatch "\.(?i:extension1|extension2)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>

Con esta entrada, indicaremos las extensiones que queremos forzar la descarga. En el caso de indicar varias extensiones, por ejemplo doc, docx, pdf, txt, .., deberemos separarlas con una barra vertical “|”.

Una vez creado el fichero .htaccess, lo guardaremos en la carpeta donde se ubiquen los ficheros en cuestión.

Evidentemente, es necesario contar con un servidor Apache para que estos cambios tengan efecto.

Dos nuevas versiones de Joomla en apenas unas horas

por el en la categoría Aplicaciones

Dos nuevas versiones de Joomla en apenas unas horasEl equipo de desarrollo de Joomla ha estado muy ativo en estos dias, ya que tras presentar la versión 3.3.5, tan solo unas horas mas tarde publicó la versión 3.3.6

Se lanzó la versión 3.3.5 para corregir unos errores detectados en el núcleo. Estos errores suponían un fallo de seguridad importante para los usuarios de este popular CMS.

Las mejoras introducidas en la versión de Joomla 3.3.5 corregían dos fallos de seguridad detectados:

  • Inclusión remota de archivos, clasificado como grave y que permitía a otros usuarios subir archivos a nuestra cuenta.
  • Denegación de servicio, clasificado con prioridad media.

Tras la corrección de estos fallos de seguridad y la publicación de la versión de Joomla 3.3.5, el equipo de desarrollo detecto fallos en el sistema de actualización del núcleo, por los que se apresuró a lanzar la nueva versión (3.3.6).

Es recomendable que los usuarios de esta plataforma actualicen de forma inmediata a la última versión, ya que engloba los fallos de seguridad publicados en la versión 3.3.5 y la corrección del sistema de actualización del núcleo, que facilita en gran medida mantener el sistema actualizado.

Para descargar la última versión podéis acceder a la página oficial de descargas de Joomla.

Como siempre, os recomendamos antes de nada, hacer una copia de seguridad tanto de los ficheros del servidor como de la base de datos.

Mejorar el rendimiento de Apache optimizando AllowOverride

por el en la categoría Apache

Mejorar el rendimiento de Apache optimizando AllowOverrideApache posee un fichero de configuración en el que le indican una serie de directivas. Estas directivas pueden ser modificadas en cada directorio gracias a la utilización de los ficheros .htaccess. Estos ficheros, por una parte nos ayudan a realizar configuraciones concretas para cada directorio, pero en cambio, reducen el rendimiento de Apache, ya que debe comprobar su existencia en cada directorio, y esto empeora aun mas cuando existen subdirectorios.

Por norma general, cuando necesitamos utilizar ficheros .htaccess, en el fichero de configuración de Apache, echaremos mano del sufrido:

AllowOverride All

Esto le indica a Apache que si encuentra cualquier fichero .htaccess por cualquiera de las carpetas, que lo lea e interprete, con el consiguiente empleo de recursos en analizar todas las carpetas en busca de alguno de estos ficheros.

Pero lo lógico sería indicar que Apache nos busque los ficheros .htaccess, únicamente en las carpetas donde los tengamos. Por ejemplo:

<Directory /ruta_a_mi_fichero_.htaccess>
   AllowOverride All
</Directory>

Gracias a esto evitaremos sobrecargar de trabajo innecesario a Apache y aumentaremos su rendimiento.

IP fija en un servidor local Linux

por el en la categoría Linux

IP fija en un servidor local LinuxYa hemos comentado en mas de una ocasión la importancia de tener un servidor de pruebas para hacer los cambios necesarios a nuestra web y observar que dichos cambios funcionan correctamente.

Muchos usuarios optan por tener en el mismo servidor que la web principal, un subdominio con el sitio para pruebas, pero en cambio otros, prefieren trabajar en local.

En el ámbito local, podemos tener algún servidor “todo en uno” como XAMPP o WAMP para Windows o Mamp para Mac, o incluso tener un equipo o una máquina virtual con un sistema operativo Linux.

Evidentemente, ésta última opción requerirá de mas conocimientos, pero nos permitirá “trastear” a mucho mas nivel que con el software empaquetado. El tema que nos ocupa hoy, requiere un sistema Linux ya sea en una máquina real o un sistema virtualizado.

Trabajando desde la consola

Si tenemos varios equipos conectados a nuestro router, es posible que la asignación de la IP varíe. En el caso de acceder a un servidor local, deberemos acceder desde nuestro navegador, indicando la IP del servidor. Si dicha IP varía, dificultará su acceso. Por lo que editaremos en el servidor web el fichero:

/etc/network/interfaces

buscaremos la siguiente línea

iface eth0 inet dhcp

y la modificaremos por lo siguiente

iface eth0 inet static
  address "ip"
  netmask 255.255.255.0
  network "network-ip"
  broadcast "broadcast-ip"
  gateway "gateway-ip"

En donde:

  • ip será la ip que tedrá nuestro equipo (dentro del rango de la red). Ejemplo 192.168.0.25
  • network-ip será la ip inicial: Ejemplo 192.168.0.0
  • broadcast-ip será el ip final: Ejemplo 192.168.0.255
  • gateway-ip será la ip del router: Ejemplo 192.168.0.1

Una vez hecho ésto, deberemos reiniciar la configuración. Para ello teclearemos

/etc/init.d/networking restart

Ahora, nuestro acceso al servidor, se realizará siempre con la misma IP.

Un certificado SSL te ayuda a posicionar tu web

por el en la categoría General

certificado SSLRecientemente se ha dado a conocer que un nuevo parámetro que Google va a tener en cuenta a la hora de posicionar un sitio web es si dicho sitio posee un certificado SSL.

Como ya hemos comentado en mas de una ocasión, Google evoluciona su algoritmo constantemente, y lo que hace unos meses funcionaba, tal vez hoy ya no lo haga.

Es por ello que debemos estar atentos a las pocas filtraciones que se producen en cuanto a lo que Google tiene en cuenta para posicionar la web. En esta ocasión si se ha hecho pública dicha modificación y como ya os comentábamos, los sitios que posean un certificado SSL van a conseguir mejor puntuación que lo que no.

Los certificados SSL, van a permitir que los datos viajen encriptados, algo que es muy importante en sitios web que trabajen con información sensible y páginas de comercio electrónico.

Al parecer, Google ya ha incorporado a su algoritmo la opción para tener en cuenta si el sitio posee algún certificado, pero será en el próximo año 2015, cuando este aspecto va a ser verdaderamente relevante.

Si nuestra web maneja datos privados, deberemos tener en cuenta la adquisición de un certificado SSL. Ademas de mejorar nuestro posicionamiento, daremos una imagen de  seriedad y confianza de cara al usuario.

Si estás interesado en contratar uno de estos certificados, puedes acceder a nuestro página de certificados SSL, o si lo prefieres, puedes consultar la información sobre nuestros certificados es ésta entrada del blog.

Comprobar que Apache lee nuestro .htaccess

por el en la categoría Apache

Comprobar que Apache lee nuestro .htaccessEs bastante habitual que nuestro sitio web, por la razón que sea, necesite utilizar un fichero .htaccess. Estos ficheros normalmente agregan alguna configuración especifica para nuestra web, como redirecciones, modificaciones de url (url’s limpias), protección de directorios, etc. La mayoría de CMS’s necesitan instalar ficheros .htaccess para sus correcto funcionamiento. En el caso de que exista algún error en nuestro sitio, tal vez sea producido por una mala implementación de este archivo. Aunque en caso de error, lo primero que podemos comprobar es si Apache es capaz de leer dicho fichero.

Fichero .htaccess de prueba

Es posible que por una configuración de nuestro servidor, estemos buscando algún error dentro de nuestro fichero .htaccess, y el problema sea que Apache no lo interpreta. Para estar seguro de esto, podemos crear dos sencillos ficheros. Uno será un fichero .html  de ejemplo y el otro será un .htaccess. Veamos el código:

Fichero test.html:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
  <h1>Si aparece esto....no se lee mi .htaccess</h1>
</body>
</html>

Fichero .htaccess:

RewriteEngine On
RewriteRule test\.html http://www.google.com [R]

Una vez creados los dos ficheros los subiremos a nuestro servidor. En el caso de que ya exista un fichero .htaccess, deberemos renombrarlo para no perder los datos. Si hemos subido los ficheros a la raíz de nuestro dominio, teclearemos en el navegador:

http://midominio.com/test.html

En el caso de ser redirigidos a Google, significa que nuestro servidor tiene la capacidad de leer ficheros .htaccess y por tanto, es posible que tuvieramos algún error en nuestro fichero anterior.

En el caso de visualizar el mensaje “Si aparece esto….no se lee mi .htaccess”, tendremos muy claro que nuestro servidor no es capaz de interpretar dichos ficheros.

No puedo leer mi .htaccess, ¿ahora que?

Como hemos comentado anteriormente, esto puede ser debido a una configuración de nuestro servidor. Si tenemos acceso a la configuración de Apache, deberemos comprobar si tenemos activada la directiva

AllowOverride All

En el caso de que no exista, deberemos añadirla, para que nuestros ficheros .htaccess sean interpretados correctamente.

En el caso de que no podamos cambiar nuestra configuración de hosting, deberemos contactar con nuestra empresa de alojamiento, para que nos dé los permisos necesarios o en su defecto, nos active dicha directiva.

Muchas correcciones en Prestashop 1.6.0.9

por el en la categoría Aplicaciones

Muchas correcciones en Prestashop 1.6.0.9Gracias a la gran comunidad de usuarios que tiene el popular Prestashop, el equipo de desarrollo ha incluido numerosas de las mejoras presentadas, lanzando hace unos días la versión de Prestashop 1.6.0.9

En esta nueva versión, aparte de estas nuevas mejoras, se han corregido alrededor de 90 bugs o fallos detectados, haciendo esta versión mucho mas estable y segura que sus predecesoras.

Se han realizado mejoras en el núcleo del sistema como la actualización de Smarty a la versión 3.1.19, o la mejora de detección de dispositivos móviles. Y en cuanto a las novedades presentadas, se ha incluido la posibilidad de añadir accesos directos desde la propia pagina de backoffice en la que estamos y se han incluido nuevos hooks en el proceso de pedido y de envío.

Para actualizar a esta nueva versión, existe un módulo en el propio Prestashop, que nos permite realizar actualizaciones. Este módulo se llama Actualización 1-click y nos brinda la posibilidad de tener el núcleo de Prestashop actualizado a la última versión.

Para actualizar tanto de forma manual como de forma automática con el módulo Actualización 1-click, es mas que recomendable realizar una copia de seguridad de los archivos del servidor y de la base de datos.

¿Sabes qué es Google Panda?

por el en la categoría SEO

Sabes qué es Google PandaHace ya algunos meses que Google anunció la actualización de Google Panda mediante un escueto tuit de Matt Cuts, pero ¿sabes qué es Google Panda?, y sobretodo ¿sabes como puede afectarte en el posicionamiento de tu web?

En esencia, Google Panda son unas modificaciones que Google introdujo en su algoritmo de indexación, las cuales analizan de forma exhaustiva la calidad del contenido de nuestro sitio web.

En las sucesivas actualizaciones de Google Panda se ha buscado mejorar el reconocimiento de la calidad del sitio web, penalizando a sitios web con contenido copiado de otras páginas o que realmente no apartaba valor a los navegantes.

En nuestra sección SEO os hemos mostrado algunos consejos básicos para mejorar el posicionamiento de nuestra web o CMS, ademas de algunas herramientas de analisis que nos muestras aspectos a mejorar. Nuestros consejos se han orientado en mejorar de manera natural nuestro posicionamiento. De nada nos servirá estar un día en la primera posición de la lista de resultados, si al dia siguiente Google nos penaliza y ya no aparecemos. El SEO es un trabajo de mejora continuo, y puede que lo que hoy es perfectamente válido, mañana nos suponga na aparecer en Google.

Consejos para evitar ser penalizados por Google Panda

Como hemos comentado, siempre contenido original y de calidad

Evitar insertar las palabras clave por todo nuestro sitio sin ningún sentido. Google ya no comprueba el número de veces que aparecen nuestros términos, sino que analiza el contenido total de la página para ver si tiene relación con los términos clave.

Evita en la medida de lo posible la publicidad. Aunque te suponga un ingreso extra para tu sitio web, Google Panda podría considerar tu página como Spam.

Por supuesto, evitar técnicas como el Black Hat, que aunque pueden conseguir un posicionamiento rápido, cuando son detectadas, son duramente penalizadas.

 

Página de mantenimiento con .htaccess

por el en la categoría Diseño y Programación

Página de mantenimiento con .htaccessAunque es habitual que los desarrolladores web utilicen algún tipo de CMS para la creación de un sitio web, todavía existen numerosas páginas creadas a medida. Por la razón que sea, puede darse el caso que necesitemos realizar algún tipo de mantenimiento en nuestra web, y no queremos que los usuarios tengan acceso mientras estamos trabajando. En estos casos es recomendable la creación de una página de mantenimiento, que informe a los usuarios y al mismo tiempo evite la interacción de éstos con nuestro sitio.

En el caso de utilizar un CMS, por lo general, encontraremos alguna utilidad para poner el sitio en modo mantenimiento, pero el los sitios web, es posible que no exista dicha función. En este caso podemos echar mano del sufrido .htaccess y añadir el siguiente código:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/pagina-mantenimiento.html$
RewriteCond %{REMOTE_ADDR} !^mi-Ip-Publica
RewriteRule $ /pagina-mantenimiento.html [R=302,L]

Lo que hacemos aquí es forzar a que cualquier acceso a nuestro sitio web sea redirigido a la página de mantenimiento (que deberemos haber creado y subido previamente al servidor). También indicaremos nuestra IP pública, para evitar ser redirigidos y poder así realizar y visualizar las modificaciones necesarias.

También advertimos con el código 302, que la página ha sido movida temporalmente, para evitar que este cambio nos afecte al posicionamiento de nuestra página.

Una vez hayamos realizado las tareas necesarias, eliminaremos las líneas anteriores de nuestro fichero .htaccess, volviendo nuestro sitio a su estado natural.