Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un proxy de conexin a Internet es un servidor que hace de intermediario entre los PCs de la red y el router de conexin a Internet, de forma que cuando un usuario quiere acceder a Internet, su PC realiza la peticin al servidor Proxy y es el Proxy quien realmente accede a Internet. Posteriormente, el Proxy enviar los datos al PC del usuario para que los muestre en su pantalla. El PC del usuario no tendr conexin directa con el router, sino que acceder a Internet por medio del proxy.
El proxy es un intermediario
#os PCs de los usuarios no tienen acceso al router, todas las comunicaciones exteriores pasarn por el Proxy, lo que nos permitir tener las comunicaciones $a!o control. Podemos permitir o dene%ar el acceso &e$, ftp, email, messen%er, p'p, etc... #as p%inas se cachean en la memoria temporal del proxy lo cual acelera la descar%a cuando varios usuarios acceden a las mismas p%inas a la vez. Esta circunstancia se da mucho en los centros educativos cuando el profesor est explicando un tema y todos los alumnos acceden a la vez a la misma p%ina. Es fcil crear una lista de urls prohibidas a las que el proxy dene%ar el acceso. Permite crear una lista de palabras prohibidas en url. El proxy dene%ar el acceso cuando se introduzcan en formularios de $(squeda o en la $arra de direcciones. )e puede permitir o dene%ar el acceso a subredes o a PCs concretos. )i dise*amos la red de forma que cada aula del centro ten%a un ran%o
determinado, por e!emplo +,.,.-.. donde - es el n(mero de aula e . el n(mero de PC, ser/a posi$le permitir o dene%ar la conexin a Internet aula por aula.
El proxy %uarda informes de todas las conexiones que hacen los usuarios. 0l principio puede ser interesante ver a qu1 p%inas de contenido inadecuado acceden nuestros alumnos, para a%re%arlas a la lista de urls prohi$idas. #os PCs de nuestra red estn ms seguros de ataques externos ya que el proxy hace de $arrera cortafue%os.
Para que las aplicaciones accedan a Internet a trav1s del proxy, es necesario configurar cada aplicacin" nave%ador &e$, cliente ftp, cliente de correo, etc... 3odas las comunicaciones con el exterior pasarn por el servidor. )i el proxy falla, la red se quedar sin conexin a Internet. Para su$sanar lo ms rpidamente posi$le el pro$lema ante un fallo del Proxy, ser conveniente disponer de un proxy de repuesto. El proxy requiere mantenimiento. Para que todo funcione, es necesario que exista un administrador de la red que se encar%ue de actualizar, revisar, mantener y reparar el proxy cuando de!e de funcionar.
Direccionamiento de nuestra red :Utilizar el ran%o 10.0.0.0/8 para el direccionamiento de red del centro educativo. :Utilizar la IP 10.0.0.1 para el servidor proxy. Conviene que dicho servidor sea tam$i1n servidor 42). :#as aulas usarn la direccin 10.0.X.Y donde - sea el n(mero de aula e . sea el n(mero de PC. E!emplo, si en la aula + hay 9 PCs, en el aula ' hay ; y en el aula ; hay ;, el direccionamiento ser/a" 0ula PC 2om. IP <scara P.Enlace 42) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + + a+pc+ +,.,.+.+ '88.,.,., sin confi%urar +,.,.,.+ + ' a+pc' +,.,.+.' '88.,.,., sin confi%urar +,.,.,.+ + ; a+pc; +,.,.+.; '88.,.,., sin confi%urar +,.,.,.+ + 9 a+pc9 +,.,.+.9 '88.,.,., sin confi%urar +,.,.,.+ ' + a'pc+ +,.,.'.+ '88.,.,., sin confi%urar +,.,.,.+ ' ' a'pc' +,.,.'.' '88.,.,., sin confi%urar +,.,.,.+ ' ; a'pc; +,.,.'.; '88.,.,., sin confi%urar +,.,.,.+ ; + a;pc+ +,.,.;.+ '88.,.,., sin confi%urar +,.,.,.+ ; ' a;pc' +,.,.;.' '88.,.,., sin confi%urar +,.,.,.+ ; ; a;pc; +,.,.;.; '88.,.,., sin confi%urar +,.,.,.+
Esto puede ser interesante en empresas, donde el administrador de red da acceso a Internet solo a los usuarios que lo necesitan. En un centro educativo supondr/a $astante tra$a!o llevar una administracin de este tipo ya que ha$r/a que crear y %estionar un usuario para cada alumno y para cada profesor. Es ms fcil administrar por redes y por aulas. "..E)) .%( +%2 /.ontrol de "cceso1 En esta seccin esta$leceremos los permisos de acceso, es decir, quien puede nave%ar y quien no. #o primero que tendremos que hacer es crear listas de control de acceso >0ccess Control #ist : 0C#? y lue%o dar permisos a dichas listas. Una lista de control de acceso >acl? se crea utilizando la pala$ra acl se%uido del nom$re que queramos dar a la lista y se%uido de una condicin que cumplirn los miem$ros de la lista. Entre las condiciones ms utilizadas destacamos" src >IPs o U=#s ori%en?, dst >IPs o U=#s destino?, port >puertos? y proto >protocolos?. E!emplos" )i en mi red local utilizo el direccionamiento +,.,.,.,56, puedo crear una lista para definir a toda mi red" 55acl para definir toda mi red acl todos src +,.,.,.,56 )i en mi red local utilizo el direccionamiento +,.,.-.,5'9, para el aula -, puedo crear una lista para cada aula" 55Una acl para cada aula acl aula+ src +,.,.+.,5'9 acl aula' src +,.,.'.,5'9 acl aula; src +,.,.;.,5'9 acl aula9 src +,.,.9.,5'9 acl aula8 src +,.,.8.,5'9 #ue%o tendr/a que dar permiso a las listas. Para ello se utiliza la pala$ra clave http3access se%uido del permiso allo& >permitir? o deny >dene%ar? y se%uido del nom$re de la lista. E!emplos" )i quiero dar permiso a toda mi red para que nave%ue por Internet" 55Permiso para que nave%ue toda mi red http@access allo& todos )i quiero dar permiso a las aulas +, ' y ; para que nave%ue por Internet pero no quiero que nave%uen las aulas 9 y 8" 55Permiso para que nave%uen las aulas +, ' y ; y no nave%uen las aulas 9 y 8 http@access allo& aula+ http@access allo& aula' http@access allo& aula;
http@access deny aula9 http@access deny aula8 Por defecto, squid viene confi%urado para actuar como cach4 de acceso a Internet, pero no tiene creadas listas de control de acceso. )i confi%uramos el nave%ador de Internet de los PCs cliente para que utilicen el Proxy, veremos que tenemos dene%ado el acceso al Proxy. Para empezar a disfrutar del Proxy, tendremos que crear una lista de control de acceso con el ran%o de nuestra red y darla permiso. )i en nuestra red utilizamos el ran%o +,.,.,.,56, de$er/amos a*adir en 5etc5squid5squid.conf" 55Permiso para que nave%ue toda mi red. acl todos src +,.,.,.,56 http@access allo& todos Cuando creamos acls, podemos sustituir el ran%o de IPs por el nom$re de un archivo externo, y de esa manera podemos indicar el en archivo externo el ran%o o los ran%os de IPs a los que queremos referirnos, sin necesidad de estar continuamente modificando el archivo squid.conf. <s adelante veremos un e!emplo cmo tener un archivo externo con las urls prohi$idas a las que no podrn nave%ar nuestros alumnos. (E 5%+6 %& '%() /%pciones de red1 En esta seccin esta$leceremos con el parmetro http@port, el puerto en el que escucha el Proxy. #o me!or es de!ar el valor por defecto que es el puerto ;+'6" 55Confi%urar squid en el puerto ;+'6 http@proxy ;+'6 )quid puede tra$a!ar en modo transparente. #a venta!a de confi%urar squid en dicho modo de tra$a!o, es que no ser/a necesario confi%urar el nave%ador de los PCs clientes para tra$a!ar con el proxy, sino que simplemente confi%uramos la puerta de enlace del PC cliente con la IP del servidor proxy. Posteriormente tendremos que confi%urar el cortafue%os del servidor para que rediri!a las peticiones al puerto 6, hacia el puerto ;+'6 y as/ las reci$a squid. )i deseamos poner el Proxy en modo transparente, de$eremos indicarlo despu1s del puerto. En tal caso, el parmetro http@port quedar/a as/" 55Confi%urar squid en el puerto ;+'6, en modo transparente http@proxy ;+'6 transparent 55=ediri%ir las peticiones al puerto 6, hacia el puerto ;+'6. E!ecutar como root" sudo ipta$les :t nat :0 P=E=AU3I2B :i eth+ :p tcp ::dport 6, :! =E4I=EC3 ::to:port ;+'6 El inconveniente de tra$a!ar en modo transparente es que no sirve para el protocolo C33P). 7E7%+Y .".-E %& '%() En esta seccin esta$leceremos la memoria =0< utilizada para la cach1. Una $uena opcin es utilizar so$re un tercio de la memoria =0< del sistema. E!emplo, si nuestro sistema tiene 8+' <D de memoria =0<, una $uena opcin
ser/a" 55=0< utilizada por squid cache@mem +E' <D D')6 .".-E %& '%() En esta seccin esta$leceremos el espacio de disco duro utilizado para la cach1. Una $uena opcin es utilizar el 8,F de la capacidad total del disco duro. E!emplo, si nuestro disco tiene sistema tiene 6, BD de memoria =0<, una $uena opcin ser/a utilizar 9, BD. 4e$eremos utilizar la pala$ra clave cache@dir se%uida de la pala$ra ufs que es el formato utilizado por squid, de la carpeta donde queremos que se almacene la cache, el tama*o de la cach1 en <D, el n(mero de su$directorios de primer nivel y el n(mero de su$directorios de se%undo nivel. E!emplo, si queremos que la cach1 se %uarde en 5var5spool5squid, que utilice 9, BD y que cachee hasta +G su$directorios de primer nivel y hasta '8G su$directorios de se%undo nivel, escri$iremos" 55Espacio en disco utilizado por squid cache@dir ufs 5var5spool5squid 9,,,, +G '8G
Confi%uracin del nave%ador de los PCs clientes, para que utilicen el Proxy
)upon%amos que nuestro servidor Proxy tiene la IP +E'.+G6.+.';E y el servidor squid est escuchando en el puerto ;+'6 que es el puerto que utiliza por defecto. Con estos dos datos, la IP y el puerto, ya podemos confi%urar el nave%ador de Internet de los PCs clientes. <ozilla Hirefox Para que Hirefox utilice nuestro Proxy en sus conexiones, de$emos ir a Cerramientas I Apciones I 0vanzado I =ed y en el apartado Conexin, hacer clic en el $otn Confi%uracin. En la ventana que aparece, de$emos confi%urar la IP y el puerto de nuestro servidor Proxy"
.onfiguraci0n del &roxy en *irefox 0 partir de este momento, Hirefox enviar a nuestro Proxy cualquier consulta &e$ que realice, y ser nuestro Proxy quien realizar la conexin en caso necesario. Internet Explorer Para indicar a Internet Explorer que de$e utilizar un Proxy para realizar conexiones, de$emos ir a Cerramientas I Apciones de Internet I Conexiones I Confi%uracin de #02 y activar la casilla JUsar un servidor proxy para la #02J. En la casilla J4ireccinJ pondremos la IP de nuestro Proxy y el JPuertoJ el puerto, tal y como se muestra en la si%uiente ventana"
C#IE23) que podr/amos traducir como" Inserte sus propias re%las para permitir acceso a sus clientes" 55=esumen de modificaciones en squid.conf P I2)E=3 .AU= A72 =U#E>)? CE=E 3A 0##A7 0CCE)) H=A< .AU= C#IE23) acl aulas:prohi$idas src M5etc5squid5aulas:prohi$idas.txtM http@access deny aulas:prohi$idas acl urls:prohi$idas dst M5etc5squid5urls:prohi$idas.txtM http@access deny urls:prohi$idas http@access allo& all 0s/, editando los archivos 5etc5squid5aulas:prohi$idas.txt y 5etc5squid5urls: prohi$idas.txt y recar%ando la confi%uracin de squid e!ecutando 5etc5init.d5squid reload, podemos reconfi%urar squid sin necesidad de tocar el archivo de confi%uracin squid.conf. El inconveniente es que cada vez que queremos permitir o dene%ar el acceso a Internet a un aula, tenemos que andar editando el archivo aulas:prohi$idas.txt lo que puede resultar un poco en%orroso. Podemos crear dos scripts de unix que ha%an el tra$a!o por nosotros y solamente ten%amos que e!ecutar los scripts indicando el n(mero de aula que queremos prohi$ir o permitir" 2om$re del script" prohi$ir:aula.sh P5$in5$ash P P )cript para prohi$ir la nave%acin de un aula P )e crear el ran%o del aula en 5etc5squid5aulas:prohi$idas.txt P Indicar el n(mero de aula al e!ecutar el script if Q RP :ne + SN then echo MEs necesario introducir el numero de aula a prohi$irM exit :+ fi echo Prohi$ir nave%ar aula R+, su$red +,.,.R+.,5'9 echo +,.,.R+.,5'9 II 5etc5squid5aulas:prohi$idas.txt 5etc5init.d5squid reload echo su$redes dene%adas" cat 5etc5squid5aulas:prohi$idas.txt 552om$re del script" permitir:aula.sh P5$in5$ash P P )cript para permitir la nave%acin de un aula P )e eliminar el ran%o del aula de 5etc5squid5aulas:prohi$idas.txt P Indicar el n(mero de aula al e!ecutar el script
if Q RP :ne + SN then echo MEs necesario introducir el numero de aulaM exit :+ fi su$redT+,.,.R+.,5'9 echo Permitir nave%ar aula R+, su$red Rsu$red patronTUecho 5+,.,.R+.,5dU cat 5etc5squid5aulas:prohi$idas.txt V sed :e Rpatron I 5tmp5temp.txt cat 5tmp5temp.txt I 5etc5squid5aulas:prohi$idas.txt 5etc5init.d5squid reload echo )u$redes dene%adas" cat 5etc5squid5aulas:prohi$idas.txt )i deseamos que el aula + no nave%ue, de$er/amos e!ecutar" prohi$ir:aula +. )i lue%o deseamos permitir que el aula + nave%ue, tendr/amos que e!ecutar" permitir:aula +. 0(n con los scripts prohi$ir:aula.sh y permitir:aula.sh, si%ue siendo en%orroso realizar cam$ios ya que el profesor tendr/a que iniciar sesin en el servidor por ssh y lanzar el script. #o me!or ser crear una p%ina en PCP con $otones de comando, donde con un simple clic podamos e!ecutar los scripts cmodamente desde el nave%ador.
0nlisis de conexiones
Una de las funcionalidades principales que nos ofrece squid es que re%istra todos los accesos a Internet. Cada vez que un PCs accede a Internet, squid re%istrar en el archivo 5var5lo%5squid5access.lo% la fecha y hora, el PC y la url a la que ha accedido. 550rchivo de re%istro de squid 5var5lo%5squid5access.lo%