Archive for Apache

Junio 28th 2017

Archivo .htaccess: ¿Qué es y cómo configurarlo?

Número de lecturas: 522
{lang: 'es-419'}

Obligar a utilizar el protocolo HTTPS, redirigir a una URL de forma permanente, ocultar los parámetros de una URL,… para todo esto se puede utilizar el archivo htaccess.

Mediante el archivo htaccess, podemos configurar ciertos aspectos de nuestra web, sin tener que editar el archivo de configuración del servidor y siempre que la tengamos alojada en un servidor Apache.

El archivo htaccess afecta al directorio en el que se encuentra y a todos los subdirectorios de este, incluyendo otros archivos que haya en ellos. Por esta razón es recomendable guardarlo en la carpeta raíz de nuestro sitio web.

Para editarlo, solo necesitaremos un editor de texto, como por ejemplo, el Blog de Notas que incorpora Windows por defecto. Veamos, a continuación, algunos tipos de configuraciones que se pueden hacer en él:

Redirigir la URL sin “www” a la URL con “www”

Como todo el mundo sabe, al acceder a una web se puede hacer tanto por la versión con las 3W como la versión sin ellas. Aunque sabemos que es el mismo sitio web, puede quedar más estético si la URL que se muestra en la barra de direcciones es la misma. Para hacer este tipo de redirección, escribiremos el siguiente código en nuestro archivo htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^miweb.com [NC]
RewriteRule ^(.*)$ http://www.miweb.com/$1 [L,R=301]

Si quisiésemos hacerlo al revés, es decir, redirigir de la URL con “www” a la URL sin “www”, insertaremos este otro código:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.miweb.com [NC]
RewriteRule ^(.*)$ http://miweb.com/$1 [L,R=301]

Redirigir al protocolo HTTPS

Puede ocurrir que tengamos contratado un certificado SSL para nuestro sitio web, y que al acceder por la URL “http://miweb.com” no nos redireccione a “https://miweb.com”, ocasionando que aparezca el mensaje de “Sitio web no seguro” y pudiendo asustar a nuestros visitantes. Para evitar este tipo de situaciones, añadiremos, al comienzo del archivo htaccess, las siguientes líneas:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Reescribir las reglas de enrutamiento (URL amigable)

Imaginemos una web en la que tenemos una página llamada “Contacto” y que para acceder a ella lo hacemos a través de la URL “http://miweb.com/contacto.html”. O peor aún, que la URL tenga el aspecto “http://miweb.com/ej27zd.html”. ¿No quedaría mejor una URL como “http://miweb.com/contacto”? Para ello, insertaremos el siguiente código en el archivo htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^contacto$ contacto.html [L]

Mencionar, que la última línea la podemos repetir tantas veces como deseemos con cada una de las URL’s que queramos hacer amigables.

Redirigir a una página en caso de error

Todos sabemos que una web no es algo estático, sino que tiene vida y está en constante transformación. Con ese proceso, se puede dar el caso de que eliminemos una página del sitio (por ejemplo, un servicio que dejemos de prestar). También puede ocurrir que el usuario que accede a una de las páginas de nuestra web introduzca mal la URL.

En cualquiera de los dos casos, el resultado es que el navegador nos devolvería un error 404, que hace referencia a una página no encontrada. Google penaliza aquellos sitios que tienen enlaces caídos, pero tranquilos, que para eso tenemos el siguiente código, el cuál permite redirigir a una página que creemos en nuestro sitio web si no se encuentra la solicitada:

ErrorDocument 404 /404.php

Cabe destacar que esta línea puede servirnos para cualquier error que devuelva la web, no solamente para el 404. Tan solo habría que sustituir la numeración de este por la del error en cuestión (403, 500,…).

Redirigir de una URL a otra

Además de lo mencionado en el caso anterior, nos podemos encontrar con una página que haya cambiado su URL. Como es lógico, si intentamos acceder a ella a través de la antigua URL, nos va a decir que la página no existe o no ha sido encontrada. Para solucionar este problema, tan solo tenemos que añadir a nuestro archivo htaccess la siguiente línea de código.

Redirect 301 /vieja-url http://miweb.com/nueva-url

Al igual que en otros ejemplos, esta línea la podemos repetir tantas veces como deseemos, aunque sí es cierto que repetirla un número elevado de veces puede ocasionar que Google nos penalice.

Habilitar compresión de archivos

Otro problema que nos podemos encontrar en nuestro sitio web y que podemos solucionar gracias al archivo htaccess es la compresión de archivos, consiguiendo así reducir su tamaño y hacer que la web cargue de forma más rápida.

AddOutputFilterByType DEFLATE tipo-de-archivo

Por ejemplo, para un archivo HTML, el código que tendríamos que añadir sería “AddOutputFilterByType DEFLATE text/html” (sin las comillas) y podríamos poner tantos como necesitásemos.

Habilitar el almacenamiento en caché

Y siguiendo con la mejora de la velocidad de carga de una web, nos vamos al almacenamiento en caché. Habilitando esta opción, los distintos archivos quedarán almacenados en nuestro ordenador, siempre y cuando no se borre la caché o cambie el diseño de la página, evitando así que tengan que ser descargados cada vez que se visita la web.

Para ello, bastará con agregar al archivo htaccess estás líneas:

ExpiresActive On
ExpiresByType tipo-de-archivo “access tiempo”
ExpiresDefault “access plus 1 month”

En el caso de los archivos PNG, por ejemplo, si queremos configurar que su tiempo en caché sea de un año, lo haremos de la siguiente forma:

ExpiresByType image/png “access 1 year”

Señalar que añadiremos una línea similar a esta por cada tipo de archivo, dejando la primera y la tercera de forma intacta.

Fuente:
webappdesign.es

Junio 26th 2017

Error en servidor Centos: Server unable to read htaccess file, denying access to be safe

Número de lecturas: 1200
{lang: 'es-419'}

En ocasiones por permisos de usuarios se cambian las configuraciones y no permiten ver el contenido del sitio web. Si se presenta este error: Server unable to read htaccess file, denying access to be safe

Basta con utilizar esta instruccion para un servidor Centos:

#chmod -R 755

Para servidores Ubuntu o basados en Debian:

$sudo chmod -R 755

 

Junio 23rd 2017

Como instalar la libreria intl de php en xammp

Número de lecturas: 1125
{lang: 'es-419'}

En  estos dias por una librería de un botón de pagos local que no soporta PHP 7 me toco utilizar XAMMP para utilizar PHP 5.6.x era necesario instalar la librería intl para un proyecto personal que estoy realizando.

Esto se lo hace de manera sencilla, estos son los pasos:

  1. Abrir xammp el archivo
    php/php.ini

      con cualquier editor

  2. Buscar
    ";extension=php_intl.dll"
  3. Quita el punto y coma ( ; )

    Esta asi:

    ;extension=php_intl.dll

    debe quedar asi

    extension=php_intl.dll
  4. Guardar el archivo.
  5. Reiniciar apache

 

 

Marzo 17th 2017

QRLJacking, robando sesiones de WhatsApp a través del código QR

Número de lecturas: 1946
{lang: 'es-419'}

WhatsApp es el cliente de mensajería instantánea más utilizado en todo el mundo, lo que hace que también sea una de las aplicaciones más atacadas por los piratas informáticos. Aunque en el pasado hackear WhatsApp era realmente sencillo debido a la inexistencia del cifrado ni de medidas de seguridad, hoy en día esta tarea se ha complicado notablemente debido a las nuevas medidas de seguridad implementadas en esta aplicación. Sin embargo, aún tiene serias debilidades que pueden suponer un peligro para los usuarios, como, por ejemplo, el uso de códigos QR para el inicio de sesión en su aplicación Web.

El pasado mes de enero explicamos cómo los piratas informáticos pueden hackear WhatsApp aprovechándose de un fallo en la generación de los códigos QR que podía permitir a un atacante hacerse con el código de otra persona, iniciar sesión con sus credenciales y poder leer los mensajes de WhatsApp sin dejar rastro de actividad.

Esta técnica, aunque preocupante, es bastante complicada de llevar a cabo y tiene muchas limitaciones a la hora de ponerla en práctica, como, por ejemplo, que solo un usuario puede utilizar WhatsApp Web a la vez (por lo que, si la otra persona lo intenta usar, nos echará de la sesión a nosotros) y que los ordenadores “de confianza” siempre se muestran en el cliente de mensajería.

Aunque esta técnica es bastante complicada de llevar a la práctica, no es la única que se aprovecha de los códigos QR para hackear WhatsApp, y un ejemplo de ello es QRLJacking.

Así funciona QRLJacking, la técnica para hackear WhatsApp utilizando un solo código QR

QRLJacking es un sencillo vector de ataque informático basado, principalmente, en la ingeniería social con el que simplemente debemos engañar a un usuario para que escanee un código QR con la aplicación que deseamos hackear, por ejemplo, WhatsApp, para poder tomar el control de su sesión de forma remota.

Para llevar a cabo este ataque, lo único que necesitamos es acceder al repositorio oficial de QRLJacking y descargar lo necesario para ponerlo en funcionamiento. A continuación, montaremos un servidor web con el fichero “qrHandler.php” encargado de convertir el código de inicio de sesión a base64 y, posteriormente, en una imagen jpg y “phishing.html”, la página que utilizaremos para llevar a cabo el ataque.

Una vez que el servidor está en funcionamiento, necesitaremos un navegador web como Firefox capaz de inyectar el script “WhatsAppQRJackingModule.js” al visitar una web como “https://web.whatsapp.com”. Cuando esta web genera el código QR, el script lo envía al servidor que hayamos configurado en el paso anterior para suplantarlo con el código QR generado por el fichero PHP.

Código QR WhatsApp Falso

Si la víctima cae en este tipo de engaño, el atacante recibe la sesión de WhatsApp en su navegador web. Es decir, en el mismo sitio dónde el plugin de Firefox está inyectando el código JS para capturar el QR Code original de WhatsApp.

Cuando la víctima escanea dicho código (utilizando ingeniería social, por ejemplo, con que nos ha tocado un premio), ya tendremos el control sobre la sesión de WhatsApp de la víctima.

Además de WhatsApp, esta técnica es totalmente funcional con otras muchas aplicaciones y plataformas que basan su inicio de sesión en códigos QR, como AirDroid, Alibaba, Aliexpress, WeChat, Line y Yandex, entre otras.

decir que existe otro vector que el ataque de Man in the Middle en una red de área local. Con este ataque un atacante podría lograr inyectar el QR Code en páginas legítimas, realizando un ataque, quizás, más real. Sea como sea, interesante prueba de concepto que nos ayuda a ver lo fácil que puede ser, en algunas ocasiones, que caigamos ante las múltiples amenazas que tiene Internet. La ingeniería social sigue avanzando y mejorando ante las nuevas tecnologías que van apareciendo, por lo que la concienciación y el buen uso de éstas es algo vital para estar un poco más seguro en la red.

Cómo protegernos del QRLJacking

Como podemos ver, el principal factor de esta técnica de hacking es la ingeniería social, es decir, el engaño. Nadie regala nada a través de Internet, por lo que lo primero que debemos hacer es evitar caer en este tipo de engaños, y mucho menos escaneando código QR de webs o fuentes extrañas, como un banner, con WhatsApp o cualquier otra aplicación.

Además, también debemos evitar iniciar sesión con nuestras cuentas en navegadores y ordenadores que no sean de total confianza, ya que sin la previa instalación e inyección del script JavaScript, esta técnica no podría ser posible.

Por último, en el caso concreto de WhatsApp, nunca está de más revisar los ordenadores que tienen acceso a su aplicación Web, eliminando el permiso a todos de vez en cuando para evitar estos problemas.

————————————————–

Fuente:

redeszone.net

Más información:

http://www.flu-project.com/2017/03/qrljacking-tecnica-con-la-que-los-malos.html

https://github.com/OWASP/QRLJacking/wiki