Powered By Blogger

martes, 27 de enero de 2015

Bloquear el acceso a sitios y páginas web usando el servidor Apache

Como impedir que se acceda desde nuestro equipo a páginas y sitios de internet indeseados. Configurar y usar el servidor Apache como un proxy para así controlar el tráfico de nuestra conexión de red. Filtrar y denegar el acceso usando nombres, sitios o dominios.

En otro artículo publicado en este sitio se trata el tema de cómo limitar y restringir el acceso a determinadas páginas y sitios de internet en nuestro equipo, al no ser su contenido de nuestra conveniencia.
Para eso se mostraba la posibilidad de hacerlo modificando valores en el archivo hosts de Windows, método que tiene sus limitaciones, pero permite una solución bastante sencilla, accesible a cualquier usuario y útil en muchas situaciones.
En esta página se trata otro método un poco más complejo y que requiere la instalación de un software en la PC, es el uso del servidor web Apache que ofrece opciones más avanzadas, como filtrar el contenido, bloquear, dominios completos, etc. y que adicionalmente da ventajas como la de elevar el rendimiento de la conexión y poder compartirla con otros equipos.
Para los que no conocen que es un servidor web, este es un sencillo programa que al instalarlo en el equipo funciona de forma algo similar a los servidores que se encuentran en internet, que guardan, almacenan y sirven las páginas que solicitamos con nuestro navegador, solo que en este caso, de forma local.
Si estas interesado en el tema o te gustaría solo probar, en otras páginas de este sitio puedes leer un manual paso por paso para instalar Apache, software que es gratis, además el proceso para su instalación y configuración no es nada difícil.




Usar el servidor Apache como un web proxy

Una de las diversas ventajas que aporta tener instalado Apache en la PC, es que podemos configurarlo para utilizarlo como un proxy web, o sea un intermediario entre uno o varios equipos e internet, lo que nos permitirá filtrar y controlar completamente el tráfico que pasa a través de él. Tendremos de esta forma disponible las siguientes opciones:
• Poder compartir el uso de una simple conexión de internet entre varios equipos, ya sea mediante conexiones cableadas (una red local o inalámbricas (una laptop, un Iphone u otros teléfonos celulares)
• Restringir y bloquear el acceso a cualquier página o sitio de contenido no adecuado, utilizando para eso diversos parámetros.
• Re direccionar el tráfico entre diferentes direcciones URL.
• Cachear y guardar en memoria contenido para acelerar la navegación.





Como configurar el servidor Apache como un proxy

Después de la instalación básica de Apache necesitamos configurar algunos parámetros para poder utilizarlo como un forward proxy, lo que es lo mismo un proxy, es algo bien sencillo para cualquier usuario.
Solo es necesario para eso acceder al archivo de configuración del servidor llamado httpd.conf que se encuentra en la carpeta conf de los archivos del servidor, generalmente la ruta es:
"C:\Apache\conf"

Para introducir y modificar los parámetros haz lo siguiente:
1- Abre el archivo httpd.conf, puede ser con un editor de texto plano o simplemente arrastrándolo al Bloc de notas de Windows.
Al final del archivo pega las siguientes líneas:ProxyRequests On Allowconnect 80 ProxyBlock


¿Qué significan?
• ProxyRequests On = Permite que Apache funcione como un forward proxy, es decir que pasen los datos a traves de él.
• Allowconnect 80 = Permite al que tenga acceso al servidor, cargar páginas web por el puerto 80 el necesario para el protocolo HTTP (páginas web). De forma predeterminada el 443 y 563 ya están habilitados para HTTPS.
• ProxyBlock = Permite bloquear páginas, sitios, dominios, hosts, etc.

¿Cómo usarlo?




Usar ProxyBlock para bloquear el acceso a sitios web

Es sencillo, en la misma línea a continuación de ProxyBlock, agrega nombres separados por un espacio, por ejemplo:
ProxyBlock Facebook sitio-lindo videos-max
No es necesario usar: www.sitio-lindo.com, solo sitio-lindo.

El uso de la directiva ProxyBlock tiene la desventaja de que puede ralentizar el servidor, ya que este en el inicio de la conexión, buscará las direcciones IP de los host que coincidan con los nombres necesarios para tenerlos en memoria y así mas tarde hacer la comparación, si se efectúa la petición a dichos sitios.
En conexiones de alta velocidad esto no será ningún problema, si se bloquearán de forma efectiva los sitios que coincidan con los nombres introducidos.
Para usar la directiva ProxyRequests, es necesario verificar más arriba en el mismo archivo de configuración, que la siguiente línea este descomentada, o sea que no esté antecedida por el carácter #:
LoadModule proxy_module modules/mod_proxy.so


Al terminar cierra el archivo, guarda los cambios y reinicia el servidor para que tomen efecto.


Habilitar la navegación web a través del proxy

El siguiente y último paso es indicarle a Windows que la conexión de internet pase a través de Apache.
En el Panel de control accede a Opciones de Internet y en la pestaña Conexiones, en la Configuración de la conexión, marca al casilla "Usar un servidor proxy para esta conexión".
En Dirección escribe: 127.0.0.1
En Puerto: 80
Presiona Aceptar en las dos ventanas.





Como crear mensajes de error personalizados en Apache

Las páginas de error son las que saltan al ocurrir un error mostrando el Código de estado HTTP correspondiente, incluyendo un mensaje predeterminado, los códigos más frecuentes y conocidos son los siguientes:
403 Forbidden (Prohibido). El acceso es denegado a la página.
404 Not Found (No encontrado). La página no se encuentra en el servidor, puede ser que se haya movido de ubicación o se haya eliminado.
502 Bad Gateway (Mala pasarela). La petición no se pudo completar de forma adecuada debido a causas desconocidas.

Se puede configurar Apache para que al ocurrir determinado error, se muestre exactamente la información que deseamos o se ejecute una acción determinada, por ejemplo abrir una página creada precisamente para dicho evento.
Para hacerlo solo es necesario agregarle al archivo de configuración de Apache httpd.conf las siguientes líneas, son solo ejemplos:ErrorDocument 403 "Lo siento pero no puedes acceder a la página solicitada" ErrorDocument 404 "No existe la página que buscas o la eliminaron" ErrorDocument 502 /error-conexion.html


Más información sobre los códigos de estado HTTP en Wikipedia: Todos los códigos de estado HTTP




Guardar en cache el tráfico a través del servidor

Si usas Apache como proxy es aconsejado utilizar el modulo cache (mod_cache) lo que permitirá reducir el uso de la red.
Lee como habilitarlo y configurarlo en otra página de este sitio:
Como instalar y configurar el servidor web Apache.


Conocer todos los accesos a sitios y páginas web en el equipo

Todo los accesos a la red hechos a través del servidor, son guardados en un archivo de texto o Log llamadoaccess.log en la carpeta de la aplicación, revisando este archivo se pueden conocer todas las estadísticas registradas, como la fecha y hora, las direcciones web a las que ha existido conexión con las direcciones web correspondientes.

Por último es necesario saber que el método no es infalible, cualquier usuario usando el navegador Firefox puede configurarlo para acceder directamente a internet sin tener que pasar a través del proxy. Inclusive no es imprescindible tener instalado dicho navegador en el sistema, puede accederse usando una versión portable desde una memoria flash u otro dispositivo de almacenamiento conectado en un puerto USB.

No hay comentarios:

Publicar un comentario