El Blog de Pablo

Just another WordPress.com weblog

Variables de Entorno y Anonimato en Internet

Llego a través de esta información de anieto2k para saber la IP de los usuario mediante php a este post. Ambas informaciones son interesantes y me las guardo. Sin embargo la segunda información la voy a copiar y pegar literalmente, porque el post es antiguo y el blog hace tiempo que no se actualiza (el último post escrito es del año 2007), por lo que no me extrañaría que el blog desapareciera en algúm día. Por eso COPY y PASTE:

Anonimato en Internet

El intercambio de información en Internet se lleva a cabo siguiendo un modelo “cliente-servidor”. Un cliente manda una petición (qué ficheros necesita) y el servidor le devuelve una respuesta (los archivos pedidos). Para una cooperación eficaz (un entendimiento completo) entre cliente y servidor, el cliente también envía información adicional sobre sí mismo: un nombre y una versión de sistema operativo, configuración de navegador (incluyendo nombre y versión), etc. El servidor puede necesitar esta información para saber qué página web ha de enviarse (abrirse) al cliente. Hay diferentes variaciones de páginas web para diferentes configuraciones de los navegadores. Sin embargo, puesto que la mayoría de las veces el contenido mostrado no depende del navegador usado, tiene sentido esconder esta información del navegador web.

Qué información es transmitida a un servidor web (por un navegador o un servidor proxy):

  • Un nombre y una versión del SO
  • Un nombre y una versión del navegador
  • Configuración del navegador (resolución de pantalla, profundidad de color, si existe soporte para java / javascript…).
  • Dirección IP del cliente
  • Otra información

La parte más importante de esta información (y algo absolutamente prescindible para el servidor web) es la información sobre la dirección IP. A través de ella es posible obtener:

  • El pais de donde eres
  • La ciudad
  • El nombre del proveedor de servicios de internet y e-mail
  • La dirección física

La información, transmitida por el cliente al servidor, está disponible (es accesible) para el servidor como variables de entorno. Cada unidad de información se corresponde con el valor de alguna variable. Si cualquier unidad de información no es transmitida, entonces la variable correspondiente estará vacía (su valor será indeterminado).

Estas son algunas de las variables de entorno:

REMOTE_ADDR – Dirección IP del cliente
HTTP_VIA – Si no está vacío, entonces se está usando un proxy. El valor es una dirección (o varias) de un servidor proxy, y es añadido por el propio proxy si lo estás usando.
HTTP_X_FORWARDED_FOR – Si no está vacío, entonces se está usando un proxy. El valor es una dirección IP real de un cliente (la tuya, para ser precisos), y que es creado por el servidor proxy si se usa alguno.
HTTP_ACCEPT_LANGUAGE – Qué lenguaje se usa en el navegador (en qué idioma ha de mostrarse la página)
HTTP_USER_AGENT – También conocido como “el agente de usuario”. Para muchos navegadores esto significa Mozilla. Aún más, el nombre del navegador y la versión (por ejemplo, MSIE 5.5) y el sistema operativo (por ejemplo, Windows 98) también se mencionan aquí.
HTTP_HOST – El nombre del servidor web.

Estas son solo una pequeña parte dentro del conjunto de variables de entorno. De hecho, hay muchos más (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, …). Su cantidad depende de las configuraciones tanto del servidor como del cliente.

Algunos ejemplos de valores para variables:

REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5

La tarea del anonimato en Internet está determinada por qué variables de entorno se “esconden” del servidor web.

Si no se usa un servidor proxy, entonces las variables de entorno tendrán este aspecto:

REMOTE_ADDR = your IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined

Según cómo se escondan las variables de entorno por los servidores proxy se clasifican en diferentes tipos:

Proxy transparente

No esconden información respecto a tu IP address:

REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = your IP

La función de estos servidores no es mejorar el anonimato en Internet. Su propósito es la recolección de información, la organización del acceso compartido a Internet por varios ordenadores, etc.
Proxy anónimo

Todos los servidores proxy que ocultan la dirección IP del cliente mediante algún mecanismo son los proxy anónimos.

Proxy anónimo simple

Este tipo de proxy no esconde el hecho de que se está usando un proxy, aunque reemplazan la IP real con la suya propia:

REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP

Son los más habituales entre los servidores proxy anonimizadores.

Proxy “de distorsión”

Al igual que los proxy anónimos simples, los proxy “de distorsión” no esconden el hecho de que se está usando un proxy. Sin embargo, la dirección IP del cliente (tu dirección IP) se reemplaza con otra IP (aleatoria).

REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = random IP address

Proxy de Alto Anonimato (“Elite proxies”)

En contraste con otros tipos de servidores proxy anonimos, ocultan el hecho de que se está usando un proxy:

REMOTE_ADDR = proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined

Esto significa que los valores de las variables son los mismos que si no se usara un proxy, con la excepción de una cosa muy importante: la IP del proxy reemplaza tu dirección IP.

En resumen:

Dependiendo de la finalidad hay proxies transparentes o anónimos. Sin embargo, recuerda, usando servidores proxy tan sólo se oculta al servidor web la dirección IP, pero otra información (sobre la configuración del navegador) seguirá siendo accesible!

Abril 24, 2009 Publicado por paznar | Internet | | 1 comentario

VNC Thumbnail Viewer

vncthumbnailviewer

vncthumbnailviewer

VNC Thumbnail Verwer es un software Open Source que nos permite visualizar varios ordenadores de forma simultanea mediante VNC. Esta aplicación está desarrollada en Java con lo que permite su utilización en cualquier Sistema Operativo. La web en la que se puede descargar el software y donde se puede encontrar más información a cerca del proyecto es: http://thetechnologyteacher.wordpress.com/vncthumbnailviewer/

Visto en : ubuntulife
Web del proyecto: thetechnologyteacher

Abril 22, 2009 Publicado por paznar | Software Libre, Ubuntu, Windows | | Aún no hay comentarios

Añadir usuarios a MySQL

Acabo de instalar LAMP en mi equipo de sobremesa y me ha surgido el mismo problema que me ocurrió cuando lo instalé en el servidor y es que no puedo acceder con la cuenta de root desde phpMyAdmin. En realidad no soluciono esta cuestión, si no que lo que voy a hacer es añadir dos usuario nuevos a la base de Datos. Un usuario que será con el que yo accederé y otro con el que accederá mi aplicación web. No voy a descubrir nada nuevo ya que lo que voy a explicar es sacado de la documentación oficial de MySQL, pero como ya es la segunda vez que me toca buscarlo, pues lo voy a postear para que no se me pierda.

Lo primero que hacemos será acceder a la base de datos con el usuario “root”:

shell>$ mysql -user=root mysql

En este caso, el acceso se hace sin contraseña porque en el momento de la instalación de la base de datos dejé el campo de la contraseña en blanco. En el caso de haberle asignado contraseña al usuario “root” habrá que añadir al comando anterior la opción –pasword o -p.

Una vez que hemos entrado en la consola de myql, vamos a crear tres usuarios. Dos de ellos con el mismo nombre pero permitiendo el acceso desde el localhost y desde fuera de la maquina local. El tercer usuario será el que use la aplicación web y que solo tendrá permisos para acceder desde el localhost. Para simplificar la cosa, los tres usuarios tendrán todos los privilegios.

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘USUARIO_CUALQUIERA‘@’localhost‘ IDENTIFIED BY ‘AQUI EL PASS‘ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘USUARIO_CUALQUIERA‘@’%‘ IDENTIFIED BY ‘AQUI EL PASS‘ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘USUARIO_APLICACION_WEB‘@’localhost‘ IDENTIFIED BY ‘AQUI EL PASS‘ WITH GRANT OPTION;

NOTA IMPORTANTE: las comillas simples hay que respetarlas.

Para salir de la consola tecreamos el comando “quit“.

Info extraida de de la documentación oficial de MySQL.

Abril 20, 2009 Publicado por paznar | MySQL, Software Libre, Ubuntu | | Aún no hay comentarios