viernes, 14 de marzo de 2008

CONFIGURACION BASICA SQUID

Squid es un popular programa diseñado para implementar un servidor proxy. esta publicado bajo licencia GPL. Ademas tiene una amplia gama de utilidades, desde acelerar un servidor web, guardando en cache peticiones que realizan los usuarios ademas de filtar el trafico esta diseñado para ejecutarse bajo entornos tipo Unix. Esta orientado principalmente a HTTP y FTP, se puede implementar con varios madalidades de cifrado como TLS, SSL, y HTTPS.

instalar el proxy
apt-get install squid

luego editamos /etc/squid/squid.conf
en el archivo por defecto esta la configuracion con sus respectivos ejemplos pero para no complicarlos tanto movemos el archivo por defecto y creamos uno con la nueva configuracion.

mv /etc/squid/squid.conf /etc/squid/squid.old
-------Nombre original-------Nuevo nombre

Creamos el nuevo archivo y lo editamos para la nueva configuracion
touch squid.conf
pico /etc/squid/squid.conf

hay que tener en cuenta que el proxy aplica las reglas en el orden que sean especificadas

AHORA LA CONFIGURACION
#puerto por defecto del proxy 3128 pero tambien puede ser el 8080
http_port 3128

#si existen varias interfaces el servicio escuchara por las dos pero tambien podemos especificarla
http_port 10.3.6.159:3128

#Si existe otro proxy en la red para salir a internet
cache_peer proxylan.sena.edu.co parent 8080 0 default

#Compartir cache si existe algun otro proxy en la red SI 3130 NO 0
icp_port 0 (por default 0)

#Nombre de la maquina local
visible_hostname localhost

#Cantidad de memoria que utilizara la ram para almacenar la cache,
la cantidad de memoria se asigna dependiendo de la capacidad que tiene el equipo.
cache_mem 35 MB

#Directorio donde se almacenara la cache, el tamaño de la cache tambien puede variar. por default es 100MB
cache_dir ufs /etc/squid/cache 200 16 256
100=tamaño en la cache
16=cantidad de directorios
256=cantidad de subdirectorios

#Listas de control de acceso ACL
especificamos quienes tendran acceso y quien no al proxy para navegar a traves de el hacia inetput y teniendo control a que paginas pueden acceder o denegar

Especificamos el rango de IP que tendran acceso al proxy para que puedan tener acceso a internet

#En este caso toda la red
acl all src 0.0.0.0/0.0.0.0
acl mired src 10.3.6.128/255.255.255.128

acl=lista de control de acceso
all=acepte
deny=deniege
dst=direccion destino hacia donde va la maquina
src=direccion de origen
mired=todas las maquinas que tienen acceso a cualquier maquina que tenga una ip en el rango de 10.3.6.128 /255.255.255.128 con mascara de 25

Para que los usuarios no visualicen paginas en las que su contenido sean imagenes, archivos .exe, videos etc. agregamos la siguiente linea.
acl varios urlpath_regex \.jpg$ \.exe$ \.avi$

otra forma de darle acceso a los computadores es crear listas negras o acl con ip estaticas(no cambian) en un archivo determinado.
ejemplo: /etc/squid/maquinas_permitidas
acl equipos src "/etc/squid/maquinas_permitidas"
ejemplo de lo q contiene el archivo maquinas_permitidas
10.3.6.212
10.3.6.208

#en este caso especificamos las acl
acl imagenes urlpath_regex \.jpg$ \.exe$ \.mp3$
acl chat dst www.chatiapues.com
acl correo dst www.hotmail.com

#Acceso permitido para toda la red, si tus reglas no aplican es por que la primera regla que tienes es permitir el acceso de toda la red a internet, para aplicar las reglas debes comentar la siguiente linea
http_access allow mired

#Permitir o denegar las acl especificadas anteriormente
http_access deny imagenes
http_access deny chat
http_access deny correo
#http_access allow localhost

#Denegar todo lo que no este en la red
http_access deny all

#con estas lineas especificamos el tamaño de los archivos que tienen permitidos los usuarios para descargar
request_header_max_size 10 KB
request_body_max_size 512 KB
reply_body_max_size 512 KB

luego guardas los cambios y le das squid -z para crear los directorios para almacenar la cache

reiniciamos el servicio
/etc/init.d/squid restart
cada vez que realicemos un arreglo en la configuracion debemos recargar el servicio.
restart(reiniciar)
start(iniciar o subir)
stop(para o detener)

para probar que nuestro proxy funcione configuramos nuestro navegador web para que use nuestro proxy

No hay comentarios: