Sie sind auf Seite 1von 40

Ministerio de Educacin de la Provincia de Crdoba Direccin de Sistemas

Manual Ilustrativo
Webmin - Squid Firewall Servidor DHCP Delay Pools

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Webmin y servidor de servicios


Este tutorial tiene como destinatario el grupo de administradores de red del programa Conectar

Igualdad en la provincia de Crdoba. Todo lo expuesto se ajusta al software y hardware que el programa propone. La versin de Squid utilizada es la 2.7. Se omiten explicaciones que no tengan
un fin prctico o una posible implementacin para este grupo.

Cmo se accede a esta herramienta?


Webmin es la herramienta que usamos para configurar nuestro servidor mediante una interfaz

web. Podemos acceder a dicha interfaz tanto desde un navegador en el servidor como desde un equipo remoto. En ambos casos debemos abrir el navegador y dirigirnos a la siguiente direccin
web:

https://servicios.miescuela.local:10000 https://172.16.0.1:10000
Nota 1: se puede evitar la resolucin de nombre escribiendo la direccin de red. Nota 2: note que se utiliza el protocolo HTTPS para una conexin segura.

Pgina de ingreso a Webmin - https://servicios.miescuela.local:10000/ Es importante destacar que si tenemos configurado en nuestro explorador web un proxy manual (vase en configuracin de proxy no transparente) debe agregarse a la lista de excepciones de uso por proxy el ip de nuestro servidor 172.16.0.1 para que se realice la conexin normalmente.

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Pgina Principal de Webmin - https://servicios.miescuela.local:10000/

Formas de hacer un Backup de la configuracin


Para hacer una copia de respaldo de la configuracin de Squid (o de cualquier servicio individual), nos dirigimos al apartado Webmin > Copia de Seguridad. Seleccionamos el modulo a respaldar en este caso Proxy Squid y seleccionamos el destino donde se va a guardar el archivo de respaldo. Una buena opcin es Descargar en navegador y descargar el archivo a nuestro puesto de trabajo (o netbook).

Webmin > Copia de Seguridad de Archivos de Configuracin 3 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Webmin > Copia de Seguridad de Archivos de Configuracin

Proxy Squid
La versin de Squid utilizada es la 2.7. Se omiten explicaciones que no tengan un fin prctico o una posible implementacin para este grupo.

Qu es squid?
Squid es un Servidor Intermediario (Proxy) que tiene incorporado un sistema de cach. Un proxy es una herramienta que acta de intermediario entre dos redes; en nuestro caso, entre Internet y nuestra red local.

Squid posee las siguientes caractersticas:


Squid proporciona un servicio de Proxy que soporta peticiones HTTP, HTTPS y FTP a equipos que necesitan acceder a Internet y a su vez provee la funcionalidad de cach especializado en el cual almacena de forma local las pginas consultadas recientemente por los usuarios. Squid puede ser configurado para ser usado como proxy transparente de manera que las conexiones son enrutadas dentro del proxy sin configuracin del lado del cliente, y habitualmente sin que el propio cliente conozca de su existencia. De modo predefinido Squid utiliza el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos disponibles a la vez.

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Ofrece la posibilidad de establecer reglas de control de acceso. Esto permite establecer polticas de acceso en forma centralizada, simplificando la administracin de una red. Squid est compuesto tambin por el programa dns server, que se encarga de la bsqueda de nombres de dominio. Cuando Squid se ejecuta, produce un nmero configurable de procesos dns server, y cada uno de ellos realiza su propia bsqueda en DNS. De este modo, se reduce la cantidad de tiempo que la cach debe esperar a estas bsquedas DNS. Squid no debe ser utilizado como Proxy para protocolos como SMTP, POP3, TELNET, SSH, IRC, etc.

Como acceder a Squid


El acceso a la interfaz web de Squid se hace desde la propia interfaz de Webmin, para acceder a esta puedes: 1. Si estas en el servidor pueden hacer clic sobre el icono de "Servicios" en el escritorio. Si estas desde un equipo porttil y conectado a la red del colegio, debes: Abrir un navegador y en la barra de direcciones escribir "servicios.miescuela.local:10000" (sin comillas). Das la orden de mostrar la pgina y el navegador debera lanzar una advertencia, a la que respondes que ests de acuerdo y decides continuar mostrando el contenido. Dirigite al apartado Servidores y finalmente a Squid Servidor Proxy.

2.

Servidores > Squid - Servidor Proxy

Configuracin de Squid

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Los archivos donde se encuentra toda la configuracin de Squid estn en la ruta /etc/squid En la raz de este directorio encontramos el archivo de texto plano configuracin de Squid.

squid.conf

que contiene la

Otros > Explorador de Archivos

Modos de trabajo
Proxy Transparente y Tradicional
Un proxy transparente combina un servidor proxy con NAT (Network Address Translation) de manera que las conexiones son enrutadas dentro del proxy sin configuracin por parte del cliente, y habitualmente sin que el propio cliente conozca de su existencia. Este es el tipo de proxy que utilizan los proveedores de servicios de Internet (ISP). En un proxy tradicional cada equipo debe ser configurado manualmente.

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Puertos y Trabajo en Red

Puertos de Trabajo (Redireccionamiento de puertos en Squid)


La redireccin de puertos juega un papel muy importante en nuestro servidor, pues de esta configuracin depender la transparencia de la conexin entre los clientes y el Squid. Notarn tambin que si se desactiva el redireccionamiento automtico de puertos, se borrar la lnea en el archivo <iptables.up.rules> correspondiente a la cadena PREROUTING de la tabla NAT. La lnea a considerar es la siguiente:

# Forward HTTP connections to Squid proxy -A PREROUTING -p tcp -m tcp -i eth0 --dport 80 -j REDIRECT --to-ports 3128
Esta propone cambiar toda la trayectoria de los paquetes con destino al puerto 80 hacia el puerto 3128 donde sern administrados por nuestro SQUID.

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Configuracin del Redireccionamiento de Puertos Teniendo en cuenta lo expuesto consideren que de no realizarse este redireccionamiento del trfico hacia squid, este no podra cumplir con su trabajo. No se administrara la cach, tampoco se filtraran URLs ni las dems restricciones que podramos aplicar usando nuestras ACLs. Directiva en el <squid.config> que fija el modo de trabajo y el puerto (o puertos) donde escucha las peticiones.

http_port 3128 transparent

Cach Web
Se llama cach web a la cach que almacena documentos web (es decir, pginas, imgenes, etctera) para reducir el ancho de banda consumido, la carga de los servidores y el retardo en la descarga. Un cach web almacena copias de los documentos que pasan por l, de forma que subsiguientes peticiones pueden ser respondidas por el propio cach, si se cumplen ciertas condiciones.

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Opciones de Cach

Antes de hacer el Backup del servidor borrar la cache. Para esto existe
una utilidad en Webmin en el apartado Servidor proxy Squid > Limpiar y reconstruir cache.

Directivas ms usadas para configurar la Cach


Desde el archivo <squid.config> la directiva que define la cantidad de memoria real dedicada para almacenar los datos ms solicitados, es la siguiente: cache_mem

8 MB

Servidores > Squid - Servidor Proxy > Uso de Memoria 9 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Otras directivas de configuracin general


Parmetros cache_swap, porcentaje de uso del archivo de intercambio del sistema operativo para la cach-

cache_swap_low 90 cache_swap_high 95
Tamao mximo para los objetos a almacenar en la cache.

maximum_object_size 10240 MB
Paginas que contengan ciertos caracteres no deben almacenarse en cache.

hierarchy_stoplist cgi-bin ? hotmail gmail yahoo escuela.factor.com.mx


Tamao que deseamos que tenga la cache en el disco

cache_dir aufs /var/spool/squid 700 16 256


# 700MB de cache con 16 directorios subordinados y 256 niveles cada uno Cada cuanto se actualiza el cache. # \.zip$ archivos del tipo ZIP # 0 tiempo mnimo para considerar un archivo como fresco expresado en minutos. # 50% de tiempo para considerar un archivo como fresco. # 1440 tiempo mximo para considerar un archivo como fresco expresado en minutos.

refresh_pattern \.zip$ 0 50% 1440


# ^ftp protocolo

refresh_pattern ^ftp: 0 50% 1440

Log de Eventos (Bitcora)


El registro de eventos como se imaginarn es de gran importancia, con el podremos analizar el trfico de Squid y es esta bitcora la que consultar el generador de informes. q lerdo q es Directiva que define donde se almacenaran los eventos del comportamiento de la cache de squid

cache_log /var/log/squid/cache.log
Directiva que indicar donde se guarda el log de registros

access_log /var/log/squid/access.log squid

10

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

servidores > Generador de Informes de Anlisis de Squid

servidores > Generador de Informes de Anlisis de Squid

11

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Generador de Informes de Anlisis de Squid > Lista de informes ya generados

Generador de Informes de Anlisis de Squid, vista de un informe.

Listas de Control de Acceso


Las reglas ACL son Listas de Control de Acceso y pueden ser de varios tipos. Su finalidad es definir conjuntos de elementos que ayudarn, ms adelante a definir las reglas de acceso. En nuestro tiempo como administradores nos ha sucedido, en ms de una oportunidad, que Squid deje de brindar servicio debido a una mala confeccin de las ACLs. En ocasiones la herramienta nos 12 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

muestra mensajes de error, aunque no siempre es tan amable. Es aqu donde se hace difcil nuestra tarea. Les dejamos algunos Tips, para prevenir problemas: Asegurarse de no repetir un objetivo. Por ejemplo, si tenemos dos ACLs definiendo un grupo de NIC (directiva ARP). Nunca repetir una MAC, ni en la misma ACL, ni en ACLs diferentes. Se produce un comportamiento anormal y el servicio puede detenerse. Si se define una lista de dominios, no listar el dominio principal y un subdominio del mismo dominio. Ejemplo, .google.com y mail.google.com. Estas dos definiciones no son compatibles entre s, o usamos una o la otra.

La sintaxis de las ACLs es la siguiente:

acl [nombre de la acl] [tipo] [parmetros] [definicin]


Tipos de ACL ms usados
Regla sobre Direccin IP de origen (source).
una sola direccin acl administrador src 192.168.1.0/24 ms de una direccin acl administrativos src 192.168.1.10 192.168.1.20 importar un archivo externo (tambin de texto plano) donde est la lista de direcciones acl 4B_turno_tarde src /etc/squid/4BTT.txt

Regla sobre Dominio de destino (destiny domain).


una sola direccin acl hotmail dstdomain .hotmail.com ms de una direccin acl correo dstdomain .hotmail.com .yahoo.com.ar .gmail.com

Regla sobre Expresin Regular de Dominio de Destino


(destiny domain regular expression)
El parmetro -i desactiva la opcin case sensitive acl facebook dstdom_regex -i facebook

Regla sobre Expresin Regular de URL


(Uniform Resource Locator regular expression)
Se usan para definir url segn palabras clave acl palabras_no_permitidas url_regex /etc/squid/url_prohibidas.txt 13 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Regla de Ruta de URL de Expresin Regular


Sirve para definir tipos de archivo para la descarga acl extensiones urlpath_regex /etc/squid/extensiones_prohibidas.txt

Regla tipo Tiempo (time)


Se usan las iniciales de los das en ingls, y el formato de hora de 00:00 a 24:00 acl horario time MTWHF 09:00-18:00

Regla sobre el protocolo de resolucin de direcciones (ARP)


Sirve para filtrar por direccin MAC (media access control) tambin conocida como ID de Hardware. Pueden usar el comando GETMAC para averiguarla desde el Prompt de Windows. acl administrador arp 09:00:2b:23:45:67

Restricciones Proxy
restricciones de acceso se apilan de tal manera que podemos ir combinando las listas de control de acceso. Las restricciones lo que hacen es decir: tomamos una lista (o sea una ALC) y todo lo que coincida (o no) con ella lo denegamos o lo permitimos. A su vez se arma una lista de restricciones. Squid lee la lista de restricciones de arriba hacia abajo aplicndolas. El orden es: primero permito y luego deniego.
Por otro lado, las

Regla Permitir (allow)


si coincide con la acl permite el acceso http_access allow administrador si NO coincide con la acl permite el acceso http_access allow !administrador

Regla Denegar (deny)


si coincide con la acl deniega el acceso http_access deny alumnos si NO coincide con la acl deniega el acceso http_access deny !administrador Nota: para ambas reglas se puede citar ms de una acl http_access deny !administrador alumnos http_access allow administrador !alumnos 14 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Opciones de la pgina de error


Cuando Squid debe mostrar un mensaje de error lo hace a travs de una pgina especial para cada tipo de error. Una de las primeras cosas que intentamos hacer en nuestros servidores fue cambiar el idioma es estos mensajes. La directiva que define en que carpeta se buscaran los archivos de dichas pginas web es la siguiente: error_directory /usr/share/squid/errors/Spanish

Otros > Explorador de Archivos: error_directory /usr/share/squid/errors/Spanish Los lectores atentos estarn pensando Y s me dirijo a este directorio, podre modificar el mensaje de error a mi gusto?. La respuesta es, s. Fue lo que hicimos. Les dejamos el cdigo de nuestros archivos para el mensaje de error de acceso denegado.

15

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

mensaje de acceso denegado personalizado

CDIGO HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>Acceso Denegado</TITLE> </HEAD> <BODY bgcolor="#E6E6FA"> <font size="6" color="red" face="verdana">Acceso Denegado <HR noshade size="1px"> <font size="2" color="black" face="verdana"> Mientras intentabas acceder a la siguiente URL: <A HREF="%U">%U</A><BR> Si es necesario el profe puede solicitar al Adminitrador de la Red habilitar la navegacin en Internet para tu curso.<BR><BR> <strong>Puedes navegar libremente en los siguientes sitios web:</strong><BR><BR> <A HREF="http://www.conectarigualdad.gob.ar">Conectar Igualdad</A><BR> <A HREF="http://www.exocampus.com">Exocampus</A><BR> <A HREF="http://www.educared.org">Educared</A><BR> <A HREF="http://www.anses.gob.ar">Anses</A><BR> <A HREF="http://www.miescuela.local">Miescuela.local</A><BR> <A HREF="http://www.englishexercises.org">English Exercises</A><BR> <A HREF="http://translate.google.com">Google Traductor</A><BR> <A HREF="http://www.wikipedia.org">Wikipedia</A><BR> <A HREF="http://www.rae.es">Real Academia Espaola</A><BR>

16

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

<A HREF="http://www.infoleg.gov.ar">Informacin Legislativa - Gobierno de la Nacin Argentina</A><BR> <A HREF="http://ipem90.blogspot.com">ipem90.blogspot.com - Blog del Colegio</A><BR><BR>

En los recreos puedes navegar en Internet, para buscar informacin o para divertirte.<BR> Pero recuerda que cuando toque el timbre debes apagar tu netbook y volver al aula ordenadamente.<BR><BR> <HR noshade size="1px"> <strong>Recuerda que debes registrar tu equipo para que se active la garanta. <A HREF="http://servicioswww.anses.gov.ar/conigreg/Pagina/menu_registracion.aspx">Registrar</A></strong> <BR><BR><BR><BR> <BR><BR><BR><BR> </BODY> </HTML>

Aqu otro ejemplo

17

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

CDIGO HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>IPEM N 168 "DIEGO DE ROJAS"</TITLE> <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE> </HEAD><BODY> <H1> <IMG SRC="http://i717.photobucket.com/albums/ww173/prestonjjrtr/Smileys%20Holidays/Halloween/eyes_light.gif"> ACCESO DENEGADO <IMG SRC= "http://i164.photobucket.com/albums/u31/SlappyThePenguin/star-wars-smiley-5472.gif"> </H1> <H2>El URL solicitado se encuentra bloqueado</H2> <HR noshade size="1px"> <P> Mientras se intentaba traer el URL: <A HREF="%U">%U</A> <P> Ha ocurrido el siguiente problema: <UL> <LI> <STRONG> Acceso Denegado. </STRONG> <P> Las reglas de control de acceso impiden que su petici&oacute;n sea permitida en este momento. Contacte con el Administrador de Redes si cree que esto es incorrecto.<BR> <BR> Tenga en cuenta que el acceso a REDES SOCIALES, tales como "Facebook", "Twitter" y "Google+", se encuentran restringidas para el uso solamente en horarios de recreo:<BR> <BR> <STRONG>Horarios de Redes Sociales:</STRONG><BR> <h4 ALIGN= "MIDDLE" > <LI>09:20-09:30 - 1 RECREO TURNO MAANA<BR> <LI>10:50-11:00 - 2 RECREO TURNO MAANA<BR> <LI>12:20-12:30 - 3 RECREO TURNO MAANA<BR> <LI>13:05-13:20 - HORARIO DE ALMUERZO<BR> <LI>14:40-14:50 - 1 RECREO TURNO TARDE<BR> <LI>16:10-16:20 - 2 RECREO TURNO TARDE<BR> <LI>17:40-17:50 - 3 RECREO TURNO TARDE<BR> </P> </h4>

18

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

</UL> <HR> <H4 ALIGN="MIDDLE"> <table> <tr> <td> <a href="mailto:NOESTANCIMPLICADODEBUSCAR@EUGENIO.COM"> <IMG SRC= "http://img155.imageshack.us/img155/1903/diegocolor.jpg"ALIGN= "MIDDLE " ALT= "IPEM N 168 'Diego de Rojas'" WIDTH=80 HEIGTH=100> </a> </td> <td> <a href="mailto:NoLesVoyADarMiMail@niapalo.com">Eugenio Regis</a> <BR> Administrador de Redes <BR> <a href="mailto:NOESTANCIMPLICADODEBUSCAR@EUGENIO.COM">IPEM N 168 "Diego de Rojas"</a> <BR> Villa General Belgrano - Calamuchita<BR> </td> <td> <a href="mailto:NoLesVoyADarMiMail@niapalo.com"> <IMG SRC= "http://img854.imageshack.us/img854/1706/cartoonizer3.jpg"ALIGN= "MIDDLE " ALT= "Kuque" WIDTH=110 HEIGTH=100> </a> </td> </tr> <tr> <td colspan="3" align= "MIDDLE"> <table border> <tr> <td><a href="http://feibu.com/"> <IMG SRC= "http://img408.imageshack.us/img408/2219/55771180.jpg"ALIGN= "MIDDLE " ALT= "FACEBOOK" WIDTH=80 HEIGTH=100> </a> </td> <td><a href="http://lawebdelpajarito.com/"> <IMG SRC= "http://img812.imageshack.us/img812/8650/12973713.jpg"ALIGN= "MIDDLE " ALT= "TWITTER" WIDTH=80 HEIGTH=100> </a> </td> <td><a href="http://guglemas.com/"> <IMG SRC= "http://img841.imageshack.us/img841/3484/92282004.png"ALIGN= "MIDDLE " ALT= "GOOGLE++" WIDTH=80 HEIGTH=100> </a> </td> </tr> </table> </td> </tr> </table> </H4> <HR>

Fuentes y Bibliografa ampliatoria


https://docs.google.com/viewer?url=http%3A%2F%2Fdoxfer.webmin.com%2Ftwiki%2Fpub%2FWebmin% 2FEs%2FSERVIDOR_PROXY_SQUID.doc http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-iptables-firewall-html/#1 http://administradores.educarex.es/wiki/index.php/Proxy_cach%C3%A9_y_filtrador_web:_squid http://bulma.net/body.phtml?nIdNoticia=2284 http://www2.linuxparatodos.net/web/comunidad/base-de-conocimiento//wiki/Base%20de%20Conocimiento/Servidor+Proxy http://www.visolve.com/squid/squid27/contents.php http://www.squid-cache.org/ 19 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Corta Fuegos de Linux


Un cortafuego (firewall en ingls) es una parte de un sistema o una red que est diseada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.

IPTables
Es una herramientas que se construye sobre netfilter, el framework de alteracin de paquetes de Linux 2.4.xy 2.6.x. Se trata de una modificacin importante de su predecesor, ipchains, y se utiliza para controlar el filtrado de paquetes, traduccin de direcciones de red y manipulacin de paquetes. La base de datos de netfilter puede ser alterada por la herramienta iptables. Cuando el equipo se reinicia estas tablas se vacan. Al cargarse el ncleo nuevamente una rutina, a cargo de iptables, vuelve a escribir las cadenas (o registros si se quiere) en las tablas. Esta es la estructura de la base de datos en cuestin.

Tabla Filter

Funcin Filtrado paquetes

Nombre de la Cadena de FORWARD

Funcin de la cadena Filtrar paquetes hacia otras NIC

INPUT

Filtrar paquetes que llegan al firewall

OUTPUT

Filtrar paquetes que parten del firewall

Nat

Traduccin de PREROUTING direcciones de red (Network Address Translation)

La traduccin de direcciones se produce antes del enrutamiento. Facilita la transformacin de la direccin IP de destino para que sea compatible con la tabla de enrutamiento del servidor de seguridad. Se utiliza con NAT de la direccin IP de destino, tambin conocida como NAT de destino o DNAT. La traduccin ocurre luego del enrutamiento. Esto se emplea cuando no fue necesario modificar la direccin IP de destino en el PREROUTING. Traduccin de direcciones de red para los paquetes generados por el firewall. Modificacin del bit quality of service del paquete TCP, antes del enrutamiento.

POSTROUTING

OUTPUT

Mangle

PREROUTING POSTROUTING OUTPUT INPUT FORWARD

20

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

En nuestra experiencia como administradores de red creemos que el filtrado de paquetes es de gran importancia no solo para la seguridad del sistema, sino para posibilitar una conexin a Internet de calidad. Para lograr la funcionalidad deseada repasaremos como cerrar y abrir puertos, descartar y permitir el trfico de paquetes IP. Manos a la obra...

Cul es la ruta de un paquete al atravesar la lgica de iptables?

21

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

22

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

De este algoritmo, solo nos interesa lo que suceda en la tabla Filter, el paso de un paquete por esta tabla se describe en el siguiente diagrama.

Un paquete entra y es analizado. Si su destino es el propio servidor (o host local), se analizan las reglas INPUT. Si el paquete no es descartado llega al proceso local de destino, es analizado y enviado para ser escrutiniado por las reglas OUTPUT. En el caso de que el destino del paquete fuera otro host solo se analizan las reglas FORWARD.

Acceso al archivo de configuracin a interfaz web.


Si bien Webmin propone una interfaz de configuracin para el firewall de Linux, creemos que es ms simple y fcil de entender si trabajamos directamente sobre el archivo de configuracin. Desde la interfaz el Webmin en la seccin OTROS, accedemos al Explorador de archivos (notar el uso de Java). Navegamos a hasta el siguiente archivo. /etc/iptables.up.rules

23

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Como experiencia personal, les proponemos dos formas de trabajar. Una descargar este archivo y trabajarlo desde otra aplicacin y luego de terminada la edicin, subirla al servidor con la seccin de Cargas y Descargas. Y la otra forma seria usando directamente la herramienta Editar del aplet java.

Propuestas de configuracin
En este ltimo apartado recorreremos dos configuraciones analizando la sintaxis y explicando que se pretendi hacer con cada lnea. El primer ejemplo de archivo iptables.up.rules # inicio de la lista de reglas de la cadena MAGLE *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # fin de la lista de reglas de la tabla MAGLE # Estas definiciones estn intactas, tal cual como vienen tras la instalacin del SO. # Noten que la poltica por defecto de cada una de las cadenas es Aceptar el paquete que no coincida con ninguna de las reglas. *filter :FORWARD ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # Descarto SSH que no sea de 172.16.0.10 24 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

-A INPUT -p tcp -m tcp ! -s 172.16.0.10 --dport 22 -j DROP #poltica permitir cierto trfico #Teniendo en cuenta nuestra poltica restrictiva de puertos y a los fines de administrar mejor nuestros clientes, sabiendo que no todos tienen los mismos privilegios, al principio de la tabla de filtros sealaremos las siguientes lneas. #Permitir conexiones desde una ip determinada para todos los puertos -A FORWARD -p tcp -s 172.16.8.84 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT -A FORWARD -p udp -s 172.16.8.84 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT -A FORWARD -p tcp -s 172.16.8.85 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT -A FORWARD -p udp -s 172.16.8.85 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT -A FORWARD -p tcp -s 172.16.8.87 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT -A FORWARD -p udp -s 172.16.8.87 -i eth0 -o eth1 --dport 1:65535 -j ACCEPT #Denegar Facebook por https -A FORWARD -p tcp -d 69.171.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP -A FORWARD -p udp -d 69.171.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP -A FORWARD -p tcp -d 66.220.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP -A FORWARD -p udp -d 66.220.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP -A FORWARD -p tcp -d 69.63.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP -A FORWARD -p udp -d 69.63.0.0/16 -i eth0 -o eth1 --dport 443 -j DROP #Poltica de Puertos -A FORWARD -p tcp --dport 0:52 -i eth0 -o eth1 -j DROP -A FORWARD -p udp --dport 0:52 -i eth0 -o eth1 -j DROP -A FORWARD -p tcp --dport 53 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p udp --dport 53 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p tcp --dport 54:79 -i eth0 -o eth1 -j DROP -A FORWARD -p udp --dport 54:79 -i eth0 -o eth1 -j DROP -A FORWARD -p tcp --dport 80 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p udp --dport 80 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p tcp --dport 81:442 -i eth0 -o eth1 -j DROP -A FORWARD -p udp --dport 81:442 -i eth0 -o eth1 -j DROP -A FORWARD -p tcp --dport 443 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p udp --dport 443 -i eth0 -o eth1 -j ACCEPT -A FORWARD -p tcp --dport 444:65535 -i eth0 -o eth1 -j DROP -A FORWARD -p udp --dport 444:65535 -i eth0 -o eth1 -j DROP # Otra poltica de puertos (recomendado por Marco Antonio de Hoyos) # vale destacar que no en todas las versiones del ncleo estas lneas son salidas. Son necesarias ciertas extensiones. -A FORWARD -p tcp -m multiport ! -d 172.16.0.2 -i eth0 -o eth1 -j REJECT --reject-with icmp-portunreachable ! --dports 80,53,443 -A FORWARD -p udp -m multiport ! -d 172.16.0.2 -i eth0 -o eth1 -j REJECT --reject-with icmp-portunreachable ! --dports 80,53,443 -A FORWARD -p tcp -m multiport ! -d serv0007.exocampus.net -i eth0 -o eth1 -j REJECT --reject-with icmpport-unreachable ! --dports 80,53,443 -A FORWARD -p udp -m multiport ! -d serv0007.exocampus.net -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable ! --dports 80,53,443 25 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

COMMIT *nat :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o eth1 -j MASQUERADE # redirecciona conexiones HTTP al Proxy Squid -A PREROUTING -p tcp -m tcp -i eth0 --dport 80 -j REDIRECT --to-ports 3128 COMMIT

Bibliografa
http://www.netfilter.org/documentation/index.html

26

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores DHCP
El protocolo de configuracin dinmica de host (DHCP, Dynamic Host Configuration Protocol) es un estndar IP diseado para simplificar la administracin de la configuracin de red de los hosts en una red. Se implementa el uso de servidores para administrar la asignacin dinmica de configuraciones. Las direcciones IP o tambin llamadas direcciones de Red, en rigor, se asignan a cada interfaz en cada nodo de la red y debe ser nica. La direccin IP identifica al equipo host y la mscara de subred la subred a la que pertenece. DHCP permite asignar dinmicamente una direccin IP a un cliente a partir de la base de datos de direcciones IP del servidor DHCP de la red local. En las redes TCP/IP, DHCP reduce la complejidad y cantidad de trabajo administrativo para volver a configurar los equipos.

Servidor DHCP de nuestros servidores escolares


En nuestro servidor escolar, el servidor DHCP est configurado para brindar direcciones IP dinmicamente en el rango 172.16.1.1 > 172.16.9.254, lo que nos facilita enormemente la tarea al no tener que asignar manualmente cada equipo. Sin embargo, hay situaciones en las que debemos controlar este proceso con mayor precisin. Es de utilidad decirle al servidor DHCP que asigne a cierta interfaz siempre la misma direccin IP, as por ejemplo podremos diferenciarlo unvocamente con esta direccin en un filtrado de paquetes (Firewall). Cada interfaz de red cuenta con una direccin fsica, tambin llamada direccin MAC (Media Access Control - Control de Acceso al Medio). En el servidor de seguridad (TDServer) es llamada ID de Hardware. Este identificador es el que se usa para poder asignar siempre la misma direccin IP a la misma interfaz. De vuelta en nuestro servidor... tenemos la posibilidad de acceder a las configuraciones de este servicio desde la interfaz web de Webmin o editando un archivo de configuraciones, que en este caso se llama

/etc/dhcp3/dhcpd.conf.

En esta oportunidad no profundizaremos al explicar la sintaxis del archivo de configuracin, solo mostraremos como asignar configuraciones estticas a equipos de nuestra red desde la interfaz Web de Webmin. Nos dirigimos dentro del apartado Servidores al enlace correspondiente al Servidor DHCP.

27

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Servidor DHCP En la seccin de Mquinas y Grupos de Mquinas, hacemos clic en el enlace Aadir una nueva mquina

Servidores > Servidor DHCP > Aadir una nueva maquina

28

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

En donde especificaremos el nombre que le daremos al nuevo equipo, en el ejemplo EugenioNB, cuya direccin de hardware escribimos separando de a pares con el signo : (dos puntos). Siguiendo con la idea original si abrimos nuestro archivo de configuracin <dhcpd.conf> encontraremos lo explicado en la siguiente seccin: #Red Local - donde asignaremos el rango de las ips que tomaran cada uno de los hosts de nuestra red

subnet 172.16.0.0 netmask 255.255.0.0 { option domain-name-servers 172.16.0.1; option domain-name "miescuela.local"; option routers 172.16.0.1; pool { range 172.16.1.1 172.16.9.254; } }
# y aqu agregaremos uno a uno los hosts que decidiremos tengan ip esttica. # este es otro ejemplo.

host EugenioCel { hardware ethernet ac:81:f3:1f:a6:b8; fixed-address 172.16.8.84; }

29

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

DELAY POOLS
Los Delays Pools son la alternativa que ofrece Squid para el control del ancho de banda (rate limiting y traffic shaping); son una de las herramientas ms importantes que propone Squid. A pesar de ello, estn poco documentadas y con frecuencia son mal empleadas. El beneficio de estos radica en que controlan el ancho de banda, sin causar penalidades (retardo o delay) sobre los objetos trados desde la cach. En lenguaje tcnico de Proxy, un CACH MISS es cuando el objeto buscado NO se encuentra en la memoria cache y debe ser descargado desde un servidor remoto en Internet, y es aqu donde actual los pooles de retardo. Contrario a lo anterior, un CACH HIT ocurre cuando el objeto buscado SI es encontrado en esta memoria intermedia.

CLASES DE DELAY POOLS


CLASE 1 El Delay Pool clase 1 define una nica estructura de control (en nuestra abstraccin un solo tanque). Este limita el uso del canal de manera global sin importar cmo lo usan los clientes internamente o cmo est definida lgicamente la LAN. En el ingls tcnico se habla de la definicin de un nico aggregate bucket. Esta es la opcin indicada si usted desea limitar el ancho de banda que usa Squid, sin importar cmo lo emplean los usuarios. Este tipo permite decir "hay un ancho de banda disponible de 1 Mbps de trfico desde Internet, para compartir entre todos los usuarios y si alguno se pone a mirar vdeos, no navegamos los dems" Ejemplo: delay_parameters 1 131072/131072

Internet | | | |~~~~~~| | | | Pool | / / \ / / \ / / \ Hosts

\ \ \

CLASE 2 Este es un Delay clase 1 con como mximo 256 Delay Pools clase 2 subordinados al primero. En ingls tcnico un aggregate bucket y 256 individual buckets. En nuestra abstraccin un tanque principal y 256 tanques secundarios alimentados por el tanque principal. Con este Delay es posible controlar el canal que usan 256 clientes. El tipo 2 permite definir un ancho de banda global y un lmite por cada usuario. Este tipo te permite decir "hay un ancho de banda disponible de 1 Mbps de trfico desde Internet pero cada usuario no puede usar ms de 64 kbps". Ejemplo: delay_parameters 1 131072/131072 8192/8192 30 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Internet | | | |~~~~~~| | | | Pool | / / \ \ / / \ \ / / \ \ | | | | | | | | |~~~~~~| |~~~~~~| |~~~~~~| |~~~~~~| | | | | | | | | | Pool | | Pool | | Pool | | Pool |

Hosts

CLASE 3 Este es un Delay Pool clase 1 con 256 Delay Pools clase 2 y 65536 Delay Pools de clase 3 subordinados a este. En ingles tcnico un aggregate bucket, 256 network buckets, y 65536 individual buckets. Est orientado para manejar la asignacin de ancho de banda en redes clase B. El tipo 3 te permite definir un ancho de banda global, un lmite por cada subred, y un lmite por cada usuario. Este tipo te permite decir "hay un ancho de banda disponible de 1 Mbps de trfico de internet, pero cada subred no puede usar ms de 128kbps, y cada usuario individual no puede usar ms de 64kbps". Ejemplo: delay_parameters 1 131072/131072 16384/16384 8192/8192

Sintaxis
Convencin para expresar las propiedades de las Delay Pools en el archivo de configuracin <squid.conf> Primero definimos la cantidad de Pooles a utilizar delay_pools la cantidad de Delay Pools a usar.

N, donde N es > 0 y representa

31

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Ejemplo: delay_pools 3

Definicin de la clase de cada pool


La clase del Delay Pool se especifica con la directiva delay_class, la siguiente es su sintaxis genrica.

delay_class N C
donde N es > 0 y representa el identificador y C representa la clase (puede ser 1, 2 o 3)

Ejemplos:

# el Delay Pool nmero 1 ser clase 3 delay_class 1 3 # el Delay Pool nmero 2 ser clase 1 delay_class 2 1 # el Dalay Pool nmero 3 ser clase 2 delay_class 3 2

Directiva delay_access
Permite relacionar un pool con una ACL especfica y as asignar su uso a una determinada condicin. Es similar a las reglas de acceso de Squid, y de la misma forma es necesario definir previamente las ACls y los Pooles para luego definir si se permite o se deniega el acceso.

delay_access id allow acl name | deny acl name


Ejemplos: # se permite el acceso al pool 1 a todos los equipos que estn definidor por la acl <localnet>

Delay_access 1 allow localnet

Parmetros de los Pooles de Retardo


Los parmetros de cada Delay Pool se definen por medio de la directiva delay_parameters, cuya sintaxis es la siguiente.

delay_parameters id rate/size [ rate/size [rate/size]]


Los valores de rate y size son dados en Bytes. Por ende no olvide hacer la conversin respectiva de Kbits (valor en que se mide la velocidad de proveedores de Internet) a Bytes.

Ejemplo:

delay_parameters 1 131072/232144
32 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Un Delay clase 1. Se usan mximo 1Mb/s de ancho de banda con rfagas de descarga de 2Mb. Solo se limita el ancho de banda que usa en total sin importar cmo se distribuye el canal entre los clientes, lo cual da la posibilidad a condiciones de competencia por el ancho de banda en todo momento. Ejemplo:

delay_parameters 1 131072/464288 16384/131072


Un Delay clase 2. Define que se usarn mximo 1Mb/s para navegacin con rfagas de 4Mb para una asignacin del canal al mximo, 256 clientes de 128Kb/s con rfagas de descarga de 512Kb (esto es, pueden descargar 512Kb a todo lo que de el canal si tienen el individual bucket lleno). Este montaje es para una organizacin cuyos usuarios demandan una gran cantidad de canal. Aqu el peor caso se presenta cuando hay 8 clientes demandando todo el canal asignado de forma continua. Ejemplo:

delay_parameters 1 131072/232144 16384/65536 8192/12800


Un Delay clase 3 con 1 Mb/s (131072B/s) en total para navegacin, con un tamao para rfagas (burst) globales de 2Mb (232144Bytes). Para cada subred se asigna un canal mximo de 128Kb/s con un tamao para rfagas de 512Kb (65536Bytes) con un ancho de banda para cada host de 64Kb/s (8192B/s) con la posibilidad de rfagas de descargas de 100Kb (12800Bytes). Note que los valores para cada subred y host exceden los lmites de canal disponible si hay ms de 4 clientes. En este caso se produce una condicin de competencia y el primero que solicita el canal es el que lo obtiene. En los Delay Pools clase 2 y clase 3 es posible deshabilitar los buckets que no se desea utilizar colocando -1/-1 en el bucket correspondiente. # asigno el canal a hosts en una red sin lmite global

delay_parameters 1 -1/-1 10000/200000

Pooles de Retardo desde WEBMIN


Desde la interfaz principal del mdulo Squid, accedemos a Pools de Retardo

33

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy Utilizamos el link, Agregar un nuevo pool de retardo

Servidores > Squid - Servidor Proxy > Pools de retardo

Completamos el formulario con los datos que damos a continuacin.

34

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Pools de retardo > Agregar Pool de Retardo clase de pool: "1 -Agregar" lmite agregado (para clases 1, 2 y 3) : 56kb /segundo, 100 kb mx. Lmite individual (para las clases 2 y 3): Ilimitado Lmite de red (para clase 3): Ilimitado NOTA: DEBIDO A QUE EL WEBMIN HACE UNA MALA CONVERSIN DE LAS UNIDADES DE MEDIDA RECOMENDAMOS PRIMERO HACERLAS MANUALMENTE Y EXPRESARLAS DIRECTAMENTE EN BYTES.

35

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Pools de retardo > Agregar Pool de Retardo

Servidores > Squid - Servidor Proxy > Pools de retardo > Agregar Pool de Retardo Finalmente hacemos clic en crear....

Servidores > Squid - Servidor Proxy > Pools de retardo > Agregar Pool de Retardo Esta es la pgina resultante, pero no es todo...

36

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Pools de retardo An no hemos terminado, debemos asignar las reglas de acceso. Hacemos clic en agregar una ACL nueva para este pool

Servidores > Squid - Servidor Proxy > Pools de retardo > 1

37

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Agreguen una de "permitir" a "localnet", luego Salvar

Servidores > Squid - Servidor Proxy > Pools de retardo Salvan nuevamente

38

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Servidores > Squid - Servidor Proxy > Pools de retardo y con eso tenemos terminado nuestro primer Delay Pool, el que le dar acceso a internet a cada uno de los host en nuestra red a una velocidad de 56 kbits/s. Aunque podemos tambin declarar esto u otra configuracin en la ubicacin /etc dentro del archivo <squid.conf> Como dijimos al principio primero declararemos la cantidad de Pools (haremos otro ejemplo que se ajusta a nuestros casos con conexiones de entre 1mbits/s y 1.5 mbits/s dados por nuestro ISP) # declararemos 2 Pools - uno para casos con privilegios y el otro general con restricciones de velocidad delay_pools 2 # declaramos quien tiene acceso y quien NO a cada uno de nuestros pools delay_access 1 allow mi_cel mi_NB Veronelli-NB mi_PC delay_access 1 deny !mi_cel !mi_NB !Veronelli-NB !mi_PC delay_access 2 allow localnet delay_access 2 deny !localnet # ahora decimos de que clase sern - cabe destacar que al menos uno tendr acceso sin restriccin as que como ser ilimitado deber ser de clase 1 delay_class 1 1 delay_class 2 2 # y ajustamos los parmetros con las velocidades y los tamaos que mejor se ajusten a nuestra configuracin # el primer delay estar ilimitado simbolizado con los -1/-1 39 Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

# y en el segundo delay declaramos que la velocidad de descarga de nuestra red es de 1mbits/s (131072) pero con un limite de 2 megabytes (2097152) de descarga y a su vez cada host de nuestra red tendr un lmite de velocidad 96 kbits/s (12288) limitados cada 100 kilobytes (102400) de datos descargados. delay_parameters 1 -1/-1 delay_parameters 2 131072/2097152 12288/102400

40

Ministerio de Educacin - Direccin de Sistemas| Marcelo Ponce Eugenio Regis

Das könnte Ihnen auch gefallen