Servidores Varios Linux
Servidores Varios Linux
Servidores Varios Linux
Con el paso del tiempo los avances tecnolgicos van en pro de la facilitacin del
vivir diario de los humanos. Cada vez ms las tareas ejecutadas por las personas son
sustituidas por sistemas o redes automatizadas que las realizan de la manera ms eficiente y
rpida posible. En el mbito empresarial generalmente se recurre al la instalacin de redes o
sistemas automatizados para as lograr que sus proyectos alcancen los objetivos planeados
de una forma profesional y exitosa. Estas redes deben cumplir con una serie de
caractersticas fsicas y lgicas adaptadas a los requerimientos de un usuario en especifico.
Actualmente las redes implementadas estn sufriendo una serie de cambios, orientados a al
masificacin de su uso y a la mejora de su disponibilidad. Es por esta razn que muchas de
las redes que se usan comnmente son replanteadas buscando cumplir los objetivos
mencionados con anterioridad. Por una parte la configuracin fsica de las redes limita en
cierto grado el uso comn de las mismas, por lo que dispositivos inalmbricos, son
colocados en funcionamiento mucho ms a menudo. Estos dispositivos inalmbricos abren
un abanico de opciones para las disposiciones fsicas de las redes.
En las empresas cada vez es ms comn ver el uso de redes inalmbricas ya que
facilitan el acceso, en gran medida, a los recursos de los cuales esta dispone. Uno de los
recursos ms importantes, implementados y sobresalientes de las redes inalmbricas, es el
de los puntos de acceso inalmbricos a la red de internet. Muchos de estos son brindados a
los usuarios de forma abierta o por pago dependiendo de la demanda que caiga sobre este.
Tomando estas premisas en cuenta, el proyecto que se plantea a continuacin ofrece una
solucin rpida para la implementacin de un punto de acceso inalmbrico a la red de
Internet implementando herramientas de uso libre. Fundamentalmente se trabaj en el
diseo y montaje de los componentes bsicos que requiere tal sistema. En seguida se
presentar un esquema de ejecucin para el desarrollo de este proyecto que divide el mismo
en varios captulos:
Capitulo I: aqu se plantea claramente los objetivos, causas y fines del proyecto a
1
desarrollar.
Capitulo IV: contiene los componentes esenciales para el montaje del punto de
acceso inalmbrico.
CAPITULO I:
Planificacin y Objetivos
1.1 Planteamiento del Problema
1.2 Objetivo General
1.3 Objetivo Especifico
1.4 Justificacin
1.5 Alcance del Proyecto
1.6 Limitaciones
CAPITULO I
Planificacin y Objetivos
1.1 Planteamiento del problema
La empresa Corvus Latinoamrica es una entidad orientada al desarrollo y soporte
de productos informticos utilizando software de cdigo abierto y libre, razn por la cual
decidi abrir un proyecto para el desarrollo de un nuevo producto que consiste en un
servicio de acceso a Internet de forma inalmbrica, que provea seguridad, estabilidad y
rapidez para el manejo de los datos, tomando en cuenta que para acceder al servicio se
podra pagar una cuota establecida.
1.2 Objetivo general
Creacin un servicio para proveer acceso inalmbrico a internet, que permita la
conexin de forma segura, transparente y rpida de clientes que se encuentren dentro del
rea de transmisin, utilizando la tarjeta D-LINK DWL-500 configurada bajo la plataforma
GNU/LINUX.
1.3 Objetivo especfico
Unin de todos los servidores para el armado del punto de acceso inalmbrico
1.4 Justificacin
Cada vez las redes de acceso inalmbrico son ms usadas en cualquier sitio donde
exista gran concurrencia de gente que necesite por cualquier causa una conexin a internet.
La ventaja del uso de este tipo de redes es que se puede acceder a ellas sin la necesidad de
conexin cableada, debido a que los puntos de conexin no tienen un lugar fijo y en vez de
esto el servidor central proveedor del la conexin transmite su seal dentro de un radio en
especfico permitiendo a los clientes acceder desde cualquier lugar, siempre y cuando
cuenten con un dispositivo que permita establecer tal enlace. Muchos computadores
porttiles y equipos de telefona mvil actualmente estn dotados con elementos que
permiten la conexin a estas redes inalmbricas ampliando as la cantidad de posibles
usuarios.
Una de las premisas para el desarrollo de este proyecto, fue usar herramientas de
software libre, las cuales adems de ser seguras y robustas, por su naturaleza son flexiblesy
permiten adaptarlas fcilmente a diversas necesidades. Adems no requieren licencias.
1.5 Alcance del proyecto
El desarrollo de este proyecto le permitir a la empresa seguir mejorando todos sus
sistemas y tambin agregar un nuevo producto a su lista de servicios. En este informe slo
se reflejar el montaje e integracin de los servicios bsicos en el servidor central que
permitir la conexin a Internet de forma confiable, rpida y estable de los usuarios a
travs de nuestro punto de acceso inalmbrico. Los elementos que podran ser usados para
el control de pagos por parte de los usuarios, se realizan a base de programacin pura por lo
que esta parte se escapa del alcance del proyecto.
1.6 Limitaciones del proyecto
Las limitaciones que se encontraron durante el despliegue del proyecto fueron las
siguientes:
5
No haban los equipos suficientes como para realizar pruebas a gran escala.
El enlace que se usara para la conexin del punto de acceso no era el que
provena directamente del ISP (Proveedor de Servicio de Internet), sino el
que se obtena de una red privada razn por la cual no se pudo usar el
ancho de banda completo para realizar pruebas de consumo.
CAPITULO II:
Marco Terico
2.1 Direccin Ip
2.2 Protocolo TCP
2.3 Protocolo UDP
2.4 Protocolo ICMP
2.5 Redes Inalmbricas
2.6 Servidor DHCP
2.7 Servidor DNS
2.8 BIND-DNS
2.9 Servidor Proxy
2.10 Squid
2.11 Cortafuegos Firewall
2.12 Iptables
2.13 Software de uso libre
2.14 Apache
2.15 Tarjeta de red inalmbrica
CAPITULO II
Marco Terico
En este captulo se presentar la teora bsica y necesaria para la comprensin de
las diferentes acciones hechas durante el desarrollo del proyecto. Dada mi formacin
acadmica en la cual adquir pocos conocimientos acerca de las redes informticas, tuve
que aprender y estudiar diversos trminos, definiciones, protocolos y sistemas que se usan
constantemente en estas redes. Direccionamiento ip, protocolo tcp, clases de redes,
servidores, software libre y otros temas relacionado a las redes, son mencionados a
continuacin. Casi toda la informacin aqu propuesta se puede conseguir en la web en
sitios como: es.wikipedia.org, monografias.com, bulma.net, ecualug.org, ubuntu-es.org y
otros como los de universidades de otros pases (ver referencias bibliogrficas para ms
informacin). En resumen, este captulo servir de gua terica para comprender casi toda
la parte prctica realizada a lo largo del proyecto.
2.1 Direccin IP
En trminos simples la direccin IP (Protocolo de Internet), es la cdula de
identidad que posee cada dispositivo dentro de una red determinada. Cuando creamos una
red, los dispositivos conectados a ella deben poseer una identificacin nica que permita
ubicarlos de forma rpida y sencilla. El protocolo de Internet es el sistema de identificacin
lgica y jerrquica, que se ha estandarizado para dar direcciones a los dispositivos dentro
de una red. Esta direccin que se le da a los dispositivos de una red, generalmente se hace
por medio de un servidor DHCP (Protocolo de Configuracin Dinmica de Servidor), quien
le otorga de forma automtica todos los parmetros de identificacin que requiere la
estacin. Otra opcin es configurando todos estos parmetros de forma manual en cada
equipo de la red. Los parmetros de identificacin son establecidos de acuerdo a los
lineamientos que especifica cada versin del protocolo de internet. Existen dos versiones
actualmente utilizadas: la Ipv4 que es la utilizada comnmente, y la IPv6 que se est
empezando a implementar debido a las limitaciones de la IPv4.
8
2.1.1 IPv4
Esta versin del protocolo especifica un nmero de 32 bits para toda la direccin
total, divididas en 4 campos de un octeto. Generalmente es expresada de forma decimal con
cifras que llegan hasta 255, por cada campo de la direccin:
B3.B2.B1.B0
donde los campos B3,2,1,0= n E [0..255]
Ejemplo de una direccin ip: 192.2.3.78
Partiendo de este enunciado poseemos la cantidad de 4.294.967.296 direcciones
distintas, de las cuales la ultima cifra 255.255.255.255, est reservada para la difusin hacia
todas las mquinas cuando es requerida una identificacin IP, las direcciones 127.x.x.x
estn reservada para las llamadas internas del equipo, es decir locales; y la 0.0.0.0 es la
direccin al encender el dispositivo. Con esto se establece una clasificacin para las redes
segn sus direcciones IP (Partes de este prrafo extradas de las clases de Prof. Ricardo
Strusberg).
2.1.2 Clases de Redes
Segn la web: http://es.wikipedia.org/wiki/Direccin_IP, en la IPv4 las redes van
clasificadas de la siguiente manera:
Clase A: En una red de clase A, se asigna el primer octeto para identificar la red,
reservando los tres ltimos octetos (24 bits) para que sean asignados a los hosts, de
modo que la cantidad mxima de hosts es 224- 2 (las direcciones reservadas de
broadcast [ltimos octetos a 255] y de red [ltimos octetos a 0]), es decir,
16.777.214 hosts. El nmero posible de redes slo es hasta 126, y tiene un rango
desde la direccin 1.0.0.0 hasta la 127.255.255.255. La mscara de red que
corresponde con esta clase es 255.0.0.0.
9
Clase B: En una red de clase B, se asignan los dos primeros octetos para identificar
la red, reservando los dos octetos finales (16 bits) para que sean asignados a los
hosts, de modo que la cantidad mxima de hosts es 216- 2, o 65.534 hosts. El
nmero posible de redes es de 16.384 y tiene un rango de direcciones que va desde
128.0.0.0 hasta 191.255.255.255. La mscara de red que corresponde con esta clase
es la 255.255.0.0.
Clase C: En una red de clase C, se asignan los tres primeros octetos para identificar
la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo
que la cantidad mxima de hosts es 28- 2, o 254 hosts. El nmero posible de redes
es de 2.097.152 y tiene un rango que va desde 192.0.0.0 hasta 223.255.255.255. La
mscara de red correspondiente a esta clase es de 255.255.255.0.
Existen dentro de estas clases de redes ciertos rangos que son reservados para el
uso privado. Estas redes privadas tambin pueden identificarse segn su clase. Las red
privada de clase A va desde 10.0.0.0 hasta 10.255.255.255, con una mscara
correspondiente a 255.0.0.0. La red privada de clase B va desde 172.16.0.0 hasta
172.31.255.255, con una mscara de red de 255.255.0.0. La red privada de clase C va desde
192.168.0.0 hasta 192.168.255.255, con una mscara de red de 255.255.255.0.
2.1.3 Mscara de subred
La mscara de subred permite identificar en una direccin ip, cul es el nmero
que corresponde con la red solicitada. Esto se hace mediante una funcin lgica AND que
se lleva a cabo en cada interfaz de red, entre la mscara de red y su direccin ip. El
siguiente ejemplo fue tomado de una de las clases de Prof. Ricardo Strusberg, y explica
claramente el proceso por el cual se obtiene la mscara de subred:
IP: 10.0.0.5; mscara de red: 255.0.0.0; mscara de subred: ?
se realiza una AND entre la direccin IP y la mscara,
10.0.0.5 AND 255.0.0.0 = 10.0.0.0
10
mscara de subred
Aqu vemos como la mscara nos especifica cul es la red a la que pertenece la
direccin 10.0.0.5 que es la 10.0.0.0.
2.2 Protocolo TCP
El TCP Transmisin Control Protocol (Protocolo de Control de Transmisin), es
un sistema orientado al establecimiento de conexiones seguras entre dos estaciones,
actuando en la capa de transporte y conectndolo con la capa de aplicacin. Este protocolo
garantiza que cualquier conexin nueva hacia una estacin con un servicio determinado,
llegue a su destino por medio de la identificacin de los paquetes con una serie de
segmentos que contienen informacin pertinente para la orientacin de la data. En TCP ,
para realizar una conexin se identifican todos los servicios disponibles por medio de un
nmero de puerto. El nmero de puertos disponibles es de 216 = 65356, lo suficiente como
para sostener bastantes servicios individuales, y adems, no es necesario tener ms puertos
porque una aplicacin no est atada a un puerto determinado, mas bien, la aplicacin como
tal al momento de ser diseada y creada, puede elegir cualquier puerto para el
establecimiento de una conexin; claro est que la IANA Internet Assigned Numbers
Authority (Autoridad que Asigna Nmeros en Internet), ya asign puertos para distintos
servicios bsicos y comunes, y estos no pueden ser usados por una aplicacin nueva
porque creara conflictos de comunicacin. Adems de esto el protocolo TCP se encarga de
corregir errores de transmisin por medio del uso de segmentos que facilitan el seguimiento
tanto de los datos, como del enlace hecho. Las caractersticas ms resaltantes de este
protocolo son las siguientes:
Multiplexacin
Conexin full-duplex
11
Reservado
4 bits
Ventana 16 bits
Check-Sum 16 bits
Puntero de urgencia
DATOS 64 bits
Numero de secuencia: indica en que orden vendrn los paquetes y adems sirve de
monitor por si algn paquete se perdi en el camino. Un flag (bandera) de
sincronismo indica el nmero de comienzo de la secuencia; si el SYN=1 entonces el
12
Nmero de acuse de recibo ACK: ste, seala el nmero de secuencia del ltimo
byte de datos que se espera.
Longitud de la cabecera TCP: indica que cantidad de bytes existe entre la cabecera
de la trama TCP y el segmento de los datos. Es muy importante esta informacin
debido a que el campo opcional generalmente varia de tamao.
Flags (banderas): tienen una longitud de 8 bits y cada uno de ellos indica una
funcin distinta dependiendo de si se activan o no:
ACK: si est activo, indica el acuse de recibo
URG: si est activo, indica que el paquete es urgente
PSH: si est activo, indica que los datos deben ser enviados inmediatamente al
buffer
SYN: si est activo, indica una llamada para el inicio de una conexin
RST: si est activo, indica que la conexin se cay y continu de nuevo
FIN: si est activo, indica que la conexin ya se cerr
CWR: si est activo en el emisor, indica que se a recibido un bit de ECE por parte
del receptor. Este bit sirve para saber el congestionamiento de la red
ECE: si est activo en el receptor, indica que el receptor puede enviar estas
banderas constantemente
Ventana: en este campo se escribe la longitud de datos que el receptor espera recibir.
Check Sum (suma de chequeo): aqu se coloca unos nmeros que sirven para
comprobar si existen errores en los datos enviados o en la cabecera TCP.
Puntero urgente: este campo contiene un nmero que indica la longitud que hay
desde un ltimo nmero de secuencia de paquete de datos con flag URG hasta el
prximo que vendr.
13
Relleno y opciones: aqu se colocan mltiples opciones con una longitud de bits que
sea mltiplo de 32, si no es as se aproxima el nmero hasta la cifra mltiplo ms
cercana.
2.2.1.1 Inicio de conexin Three-Way-Handshake
El inicio de una conexin TCP se hace por el mtodo de Three-Way-Handshake
(negociacin en tres pasos). El nodo transmisor enva una seal de SYN al nodo receptor,
si el receptor acepta la conexin ste devuelve una seal de acuse de recibo ACK ms la
seal de SYN, cuando el nodo transmisor recibe todo esto procede a enviar su acuse de
recibo en conjunto con los datos que se quieren enviar. Con estos tres simples pasos se
asegura una conexin de forma rpida. Dentro de estos pasos siempre se envan nmeros de
secuencia que permitirn llevar el conteo de los paquetes de datos en transferencia y as
tener cierto control de errores. Cuando nos referimos al nmero de secuencia que lleva el
transmisor lo denominamos nmero de secuencia y cuando hablamos del receptor, el
nmero se llama nmero de asentimiento. En conjunto con esto se enva la suma de
verificacin que permite saber la integridad de los datos de un paquete TCP. El chek-sum
abarca casi toda la cabecera del TCP, es decir los primeros 96 bits del paquete; con lo que
proporciona un chequeo de errores para los segmentos de destino, origen, nmeros de
secuencia y nmero de acuse de recibo ACK.
SYN seq=z
SYN =1 AC
y+1
K=z+1 seq=
DAT O S
Nodo
Transmisor
SYN =0 AC K=
y+1 seq=z+
1
Nodo
Receptor
FIN- WAIT 1
FIN -WAIT
CLO SE
Nodo
Receptor
Nodo
Transmisor
15
2.2.2 Multiplexacin
La capacidad de multiplexacin que posee el protocolo TCP se refiere a la
cantidad de puertos que puede utilizar un usuario a la vez. En la capa de aplicacin hay
diversos servicios que usan un determinado puerto para comunicarse. Un usuario puede
estar manipulando varios a la vez y un slo canal de salida para varias aplicaciones sera
algo problemtico a la hora de la identificacin. Es por eso que TCP ofrece mltiples
puertos que permiten etiquetar todos los servicios que puedan existir.
Usualmente los sistemas operativos designan algunos puertos para uso de sus
aplicaciones, y en ocasiones, las mismas aplicaciones vienen con su nmero de puerto
designado a usar, en caso de que no sean originarias del sistema.
La cantidad de puertos posibles es de 216 puertos, por lo que en total existe un
nmero de 65.536 puertos habilitados y disponibles. Los primeros 1023 puertos se
denominan puertos reservados o seguros. Estos puertos son usados por las aplicaciones del
bsicas del sistema y generalmente estn en modo listening (escuchando) o a la espera de
solicitudes. Los puertos que van desde 1024 hasta 49151 son los llamados puertos
registrados, usados por aplicaciones de origen externo al sistema y los puertos dinmicos o
privados, son aquellos que van desde 49152 hasta 65535.
La IANA Internet Assigned Numbers Authority (Autoridad que Asigna Nmeros
en Internet), asign una amplia cantidad de puertos para diversos servicios comunes que
funcionarn en cualquier sistema. En la tabla nmero 1 se puede apreciar una serie de
puertos asignados a servicios bsicos:
16
17
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Pn
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Pn
ACK= 1
Desplazamiento de ventana
configuracin.
2.2.3.2 Mtodo de sistemas de crdito
Este sistema advierte al emisor sobre que cantidad de paquetes que puede enviar
en un slo instante. Cuando el tamao de la ventana es marcado, se indica que cantidad
mxima de paquetes podrn ser enviados. El receptor, cede unos certificados para llevar el
control de paquetes recibidos. Los certificados se envan antes de que se emita algn tipo de
confirmacin de recibo ACK. Esto le permite al nodo transmisor enviar datos aunque los
datos precedentes no hayan sido todava acusados, confiando que llegar su acuse antes del
tiempo lmite establecido.
2.2.4 Conexin Full-Duplex
Las estaciones que han establecido una conexin exitosa, pueden ahora
intercambiar datos y seales de control al mismo tiempo. Los nodos estn en puertos
distintos, lo que permite la entrada y salida simultanea de datos. Al momento de que un
nodo habla, puede al mismo tiempo estar escuchando a la estacin remota. Esto permite
mucha versatilidad de TCP y adems le da una velocidad de respuesta de control excelente.
2.2.5 Correccin a perdida de datos
Una de la forma que TCP adopta para corregir la perdida de datos, es mediante el
reenvo de los paquetes. Los paquetes de datos siempre sufren desordenes durante su paso
por los medios fsicos. En las conexiones establecidas y en proceso, banderas de ACK,
SYN, RST y nmeros de secuencia permiten recuperar los datos. Si un paquete es enviado
y por alguna razn se pierde en el camino, el receptor del paquete no recibe nada y por ende
no puede enviar confirmacin de recibo. La estacin receptora sabe que no ha recibido
nada y tambin sabe que la informacin no est completa del todo, porque lleva la cuenta
de los paquetes que llegarn mediante los nmeros de secuencia. El nodo transmisor est
19
esperando el acuse de recibo por parte del receptor para continuar con la transmisin
normal de la data. Si no se ha obtenido el acuse an, un timer2 ya iniciado, incrementa sus
dgitos hasta que llegue al final. Si el contador termina su cuenta y an no existe acuse de
recibo, la data se vuelve a reenviar.
2.3 Protocolo UDP
El UDP User Datagram Protocol (Protocolo del datagrama de usuario) es un
protocolo orientado al intercambio de datos en la red sin tener conexin alguna. Este
protocolo no asegura la transferencia de informacin de forma segura ya que no posee
ningn tipo de mecanismos de control.
Puerto de origen 16 bits
DATOS
Campo de destino: Este campo indica el destino del paquete como tal. En el se
especifica el nmero de puerto al que se habla.
20
Internet), es usado para enviar mensajes de error en los paquetes de datos al momento de
una transferencia, para saber si se ha vencido el tiempo de vida de una solicitud, para
identificar una conexin reciente o para el seguimiento de rutas que puede tomar un
paquete cuando por cualquier razn de pierde en el camino. ICMP, slo se genera al
momento de un error en la recepcin de un paquete y esto se hace de forma automtica
durante la comunicacin, lo que significa que el usuario no interviene directamente con el
protocolo en ese instante. El usuario slo usa el ICMP cuando quiere saber la existencia de
otro hosts (nodos) o quiere conocer los sitios por donde pasa un paquete. Es aqu donde se
puede interactuar con ICMP especficamente por medio del uso de ping o traceroute3. Todo
su funcionamiento se ubica en la capa de transporte del modelo OSI.
Tipo (8 bits)
Cdigo (8 bits)
Datos (opcionales)
21
11
12
13
14
15
16
10
17
11
18
12
22
INTERNET
23
802.11d, especifica bandas de frecuencia para las estaciones, segn sea su ubicacin
geogrfica.
802.11f, integra todas las marcas de interfaces de red inalmbricas, para hacerlas
compatibles y evitar la necesidad de que un punto de acceso tenga problemas por su
cambio de conexin raz.
802.11g, es una mejora del estndar 802.11b. Trabaja en la banda de 2.4 Ghz, con
velocidad mxima de 54 Mbps terica y 22 Mbps prcticas.
802.11i, integra nuevos sistemas de cifrados para aumentar las seguridad de los
puntos de acceso.
802.11n, especifica una velocidad terica de 600 Mbps, operando en la banda de 2,4
Ghz y 5 Ghz. Adems de esto, implementa una nueva tecnologa llamada MIMO
Mltiple Input-Mltiple Output (Mltiple entrada-Mtiple salida), permitiendo
utilizar varias bandas para el envo y recibo de datos al mismo tiempo.
802.11s, permite que los fabricantes de puntos de acceso puedan operar con formas
distintas de topologas inalmbricas.
a 3700 Mhz.
26
27
dispositivos
conectados
en
http://es.wikipedia.org/wiki/WEP:
una
red
no
cableada.
Segn
la
pgina
seguros y usados en la actualidad. Los mtodos de encriptacin WAP y WAP2, son lo que
se implementan en casi todos los dispositivos enrutadores inalmbricos debido a que su
nivel se seguridad es mucho ms alto y cubre los fallos de seguridad del mtodo WEP.
Estos mtodos pueden ser usados en conjunto con un servidor externo que se encargar de
la gestin de los accesos al servidor central, sin embargo, casi siempre se usan por si solos
implementando las distribuciones de los accesos por clave pre-compartida similar a la
usada en WEP. Algunos dispositivos de generaciones pasadas como tarjetas inalmbricas
para PC de escritorio usadas como puntos de acceso, slo pueden trabajar con claves a base
de WEP. La tarjeta usada en este proyecto slo soporta WEP para la encriptacin de los
datos y por eso es que se especifica ms informacin sobre este mtodo que sobre los
dems.
2.6 Servidor DHCP
Dynamic Host Configuration Protocol (Protocolo de Configuracin Dinmica de
Servidor), es un sistema que posibilita la configuracin Ip para una estacin cliente de
forma dinmica. Cuando un nodo accede a la red, ste necesita una direccin Ip que puede
ser configurada de forma manual o automtica. Si la asignacin no es de forma manual, el
nodo cliente enva una seal de difusin a todos los nodos de la red. Cuando un servidor
DHCP puede dar el servicio, responde a la llamada y provee la Ip si el nodo cliente est
autorizado para recibirla. El servidor DHCP puede asignar direcciones de forma automtica
29
30
Discovery
Broadc as t
O ffer
Unic as t
Request
Unic as t
dge
Acknow le
Unic as t
Nodo
Cliente
Servidor
DHCP
En los DNS, adems de los datos de los nombres de cada host en internet, existen
otros tipos de datos que contiene informacin acerca de cada dominio registrado. Cada una
de esas unidades de datos es llamada Recurso de Registro (RR). Cada registro contiene un
tipo de dato asociado a ste y adems pertenece a una clase que especifica a qu sistema es
aplicable tal registro. En la pgina http://es.wikipedia.org/wiki/Domain_Name_System
estn especificados los siguientes registros:
AAAA= Address (Direccin) Este registro se usa para traducir nombres de hosts
a direcciones IPv6.
CNAME= Canonical Name (Nombre Cannico) Se usa para crear nombres de
hosts adicionales, o alias, para los hosts de un dominio. Es usado cuando se estn
corriendo mltiples servicios (como ftp y web server) en un servidor con una sola
direccin ip. Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com.
y www.ejemplo.com.). esto tambin es usado cuando corres mltiples servidores
http, con diferente nombres, sobre el mismo host.
NS= Name Server (Servidor de Nombres) Define la asociacin que existe entre
un nombre de dominio y los servidores de nombres que almacenan la informacin
de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de
servidores de nombres.
MX (registro)= Mail Exchange (Registro de Intercambio de Correo) Asocia un
nombre de dominio a una lista de servidores de intercambio de correo para ese
dominio.
PTR= Pointer (Indicador) Tambin conocido como 'registro inverso', funciona a
la inversa del registro A, traduciendo IPs en nombres de dominio.
SOA= Start of authority (Autoridad de la zona) Proporciona informacin sobre la
zona.
HINFO= Host INFOrmation (Informacin del sistema informtico) Descripcin
33
del host, permite que la gente conozca el tipo de mquina y sistema operativo al que
corresponde un dominio.
TXT= TeXT - (Informacin textual) Permite a los dominios identificarse de modos
arbitrarios.
LOC= LOCalizacin - Permite indicar las coordenadas del dominio.
WKS- Generalizacin del registro MX para indicar los servicios que ofrece el
dominio. Obsoleto en favor de SRV.
SRV= SeRVicios - Permite indicar los servicios que ofrece el dominio.
SPF= Sender Policy Framework - Ayuda a combatir el Spam. En este registro se
especifica cul o cules hosts estn autorizados a enviar correo desde el dominio
dado. El servidor que recibe consulta el SPF para comparar la IP desde la cual le
llega, con los datos de este registro.
2.8 BIND DNS
BIND (Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name
Daemon) es el servidor de DNS ms comnmente usado en internet, especialmente en
sistemas Unix, en los cuales es un estndar de facto. Es patrocinado por la Internet Systems
Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la
University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie
comenz a mantenerlo en 1988 mientras trabajaba para la DEC,(extrada textualmente de
la pgina http://es.wikipedia.org).
2.9 Servidor Proxy
Es un dispositivo intermediario que tiene la capacidad de filtrar el contenido de
peticiones a la red de internet, implementando reglas de control para cada tipo de solicitud.
Adems de esto, el servidor proxy puede de acelerar el proceso de solicitud de un dominio
por medio de la implementacin de un sistema de cach, el cual podemos modificar para
acelerar el proceso de manejo de objetos en la memoria del servidor. Cuando se configura
34
un servidor proxy todas las peticiones a servicios en Internet pasan por l, garantizando el
control y manejo del trfico entre un cliente y la red de internet.
Administrando algunos de los protocolos que intervienen en los sistemas
servidores de los diversos servicios en internet, el proxy, puede aumentar la seguridad y
eficacia de los mismos. Algunos de los protocolos que intervienen en tales sistemas son los
siguientes:
SNMP:
(Simple
Network
Management
Protocol)
Protocolo
Simple
de
hasta cach de web, adems de aadir seguridad filtrando el trfico. Est especialmente
diseado para ejecutarse bajo entornos tipo Unix.
Squid ha sido desarrollado durante muchos aos y se le considera muy completo y
robusto, aunque orientado principalmente a HTTP y FTP es compatible con otros
protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS,
SSL, y HTTPS.
2.10.1 Caractersticas
Proxy para SSL: Squid tambin es compatible con SSL (Secure Socket Layer) con
lo que tambin acelera las transacciones cifradas, y es capaz de ser configurado con
amplios controles de acceso sobre las peticiones de usuarios.
ICP, HTCP, CARP, cach digests: Squid sigue los protocolos ICP, HTCP, CARP
y cach digests que tienen como objetivo permitir a un proxy "preguntarle" a otros
proxys cach si poseen almacenado un recurso determinado.
Cach transparente: Squid puede ser configurado para ser usado como proxy
transparente 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. De modo predefinido Squid utiliza el puerto 3128 para
37
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.
a un nodo en especfico o a un sistema de red. Este sistema contiene reglas estrictas en las
que se indican quin o qu, puede entrar a un host en particular. Los cortafuegos poseen dos
polticas de trabajo en cuanto al acceso se refiere, y estas polticas son la de negacin y
aceptacin. En la poltica de negacin, todos los caminos posibles se cierran y slo son
abiertos los indispensables segn los requerimientos. Esta poltica es muy segura a la hora
38
Dual-Homed Host. Permite que una estacin actu como un host doble
39
Red Lan
Internet
Router
Firewall
Firewall
Red Lan
Internet
Router
DMZ
Firewall 1
Firewall 2
Red LAN
Internet
Router
DMZ
Las tablas le dan estructuras especificas a las cadenas, es decir, que cada tabla indica que se
puede y que no se puede colocar en una determinada cadena. En base a esto, las cadenas,
contiene una serie de reglas que permitirn hacerle las comparaciones a los paquetes que
van entrando al sistema. Por lo general los paquetes entrantes contienen informacin en la
cabecera tcp, usada para hacer tales comparaciones con las reglas. Cuando un paquete
cumple cada una de las reglas que se especifican en la cadena, la misma, contiene un
destino que decide que hacer con el paquete, dependiendo de las caractersticas que le haya
otorgado cierta tabla. Cuando un paquete no cumple con ninguna regla de una cadena, los
destinos del paquete son determinados por una poltica global que decide qu se debe hacer
con ese paquete. Un ejemplo muy anlogo al sistema de trabajo de iptables es el siguiente:
Imagine que nuestro sistema es un pequeo pas el cual necesita de unos
determinados recursos (los paquetes de datos), para desarrollar su nacin. La nica entrada
y salida de recursos que posee ese pas es un aeropuerto. De acuerdo con las necesidades
del pas, el gobierno designa un ente que administre el trfico de los recursos; que para este
caso ser la aduana (iptables). Una vez designado quin gestionar el trfico de los
recursos; el gobierno procede a designar qu se necesita para el desarrollo del pas y en esta
ocasin se dice que es agua, comida, oro, y hierro, proveniente de Pekin y Groenlandia. La
aduana posee dos sistemas de trabajo que son el rojo y el amarillo (tablas). El sistema rojo
puede trabajar con cualquier tipo de recurso, entrante o saliente, proveniente de donde sea
(reglas) y adems sol es capaz de distribuirlo uniformemente por todo el pas (destino). El
sistema amarillo puede trabajar con cualquier tipo de recursos, entrantes o salientes,
provenientes de donde sea y adems sol es capaz de dirigirlos a una zona en especfico del
pas. Sabiendo esto la aduana procede a trabajar de la siguiente forma:
Las cadenas de trabajo son las siguientes: usando el sistema rojo, dejaremos pasar
agua y comida, de Pekin y Groenlandia para distribuirla por todo el pas. Usando el
42
1991 se decidi a hacer un ncleo de sistema operativo que funcionara como MINIX (un
derivado de UNIX) (ROBLES, Enero 2009)
44
2.14 Apache
Apache es una un software dedicado para el montaje de servidores web
desarrollado por la Apache Software Foundation. Est disponible para todas las plataformas
que se desee, privadas o libres, de forma gratuita. Posee una serie de mdulos que permiten
la integracin de otros softwares, para posibles mejoras del servidor, y adems posee una
serie de directivas que posibilitan el control de los accesos al servidor web, mejorando en
gran cantidad la seguridad del sistema. Segn la pgina web del instituto Tecnolgico de
Massachussets
(http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-httpd.html),
45
del modelo OSI. En la siguiente figura se pueden observar distintas tarjetas de red
inalmbricas:
46
CAPITULO III:
Cronologa de las actividades e Integracin a la
empresa
3.1 Tiempo de las actividades
3.2 Familiarizacin con la empresa
3.3 Familiarizacin con los clientes de la empresa
47
CAPITULO III
Cronologa de las actividades e Integracin a la empresa
3.1 Tiempo de las actividades
Las actividades realizadas en la empresa Corvus Latinoamrica, C.A., tienen un
lapso de trabajo de 12 semanas activas, comenzando el 25 de Febrero de 2010 y
culminando el 23 de Abril del mismo ao. En ellas se desarrollaron todas las labores
implcitas con el diseo e implementacin de un servicio proveedor de Internet de forma
inalmbrica, basado en la plataforma GNU/LINUX con la tarjeta de red inalmbrica DLINK DW-500. A continuacin se presentar una tabla describiendo las actividades hechas
por fases y etapas, para luego, mediante un diagrama de Gantt, indicar la cronologa de las
mismas:
Tabla 5. Descripcin de actividades
Fase
Etapa
Tareas
Familiarizacin con la
empresa
Familiarizacin con los - Conocimiento de todos los clientes a quienes la empresa le presta sus servicios
clientes de la empresa
Descripcin
- Recorrido por los laboratorios
- Recorrido por el cuarto de servidores
- Reconocimiento de las oficinas administrativas
- Recorrido e instauracin en el departamento de desarrollo
Instalacin y
aprendizaje del
sistema operativo
LATINUX
Configuracin de los
parmetros de red en
el S.O. LATINUX
II
III
1
Configuracin DHCP
IV
2
Configuracin DNS
48
3
V
Configuracin Proxy
4
Configuracin de
Apache
VI
Configuracin de la
tarjeta de red
inalmbrica
VII
Integracin de la
Solucin
Fase Etapa
Familiarizacin con la
empresa
II
III
IV
Tareas
Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem Sem
1
2
3
4
5
6
7
8
9
10
11
12
Diseo y configuracin de un
Firewall
Configuracin DHCP
Configuracin DNS
Configuracin Proxy
Configuracin de Apache
49
VI
5
VII
Configuracin de la tarjeta de
red inalmbrica
Integracin de la Solucin
Lab. Tux
Lab. Latinux
Lab. Gimp
Lab. Apache
cuarto de servidores est dotado de 5 switches, 2 de ellos con conexin por fibra ptica, y
varias mquinas en donde se encuentran alojados los servidores y se distribuyen los puntos
de conexin para todos los laboratorios.
avanzada
utilidades en el manejo de base de datos. Las siguientes empresas son algunos de los
clientes de Corvus Latinoamrica:
Venamcham
Graffiti C.A.
Iseit
51
Grupo Zoom
52
CAPITULO IV:
Elementos bsicos para el montaje del punto de
acceso inalmbrico
4.1 Descripcin de las partes del punto de acceso
4.2 Sistema Operativo LATINUX
4.2.1 Capacitacin bsica
4.2.2 Instalacin
4.3 Configuracin de la tarjeta de red
4.3.1 Pasos previos
4.3.2 Configuracin
53
CAPITULO IV
Elementos bsicos para el montaje del punto de acceso inalmbrico
El servicio de acceso a Internet de forma inalmbrica deber ofrecer estabilidad en
todo momento para los clientes que se conecten, por lo que para su desarrollo se necesitar
que cuente con unas caractersticas que brinden tal estabilidad. Las caractersticas son las
siguientes:
1. Seguridad a nivel de la capa de red ante posibles ataques al servidor principal y sus
clientes.
2. Enrutamiento de paquetes para facilitar el trabajo de algunos servicios e
inicialmente darle salida a las peticiones http de los clientes hacia el internet.
3. Capacidad de distribuir y gestionar las direcciones lgicas de la red y sus
parmetros implcitos (direccin ip, mscara de subred, mscara de red, direccin de
broadcasting, servidores DNS y gateway).
4. Aceleracin en la resolucin de nombres de dominio y por ende el aumento de las
respuestas de solicitudes http.
5. Filtro y gestin de contenidos a nivel de la capa de aplicacin.
6. Control de acceso a los usuarios que requieran conexin con el servidor y hacia
otros servidores.
7. Host virtual para responder las solicitudes a pginas bloqueadas.
De acuerdo a estas caractersticas se configuraran los dispositivos y servicios que
pondrn en funcionamiento el servidor central.
4.1 Descripcin de las partes del punto de acceso
El servidor central del punto de acceso est compuesto con los siguientes
elementos y servicios:
54
Software: La plataforma que soportar los servicios ser un servidor operado por el
S.O. LATINUX donde se instalarn los servidores DHCP, DNS, Proxy, Firewall y
Web que permitirn el funcionamiento pleno de la red para el intercambio de los
datos.
Con estos elementos se construir el punto de acceso inalmbrico para que los
modificaciones.
4.2.1 Capacitacin bsica
Esta capacitacin est dentro de la primera etapa de la segunda fase del proyecto y
se extiende a lo largo de este. El aprendizaje de LATINUX se comenz realizando la
instalacin desde su inicio. Para esto fue necesario hacer un entrenamiento previo sobre el
proceso de instalacin desde cero del software. Consultando al tutor de la pasanta Jos
Zamora se obtuvo la siguiente informacin:
Luego de esto se debe seguir las instrucciones que va generando la interfaz del
programa a travs de todo el proceso de instalacin.
En base a est informacin se procedi a la instalacin del sistema sobre el
de las
establecer la direccin del servidor central. Para esto se trabaj sobre la terminal, dentro del
sistema de configuracin de LATINUX usando algunos de sus comandos bsicos. En el
servidor se tenan conectadas dos tarjetas de red identificadas por el sistema como eth0 y
wlan0, siendo la primera una tarjeta ethernet simple y la segunda nuestra D-LINK DWL500. En este punto ya est definido cules sern las direcciones privadas que se usarn para
el establecimiento de la red: Sub-red: 10.0.0.0, con una mscara de 255.255.255.0,
partiendo desde la direccin 10.0.0.10 para los clientes y culminando en la 10.0.0.20. La
direccin del servidor central ser 10.0.0.1/24. Se realiz la distribucin de la red con estas
direcciones ya que es una de las establecidas para el montaje de redes privadas (ver captulo
II, Clases de redes). Con esta informacin se procedi a la configuracin.
4.3.2 Configuracin
La configuracin est descrita en los siguientes puntos fundamentales:
1. Uso del terminal y comandos bsicos Se abri una ventana de terminal por medio
del men Aplicaciones-Accesorios-Terminal. Una vez aqu, se procedi a la
identificacin del usuario como el administrador del sistema mediante el comando
sudo -i. El comando sudo permite la ejecucin de acciones como el administrador
del sistema, solicitando siempre la clave del mismo; y el parmetro -i, indica el
inicio de una sesin, que en este caso ser como administrador
del sistema.
a)
58
b)
Figura 17. a) Comando vi b) Ejecucin del comando vi
59
Terminal
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 172.16.1.153
Forma esttica
Con Ip: 10.0.0.1
Mascara de red:255.255.255.0
Pasarela: 172.16.1.153
[ok]
networking. La tercera lnea nos indica que la accin ha sido un xito. Se comprob
luego el levantamiento de las interfaces mediante el comando ifconfig eth1 que
arroja los siguientes mensajes:
60
Terminal
root@iseit:/etc/init.d# ifconfig eth1
eth1
Link
encap:Ethernet
direccinHW
Direc.inet:10.0.0.1
00:26:9e:89:97:d4
Difus.:10.0.0.255
Msc:255.255.255.0
ACTIVO DIFUSIN MULTICAST
MTU:1500
Mtrica:1
TX bytes:0 (0.0 B)
61
CAPITULO V:
Configuracin bsica de seguridad para el punto
de acceso
5.1 Paso previo
5.1.1 Bsqueda de informacin sobre Firewall y la herramienta
Netfilter/Iptables
5.2 Configuracin
5.2.1 Manejo e implementacin de las tablas, cadenas y reglas de Iptables
5.2.2 Manejo e implementacin de algunos mdulos de Iptables
62
CAPITULO V
Configuracin bsica de seguridad para el punto de acceso
Esta fase corresponde a la fase II del proyecto y se lleva a cabo durante lapsos
distintos de tiempo, debido a que en primera instancia se realiz una configuracin de
seguridad que servira nicamente para pruebas y luego se replante el sistema al final del
desarrollo del punto de acceso . En esta fase se encuentra lo respectivo al primer sistema de
seguridad del punto de acceso, en este caso el Firewall como tal. Este Firewall fue hecho a
base de aspectos bsicos de seguridad, y adems hay que destacar, que cualquier sistema de
seguridad a disear va de la mano siempre a los requerimientos de la red, usos y finalidad
de la misma. Para esta ocasin el Firewall se implement con un paquete incluido en el
kernel de los sistemas Linux, desde la versiones 2.4 en adelante. No se uso otro debido a
que ste es bastante completo, ofrece una gran cantidad de instrucciones para distintas
formas de estructuracin y tambin fue el designado por el tutor industrial para realizar el
cortafuegos.
5.1 Paso previo
5.1.1 Bsqueda de informacin sobre Firewall y herramienta Netfilter/Iptables
El tema de seguridad y el uso de herramientas sofisticadas como Iptables requiri
de un gran esfuerzo traducible en tiempo para estudiarlo y alcanzar el suficiente nivel
operativo que permitiera el uso de tal herramienta(ver anexo 4. Netfilter/Iptables y
Firewall). El trfico entrante y saliente al punto de acceso, destinado a la red LAN, pasar
siempre por este punto y es por esto que mediante operaciones bsicas de Iptables (ver
captulo II. Iptables) se pudo crear una especie de estacin de control que censa y concede
accesos al trfico en general proveniente de internet, para de esta forma proteger la red
LAN en tal caso que dentro de ella se encuentren datos de sumo cuidado. Precisamente los
Firewalls son esos puntos de control por donde pasa el trfico proveniente de la internet.
63
Estos Firewalls son simples servidores dedicados de pueden operar en varias capas del
modelo OSI para as intensificar los niveles de seguridad. La disposicin de tales puntos o
Firewalls va a depender de las polticas para el diseo de la red. Existen distintas
configuraciones estndares que son aplicables para casos sencillos como proteccin de
datos a otro servidor dedicado o el enrutamiento de paquetes (ver anexo 4.
Netfilter/Iptables y Firewall).
5.2 Configuracin
5.2.1 Manejo e implementacin de las tablas, cadenas y reglas de Iptables
Iptables, es un software diseado para el filtrado de los paquetes a nivel de la capa
3 del modelo OSI. Este software viene por defecto en las versiones de ncleos 2.4x y 2.6x,
lo que posibilita que todas las distribuciones cuenten con este instrumento. Tiene mltiples
opciones para la construccin de las cadenas y posibilita el monitoreo de estas
por
64
La prueba tuvo como consecuencia el bloqueo total de todos los puertos tcp dentro
de la mquina. Las salidas y entradas de paquetes fueron rechazadas y por ende no exista
comunicacin entre la red de Internet y la mquina. La comprobacin de esta prueba fue
realizada mediante la herramienta iptraf y tambin por medio del establecimiento de
conexiones bsicas requeridas por la mquina para salir a internet. Para el inicio de iptraf,
se escribi en la consola su propio nombre que es el comando que lo ejecuta:
Politica Drop
root@PAcceso:~# iptables -P INPUT DROP
Cadena
root@PAcceso:~# iptables -A INPUT -s 172.16.1.156 -j ACCEPT
No coincide
El paquete pasa por la
cadena
Paquete de datos
Ip: 172.16.1.153
66
-A
OUTPUT
-s
172.16.1.153
-o
eth0
-p
tcp
-sport
49151:65535 -j DROP
1. Esta cadena bloque la entrada de paquetes para una llamada el puerto 80, del
protocolo tcp. (-A) agrega una cadena, (-d) es un conector que permite especificar
una direccin ip de destino impresa en los datos del datagrama, (-i) indica la interfaz
por la cual entra el paquete, (-p) define un el protocolo a usar, (--sport) indica el
puerto de donde proviene, (-j) sugiere un salto hacia un destino en especfico y por
ltimo tenemos el DROP sealando el destino del paquete. Los destinos ms
utilizados son el ACCEPT, DROP y REJECT. Tambin hay otra clases de destinos
que corresponden a una cadena determinada, como por ejemplo el destino
MASQUERADE que va con la cadena PREROUTING de la tabla nat.
Esta primera cadena bloque los paquetes pertenecientes al protocolo tcp con puerto
de origen 80 entrantes por la interfaz eth0, dirigidos hacia nuestro local host:
172.16.1.153. Los paquetes que no coincidan con esta cadena, se regirn por la
decisin de las polticas establecidas previamente, que en este caso son de ACCEPT
o aceptar.
2. Esta cadena contiene algunas reglas distintas de la primera. En este caso la cadena
no es una de entrada, lo que cambia un poco el significado de ciertas reglas. La
regla (-s) especifica la direccin ip donde se origina el paquete, (-o) indica la
interfaz por donde saldr el paquete y (--sport) dice de que puerto se origina el
paquete. La cadena completa bloque las salidas para el rango de puertos que se
seal en el campo de (--sport), originadas en el localhost 172.16.1.153 y por la
67
interfaz eth0.
En la prueba anterior las dos cadenas tienen casi la misma funcin, ya que se le
coloc un bloqueo a las peticiones web. Tales pruebas se hicieron para comprobar el
correcto funcionamiento de algunas reglas y tablas de iptables, y adems para visualizar
como se realiza una conexin real de un cliente con un servidor web. En una conexin web
entre dos estaciones, un cliente hace la solicitud a travs de los puertos restringidos o
privados tcp hacia el puerto www de la estacin servidora. El protocolo tcp posee una serie
de bloques de datos con caractersticas nicas, que permite a iptables realizar
comparaciones contra estos bloques (ver captulo II. Protocolo TCP). Las conexiones
salientes se pueden bloquear por medio de la trama de destino donde se aloja el puerto de
llegada que en este caso es el 80. Otra forma de bloquear esta conexin, sera a partir de los
paquetes entrantes.
Todo paquete dirigido hacia nuestro localhost vendr con una trama indicando
cul es su origen, que para este caso ser de nuevo el puerto 80. La cadena 1 bloque las
peticiones www de una forma bastante explicita debido a que se restringi un paquete con
origen de puerto en especifico. Otros paquetes podrn ser aceptados, mas no el proveniente
del puerto http. La cadena 2 no es tan explicita y adems es ineficiente ya que su funcin es
bloquear todas las nuevas conexiones que se puedan establecer por el rango de puertos
asignados y no simplemente las que van dirigidas al puerto 80.
Aadido a esta problemtica est la de que las conexiones se podan establecer en
puerto por debajo de estos; la peticiones hacia un servicio web generalmente se originan el
los puertos restringidos y dinmicos.
En la figura 22 se hicieron las entradas de las cadenas y se verific si fueron
escritas en el sistema. La opcin para mostrar el estado de las cadenas es de esta forma. La
opcin -L te lista los parmetros de iptables dependiendo de su opcin acompaante, que en
este caso, es (-n) que significa que la opcin de listados va a ser de forma numrica. En la
figura 23 el iptraf muestra datos de ejemplo, de una conexin hecha a un sitio web.
68
El iptraf mostr que nuestro host enviaba la bandera de SYN por un puerto fuera
del rango especificado. El servidor, que en este caso corresponde a www.google.com; enva
las banderas de SYN+ACK para confirmar recibo. Estas no llegan jams a entrar a nuestro
sistema debido a que la cadena 1 actu, descartando este paquete y dejando inhabilitada la
conexin. Una conexin web real se hace siguiendo el siguiente esquema; claro est que se
indican las rutas y algunas de las banderas implcitas en esta operacin, mas no se indican
todos los dems factores que tambin estn incluidos en esta accin:
Servidores
DNS
Gateway
Cliente
a).Consulta DNS
b).Consulta DNS
c). Respuesta DNS
d).Consulta al servidor Web
e).Respuesta del servidor
Servidor Web
servidor web.
e)El servidor atiende la llamada por el puerto 80 enviando un acuse de recibo y
seal de sincronismo (ACK+SYN). El paquete pasa por el gateway, llega a la interfaz del
cliente y segn sea la configuracin de su firewall, ste lo aceptar o no.
Esta prueba fue una de las ms simples que se realiz. Se hicieron otras con el
mismo principio a la anterior pero en base a otros puertos para verificar algunos servicios
bsicos.
La tabla de filtro (filter), contiene cadenas diseadas para cuando el paquete se
encuentre en la puerta de entrada de la interfaz y en la salida de la misma, o simplemente
no pase por el sistema y sea redirigido. Existen otras tablas que son usadas para acciones
un poco ms complejas como la reescritura de un paquete de datos. La tabla de nat es una
de ellas. El NAT Network Address Translator es un sistema de intercambio de direcciones
en los paquetes de datos, con el fin de comunicar redes incompatibles. Iptables incluye esta
caracterstica de traduccin de direcciones en sus tablas. En la tabla nat hay cadenas de
entradas totalmente distintas a las existente en la tabla filter.
El diseo del servicio de acceso inalmbrico a Internet conlleva a la conexin de la
red LAN con las dems redes de internet, por esta razn es necesario implementar el
intercambio de direcciones ip. Las pruebas sobre la tabla de nat en conjunto con otras
adicionales de la filter estn descritas en breve:
1.iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j LOG
--log-prefix nat de paquetes salientes --log-level 4
iptables
-t
nat
-A
POSTROUTING
-s
10.0.0.0/24
-o
eth0
-j
MASQUERADE
2.iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 80 -j LOG
log-prefix desvo de paquetes --log-level 4
iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 80 -j
REDIRECT --to-port 3128
71
1. Esta cadena se implement para lograr que los computadores de la LAN que se
montara para pruebas, pudieran salir a la red de Internet sin tener ningn conflicto
por direcciones ip, adems de esto tambin se us para ver quin realiza tal accin
por medio de la observacin de los registros (logs) que dejan en el sistema y as
realizar mas adelante algn programa que tome los datos de estos registro y
tarifique el consumo. La primera cadena escribe en los logs de iptables los paquetes
salientes con mscaras hechas. Los logs son registros de procesos que se dan en el
sistema Linux. Tienen distintos niveles de avisos y se usan para monitorear eventos
dentro del sistema, que de alguna forma u otra alteren el mismo. En Linux se puede
crear un log exclusivo para el uso de iptables, muy ventajoso para llevar informes
del servidor o conteo de accesos. Cuando hicimos uso de los logs para iptables, fue
necesario crearlos y agregarlos al sistema de la siguiente manera:
Terminal
root@PAcceso:~# cd /var/log/
root@PAcceso:/var/log#
root@PAcceso:/var/log# touch iptables.log
root@PAcceso:/var/log# cd /etc
root@PAcceso:/etc#
root@PAcceso:/etc#vi syslog.cof
72
Terminal
# Default rules for syslog.
#
#
For more information see syslog.conf(5)
and /etc/syslog.conf
#
# First some standard log files. Log by facility.
#
auth,authpriv.*
/var/log/auth.log
*.*;auth,authpriv.none
-/var/log/syslog
#cron.*
/var/log/cron.log
daemon.*
-/var/log/daemon.log
kern.*
-/var/log/kern.log
lpr.*
-/var/log/lpr.log
mail.*
-/var/log/mail.log
user.*
-/var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
mail.info
mail.warn
mail.err
#LOG DE IPTABLES
kern.warn
# Logging for INN news system.
news.crit
news.err
news.notice
# Some "catch-all" log files.
#
*.=ddebug;\
auth,authpriv.none;\
news.none;mail.none
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
-/var/log/mail.info
-/var/log/mail.warn
/var/log/mail.err
/var/log/iptables.log
/var/log/news/news.crit
/var/log/news/news.err
-/var/log/news/news.notice
-/var/log/debug
Culminada la creacin del iptables.log, ya puede ser usado por las cadenas que se
configuren para dejar sus registros en este archivo. La cadena nmero 1 se
construy para que pudiera dejar registros los paquetes que salieran a la red de
internet. Cada vez que se requiera que una cadena deje su registro en el log de
iptables, la misma se debe escribir dos veces; la primera con un destino -j LOG (con
sus parmetros completos --log-prefix y --log-level), y la siguiente deber tener el
destino original como por ejemplo -j DROP. En la prueba se us la tabla (-t) de nat
(nat), con la cadena de entrada para paquetes que an no han llegado a la salida del
sistema (POSTROUTING), la regla (-s) indicando las direcciones a las que se le
harn nat, el (-o) indicando la interfaz de salida, (-j) el salto hacia al destino fijado y
el destino LOG donde se especifica el --log-prefix correspondiente a el nombre con
que se identificar el mensaje dentro del log y su nivel de aviso que es el 4 o de
warn indicado en --log-level. En esta primera cadena sol especific a quin se le
hizo un log, la segunda es la verdadera cadena con la cual se hacen las
comparaciones y coincidencias de los paquetes que estn previos a salir de la red. El
destino de esta segunda lnea es el que realiza la mscara a cada paquete, mediante
el destino MASQUERADE. Este destino sol est disponible para la cadena de
POSTROUTING.
2. En esta segunda prueba tambin se implementaron los log pero esta vez para otra
cadena de la tabla nat llamada PREROUTING. Esta cadena le hace un match a
todos los paquetes antes de la entrada al sistema por medio de eth1, dirigidos hacia
el puerto 80 del protocolo tcp. Si cumplen con estas reglas al paquete se redirige
hacia el destino REDIRECT, que desva su puerto destino al que est presente en la
regla --to-port.
Esta ultima prueba permiti conocer otras cadenas y tablas con destinos fijos y
nicos para ellos.
74
Con una poltica de negacin en todos los puertos, esta regla permiti que una
comunicacin bsica se estableciera con el servidor. Los puertos que estn especificados en
la cadena, pertenecen a puertos usados de forma local, es decir por las aplicaciones
presentes en el sistema operativo. Esta prueba permiti que el cliente obtuviera una
direccin ip del servidor, se pudiera comunicar con su servidores DNS, posibilidades del
servicio de correo POP3, POP3S, imap3 y mensajera instantnea. El parmetro de entrada
para especificar mltiples puertos es (-m, --module), y luego de ste se coloca cul es el
mdulo a usar, en esta ocasin se uso el multiport.
Mdulo conntrack. Este mdulo permite el seguimiento de las conexiones que se
realizan mediante el uso de la
mltiples, pero los ms usados son: NEW nueva conexin, ESTABLISHED conexin
establecida, RELATED conexin relacionada, e INVALID conexin no valida. A partir de
estos, pueden o no establecerse enlaces con otras mquinas por medio del protocolo tcp.
Mayormente es usado en las conexiones a travs del puerto 80 y 443, que son los puertos
correspondiente con el servicio web o http. Para implementar este mdulo se ejecut la
siguiente prueba:
5 Un script es una serie de ordenes contenidas en un archivo que se ejecutan paso a paso.
75
1.iptables
-A
OUTPUT
-s
172.16.1.153
-o
eth0
-p
tcp
--sport
-A
OUTPUT
-s
172.16.1.153
-o
eth0
-p
udp
--sport
-i
eth0
-p
tcp
--dport
1024:65535 -j ACCEPT
2.iptables
-A
INPUT
-d
172.16.1.153
-A
INPUT
-d
172.16.1.153
-i
eth0
-p
udp
--dport
1024:65535 -j ACCEPT
1. En esta cadena se puso a prueba el mdulo conntrack con la opcin --ctstate que
permite el seguimiento de las conexiones. Bajo una poltica DROP los puertos
restringidos y privados fueron habilitados, permitiendo nicamente las conexiones
nuevas y establecidas. Con esta declaracin se logr que la estacin pudiera enviar
peticiones de nuevos enlaces a servidores web, servidores streaming6, servicio de
mensajera instantnea, servidores DNS y otros. El nodo de origen (-s)
172.16.1.153, con salida (-o) por eth0, para los protocolos (-p) udp y tcp, con
puertos de origen 1024:65353 (--sport), puede crear conexiones de estados nuevo y
estable (--ctstate NEW, ESTABLISHED).
2. Esta cadena permiti la conexin total del nodo cliente con cualquier otra estacin
de la red, debido a que posibilit que las peticiones hechas en la primera cadena,
fueran contestadas, pudiendo entrar al sistema sin ningn tipo de restriccin.
Habilitando las entradas a conexiones establecidas y relacionadas, se permiti que
los servidores puedan enviar la el paquete de datos con el acuse de recibo y la seal
se sincronismo (ACK y SYN), ms no que los mismos por cualquier razn crearn
conexiones nuevas. Los servidores podan enviar tramas icmp de errores para
controlar algn desperfecto presente en los paquetes de datos, haciendo lo que se
llama una conexin relacionada (RELATED).
Estas pruebas se realizaron para el entendimiento y familiarizacin con las
6 Streaming se define segn: http://es.wikipedia.org, como la transmisin sin interrupciones de audio y
vdeo por internet
76
caractersticas bsicas que provee iptables, as como establecer una pequeo sistema de
seguridad el cual nos permita controlar los accesos a ciertas aplicaciones de la red. Existen
muchas ms reglas y mdulos que se pueden implementar para plantear un Firewall de alto
nivel de seguridad mediante iptables, pero para los efectos de un montaje sencillo bast con
usar estas que se explicaron.
77
CAPITULO VI:
Distribucin lgica de la red y registro del
dominio principal
6.1 Servicio DHCP
6.1.1 Instalacin y configuracin del servicio dhcp3-server
6.1.2 Instalacin de una pequea red con topologa rbol
6.1.3 Pruebas
6.2 Servicio DNS
6.2.1 Pasos previos al manejo, configuracin e instalacin
6.2.2.Manejo, configuracin e instalacin de BIND-DNS
6.2.3 Pruebas al servidor
78
CAPITULO VI
Distribucin lgica de la red y registro del dominio principal
Para todo servicio de punto de acceso a Internet es necesario un proveedor que
configure los parmetros de red de los nodos a conectar de forma automtica o manual.
Cuando un cliente va a conectarse hacia una red necesita identificarse con una direccin ip,
mscara de la red, gateway de salida y servidores DNS si requiere resolver algn dominio.
Estos parmetros los puede configurar el administrador de la red directamente en la
mquina del usuario o puede implementar un servicio automtico que realice esta accin,
como por ejemplo un servidor DHCP. Tomando en cuenta este punto, se procedi a la
descarga de un servicio DHCP que es el programa que cumple con tales puntos de
administracin. Una vez descargado el paquete se continu con la configuracin del
servidor DHCP de acuerdo a parmetros establecidos para la red de nuestro punto de acceso
como son: direccin del servidor DHCP, direccin de los servidores DNS, rango de Ips
entregadas a la red, tiempo de vida de una Ip, puente de salida, direccin de red y mscara
de la sub-red. El paquete del servicio DHCP a instalar sera el dhcp3-server debido a que es
el ms usado y proporciona una serie de caractersticas configurables que se necesitaron
durante el desarrollo el proyecto.
6.1 Servicio DHCP
6.1.1 Instalacin y configuracin del servicio dhcp3-server
La instalacin y configuracin de el servidor se realiz de la siguiente manera:
1. Descarga e instalacin del paquete dhcp3-server: se procedi a la descarga del
servicio dhcp3-server mediante el uso del gestor de descargas en consola de ubuntu
aptitude. Se abri una terminal y luego de entrar como el administrador del sistema
root se escribi el siguiente comando: aptitude search junto a la palabra dhcp, lo
que arroj una lista de paquetes que coinciden con la palabra dhcp en su nombre.
79
En esta lista se puede visualizar todos los paquetes que estn instalados en nuestro
sistema (i), as como los que no estn (p). El paquete que se encuentra sombreado
en magenta corresponde con el servicio dhcp3-server y adems se observ que no
est instalado por lo que se procedi descargarlo por medio del siguiente comando:
aptitude install dhcp3-server. Este comando descarg el paquete en su totalidad,
pero al momento de su instalacin arroj el siguiente mensaje de importancia:
80
Terminal
root@PAcceso:~# aptitude install dhcp3-server
Leyendo lista de paquetes... Hecho
Creando rbol de dependencias
Leyendo la informacin de estado... Hecho
Leyendo la informacin de estado extendido
Inicializando el estado de los paquetes... Hecho
Se instalarn los siguiente paquetes NUEVOS:
dhcp3-server
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar
y 20 sin actualizar.
Necesito descargar 398kB de ficheros. Despus de desempaquetar se
usarn 918kB.
Escribiendo informacin de estado extendido... Hecho
Des:1 http://archive.ubuntu.com/ubuntu/ lucid/main dhcp3-server
3.1.3-2ubuntu3 [398kB]
Descargados 398kB en 6s (62,3kB/s).
Preconfigurando paquetes ...
Seleccionando el paquete dhcp3-server previamente no seleccionado.
(Leyendo la base de datos ... 00%
170293 ficheros y directorios instalados actualmente.)
Desempaquetando dhcp3-server (de .../dhcp3-server_3.1.32ubuntu3_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para ureadahead ...
Configurando dhcp3-server (3.1.3-2ubuntu3) ...
Generating /etc/default/dhcp3-server...
* Starting DHCP server dhcpd3
* check syslog for diagnostics.
[fail]
invoke-rc.d: initscript dhcp3-server, action "start" failed.
Leyendo lista de paquetes... Hecho
Creando rbol de dependencias
Leyendo la informacin de estado... Hecho
Leyendo la informacin de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo informacin de estado extendido... Hecho
root@PAcceso:~#
a)
82
b)
Figura 29. a y b. Archivo dhcp.conf.
Las lneas sombreadas en azul celeste forman parte del archivo por defecto y el
hecho de que no estn comentadas con el carcter numeral (#) significa que la lnea
est activa. Estas lneas configuran de forma comn para todas las redes colocadas
en este archivo, los parmetros de servidor DNS, DNS emergente, tiempo de
asignacin por defecto y tiempo mximo de asignacin, por lo que fue necesario
comentarlas y as desactivarlas para no crear conflicto posteriores. La primera lnea
sombreada en magenta, por defecto estaba comentada con (#) y eso indicaba que la
lnea no estaba activada. Esta lnea es muy importante ya que autoriza a nuestro
servidor dhcp local como el servidor oficial de toda la red, permitiendo que pueda
proveer los datos de red a las estaciones que se lo pidan. Las lneas siguientes que
estn sombreadas tambin estn comentadas al igual que la anterior. Para nuestros
efectos estas se habilitaron y configuraron segn los parmetros establecidos
83
Culminada esta accin se continu con la activacin de los desvos para la ipv4.
Estos desvos son necesarios a la hora de que los host de la red LAN necesiten
conectarse con otras redes presentes el internet. Estos desvos se habilitaron en el
archivo de configuracin /etc/sysctl.conf. Parte de ese archivo contiene la siguiente
informacin:
Terminal
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#
#kernel.domainname = example.com
# Uncomment the following to stop low-level messages on console
#kernel.printk = 4 4 1 7
##############################################################3
# Functions previously found in netbase
#
# Uncomment the next two lines to enable Spoof protection (reversepath filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
# Uncomment the next line to enable TCP/IP SYN cookies
#net.ipv4.tcp_syncookies=1
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
La lnea que est sombreada con magenta por defecto est comentada y por ende
desactivada. Al momento de la edicin esta se descoment, habilitando de esa forma
los desvos para las ipv4.
El ltimo paso que se dio para la configuracin del servidor dhcp, fue el de reiniciar
la aplicacin por medio del archivo de inicio
/etc/init.d/dhcp3-server, bajo la
opcin restart.
6.1.2 Instalacin de una pequea red con topologa en rbol
Esta red se instal con el fin de realizar las pruebas del servidor DHCP y los
servicios que se instalaron posterior a este. La red no consta de los host completos que se
especificaron, sino que slo se arm con 2 computadores disponibles que haban en el
laboratorio. La disposicin de fsica de la red fue la siguiente:
C1
Gateway
C2
Servidor
DHCP
Eth1
Internet
Eth0
Switch
el servidor DHCP posee dos tarjetas de red: Eth1 con direccin ip 10.0.0.1,
86
netmask 255.255.255.0
Gateway
Descripcin del la conexin del montaje: El primer paso que se dio para el montaje
de la red, fue el de la conexin del gateway por medio de un cable de red simple con la
tarjeta de red Eth0 del servidor principal. Despus de este paso se conecta la tarjeta de red
Eth1 a uno de los puertos del conmutador o switch, permitiendo que cualquier estacin que
se conecte a uno de los puertos pueda hablar al servidor haciendo un broadcasting para
obtener los datos de red que necesitan Luego de esto se procedi a conectar cada una de las
estaciones de prueba, en un puerto correspondiente del conmutador.
6.1.3 Pruebas
Las pruebas que se realizaron en esta etapa son bastantes sencillas y esencialmente
se basaron en la conexin de los host al punto de acceso. Cuando se estableca un enlace
por parte del usuario al servidor, en la mquina se verificaba si exista o no una direccin
ip, mscara de red y servidores DNS que son los parmetros brindados y configurados por
nuestro servidor.
6.2 Servicio BIND-DNS
6.2.1 Pasos previos al manejo, configuracin e instalacin del servidor BINDDNS
Se realiz una bsqueda de informacin sobre los servidores DNS, debido a que
fue necesario el montaje de uno para acelerar las respuestas a las peticiones http,
implementando un servicio de resolucin de nombres de forma local, y adems tambin se
requera resolver el nombre de un host web, que se usar para respuestas a las solicitudes de
87
88
a)
89
b)
Figura 33. a y b. Proceso de descarga e instalacin del paquete Bind9
Durante el proceso de descarga, el sistema instal automticamente los paquetes
bajados. En este punto tambin se inicializ de forma instantnea la aplicacin
correspondiente a la descarga; en este caso el servicio Bind9. Los archivos ms
destacados durante la instalacin y para la configuracin del servidor, son:
/etc/bind/, /etc/default/bind9, /etc/init.d/bind9, db.root, named.conf.default-zones,
named.conf.local, named.conf.options.
2. Manejo y configuracin de sus archivos principales: Para la configuracin y
montaje del servidor slo fue necesario el planteamiento de un nombre de dominio
que identificara inequvocamente a nuestro host, dentro de nuestra red. El nombre
de dominio que se design fue el de accipoint.net, el cual servira para designarlo
como zona de autoridad. Adems de esto el dominio no poseera ningn servicio de
correo vinculado y tendra una nica direccin como host para la resolucin. En
base a esto se procedi inicialmente a la configuracin del archivo
named.conf.default-zones, de la siguiente forma:
90
Terminal
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones,
and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
// CONFIGURACION PARA NUESTRO DOMINIO LOCAL
zone "accipoint.net" {
type master;
file "/etc/bind/db.accipoint";
};
llevara el esqueleto del dominio. Para esto fue necesario situarnos dentro del
directorio /etc/bind/, y una vez en l, ejecutar un comando perteneciente al sistema
Linux llamado touch. El touch permite la generacin de archivos nuevos en el
directorio donde se encuentre ubicado el usuario. El nombre que llevar el archivo
se especifica enseguida luego del comando:
root@PAcceso:~# touch db.accipoint
misma forma que se hizo en las etapas anteriores, por medio del uso de los archivos
de configuracin al inicio ubicados en /etc. Para reiniciar se ejecuta la siguiente
orden: /etc/init.d/bind9 restart.
6.2.3 Pruebas al servidor DNS
Una vez que se reinici la aplicacin sin encontrar ningn problema, se ejecutaron
varios comandos en Linux que permiten las pruebas de los servicios de resolucin de
nombre. Para comenzar se insert en el archivo /etc/resolve.conf, las siguientes lneas:
domain accipoint.net
search accipoint.net
nameserver 190.204.226.8
En este archivo se encuentran todos los servidores DNS del sistema. Existen
dentro se este, algunos servidores DNS que son proporcionados por nuestros proveedores
de servicio de Internet debido a que estos poseen un servidor DHCP que configura este
parmetro para usar sus servidores DNS en la resolucin de nombres de dominio. Cuando
se colocaron estas lneas, se agreg tambin nuestro servidor DNS como servidor de
resolucin de nombres adicional para que los usuarios lo utilicen y aumenten su velocidad
de navegacin, debido a que este servidor se encuentra localmente y por ende las respuestas
son ms rpidas en comparacin con la respuesta de los servidores del ISP. Una vez que
insertaron las lneas en el archivo, se continuo con la reescritura de ste la momento del
guardado. Los comandos que se usaron para la prueba son el comando dig y el comando
host. El primer comando se ejecut de esta forma:
93
Terminal
root@PAcceso:~# dig accipoint.net
; <<>> DiG 9.7.0-P1 <<>> accipoint.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28963
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1,
ADDITIONAL: 0
;; QUESTION SECTION:
;accipoint.net.
IN
;; ANSWER SECTION:
accipoint.net.
86400
IN
190.204.226.8
;; AUTHORITY SECTION:
accipoint.net.
86400
IN
NS
accipoint.net.
;;
;;
;;
;;
root@PAcceso:~#
Esta prueba es menos informativa pero fue otra forma de probar la respuesta del
servidor. El comando simplemente resolvi el nombre de dominio, preguntando a los
servidores DNS del sistema. La direccin asociada fue la respuesta que se encontr para la
solicitud hecha. Cuando no se encuentra ninguna direccin asociada, el comando nos da un
mensaje de error:
root@PAcceso:~# host accipoint.net
Host accipoint.net not found: 3(NXDOMAIN)
De esta forma se culminaron las pruebas y el montaje del servidor DNS, logrando
el entendimiento del mismo e instaurando la configuracin final que usarn los usuarios al
momento de conectarse a nuestro servidor. El montaje y las pruebas no tuvieron un grado
de dificultad mayor debido a que es bastante sencillo y verstil, el uso de esta aplicacin de
servidores.
95
CAPITULO VII:
Gestin de contenidos en la capa de aplicacin
7.1 Proxy
7.1.1 Pasos previos a la configuracin e instalacin de Squid
7.1.2 Instalacin y configuracin bsica de Squid
7.1.3 Configuracin de las listas de acceso de Squid
7.1.4 Configuracin de los Logs de Squid
7.1.5 Configuracin del manejo de objetos en lacach de Squid
7.1.6 Instalacin y configuracin del mdulo de Squid:SquidGuard
7.1.7 Pruebas al servidor de Squid
7.2 Apache
7.2.1 Pasos previos a la instalacin, manejo y configuracin bsica de
Apache
7.2.2 Instalacin, manejo y configuracin de Apache
7.2.3 Pruebas del servidor Apache
96
CAPITULO VII
Gestin de contenidos en la capa de aplicacin
Antes de la instalacin se realiz una busqueda de informacin acerca de los
servidores Proxy para tener una idea del funcionamiento de los mismos y as realizar una
rplica de su operacin mediante la herramienta de Squid. Lo que se hizo con el montaje de
servidor Proxy es atender y filtrar las peticiones a pginas web por parte de los usuarios
que estarn conectados al punto de acceso. Este manejar objetos almacenndolos en su
cach aumentando la rapidez en la solicitudes de bsquedas generadas por las estaciones
que estn conectadas a travs de l.
C1
C2
Solicitud
Servidor
Proxy
Internet
?
Solicitud
capacidad de acelerar las bsquedas por medio del manejo de objetos dentro de su ncleo
as como tambin ofrece un sistema de acceso controlado para ciertos protocolos en donde
se encuentran los: TCP, HTTP, FTP, y HTTPS. Posee tambin un sistema para el control de
ancho de banda y servicio DNS incluido.
Su configuracin se hace mediante un slo archivo que abarca todas las funciones
que posee este servidor. Es bastante robusto y ofrece su expansin mediante el uso de
mdulos. Es un sistema multi-hilo ya que responde a solicitudes por varios puerto a la vez.
A medida que se desarrolle la etapa se irn esclareciendo varias caractersticas ms sobre
este servidor.
7.1.2 Instalacin y configuracin bsica de Squid
Para la descarga e instalacin de Squid, hay dos formas en las que se puede
proceder: descargando directamente desde los repositorios con el comando aptitude y
bajando los paquetes desde la pgina oficial http://www.squid-cache.org/. Usando la
segunda forma es necesario compilar el paquete, es decir que se debe construir a mano. El
paquete se instal haciendo la descarga desde los repositorios de esta manera:
root@PAcceso:~# aptitude install squid3
/etc/squid3/squid.conf
/etc/init.d/squid3
/var/log/squid3/cache.log
/var/log/squid3/access.log
/var/log/squid3/store.log
98
Proxy de cacheo
Proxy transparente
Estas funciones son designadas a partir de el tipo de red. Como el punto de acceso
wireless estaba disponible para la conexin constante de varios usuarios, fue
necesario el control del contenido de ellos por medio de filtro de las solicitudes web.
Este procedimiento se realiz de forma transparente, es decir, que no se necesit de
la configuracin manual de los navegadores de cada estacin que entrara al punto
wireless. Debido a que exista un slo canal de comunicacin con un ancho de
banda limitado, se implemento el uso delcach de los objetos para acelerar el
proceso de bsqueda y no generar peticiones innecesarias.
2. Configuracin de parmetros de red bsicos: Dentro del archivo squid.conf se
editaron las lneas correspondientes a los parmetros de acceso de redes
determinadas, de la siguiente forma:
Terminal
#Recommended minimum configuration:
acl local src 0.0.0.0/0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
# Example rule allowing access from your local networks.
a)
99
b)
Figura 39. a y b. Lneas de parmetros de red del squid.conf
Antes de dar la explicacin de este archivo es necesario conocer los siguientes
trminos con los que squid trabaja. El parmetro acl designa un nombre para el
archivo de acceso, src indica las direcciones de origen que pueden entrar al proxy,
dst indica las direcciones de destino que pueden pasar por el proxy, http_access
100
autoriza o desautoriza una lista o nombre de acceso mediante los conectores allow y
deny; y finalmente el conector port designa puertos tcp que puedan o no acceder al
proxy. A partir de esta aclaracin procedemos a la explicacin de archivo: la primera
lnea sombreada en magenta, fue agregada y no estaba por defecto en el archivo
original. Esta lnea agrega al proxy todas las redes posibles que puedan haber, con el
fin de que ninguna direccin se quede sin pasar por el proxy. En otro tipo de
configuracin, las direcciones se puede limitar nicamente a la red que nosotros
queramos montar, pero para nuestros efectos se necesit que todas las redes de
origen de una peticin pasaran por el proxy y fuesen filtradas. En las dos ltimas
lneas sombreadas se agrega al proxy las direcciones locales de loopback para que
paquetes que tengan como origen o destino estas direcciones, puedan pasar o no por
el proxy. El conjunto de listas sombreadas en azul celeste designa un nombre
genrico para los puertos, que se le aceptar o se le negar, el acceso de flujo http
por medio del proxy. Las ltimas lneas sombreadas en azul-celeste no fueron
modificadas debido a que para nuestro caso no era necesario la eliminacin de estas
porque no se necesit volver a filtrar el contenido de la capa de red.
La segunda parte del archivo es la que permite o no, el acceso a las listas designadas
en la primera parte. Por defecto estas lneas ya estaban configuradas tal y como se
ve en el ejemplo del archivo, no fue necesaria su modificacin por razones de que
las listas especificadas ah, cumplan con los parmetros de diseo que se
nombraron al principio de la etapa. Las dos lneas finales fueron agregadas para
terminar la configuracin completa de los parmetros de red. Aqu, las listas de
local y todas las dems posibles son aceptadas para que puedan pasar por el proxy y
ser verificadas.
Otra lnea de mucha importancia dentro del archivo de configuracin squid es la
siguiente:
http_port 3128 transparent
Por este puerto es que squid atiende las solicitudes http. El parametro transparent se
101
le agreg para que el proxy pueda actuar de forma transparente, al momento de que
las solicitudes le lleguen provenientes de los desvos del firewall. Como squid es
una aplicacin multi-hilo8, se pueden designar otros puertos por los cuales se
recibirn solicitudes.
Estos son parmetros bsicos que permitieron que squid pudiera atender cualquier
peticin hecha por una estacin de la red que estuviera conectado al proxy.
7.1.3 Configuracin de las listas de acceso de Squid
Con las mismas instrucciones que se usaron para la configuracin bsica del
proxy , se crearon listas de acceso para el filtrado de su contenido. Tales listas de acceso son
archivos que se crearon dentro del directorio /etc/squid3/, y que contienen direcciones urls
de pginas a las que se le desea aplicar un control. Estas listas son:
herramienta vi. Una vez que las listas fueron hechas junto con su contenido se procedi a la
escritura de las listas de acceso mediante la edicin del archivo squid.conf donde se
agregaron estas lineas:
8 Multi-hilo: Programa que divide su carga de ejecucin en varias unidades. Para mas informacin consulte
el sitio: http://es.wikipedia.org/wiki/Multihilo.
102
Terminal
acl listablanca dstdomain /etc/squid/listablanca
acl listanegra dstdomain /etc/squid/listanegra
acl listaprohibida dst_regex /etc/squid/listaprohibida
http_access allow listablanca
http_access deny listanegra
http_access deny listaprohibida
# TAG:
#
#
data
#
Terminal
cache_log
Cache logging file. This is where general information about
your cache's behavior goes. You can increase the amount of
logged to this file with the "debug_options" tag below.
#Default:
# cache_log /var/log/squid3/cache.log
# TAG: cache_store_log
#
Logs the activities of the storage manager. Shows which
#
objects are ejected from the cache, and which objects are
#
saved and for how long. To disable, enter "none". There are
#
not really utilities to analyze this data, so you can safely
#
disable it.
#
#Default:
# cache_store_log /var/log/squid3/store.log
jerarqua (%Sh)
Este formato de log fue el que se utiliz para la escritura de los mensajes, debido a
que mostraba una serie de avisos, como el origen del cliente, estados de solicitudes,
URL de la solicitud, nombre del solicitante y otros; que permitan monitorizar las
conexiones, en caso de fallas de navegacin en el servidor.
7.1.5 Configuracin del manejo de objetos en lacach de Squid
Esta configuracin se realiz, con el fin de acelerar de forma efectiva las
bsquedas en la red, as como la disminucin del consumo del canal debido a las peticiones
sin necesidad. Para el manejo de objetos basta con saber qu contenidos manejara la red al
momento de una sesin. La configuracin del manejo de objetos se basa en la
administracin de la retencin en la memoriacach de los elementos consultados
dependiendo de su tamao. La configuracin que fue establecida es la siguiente:
105
Terminal
# MEMORY CACHE OPTIONS
# TAG: cache_mem
(bytes)
#Default:
cache_mem 128 MB
# TAG: maximum_object_size_in_memory
#Default:
maximum_object_size_in_memory 100 KB
(bytes)
# TAG: memory_replacement_policy
#Default:
memory_replacement_policy heap GDFS
# DISK CACHE OPTIONS
# TAG: cache_replacement_policy
#Default:
cache_replacement_policy heap LFUDA
# TAG: cache_dir
#Default:
cache_dir ufs /var/spool/squid3 100 16 256
# TAG: minimum_object_size
#Default:
minimum_object_size 8 KB
(bytes)
# TAG: maximum_object_size
(bytes)
#Default:
maximum_object_size 4096 KB
# TAG: cache_swap_low (percent, 0-100)
# TAG: cache_swap_high (percent, 0-100)
#Default:
cache_swap_low 90
cache_swap_high 95
Tag: cache_dir. Aqu se especific el formato de los objetos a guardar y la ruta raz
comprob mediante una encuesta informal en usuarios que usaron el servidor proxy para
navegar.
7.1.6 Instalacin y configuracin del mdulo para Squid: SquidGuard
El mdulo squidGuard, permite el filtrado de contenidos web a partir del uso de
bases de datos que contienen una gran mayora de pginas del mundo entero. Para la
descarga e instalacin de este mdulo se us el gestor de descargas en consola aptitude.
107
Comando
Paquete
A partir de estas listas se tomaron en cuenta las que eran de vital necesidad para el
filtrado de contenido de los host conectados al proxy. Estas bases de datos contiene un
grupo grande de dominios alojados sobre todo el territorio mundial. Los dominios son
proporcionados por robots o programas de bsqueda avanzados. La mayora de estas listas
son constantemente actualizadas debido a que los web servers estn al tanto de que sus
sitios caen dentro de una lista negra y por ende cambian muy a menudo de dominio. Las
bases de datos que se tomaron en cuenta al momento de realizar el control de acceso,
fueron las que de alguna forma u otra podan perjudicar el funcionamiento de la red.
En la configuracin del archivo squidGuard.conf se consideraron ciertos factores
que permiten el manejo del archivo sin cabida a errores. En este archivo existe una seccin
en donde se declaran las listas de acceso a trabajar y luego de esta, hay un campo en donde
se realiza la parte de control de acceso.
Terminal
# CONFIG FILE FOR SQUIDGUARD
dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid/squidGuard.log
# DESTINATION CLASSES:
dest hacking {
domainlist
hacking/domains
urllist
hacking/urls
}
dest malware {
domainlist
malware/domains
expressionlist malware/expressions
urllist
malware/urls
}
dest onlinegames {
domainlist
onlinegames/domains
urllist
onlinegames/urls
}
dest porn {
domainlist
porn/domains
urllist
porn/urls
expressionlist porn/expressions
}
dest socialnetworking {
domainlist
socialnetworking/domains
urllist
socialnetworking/urls
dest spyware {
domainlist
spyware/domains
urllist
spyware/urls
}
a)
109
dest adult {
domainlist
adult/domains
urllist
adult/urls
}
dest virusinfected {
domainlist
virusinfected/domains
urllist
virusinfected/urls
}
dest warez {
domainlist
warez/domains
urllist
warez/urls
}
dest blog {
domainlist
blog/domains
urllist
blog/urls
}
dest artnudes {
domainlist
artnudes/domains
urllist
artnudes/urls
}
acl {
default {
pass
!hacking !malware !onlinegames !porn !
socialnetworking !spyware !adult !virusinfected !warez !blog !
artnudes all
redirect http://accipoint.net
}
}
b)
Para cargar las listas e iniciar el squidGuard, basta con reiniciar el servidor de
110
funcionamiento fue hecha a travs de la configuracin manual del navegador en uno de los
computadores de la pequea red que se haba montado. El navegador debe estar
configurado para que las peticiones web sean atendidas por el proxy. En las opciones o
preferencias de los navegadores generalmente existe un campo donde se puede especificar
la direccin del servidor proxy as como su puerto de conexin. El servidor squid viene
configurado por defecto para escuchar mediante el puerto 3128, por lo que en el navegador
debe especificarse que ste es el puerto por donde se enlazar con el servidor. Un ejemplo
de la configuracin del navegador se puede observar en breve:
112
Una vez que se termin la configuracin del navegador para el uso de un proxy
local, se guardan los cambios y se procede al ingreso de una URL que est restringida para
comprobar que el servidor est haciendo su tarea. La direccin que se tom de prueba fue la
de youtube.com. Esta pgina es una pgina en donde se pueden ver vdeos que aaden
comnmente los usuario. Como este dominio fue restringido por el proxy, segn la lista de
acceso, la pgina no mostrara ningn contenido y se visualizara el siguiente mensaje de
error:
De esta manera se comprob que la configuracin del servidor squid fue efectiva y
ser la utilizada para el montaje final de toda la red.
7.2 Apache
7.2.1 Pasos previos a la instalacin, manejo y configuracin bsica de Apache
Durante el desarrollo del punto de acceso fue necesario el montaje de un servidor
web de bajas prestaciones, que servira como punto de redireccin a peticiones negadas por
el servidor proxy. Por esta razn se realiz un estudio acerca de los servidores web. Un
servidor web no es ms que una estacin dedicada, usada nicamente para el manejo
constante de hipertexto sobre la red. A partir de diversas configuraciones y esquemas de
diseos planteados en HTML (Lenguaje de Marcado de Hipertexto), un servidor web puede
proveer varias aplicaciones adaptadas a las necesidades de los clientes. La comunicacin
entre dos nodos donde una es un cliente y otro un servidor, se realiza en base lo que se
denomina protocolo de la transferencia de hipertexto, donde ambas, tienen un enlace
constante intercambindose cdigos HTML. Bsicamente un servidor web contiene toda
una serie de servicios y aplicaciones a base de HTML, los cuales pueden ser consultado por
nodos de redes exteriores si cuentan con la autorizacin requerida.
Luego de esto, se recaud informacin sobre el servidor web Apache, con el fin de
la familiarizacin y posterior desempeo de sus funciones bsicas. Los aspectos ms
resaltantes de esta investigacin estn resumidos en los siguientes puntos:
Apache es un software de uso totalmente libre, diseado para casi todas las
plataformas operativas
114
El puerto de escucha puede ser cualquiera que se requiera al igual que el nombre
del host. Para nuestros efectos no era necesario el cambio de este puerto debido a que las
peticiones al puerto 80 serian redirigidas a squid y una vez aprobadas por este, regresaran
aqu en tal caso de que la peticin involucre el virtualhost.
Siguiente a este paso se procedi a la edicin del archivo /etc/apache2/sites115
aviables/default. Este archivo contiene la configuracin de los accesos a cada una de las
secciones o directorios que tengan relacin con el virtualhost. Por medio del uso de las
directivas es posible aplicar cierto control de acceso para determinados recursos que estn
en el virtualhost. Como slo fue necesario el uso de un virtualhost sencillo de redireccin,
el archivo por default se dejo tal y como estaba excepto por las siguientes lneas donde se
especifica que nuestro servidor ser el que responda las llamadas para la URL:
http://accipoint.net/ .
<VirtualHost 172.16.1.153:80>
ServerAdmin [email protected]
ServerName accipoint.net
117
CAPITULO VIII:
Configuracin del Hardware para el punto de
acceso
8.1 mdulo Hostapd
8.1.1 Pasos previos a la instalacin y configuracin
8.1.2 Instalacin y configuracin del mdulo hostapd
6.1.3 Pruebas de la tarjeta D-LINK DWL-500
118
CAPITULO VIII
Configuracin del hardware para el punto de
8.1 Mdulo Hostapd
8.1.1 Pasos previos a la instalacin y configuracin
Muchas de las tarjetas inalmbricas son configuradas de forma automtica por el
sistema para actuar como clientes de un servicio WAP (para este caso: Wireless Access
Point), mas no se configuran de esta forma cuando tienen que actuar como el servidor
WAP, debido a que la mayora de estas tarjetas no soportan este funcionamiento. De
acuerdo con el driver de configuracin para modo Hostap (Punto de acceso), existan
muchos ms tipos de configuracin complejos y completos para funciones especficas, pero
en esta ocasin se establecieron parmetros bsicos los cuales nos permitieron desarrollar
el proyecto.
En la IEEE 802.11 se reflejan todos los aspectos concernientes a la transmisin de
datos en una red, tomando como medio el espectro radioelctrico (ver captulo II. IEEE
802.11). Es por esta sencilla razn que se investig acerca de esta norma, ya que el proyecto
est basado en la implementacin de un punto de acceso proveedor de Internet al cual los
usuarios accedan de forma inalmbrica. Lo ms destacado de esta norma es que designa
caractersticas puntuales para las dos ltimas capas del modelo OSI, la capa fsica y la capa
de enlace, en donde se sita lo relacionado con la forma y medio de transmisin de los
datos (ver anexo 1. Modelo OSI). La banda de transmisin, forma de modulacin, mtodo
de acceso al medio, medios fsicos, mecanismos de encriptacin, mecanismos de
autenticacion y velocidades maximas de transmisin de los datos, son especificados en esta
normativa.
En base a estas aclaraciones fue necesario saber cuales eran las caractersticas
fsicas soportadas por la tarjeta para su implementacin. Por lo general el sistema de Linux
ofrece soporte para casi todos los dispositivos de red que estn en el mercado. Existe un
una leve falla en esto, cuando se trata de dispositivos de mucha antigedad, o muy nuevos,
119
pero eventualmente siempre se consiguen los controladores adecuados. Para poder realizar
la gestin de un controlador cualquiera, es necesario saber qu caractersticas posee el
dispositivo a configurar. A causa de esto se requiri la bsqueda de las caractersticas de la
tarjeta D-Link DWL-500, encontrando los siguientes datos tcnicos:
Alcance en sitios cerrados 115-328 pies y para sitios abiertos de 328 a 984 pies de
radio
120
parmetros fsicos, dependiendo del uso y finalidad que se le vaya a dar. Este mdulo
provee de soporte para chispset de la familia Prims 2.x, y permite habilitar el modo Master
en las tarjetas con el chip Prims 2.5. La instalacin de este mdulo se realiz por medio del
gestor de descargas en consola aptitude, con la orden install y el parmetro correspondiente
al nombre del controlador hostapd. Bajo consola escribimos: aptitude install hostapd, de lo
que resulta la descarga e instalacin completa del mdulo.
Terminada la descarga, los archivos ms importantes que se instalaron fueron los
siguientes: /etc/hostapd/hostapd.conf , /etc/default/hostapd y /etc/init.d/hostapd, siendo el
primero de ellos donde se realizar la configuracin fsica de la tarjeta inalmbrica. Para la
configuracin de la tarjeta se procedi de la siguiente forma:
1. Modificacin de los parmetros fsicos de la tarjeta: tal modificacin se hizo
editando las opciones contenidas en el archivo de configuracin principal para
lograr que la tarjeta acte como el proveedor de servicio que se requiere, es decir,
que esta sea el servidor que administra toda la red. Tambin se podr fijar cules
son los parmetros para la transferencia de los datos como: banda de frecuencia en
la que se realizar la transferencia, modo de trabajo segn la IEE 802.11,
hw_mode=b. Determina la norma de trabajo del punto en este caso la IEEE 802.11b
121
122
estaciones
que
entren
al
punto.
Por
medio
del
comando
hostapd
-d
124
126
CAPITULO IX:
Integracin Final del los Componentes del
Punto de Acceso Inalmbrico
9.1 Esquema funcional del servidor central
9.2 Integracin de los servicios
127
CAPITULO IX
Integracin Final de los Componentes del Punto de Acceso Inalmbrico
A continuacin se realizar la integracin de los servidores mostrando como
trabaja cada uno de los servicios mediante un esquema y su posterior explicacin.
9.1 Esquema funcional del punto de acceso
El esquema funcional final es el siguiente:
Servidor Proxy
Squid3
Resolucin
de nombres
Virtualhost:
accipoint.net
Ip: 172.16.1.153
SquidGuard
Redireccin
Servidor Web
Apache
Servidor
DHCP
Firewall
Iptables
Base de Datos
Firewall
Iptables
Wlan0 : hostapd
Servidor DNS
Bind9
Eth0
Solicitudes HTTP
Solicitudes Negadas HTTP
Solicitudes respondidas HTTP
Solicitudes y respuestas DHCP
LAN
Otras conexiones
INTERNET
Firewall-Iptables: Por aqu pasarn y se filtrarn todas las conexiones que se hagan
o se pretendan hacer, tanto por parte de la LAN como por parte las redes de Internet.
El Firewall definitivo contiene las siguientes caractersticas: permite slo las
conexiones seguras http, nuevas y establecidas por parte del cliente, no existe
comunicacin por puertos de gestin remota ni hacia la LAN ni hacia internet, se
permiten los mensajes de correccin de errores (ver anexo 5. Cdigo Final del
Firewall).
Servidor DNS Bind9: El servidor qued configurado con un slo dominio en sus
archivos, que sera el que le proporcionaramos al sistema para las consultas de
resolucin de nombres (ver captulo VI, Registro del Dominio Principal).
CONCLUSION
A lo largo del desarrollo del proyecto se pudo notar que muchos de los servicios
instalados en el punto de acceso, son usados por otras plataformas de software dedicado a
servidores, lo que indica que tales paquetes son de gran calidad para el desenvolvimiento de
cualquier servidor que se desee implementar. Squid, Iptables, BIND y Apache contienen
una gran variedad de reglas que permiten su uso, bien sea de forma bsica o usando
esquemas de configuracin avanzada. En el caso de BIND y Squid, son servicios que le
brindan a cualquier red una mejora significativa en la transferencia de datos entre ella y la
red de internet, por su capacidad de almacenar contenidos web y gestionar el ancho de
banda utilizando reglas de control de flujo. Adems de esto si combinamos el trabajo a su
mximo desempeo de los paquetes Squid e Iptables podemos establecer un sistema de
seguridad de altas prestaciones, que pueda ser implementado sobre redes donde la
integridad de los datos sea prioritaria.
En la transferencia de paquetes por medio del espectro radioelctrico tambin se
deben tomar las previsiones en seguridad para la proteccin de la data, por causa de que la
misma se transmite por este medio, y prcticamente, es asequible para todo el mundo si no
se protege de manera efectiva. El mtodo de proteccin de datos usado en este proyecto fue
el WEP, que ya es bastante viejo y es muy fcil de violar, por lo que se recomienda usar
mtodos ms nuevos y de mayor nivel de seguridad como el WAP o WAP2. Se utiliz este
mtodo debido a que el dispositivo inalmbrico slo soporta este tipo de encriptacin, los
dispositivos inalmbricos de ahora ya pueden trabajar con nuevos mtodos de encriptacion
y se pueden configurar usando el mismo software que se uso en este proyecto.
Son muchos los problemas de seguridad que las redes de hoy presentan, poniendo
en riesgo la integridad de muchas empresas y personas. Es por esto que constantemente se
debe investigar acerca de nuevos programas que erradiquen tales fallas, para as no
perjudicar nuestros sistemas y los de los dems. Los conocimientos que me quedan de todo
este proyecto son muy provechosos en mi formacin profesional y adems sern tomados
como puntos de partida para el desarrollo de nuevos sistemas que puedan mejorar
significativamente los que se han establecido actualmente. Realmente me cost bastante la
130
131
REFERENCIAS BIBLIOGRAFICAS
SUAREZ,
I.
2006.
Redes
de
informtica.
http://www.monografias.com/trabajos40/redes-informaticas/redes-informaticas.shtml.
BUETTRICH, S. y ESCUDERO, A. Octubre 2006. Trilacar: Materiales de
Capacitacin Tcnica. http://www.wilac.net/index_pdf.html.
RICARDO,
G.
Marzo
2010.
Redes
Wireless
con
Linux.
http://bulma.net/body.phtml?nIdNoticia=1309
STINGA
RUIZ,
M.
Curso
de
Iptables.
Enero
2010.
http://yoshitinux.files.wordpress.com/2009/01/curso-de-iptables1.pdf
PELLO,
X.
Marzo
2010
Iptables:
Manual
Practico.
de
Netfilter.
http://www.pello.info/filez/firewall/iptables.html
VALERA,
R.
Febrero
2010.
Curso
Avansado
Linux:
http://www.usc.es/estaticos/atic/sistemas/cursolinux/avanzado_2a_ed/firewalls.pdf
NEGREIRA.
J.
Febrero
2010.
Iptablesdesde
Cero.
http://www.fentlinux.com/listing/manuales/iptables.pdf
ROBLES, D. Enero 2009. Implementacin de una Central Telefnica Privada
(PBX) con Tecnologa de Voz sobre Ip Usando Herramientas de Software Libre.
132