Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y configura de servidor Proxy
Basado en Squid
Alberto Miguel Moreno
Leonardo Augusto Campos
Juan Marcelo Cruz Benavides
Flavio Rubén Cari
Fabio Alejandro Vilca
Daniel Alejandro Velásquez
Laboratorio de Sistemas Operativos II
Tutor: Luís Tomas Wayar
Analista Progrmador Universitario
Universidad Nacional de Jujuy
TM
PDF Editor
San Salvador de Jujuy, Agosto 2009
Instalación y Configuración
de Servidor Proxy
Basado en Squid
TM
PDF Editor
versión 1.0
12/08/2009
INDICE
Índice.............................................................................................................................................1
Objetivos.......................................................................................................................................2
Esquema propuesto.......................................................................................................................3
Squid.............................................................................................................................................4
Instalación...........................................................................................................................4
Configuración.....................................................................................................................4
Apache..........................................................................................................................................5
Instalación...........................................................................................................................6
Dansguardian................................................................................................................................6
Instalación...........................................................................................................................6
Configuración.....................................................................................................................6
Sarg...............................................................................................................................................7
Instalación...........................................................................................................................7
Configuración.....................................................................................................................8
DNS..............................................................................................................................................9
Instalación..........................................................................................................................10
DHCP...........................................................................................................................................10
Instalación..........................................................................................................................10
Configuración....................................................................................................................10
Iptables.........................................................................................................................................12
Configuración.,,,................................................................................................................12
Agradecimientos..........................................................................................................................13
TM
PDF Editor 1
Objetivos
En siguiente manual tiene como objetivo detallar los pasos principales de como instalar y configurar
un servidor Proxy, basado en Software Libre Ubuntu 9.04, que permitirá el acceso a Internet a otras
PC's. Este servidor permitirá brindar mayor seguridad a la navegación por Internet, permitiendo el
registro de todas las actividades realizadas por los usuarios, la prohibición de acceso a distintas
páginas, y la distribución automática de IP's a las PC's clientes.
Para cumplir con este objetivo se eligió como solución la inhalación de los servicios Squid3,
Apache2, Dansguardian, Sarg y DHCP3Server. Este trabajo consiste en integrar dichas
aplicaciones para ofrecer un acceso mas controlado a Internet.
TM
PDF Editor 2
Esquema propuesto
En el esquema que se propone consiste en la instalación de un servidor Proxy basado en
GNU/Linux.
En el servidor Linux se instalara Squid para cumplir la función de Proxy, Apache para el servicio
Web, Sarg que realizara los reporte de navegación, Dansguardian como filtro de contenidos web y
DHCP como proveedor de IP's al las maquina clientes.
Respecto a la seguridad Squid, posee un mecanismo de control de contenido Web mediante un
esquema de control de acceso (acl). Además se propone la utilización de los mecanismos que
ofrece Squid para el control de ancho de banda del acceso a Internet, permitiendo así un mejor uso
de los recursos.
TM
PDF Editor 3
Squid
Squid es un servidor Proxy para clientes Web que soporta los protocolos HTTP, HTTPS y FTP. El
mismo permite almacenar los objetos accedidos por los diferentes usuarios en una cache destinada
para ese propósito, lo cual posibilita un acceso mas rápido a Internet.
Instalación
Bueno ahora pasaremos a la instalación de Squid la cual es sencilla solo aplicando unas línea de
comandos es suficiente. Vale aclarar q todas las instalaciones y configuraciones que realizaremos
este manual serán como “root”
#aptcache search squid3
#aptget install squid3
De esta manera ya tenemos instalado a Squid en nuestro sistema
Configuración
Squid utiliza el fichero de configuración localizado en /etc/squid3/squid.conf y se podrá utilizar un
editor de texto sencillo para su configuración.
Entramos a /etc/squid3/squid.conf para la configuración
# gedit /etc/squid3/squid.conf
1Para que Squid funciones debemos colocar en la directiva visible_hostname el nombre de nuestro
equipo
visble_hostname localhost
Remplazamos localhost por en nombre de nuestro equipo
visible_hostname <nombre de nuestro equipo>
2 Luego verificaremos que el puerto de Squid sea el predefinido y lo hacemos transparente para
evitar la configuración del explorador de cada computadora cliente. Lo cual modificaremos el
http_port 3128 de la siguiente manera.
TM
http_port 3128
http_port 192.168.0.1:3128 transparent
PDF Editor
Nota: no se utilizara el puerto 8080 como en otros manuales que lo mencionan debido a que este
puerto será utilizado para Dansguadian.
4
3Ahora modificaremos el siguiente parámetro, el cual se utiliza para establecer el tamaño de cache
en el disco duro para Squid. Por defecto Squid usa una cache de 100Mb lo cual encontraremos la
línea siguiente:
cache_dir ufs /var/spool/squid3 100 16 256
Se puede incrementar el tamaño de cache hasta donde desee el administrador, mientras más grande
sea el cache, mas objetos se almacenaran en éste y por lo tanto se utilizara menos ancho de banda.
En este caso le daremos 700Mb
cache_dir ufs /var/spool/squid3 700 16 256
Los número 16 y 256 significan que el directorio del cache contendrá 16 directorios subordinados
con 256 niveles cada uno. No es necesario la modificación de estos.
4Modificaremos el parámetro cache_men el cual establece la cantidad de memoria para los objetos
de transito, los objetos frecuentemente utilizados (Hot) y los objetos negativamente almacenados en
caché. Los datos de estos objetos se almacenan en bloques de 4Kb. Este parámetro especifica un
limite máximo en el tamaño total de bloques acomodados, donde los objetos de transito tienen
mayor prioridad. Los objetivos Hot y los negativamente almacenados en cache podrán utilizar la
memoria no utilizada hasta sea requerida. Por defecto Squid establece 8Mb.
cache_mem 8Mb
los cuales pueden ser modificados de acuerdo a lo necesitado, nosotros utilizaremos 16Mb.
cache_mem 16Mb
5Creamos un acl para dansguardian de la siguiente manera
acl dasnguardian scr 192.168.0.1
6Cerramos el editor guardando los cambios y reiniciamos Squid de la siguiente manera.
# /etc/init.d/squid3 restart
De esta manera tenemos configurado nuestro Proxy
Apache TM
PDF Editor
Apache es un servidor Web HTTP de código abierto para la plataformas UNIX,Microsoft,
Macintosh y otras, que implementa el protocolo HTTP/1.1 y la nocion del sitio web, el cual se
encarga de resolver las peticiónese de paginas de Internet de los cliente.
5
Instalación
Para la instilación de Apache realizamos lo siguiente(usaremos Apache2)
#aptcache search apache2
#aptget install apache2
Y así ya tenemos instalado nuestro servidor Web.
Dansguardian
Dansguardian es un filtro de contenidos de sitios Web muy potente que trabaja conjuntamente con
el servidor Proxy Squid, Dansguardian se sitúa o actúa entre el navegador cliente y el Proxy
interceptando y modificando la comunicación entre ambos. De esta forma facilita la tarea de filtrado
paginas visitadas por el usuario desde el equipo cliente. Al instalar el paquete la configuración por
defecto, limita las visitas la pagina para menores de edad, también dispone archivos de
configuración para llevar acabo una configuración mas personalizada.
Instalación
Para la instilación de Dansguardian realizaremos lo siguiente
#aptget search dansguardia
#aptget install dansguardian
De esta manera tenemos instalado el dansguardian.
Configuración
Dansguardian utiliza como fichero de configuración localizado en
/etc/dansguardian/dansguardian.conf, el cual modificaremos con un editor de texto.
Abrimos /etc/dansguardian/dansguardian.conf para la correspondiente configuración
#gedit /etc/dansguardian/dansguardian.conf
TM
1Establecemos la línea que contiene la directiva UNCONFIGURED como un comentario, para
esto agregamos al principio de la línea un “#”
PDF Editor
UNCONFIGURED – Please remove this line after configuration
#UNCONFIGURED – Please remove this line after configuration
6
2Si no estamos trabajando con el antivirus modificar la línea correspondiente desactivando la
opción y comentar la línea indicada.
virusscan = on
virusscan = off
virusengine = 'clamav'
#virusengine = 'clamav'
3En la sección 'Network Settings' comprobar que estén las siguientes líneas
Filterport = 8080
poxyip = 192.168.0.1
proxyport = 3128
4Modificar el idioma por defecto, para esto sustituir el 'ukenglish' por 'spanish'
language = 'ukenglish'
language = 'spanish'
5Guardamos los cambios, salimos del editor y reiniciamos el servicio Danguardian ejecutando la
siguiente orden
# /etc/init.d/dansguardian restart
Y así tenemos configurado a dansguardian.
Sarg
Sarg (Squid Analisys Report Genetator), es un generador de reportes para Squid el cual nos
permitirá obtener los reportes de navegación de nuestra red, recortándonos los sitios visitados por
usuarios.
Instalación
Para la instalación de Sarg haremos lo siguiente
TM
#aptget search sarg
#aptget install sarg
PDF Editor
De esta manera tenemos instalado Sarg, listo para su configuración para generar los reporte.
7
Configuración
La configuración de Sarg es sencilla solo hay q modificar los siguientes líneas.
Sarg utiliza como fichero de configuración situado en /etc/squid/sarg.conf, el cual modificaremos
con el editor de texto.
1Abrimos /etc/squid/sarg.conf para la configuración
#gedit /etc/squid/sarg.conf
2Editamos la siguientes líneas. La cuales son la de idioma, el la cual remplazaremos 'English' por
'Spanish' y los 'access.log' de squid por los 'access.log' de dansguardian. Para ello relazaremos lo
siguiente
language Spanish
access_log /var/log/dansguardian/access.log
Después configuramos para que los logs de Dansguardian para que tengan el formato Squid para
que Sarg los interprete sin problemas, para ello realizaremos lo siguiente.
4Abrimos y editamos el fichero /etc/dansguardian/dansguardian.conf
#gedit /etc/dansguardian/dansguardian.conf
5Editamos la directiva logfileformat.
#log file format
#1 = dansguardian format (space delimited)
#2 = CSVstyle format
#3 = Squid Log File Format
#4 = Tab delimited
logfileformat = 3
Cerramos el editor y reiniciamos Dansguardian
6Para q nos genera la pagina Web con el reporte tipearemos la siguiente línea.
#sarg TM
PDF Editor 8
7Configuramos a que hora realizara los reportes del día, para ello abrimos con el editor de texto
/etc/crontab
#gedit /etc/crontab
8De esta manera mostrara lo siguiente, a lo cual agregaremos la siguiente línea '5 0 * * * root
sarg'
# m h dom mon dow user command
Nota: m son los minutos (059), h las horas(023), dom son los dias del mes(131), mon son los
meses(112), dow son los dias de la semana(17), user usuario(root) y command es el comando
(sarg). * equivale a todo
De esta manera configuramos a Sarg para q realice el reporte a los 5 minitos de las 0 horas todos los
días, todos los meses y todos los días de la semana.
9 Para ver dicho reporte abrimos un explorador y colocamos 127.0.0.1/saquidreports
Y de esta manera tenemos configurado nuestro generador de reportes.
DNS
DNS (Domain Name System) Sistema de Nombres de Dominio es un servidor que como tarea es
traducir nombres de dominio de una dirección IP. DNS es conjunto de protocolos y servicios para la
identificación/conversión de una direccion de internet expresada en lenguaje natural por una
dirección IP.
TM
Una URL(dirección para acceder a una página web) está compuesta por palabras separadas por
puntos (ej: www.retonet.com.ar), para acceder a la misma, sólo se debe recordar estas palabras. Esta
PDF Editor
dirección URL está asociada a un número (dirección IP) que identifica el servidor que se ha de
contactar para verla (por ej: 200.10.123.01). El servicio DNS se encarga de asociar una dirección
URL a una dirección IP.
9
Instalación
Para la intalacion realizaremos lo siguiente.
#aptcahe search bin9
#aptget install bin9
De esta menera instalamos nuestro servidor DNS
DHCP
DHCP (Dynamic Host Configuration Protocol) es un servidor que provee direcciones IP el cual
identifica únicamente a computadoras de nuestra red para así asignarles un IP, siendo así obtenida
automáticamente dicha sin la necesidad de que sea configurada para la maquina cliente, esto facilita
la conexión de los usuarios que deseen estar en nuestra red, dichas maquinas son conectadas a el
servidor DHCP.
Instalación
Para realiza la instalación de nuestro servidor DHCP ejecutamos la siguientes líneas.
#aptcache serach dhcp3server
#aptget install dhcp3server
De esta manera tenemos instalado DHCP en nuestra computadora
Configuración
La configuración de DHCP la realizaremos sobre los archivos dhcp3server y dhcp.conf
1Configuraremos dhcp3server el cual esta ubicado en /etc/default/dhcp3server para ello lo
abrimos con un editor de texto.
#gedit /etc/default/dhcp3server
2Buscamos la línea la cual dice INTERFACE y agregamos nuestra placa de red la cual es eth0
TM
INTERFACE='eth0'
Cerramos guardando los cambios.
PDF Editor 10
3Configuramos las interfaces de la red. Para ello abrimos el archivo /etc/network/interfaces con el
editor de texto
#gedit etc/network/interfaces
4Reemplazamos la configuración por default, por la siguiente.
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.0
Ahora configuraremos dhcp.conf. Este archivo contendrá la red que será utilizada para la asignación
de IP y el rango de IP’s, que se podrán asignar con el servicio DHCP.
5Abrimos el archivo dhcp.conf cual esta ubicado en /etc/dhcp3/dhcp.conf Con el editor de texto
#gedit /etc/dhcp3/dhcp.conf
6Deshabilitamos la configuración por default. Comentando las siguientes líneas:
#option definitions common to all supported networks...
#option domainname "example.org";
#option domainname servers ns1.example.org, ns2.example.org;
#defaultleasetime 600;
#maxleasetime 7200;
7Habilitamos las líneas que nos servirán y con las cuales definimos la dirección de red y el rango
de IP’s el cual será de la IP 192.168.0.11 a la 192.168.0.255
# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.11 192.168.0.254;
option domainnameservers 192.168.0.1;
# option domainname "internal.example.org";
option routers 192.168.0.1; TM
option broadcastaddress 192.168.0.255;
defaultleasetime 600;
maxleasetime 7200;
PDF Editor
Cerramos y guardamos los cambios.
11
8Reiniciamos nuestro servidor DHCP
# /etc/init.d/dhcp3server
De esta manera configuramos nuestro DHCP
Iptables
Iptables es un conjunto de herramientas (comandos) que le permiten al usuario enviar mensajes al
kernel. El kernel tiene todo el manejo de paquetes TCP/IP dentro de él, no es algo aparte como lo es
en otros sistemas operativos, por lo tanto todos los paquetes que van destinados a un Linux o lo
atraviesan, son manejados por el mismo kernel, el cual maneja cada paquete de red, lo cual nos
permite (a través de iptables) decirle al kernel qué debe hacer con cada uno de los paquetes.
Entonces, iptables es una forma de indicarle al kernel algunas cosas que debe hacer con cada
paquete, esto se hace en base a las características de un paquete en particular. Por lo tanto, se puede
decir iptables es un conjunto de comandos que permiten decirle al kernel qué hacer con ciertos
paquetes que cumplan con ciertas características.
Configuración
Realizaremos la configuración de la iptables para el prerouting y el postrouting.
1Ejecutamos la siguiente, que se refiere al prerouting el cual se refiere a que todo lo que entre por
eth0 con destino al puerto 80 lo envie al puerto 8080
# iptables t nat A PREROUTING i eth0 s ! 192.168.0.1 p tcp dport 80 j DNAT to
192.168.0.49:8080
2Luego realizamos la del postrouting, este se encargara de enmascarar todas las ip's de las
maquinas clientes poniendoles el numero de ip de nuestro servidor para q puedan salir a internet
#iptables t nat A POSTROUTING s ! 198.168.0.1 o eth0 j MASQUERADE
De esta manera Finalizamos con la configuración básica de un Servidor Proxy.
TM
PDF Editor 12
AGRADECIMIENTOS
El grupo que realizo este trabajo agradece al Sr. Luís Tomas Wayar, por toda la ayuda y
conocimiento brindado, lo que hizo posible la finalización de este trabajo, el cual fue una muy
buena experiencia, tanto grupal como individual. El grupo adquirió conocimiento como también la
experiencia de como se trabaja en la vida real, enfrentando problemas y solucionándolos con total
eficacia.
TM
PDF Editor 13