Sei sulla pagina 1di 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

Funcin

Filter

Filtrado
paquetes

Nat

Nombre de la Cadena
de FORWARD

20

Filtrar paquetes hacia otras NIC

INPUT

Filtrar paquetes que llegan al firewall

OUTPUT

Filtrar paquetes que parten del firewall

Traduccin de PREROUTING
direcciones de
red
(Network
Address
Translation)

Mangle

Funcin de la cadena

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.

POSTROUTING

La traduccin ocurre luego del enrutamiento.


Esto se emplea cuando no fue necesario
modificar la direccin IP de destino en el
PREROUTING.

OUTPUT

Traduccin de direcciones de red para los


paquetes generados por el firewall.

PREROUTING
POSTROUTING
OUTPUT
INPUT
FORWARD

Modificacin del bit quality of service del


paquete TCP, antes del enrutamiento.

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.

31

N, donde N es > 0 y representa

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

Potrebbero piacerti anche