Professional Documents
Culture Documents
1 Introducci
on
1.1 Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Metodologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Descripci
on de tesis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Fundamentos te
oricos
41
3.1 Instalaci
on de Fedora Core 4 de Linux . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Configuraci
on de tarjetas de red
. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Activaci
on de Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Puente de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1
INDICE
3.5 Instalaci
on de NocatAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6 Configuraci
on de NocatAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7 Configuraci
on de apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.8 Puesta en marcha de NoCatAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.9 Funcionalidad de la puerta de enlace . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.10 Instalaci
on y configuraci
on de webmin . . . . . . . . . . . . . . . . . . . . . . . . 52
3.11 SARG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.12 ClamAv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.13 Bases de datos en MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.14 Dise
no PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.15 Instalaci
on y configuraci
on de Squid . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.16 Configuraci
on del cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.17 Configuraci
on del cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4 Resultados obtenidos
87
4.1 An
alisis de requerimientos sobre Fedora Core 4 de Linux. . . . . . . . . . . . . . 87
4.2 Instalaci
on de Fedora Core 4 de Linux. . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3 Plataforma Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4 Programaci
on sobre Fedora Core 4 de Linux. . . . . . . . . . . . . . . . . . . . . 88
4.5 PHP como herramienta de programaci
on. . . . . . . . . . . . . . . . . . . . . . . 89
4.6 Montar el servidor Squid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.7 Grupos y permisos de usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.8 Monitoreo de red. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.9 Acceso a p
aginas con virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.10 Restricci
on del ancho de banda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.11 Control de acceso a mensajeros instant
aneos a traves de su n
umero de puerto . . 101
4.12 Restricci
on de direcciones ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.13 Restricci
on de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.14 Restricci
on de p
aginas de Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5 Conclusiones
109
Lista de Figuras
2.1 Comparaci
on entre un sistema de archivos y el sistema de nombres de dominio . 27
2.2 Sistema de archivos tradicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Sistema de nombres de dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Estructura jer
arquica del DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1 Limpiar iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 P
agina principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3 P
agina de bienvenida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4 Autenticaci
on del administrador . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5 Men
u del administrador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6 Restringir una direcci
on ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.7 Restricci
on de un rango de direcciones ip
. . . . . . . . . . . . . . . . . . . . . . 61
LISTA DE FIGURAS
3.20 Autenticaci
on del usuario privilegiado . . . . . . . . . . . . . . . . . . . . . . . . 75
3.21 Men
u del usuario privilegiado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.22 Restringir una direcci
on ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.23 Restringir un rango de direcciones ip . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.24 Desbloquear direcciones ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.25 Cambiar contrase
na del usuario privilegiado . . . . . . . . . . . . . . . . . . . . . 80
4.1 Top p
aginas accesadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.2 Top acceso de sesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3 Sitios de Internet y sesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.4 Descargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5 Tiempo de conexi
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.6 Sitios denegados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.7 Ancho de banda utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.8 Velocidades de transmisi
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.9 Comparaci
on de la variaci
on de la velocidad de transmisi
on . . . . . . . . . . . . 101
4.10 Acceso de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.11 Direcci
on denegada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.12 Direcci
on denegada (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.13 Usuario restringido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.14 Restringir www.playboy.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.15 Restringir www.download.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
LISTA DE FIGURAS
Captulo 1
Introducci
on
1.1
Introducci
on
En la era que nos toca vivir, la llamada sociedad de la tecnologa o del conocimiento,
CAPITULO 1. INTRODUCCION
a esta tecnologa, ya que algunos utilizan la Internet solo para los mensajeros instant
aneos,
descargar m
usica, pelculas, videos, etc. Muchos gobiernos han procurado sin exito poner
restricciones en el uso de estas industrias en Internet, de tal manera que, una soluci
on a esto
seria restringir todos estos accesos a traves de software y hardware implantado en las mismas
instituciones educativas como metodos de administraci
on y seguridad en los accesos de los
usuarios.
1.2
seguridad sobre las sesiones de Internet, lo cual provoca que los estudiantes puedan acceder y
descargar cualquier tipo de contenido o informaci
on.
Esto provoca que cuando un profesor esta impartiendo clase, la mayora de los estudiantes
pierden el interes del curso al preferir navegar en la red, lo que provoca un deficit en el proceso
de ense
nanza-aprendizaje y en el uso adecuado del Internet.
Por esta raz
on este proyecto de investigaci
on y desarrollo esta orientado hacia la administraci
on de sesiones en Internet mediante filtros1 y el uso de un servidor bajo ambiente
Linux, todo ello orientado a mejorar los procesos de ense
nanza-aprendizaje de la Universidad Aut
onoma de Zacatecas Campus Jalpa; dentro de las pretensiones del proyecto se quiere
generar en el campus universitario la cultura del uso adecuado de las herramientas de Internet
y al mismo tiempo restringir y registrar actos que denigren la imagen de la instituci
on.
Justificaci
on
Algunas de las conveniencias para montar un servidor Squid2 en Linux como software
libre, son:
Usar el sistema operativo con cualquier prop
osito.
Estudiar y adecuar su funcionamiento.
1 Un
filtro, es un programa o conjunto de estos, que procesan una serie de datos generando una salida
Redistribuci
on.
Mejorar el programa y hacer publicas las mejoras.
En virtud de que la mayora de los sistemas de monitoreo y control de PCs (Personal Computers, Computadoras Personales) son creados bajo el Sistema Operativo Windows, el montar
un servidor Squid de Linux para el control y monitoreo de sesiones de Internet repercutir
a en
el aprendizaje de nuevas tecnologas que traer
an beneficios a los usuarios finales.
1.3
Propuesta de tesis
Montar un servidor Squid en conjunto con las herramientas SARG, ClamAv, progra-
1.4
Metodologa
Objetivos especficos
Analizar los requerimientos de Fedora Core 4 Linux.
Instalar Fedora Core 4 de Linux.
Conocer el ambiente Linux.
Conocer la programaci
on en Fedora Core 4 de Linux.
Utilizar PHP como lenguaje y herramienta de programaci
on.
Montar un servidor Squid.
Otorgar permisos a cada grupo de usuarios.
Administrador.
Control total sobre computadoras y sesiones.
Privilegiados.
Control sobre computadoras.
Alumnos.
CAPITULO 1. INTRODUCCION
6
Ning
un control, solo acceso.
Monitoreo y control.
1.5
Descripci
on de tesis
En el captulo 2 se da una descripci
on sobre los elementos te
orico-b
asicos relacionados
DE TESIS
1.5. DESCRIPCION
CAPITULO 1. INTRODUCCION
Captulo 2
Fundamentos te
oricos
2.1
Software libre
Software libre [1], es el software que, una vez obtenido, puede ser usado, copiado, estu-
diado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente en Internet, o a precio de costo de la distribuci
on a traves de otros medios; sin embargo no
es obligatorio que sea as y, aunque conserve su car
acter de libre, puede ser vendido comercialmente. An
alogamente, el software gratuito denominado usualmente freeware incluye en algunas
ocasiones el c
odigo fuente; sin embargo, este tipo de software no es libre en el mismo sentido
que el software libre, al menos que se garanticen los derechos de modificacion y redistribuci
on
de dichas versiones modificadas del programa.
CAPITULO 2. FUNDAMENTOS TEORICOS
10
2.2
tersticas muy peculiares lo diferencan del resto de los sistemas operativos que se pueden
encontrar en el mercado; la primera, es que es libre, esto significa que no se deben de pagar
licencias a ninguna empresa desarrolladora de software por el uso del mismo, la segunda, es que
el sistema operativo parte de su c
odigo fuente.
Linux es un sistema de tipo UNIX, y por tanto, posee las caractersticas tpicas de los
sistemas UNIX. Se trata de un sistema multiusuario y multitarea de prop
osito general. Algunas
de sus caractersticas especficas m
as relevantes son las siguientes:
Cuenta con un c
odigo independiente del procesador en la medida de lo posible. Aunque
inicialmente se desarroll
o para procesadores Intel, se ha transportado a otras arquitecturas
con un esfuerzo relativamente peque
no.
Se puede adaptar a computadoras de muy diversas caractersticas. Como el desarrollo
inicial se realiz
o en computadoras con recursos limitados, ha resultado un sistema que
puede trabajar en computadoras con prestaciones muy diferentes.
Permite incluir de forma din
amica nuevas funcionalidades al n
ucleo del sistema operativo
gracias al mecanismo de los m
odulos.
Proporciona soporte para una gran variedad de tipos de sistemas de archivos, entre ellos
los utilizados en Windows.
Es capaz de manejar distintos formatos de archivos ejecutables.
Proporciona soporte para multiprocesadores utilizando un esquema de multiproceso simetrico.
Para aprovechar al m
aximo el paralelismo del hardware, se ha ido modificando progresivamente el n
ucleo con el objetivo de aumentar su concurrencia interna.
11
CAPITULO 2. FUNDAMENTOS TEORICOS
12
Ubuntu.
Rxart.
Slackware.
Mandrivia.
Knoppix.
Gentoo.
Herramientas de red
2.3. RED DE AREA
LOCAL
13
mismo servidor durante sesiones posteriores. SSH hace relativamente sencilla la tarea de cifrar
diferentes tipos de comunicaci
on, que normalmente se enva en modo inseguro a traves de redes
p
ublicas.
Apache
La combinaci
on del servidor apache con el m
odulo de seguridad de SSL (Secure Socket
Layer, Capa de Conexiones Seguras), libreras y el kit de herramientas OpenSSL proporcionados
por Red Hat Linux, es lo que se conoce como Servidor de Web Seguro (Secure Web Server).
Este servidor incluye el OpenSSL Project [4], un kit de herramientas que implementa los
protocolos SSL y TLS (Transport Layer Secure, Capa de Transporte Segura), as como una
librera de codificaci
on de prop
osito general. El protocolo SSL se usa actualmente para la
transmisi
on de datos seguros sobre Internet, el protocolo TLS es un est
andar de Internet para
comunicaciones privadas y fiables a traves de Internet.
Squid
Squid es un servidor que permite utilizar una sola conexi
on a Internet para todas las
estaciones de los centros de acceso para la navegaci
on por Internet, siendo confiable, robusto
y vers
atil. Al ser software libre, su c
odigo fuente esta disponible y libre del pago de costosas
licencias por uso o con restricci
on a un uso con determinado n
umero de usuarios.
Beneficios:
Acceso transparente a Internet, por medio de cualquier programa, y a cualquier servicio.
Posibilidad de un control absoluto de los accesos a Internet, por fecha, hora, lugar, e
incluso persona.
Capacidad de control de p
aginas prohibidas.
2.3
Red de
area local
para interconectar equipos en una misma area y que no utiliza medios de telecomunicaciones
externos. Como su nombre lo indica; su ambito es limitado, aunque no por ello, no pueda llegar
CAPITULO 2. FUNDAMENTOS TEORICOS
14
2.3. RED DE AREA
LOCAL
15
CAPITULO 2. FUNDAMENTOS TEORICOS
16
topologa l
ogica, que define la forma en que las computadoras acceden a los medios para enviar
datos. Las topologas m
as comunes son las siguientes:
Topologas fsicas
Una topologa de bus usa un solo cable backbone que debe terminarse en ambos extremos.
Todas las computadoras se conectan directamente a este backbone.
La topologa de anillo conecta una computadora con la siguiente y a la u
ltima computadora
con la primera. Esto crea un anillo fsico de cable.
La topologa en estrella conecta todos los cables con un punto central de concentraci
on.
Una topologa en estrella extendida conecta estrellas individuales entre s mediante la
conexi
on de hubs o switches. Esta topologa puede extender el alcance y la cobertura de
la red.
Una topologa jer
arquica es similar a una estrella extendida, pero en lugar de conectar
los hubs o switches entre s, el sistema se conecta con una computadora que controla el
tr
afico de la topologa.
La topologa de malla se implementa para proporcionar la mayor protecci
on posible para
evitar una interrupci
on del servicio.
Topologas l
ogicas
La topologa l
ogica de una red es la forma en que las computadoras se comunican a traves
del medio de transmisi
on. Los dos tipos m
as comunes de topologas l
ogicas son broadcast y
transmisi
on de tokens.
La topologa broadcast simplemente significa que cada computadora enva sus datos hacia
todas las dem
as computadoras del medio de red. No existe un orden que las computadoras
deban seguir para utilizar la red. Es por orden de llegada, es como funciona Ethernet.
La topologa de transmisi
on de tokens controla el acceso a la red mediante la transmisi
on
de un token electr
onico a cada computadora de forma secuencial. Cuando una computadora recibe el token, esa computadora puede enviar datos a traves de la red. Si la
2.3. RED DE AREA
LOCAL
17
Componentes
Servidor: el servidor es una o varias computadoras que van a compartir sus recursos
hardware y software con los dem
as equipos de la red. Sus caractersticas son potencia de
c
alculo, importancia de la informaci
on que almacena y conexi
on con recursos que se desean
compartir.
Estaci
on de trabajo: los equipos que toman el papel de computadora cliente aprovechan
o tienen a su disposici
on los recursos que ofrece la red, as como los servicios que proporcionan
los servidores a los cuales pueden acceder.
Bridge o puente: es un hardware y software que permite que se conecten dos LAN entre
s. Un puente interno es el que se instala en un servidor de la red, y un puente externo es el
que se hace sobre una computadora de la misma red. Los puentes tambien pueden ser locales
o remotos. Los puentes locales son los que conectan a redes de un mismo edificio, usando
tanto conexiones internas como externas. Los puentes remotos conectan redes distintas entre
s, llevando a cabo la conexi
on a traves de redes p
ublicas, como la red telef
onica, RDSI o red
de conmutaci
on de paquetes.
Tarjeta de red: tambien se denominan NIC (Network Interface Card, Tarjeta de Interfaz de Red), b
asicamente realiza la funci
on de intermediario entre la computadora y la red de
comunicaci
on. En ella se encuentran grabados los protocolos de comunicaci
on de la red. La comunicaci
on con la computadora se realiza normalmente a traves de las ranuras de expansi
on que
esta dispone, ya sea ISA (Industry Standard Architecture, Arquitectura Est
andar Industrial),
PCMCIA (Personal Computer Memory Card International Association, Asociaci
on Internacional de Tarjetas de Memoria para Computadoras Personales) o PCI (Peripheral Component
CAPITULO 2. FUNDAMENTOS TEORICOS
18
Interconnect, Interconexi
on de Componentes Perifericos). Aunque algunos equipos disponen de
este adaptador integrado directamente en la placa base.
El medio: constituido por el cableado y los conectores que enlazan los componentes de
la red. Los medios fsicos m
as utilizados son el cable de par trenzado, cable coaxial y la fibra
optica.
Concentradores de cableado: una LAN en bus usa solamente tarjetas de red en las estaciones y cableado coaxial para interconectarlas, adem
as de los conectores; sin embargo, este
metodo complica el mantenimiento de la red ya que si falla alguna conexi
on, toda la red deja
de funcionar. Para impedir este tipo de problemas las LAN usan concentradores de cableado
para realizar las conexiones de las computadoras, el concentrador las centraliza en un u
nico dispositivo manteniendo indicadores luminosos de su estado e impidiendo que una de ellas pueda
hacer fallar toda la red.
Existen dos tipos de concentradores de cableado:
1. Concentradores pasivos: act
uan como un simple concentrador cuya funci
on principal consiste
en interconectar toda la red.
2. Concentradores activos: adem
as de su funci
on b
asica de concentrador tambien amplifican y
regeneran las se
nales recibidas antes de ser enviadas.
Los concentradores de cableado tienen dos tipos de conexiones: para las estaciones y
para unirse a otros concentradores y as aumentar el tama
no de la red. Los concentradores de
cableado se clasifican dependiendo de la manera en que internamente realizan las conexiones y
distribuyen los mensajes.
2.4
Administraci
on de redes
La administraci
on de redes [7] abarca un amplio n
umero de cuestiones. En general, se
DE REDES
2.4. ADMINISTRACION
19
CAPITULO 2. FUNDAMENTOS TEORICOS
20
recoger informaci
on crtica de una forma estandarizada. Se ordena la emisi
on de datagramas UDP (User Datagram Protocol, Protocolo de Datagramas de Usuario) desde un programa
de administraci
on de redes que se encuentra ejecutando en alguna de las computadoras de red.
Generalmente, la interacci
on es bastante simple, con el intercambio de un par de datagramas:
una orden y una respuesta. El mecanismo de seguridad tambien es bastante simple, siendo
posible que se incluyan contrase
nas en las ordenes. Tambien existen mecanismos de seguridad
mas elaborados, basados en la criptografa.
Probablemente se quiera configurar la administraci
on de la red con las herramientas que
se tienen a disposici
on para controlar diversas actividades. Para redes con pocas terminales,
se quieren controlar cuando los dispositivos de conmutaci
on fallan, esten fuera de servicio por
mantenimiento y cuando haya fallos en las lneas de comunicaci
on u otro hardware. Es posible
configurar SGMP y SNMP para que usen trap (mensajes no solicitados) para una computadora en particular o para una lista de computadoras cuando ocurre un evento crtico (por
ejemplo, lneas activas o desactivas). No obstante, no es realista esperar que un dispositivo de
conmutaci
on nos notifique cuando falla. Tambien es posible que los mensajes trap se pierdan
por un fallo en la red, o por sobrecarga, as que no se puede depender completamente de los
traps. No obstante, es conveniente que los dispositivos de conmutaci
on re
unan regularmente
este tipo de informaci
on. Hay varias herramientas que visualizan un mapa de la red, donde los
objetos cambian de color cuando cambian de estado, y hay cuadros que muestran estadsticas
sobre los datagramas y otros objetos.
Otro tipo de monitorizaci
on deseable es recolectar informaci
on para hacer informes peri
odicos
del porcentaje de uso de la red y prestaciones. Para ello, se necesita analizar cada dispositivo
de conmutaci
on y solo tomar los datos de interes.
Sera posible que cualquier tipo de conmutador pudiese usar cualquier tipo de tecnica
de monitorizaci
on, sin embargo, generalmente los repetidores no proporcionan ning
un tipo de
estadstica, debido a que normalmente no tienen ning
un procesador para abaratar su precio.
Por otro lado, es posible usar un software de administraci
on de redes con repetidores con buffer,
puentes y puertas de enlace. Las puertas de enlace, en la mayora de los casos, incluyen un
avanzado software de administraci
on de redes, adem
as pueden manejar IP y los protocolos
de monitorizaci
on anteriormente mencionados y la mayora de los puentes tienen medios para
poder recoger algunos datos de prestaciones. Puesto que los puentes no est
an dirigidos a ning
un
21
protocolo en particular, la mayora de ellos no tienen el software necesario para implementar los
protocolos TCP/IP de administraci
on de redes. En algunas ocasiones, la monitorizaci
on puede
hacerse tecleando algunos comandos a una consola a la que este directamente conectada, en los
restantes casos, es posible recoger datos a traves de la red, pero el protocolo requerido no suele
ser ning
un est
andar.
2.5
Seguridad en redes
Las redes de comunicaciones p
ublicas tradicionalmente no han sido seguras, en el sentido
Cortafuegos
Un cortafuegos [8] es un dispositivo que permite o restringe las transmisiones de una red
a otra. Un uso tpico es situarlo entre una LAN y la red Internet, como dispositivo de seguridad
para evitar que los intrusos puedan acceder a informaci
on confidencial.
Un cortafuegos es simplemente un filtro que controla todas las comunicaciones que pasan
de una red a la otra y en funci
on de lo que se permite o deniega a su paso. Para permitir o
denegar una comunicaci
on el cortafuegos examina el tipo de servicio al que corresponde, como
pueden ser el Internet o el correo. Dependiendo del servicio el cortafuegos decide si lo permite
o no, adem
as, el cortafuegos examina si la comunicaci
on es entrante o saliente y dependiendo
de su direcci
on puede permitirla o no.
De este modo un cortafuegos puede permitir desde una LAN hacia Internet servicios de
web, correo, ftp, etc. Tambien se pueden configurar los accesos que se hagan desde Internet
hacia la LAN y se pueden denegar todos o permitir algunos servicios como el de Internet.
CAPITULO 2. FUNDAMENTOS TEORICOS
22
Portales captivos
Un portal cautivo (o captivo) [9] es un programa o computadora de una red inform
atica
que vigila el tr
afico HTTP (Hypertext Transfer Protocol, Protocolo de Transferencia de Hipertexto) y forza a los usuarios a pasar por una p
agina especial si quieren navegar por Internet de
forma normal. A veces esto se hace para pedir una autenticaci
on v
alida, o para informar de las
condiciones de uso de un servicio wireless1 .
Nocat
Nocat [10] es un software que permite autenticar el acceso a una red va un portal cautivo,
tromagn
eticas, radiaciones o medios o
pticos.
23
tendido enormemente a partir del kernel 2.4 de este sistema operativo. Al igual que el sistema
ipchains, un cortafuegos de iptables no es como un servidor que se inicia o se detiene, iptables
esta integrado con el kernel, es parte del sistema operativo. Para ponerlo en marcha se aplican reglas, para ello se ejecuta el comando iptables, con el que se a
naden, borran, o se crean
reglas, por ello un cortafuegos de iptables no es sino un simple script de shell 3 en el que se van
ejecutando las reglas de cortafuegos.
Una computadora Linux con soporte para iptables, tiene reglas aplicadas, cuando comienzan a llegar, pasar y salir paquetes, actuan las reglas del cortafuegos que est
an a nivel de kernel,
cuando el kernel recibe un paquete, consulta las reglas de cortafuegos y decide que hacer con
el.
Este es el camino que seguira un paquete en el kernel:
inform
atica, el n
ucleo es la parte fundamental de un sistema operativo. Es el software responsable de
CAPITULO 2. FUNDAMENTOS TEORICOS
24
2.6. SERVIDORES
2.6
25
Servidores
Un servidor [13] es una aplicaci
on inform
atica o programa que realiza algunas tareas en
beneficio de las aplicaciones de los clientes. Algunos servicios habituales son, los servicios de
archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora,
y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Es
posible que una computadora cumpla simult
aneamente las funciones de cliente y de servidor.
Un servidor es tambien, la computadora en la que se ejecuta un programa que realiza
alguna tarea en beneficio de otra aplicaci
on llamada cliente, la cual puede ser una computadora
central (mainframe), una minicomputadora, una computadora personal, o un sistema integrado;
sin embargo, hay computadoras destinadas u
nicamente a proveer servicios a ciertos tipos de
programas, estos son los servidores por antonomasia.
Un servidor no es necesariamente una computadora de u
ltima generaci
on como una supercomputadora; un servidor puede ir desde una computadora con caractersticas limitadas (microcomputadora), hasta una computadora sumamente potente (supercomputadora). La elecci
on
de algun tipo, estar
a determinado por los procesos y tareas que vaya a realizar.
Un servidor tambien puede ser un proceso que entrega informaci
on o sirve a otro proceso,
el modelo cliente-servidor no necesariamente implica tener dos computadoras, ya que un proceso
cliente puede ser solicitado desde la misma computadoras, tal es el caso de las impresiones.
Tipos de servidores
Plataformas de servidor (Server Platforms): un termino usado a menudo como sin
onimo
de sistema operativo, la plataforma es el hardware o software subyacentes para un sistema, es
decir, el motor que dirige el servidor.
Servidores de aplicaciones (Application Servers): designados en ocaciones como un tipo
de middleware 4 , los servidores de aplicaciones ocupan una gran parte del territorio entre los
4 El
middleware es un software de conectividad que ofrece un conjunto de servicios que hacen posible el
CAPITULO 2. FUNDAMENTOS TEORICOS
26
servidores de bases de datos y el usuario.
2.6. SERVIDORES
27
CAPITULO 2. FUNDAMENTOS TEORICOS
28
Lo que concibi
o su creador, Paul Mockapetris [15], b
asicamente, fue un sistema jer
arquico
similar a un sistema de archivos de computadora. En esta estructura jer
arquica defini
o niveles,
de la misma forma que en un sistema de archivos hay directorios (figura 2.4).
De esta forma, los nombres de dominio se construyen por una secuencia de etiquetas
separadas por un punto, empezando en el nivel m
as profundo hasta llegar al nivel superior.
Por ejemplo, en la figura 2.4, se puede apreciar que el nombre de dominio empresa.com.mx. se
forma desde el u
ltimo nivel llamado empresa, despues el SLD .com y por u
ltimo el TLD .mx.
29
2.6. SERVIDORES
CAPITULO 2. FUNDAMENTOS TEORICOS
30
2.7. INTERNET
31
Desventajas:
Abuso. Al estar dispuesto a recibir peticiones de muchos usuarios y responderlas, es
posible que haga alg
un trabajo que no toque. Por tanto, ha de controlar quien tiene
acceso y quien no a sus servicios, cosa que normalmente es muy difcil.
Carga. Un proxy ha de hacer el trabajo de muchos usuarios.
Intromisi
on. Es un paso m
as entre origen y destino, y algunos usuarios pueden no querer
pasar por el proxy.
Irregularidad. El hecho de que el proxy represente a m
as de un usuario puede generar
problemas.
Squid
Squid es un servidor que permite utilizar una sola conexi
on a Internet para todas las
estaciones de los centros de acceso para la navegaci
on por Internet. Es muy confiable, robusto
y versatil. Al ser software libre, adem
as de estar disponible el c
odigo fuente, est
a libre del pago
de costosas licencias por uso o con restricci
on a un uso con determinado n
umero de usuarios.
Beneficios:
Acceso transparente a Internet, por medio de cualquier programa, y a cualquier servicio.
Posibilidad de un control absoluto de los accesos a Internet, por fecha, hora, lugar, e
incluso persona.
Capacidad de control de p
aginas prohibidas.
2.7
Internet
La mejor definici
on se obtiene si se disecciona la propia palabra Internet: inter viene del
CAPITULO 2. FUNDAMENTOS TEORICOS
32
Internet sirve para el ocio, para el negocio y para el trabajo. Como fuente de ocio, se
puede disfrutar de excelentes momentos de entretenimiento localizando cantidades de juegos o
programas sobre los temas de interes, jugar interactivamente con usuarios de cualquier parte
del mundo, charlar con ellos, etc. Como fuente de negocio, Internet es un enorme mercado
potencial. Internet es un campo abierto para nuevos e innovadores negocios, y para el trabajo,
Internet es una fuente inagotable de informaci
on.
El servidor puede personalizarse mejor para las necesidades de cada sitio de Internet.
Por ejemplo, los sitios de Internet que necesitan m
as que nada escalibildad pueden usar un
MPM hebrado como worker, mientras que los sitios de Internet que requieran por encima de
otras cosas estabilidad o compatibilidad con software antiguo pueden usar prefork. Adem
as,
2.8. LENGUAJE DE PROGRAMACION
33
se pueden configurar funcionalidades especiales como servir diferentes estaciones con diferentes
identificadores de usuario (perchild).
2.8
Lenguaje de programaci
on
Un lenguaje de programaci
on [19] es un lenguaje que puede ser utilizado para contro-
CAPITULO 2. FUNDAMENTOS TEORICOS
34
Seg
un el nivel de abstraci
on
Lenguajes de bajo nivel
2.8. LENGUAJE DE PROGRAMACION
35
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de
Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que
luego de haber compilado el programa, ya no aparecen errores en el c
odigo.
Lenguajes interpretados
Se puede tambien utilizar una alternativa diferente de los compiladores para traducir lenguajes
de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el c
odigo
objeto que se produce durante la corrida de compilaci
on para utilizarlo en una corrida de
producci
on futura, el programador s
olo carga el programa fuente en la computadora junto
con los datos que se van a procesar, a continuaci
on, un programa interprete, almacenado en
el sistema operativo del disco, o incluido de manera permanente dentro de la computadora,
convierte cada proposici
on del programa fuente en lenguaje de m
aquina conforme vaya siendo
necesario durante el proceso de interpretaci
on de datos. No se graba el c
odigo objeto para
utilizarlo posteriormente.
La siguiente vez que se utilice una instrucci
on, se le debe interpretar otra vez y traducir
a lenguaje m
aquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo,
cada instrucci
on del ciclo tendr
a que volver a ser interpretado cada vez que se ejecute el ciclo,
lo cual hace que el programa sea m
as lento en tiempo de ejecuci
on (porque se va revisando
el c
odigo en tiempo de ejecuci
on) pero m
as r
apido en tiempo de dise
no (porque no se tiene
que estar compilando a cada momento el c
odigo completo). El interprete elimina la necesidad
de realizar una corrida de compilaci
on despues de cada modificaci
on del programa cuando se
quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado
con antelaci
on deber
a ejecutarse con mucha mayor rapidez que uno que se debe interpretar a
cada paso durante una corrida de producci
on.
Seg
un el paradigma de programaci
on
Lenguajes imperativos.
Lenguajes declarativos.
Funcionales.
Logicos.
CAPITULO 2. FUNDAMENTOS TEORICOS
36
Lenguajes orientados a objetos
En la Programaci
on Orientada a Objetos (POO u OOP seg
un siglas en ingles) se definen los
programas en terminos de clases de objetos, objetos que son entidades que combinan estado
(es decir, datos) comportamiento (esto es, procedimientos o metodos) e identidad (propiedad del
objeto que lo diferencia del resto). La programaci
on orientada a objetos expresa un programa
como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite
la programaci
on modular, lo que lleva a la f
acil escritura y reutilizaci
on de c
odigo.
2.9
Scripts
Un script de Linux equivale a un archivo *.BAT5 de MSDOS, con las siguientes diferencias:
2.10
MySQL
2.10. MYSQL
37
El lenguaje de programaci
on que utiliza es SQL (Structured Query Language, Lenguaje de
Consulta Estructurado)6 desarrollado por IBM en 1981 y desde entonces es utilizado de forma
generalizada en las bases de datos relacionales.
Historia de MySQL
MySQL surgi
o alrededor de la decada de los 90s, Michael Windenis comenz
o a usar
mSQL7 para conectar tablas usando sus propias rutinas de bajo nivel ISAM (Indexed Sequential
Access Method, Metodo de Acceso Secuencial Indexado). Tras sus primeras pruebas, lleg
o a la
conclusi
on de que mSQL no era lo bastante flexible ni r
apido para lo que necesitaba, por lo que
tuvo que desarrollar nuevas funciones. Esto result
o en una interfaz SQL aplicada a su base de
datos, totalmente compatible a mSQL.
El origen del nombre MySQL no se sabe con certeza de donde proviene, por una lado se
dice que en sus libreras han llevado el prefijo My durante los diez u
ltimos a
nos, por otra parte,
la hija de uno de los desarrolladores se llama My. As, que no esta claramente definido cual de
estas dos causas di
o lugar al nombre de este conocido gestor de bases de datos.
Caractersticas principales:
Inicialmente, MySQL careca de algunos elementos esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de esto, atrajo a los programadores de p
aginas de Internet con contenido din
amico, debido a su simplicidad, de tal manera
que los elementos faltantes fueron complementados por la va de las aplicaciones que la utilizan.
Poco a poco estos elementos faltantes, est
an siendo incorporados tanto por desarrolladores internos, como por desarrolladores de software libre.
El principal objetivo de MySQL es velocidad y robustez.
Soporta gran cantidad de tipos de datos para las columnas.
Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y sistemas
operativos.
Cada base de datos cuenta con 3 archivos: uno de estructura, uno de datos y uno de
ndice y soporta hasta 32 ndices por tabla.
6 http://es.wikipedia.org/wiki/SQL
7 El
CAPITULO 2. FUNDAMENTOS TEORICOS
38
Ventajas:
Velocidad al realizar las operaciones, lo que lo convierte en uno de los gestores con mejor
rendimiento.
Bajo costo en requerimientos para la elaboraci
on de bases de datos, ya que debido a su
bajo consumo puede ser ejecutado en una computadora con escasos recursos sin ning
un
problema.
Facilidad de configuraci
on e instalaci
on.
Soporta gran variedad de sistemas operativos.
Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio
gestor, sino en el sistema que lo aloja.
Conectividad y seguridad.
Desventajas:
Un gran porcentaje de las utilidades de MySQL no est
an documentadas.
No es intuitivo, como otros programas (Microsoft Access).
2.11
PHP
2.11. PHP
39
El f
acil uso y la similitud con los lenguajes m
as comunes de programaci
on estructurada,
como C y Perl, permiten a la mayora de los programadores experimentados crear aplicaciones
complejas con una curva de aprendizaje muy suave. Tambien les permite involucrarse con
aplicaciones de contenido din
amico sin tener que aprender todo un nuevo grupo de funciones y
pr
acticas.
Debido al dise
no de PHP, tambien es posible crear aplicaciones con una GUI (Graphic User
Interface, interfaz gr
afica de usuario), utilizando la extensi
on PHP-GTK. Tambien puede ser
usado desde la lnea de comandos, de la misma manera como Perl o Python pueden hacerlo, esta
versi
on de PHP se llama PHP CLI (Command Line Interface, Interfaz de Lnea de Comandos).
Su interpretaci
on y ejecuci
on se da en el servidor, en el que se encuentra almacenado el
script, y el cliente s
olo recibe el resultado de la ejecucion. Cuando el cliente hace una petici
on
al servidor para que le enve una p
agina de Internet, generada por un script PHP, el servidor
ejecuta el interprete de PHP, el cual procesa el script solicitado que generar
a el contenido de
manera din
amica, pudiendo modificar el contenido a enviar, y regresa el resultado al servidor,
el cual se encarga de regresarlo al cliente. Adem
as es posible utilizar PHP para generar archivos
PDF, Flash, as como im
agenes en diferentes formatos, entre otras cosas.
Permite la conexi
on a diferentes tipos de servidores de bases de datos tales como MySQL,
Postgres, Oracle, ODBC (Open DataBase Connectivity, Conectividad Abierta de Bases de
Datos), DB2, Microsoft SQL Server, Firebird y SQLite; lo cual permite la creaci
on de aplicaciones de Internet muy robustas.
PHP tambien tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos
tales como UNIX (y de ese tipo, como Linux), Windows y Mac OS/X, y puede interactuar
con los servidores de web m
as populares ya que existe en versi
on CGI, m
odulo para apache, e
ISAPI.
El modelo PHP puede ser visto como una alternativa al sistema de Microsoft que utiliza
ASP.NET/C#/VB.NET, a ColdFusion de la compa
na Macromedia, a JSP/Java de Sun Microsystems, y al famoso CGI/Perl. Aunque su creaci
on y desarrollo se da en el ambito de los
sistemas libres, bajo la licencia GNU, existe adem
as un IDE comercial llamado Zend Optimizer.
40
Captulo 3
Desarrollo e implementaci
on
3.1
Instalaci
on de Fedora Core 4 de Linux
Se debe obtener la version de Fedora Core 4 que se puede descargar del siguiente enlace:
3.2
Configuraci
on de tarjetas de red
El servidor cuenta con dos tarjetas de red, una dedicada a la conexi
on a Internet y la otra
CAPITULO 3. DESARROLLO E IMPLEMENTACION
42
Red.
DE SERVICIOS
3.3. ACTIVACION
3.3
43
Activaci
on de Servicios
Para que la puerta de enlace funcione correctamente se deben de activar ciertos servicios,
CAPITULO 3. DESARROLLO E IMPLEMENTACION
44
3.4
Puente de red
Hasta aqui se ha configurado la parte b
asica de lo que ser
a la puerta de enlace y ahora
options {
forward only;
forwarders{10.1.3.1;};
45
CAPITULO 3. DESARROLLO E IMPLEMENTACION
46
make install.
Perl-Net-Netmask
3.5
Instalaci
on de NocatAuth
Descargar el paquete NoCatAuth-nightly.tgz del siguiente enlace, http://nocat.net/download/NoCatAuth-
nightly.tgz, colocarlo en /root/, dentro de una ventana de terminal descomprimir con: tar
zxvf NoCatAuth-nightly.tgz, una vez descomprimido entrar en el directorio tecleando: cd
NoCatAuth-nightly, una vez dentro del directorio acceder a /bin/ y se deber
a de modificar
el fichero detect-fw.sh siempre y cuando se use un kernel que no sea el 2.4, cambiamos la lnea
Linux 2.4 por Linux 2.6, una vez modificado el fichero se guardan los cambios y ahora
DE NOCATAUTH
3.5. INSTALACION
47
ir a /usr/local/ y crear una carpeta con el nombre de nocat. Hechos los pasos anteriores se
puede iniciar la instalaci
on de NoCat, para ello ejecutar desde la ventana de terminal (desde
/root/NoCatAuth-nightly)make PREFIX= /usr/local/nocat/gw gateway, despues make PREFIX= /usr/local/nocat/authserv authserv.
A continuaci
on se debe borrar trustedkeys.pgp, que es la llave que lleva por defecto NoCatAuth, de /usr/local/nocat/authserv/pgp y de /usr/local/nocat/gw/pgp/. Ahora se debe
crear la llave personalizada, para ello desde /root/NoCatAuth-nightly/ teclear: make PREFIX=/usr/local/nocat/authserv pgpkey, a continuaci
on pedir
a algunos par
ametros y se deber
a
contestar de la siguiente manera:
DSA i ElGamal.
1024.
0.
s.
Colocar nombre y apellidos.
Direcci
on de correo.
Comentario.
V.
Pedir
a que se introduzca una contrase
na, se deber
a dejar en blanco.
Volver
a a pedir la contrase
na y de nuevo se deja en blanco.
Ahora el programa tomar
a su tiempo para generar la llave, mientras tanto es importante
mover el rat
on, abrir el navegador, cualquier cosa para que el generador tenga suficiente
antropia para generar la llave. Finalmente ya se tiene la llave en /usr/local/nocat/authserv.
Luego se deber
a copiar la clave y pegarla en /usr/local/nocat/gw/pgp/ y en /usr/local/nocat/authserv/pgp/.
Por u
ltimo se le deber
an otorgar permisos para que el servidor apache pueda acceder a ella.
Desde la ventana de terminal teclear: chown -R apache:apache /usr/local/nocat/authserv/pgp/
y chown -R apache:apache /usr/local/nocat/gw/pgp/.
CAPITULO 3. DESARROLLO E IMPLEMENTACION
48
3.6
Configuraci
on de NocatAuth
Para ello creamos la base de datos donde estar
an registrados todos los datos y permisos
DE NOCATAUTH
3.6. CONFIGURACION
49
Modificar la p
agina a donde el NoCatAuth va a redirigir a los usuarios:
HomePage http://www.google.com.
Definir la direcci
on de la puerta de enlace y el rango de la red externa:
LocalGateway 10.1.3.200
LocalNetwork 10.1.3.0/24.
Verificaci
on de la base de datos definida:
DataSource DBI.
Por u
ltimo checar el nombre de la base de datos, usuario y contrase
na:
Database dbi:mysql:database=nocat .
DB User nocat
DB Passwd nocatauth.
CAPITULO 3. DESARROLLO E IMPLEMENTACION
50
3.7
Configuraci
on de apache
Para que el servidor apache redireccione todas las peticiones de los clientes hacia la puerta
3.8
51
3.9
CAPITULO 3. DESARROLLO E IMPLEMENTACION
52
3.10
Instalaci
on y configuraci
on de webmin
3.11. SARG
53
3.11
SARG
Instalaci
on de SARG (Squid Analysis Report Generator, Generador de Reportes de
An
alisis de Squid)
Seguir los pasos siguientes:
Descargar el archivo sarg-3.2.3.1.tar.gz en el directorio /root.
Descomprimir el archivo sarg-3.2.3.1.tar.gz en el directorio /root.
Desde la terminal entrar a /root/sarg-2.2.3.1/.
Teclear ./configure.
make.
make install.
Con estas instrucciones se tendr
a instalado SARG.
Rotaci
on de archivos de Squid
El archivo access.log que se encuentra en /var/log/squid guarda la informaci
on de acceso
de todos los usuarios de Squid, Sarg toma la informaci
on necesaria de este archivo para crear
los reportes. La capacidad del archivo access.log no es infinita por lo que es necesario rotar el
archivo, para esto, primero en el arhivo de configuraci
on squid.conf en /etc/squid configurar la
siguiente lnea:
logfile rotate 7
CAPITULO 3. DESARROLLO E IMPLEMENTACION
54
3.12
ClamAv
Instalaci
on y configuraci
on de ClamAv(Clam AntiVirus)
Seguir los siguientes pasos:
Bajar ClamAV en: http://www.clamav.net/.
Descomprimir el archivo Tar de ClamAV en /root.
Generar un usuario de sistema llamado clamav para que la instalaci
on sea designada a este
usuario.
Descienda a este directorio raz y ejecute : ./configure ; al realizar este paso ser
a generado un
archivo para llevar acabo la compilaci
on del c
odigo fuente.
Ejecute make para iniciar el proceso de compilaci
on.
Ejecute make install para instalar ClamAV.
Como fase de prueba, invoque el comando which clamscan, el cual debe retornar el valor
/usr/local/sbin/clamscan, as indicando que el ejecutable de ClamAV fue instalado exitosamente en el directorio /usr/local/sbin/.
Ejecuci
on de ClamAv
Para que el ClamAv empiece a trabajar es necesario activarlo para esto:
Abrir un navegador, teclear en la barra de navegaci
on http://127.0.0.1:10000.
Ir a la secci
on sistema.
Clam Antivirus.
Dar click sobre el bot
on Activar ClamAv.
3.13
usuario
char
30
Clave primaria
PHP
3.14. DISENO
password
char
55
30
direccion
char
25
Tabla usuarios
En esta tabla se encuentran los usuarios a los cuales el administrador del sistema les ha
negado el servicio de Internet. Los atributos son los siguientes:
Atributo
Tipo
url
char
255
description
text
created
datetime
modified
timestamp
status
unsigned
login
char
250
pass
char
255
name
char
255
3.14
Clave primaria
Dise
no PHP
P
agina principal
En la figura 3.2 se muestra la p
agina principal, a la que ser
a direccionado cualquier cliente
que desee tener conexi
on a Internet, en la p
agina se encuentra un formulario, en donde se deber
a
de introducir el nombre de usuario adem
as de la contrase
na correspondiente, estos datos ser
an
56
Figura 3.2: P
agina principal
PHP
3.14. DISENO
57
Figura 3.3: P
agina de bienvenida
verificados con la base de datos NoCat, en donde se encuentra la tabla member, que contiene
los datos de los clientes a los cuales se les permitir
a el acceso a Internet.
P
agina de bienvenida
Al momento de que el usuario ha ingresado los datos correctos, ser
a direccionado a una
p
agina de bienvenida (figura 3.3), en donde le indica al usuario un tiempo de 5 segundos para
ser redireccionado a la p
agina que en un principio indic
o en el navegador. Tambien a partir
de que el usuario ha ingresado los datos correctos, ser
a desplegada una ventana en donde se le
indica al usuario que debe de mantener abierta dicha ventana, para que la autenticaci
on pueda
ser renovada cada 450 segundos. Si el cliente lo desea pueda pulsar el bot
on de logout que se
encuentra dentro de la ventana, de este modo terminara su sesi
on.
58
PHP
3.14. DISENO
59
Autenticaci
on del administrador
En esta p
agina (figura 3.4) el administrador del sistema deber
a de ingresar el nombre de
usuario y su respectiva contrase
na, para que los datos sean comprobados en la base de datos
sistema, dentro de la tabla usuariossistema, en la cual se encuentran los datos del administrador
y del usuario privilegiado, para que de esta forma pueda entrar al sistema de control.
Men
u principal del administrador
En este men
u (figura 3.5), el administrador podr
a controlar las diferentes tareas del sistema, como lo es la restricci
on de: una direcci
on ip, rango de direcciones ip, de usuarios,
del ancho de banda, de p
aginas web; desbloquear: usuarios y direcciones ip; altas y bajas de
alumnos; crear y visualizar reportes, adem
as de poder cambiar la contrase
na del administrador.
CAPITULO 3. DESARROLLO E IMPLEMENTACION
60
Restricci
on de una direcci
on ip
En esta p
agina (figura 3.6)el administrador del sistema podr
a restringir el uso de Internet
a las direcciones ip que se deseen, a traves de una caja de texto en la que deber
a de ingresar la
direcci
on a la cual no se le permitir
a el acceso a Internet. Mediante c
odigo PHP el contenido
de la caja de texto ser
a insertado en la base de datos tesis dentro de la tabla direccionesip,
para que a la vez todo el contenido de la tabla direccionesip sea copiado a un archivo de texto
llamado direccionesideseadas.txt, tal archivo ser
a leido por el proxy Squid para as delimitar el
acceso a Internet a las direcciones ip que esten dentro del archivo direccionesindeseadas.txt. Al
momento de ingresar la direcci
on ip aparecer
a una tabla con el contenido de la base de datos,
mostrando las direcciones ip que al momento estan bloqueadas.
PHP
3.14. DISENO
61
CAPITULO 3. DESARROLLO E IMPLEMENTACION
62
Restricci
on de un rango de direcciones ip
En esta p
agina (figura 3.7), el administrador del sistema podr
a restringir el uso de Internet
a un rango de direcciones ip que se deseen, a traves de dos cajas de texto, en las cuales, dentro
de la primera caja de texto deber
a de ir el inicio del rango de direcciones, por ejemplo, si se
quiere delimitar el rango de direcciones de la 192.168.0.5 a la 192.168.0.8, dentro de la primera
caja de texto se deber
a ingresar el n
umero 5, por lo tanto en la segunda caja de texto se deber
a
de ingresar el fin del rango deseado, en este caso 8. A traves de c
odigo PHP el contenido de las
cajas de texto ser
a tratado para insertar una a una las direcciones ip, en la base de datos tesis
dentro de la tabla direccionesip, para que a la vez todo el contenido de la tabla direccionesip
sea copiado a un archivo de texto llamado direccionesideseadas.txt, tal archivo ser
a leido por
el proxy Squid para as delimitar el acceso a Internet a las direcciones ip que esten dentro
del archivo direccionesindeseadas.txt. Al momento de ingresar la direcci
on ip aparecer
a una
tabla con el contenido de la base de datos, mostrando las direcciones ip que al momento estan
bloqueadas.
Desbloquear direcciones ip
En esta p
agina (figura 3.8), el administrador podr
a desbloquear las direcciones ip, que
han sido bloqueadas con anterioridad. A traves de la tabla que se muestra en la p
agina se podr
a
observar cuales direcciones ip estan bloqueadas, solo se deber
a de poner la direcci
on ip que se
desea desbloquear en la caja de texto, de este modo con c
odigo PHP, se realizar
a una busqueda
dentro de la base de datos tesis, en la tabla direccionesip, ya que se encuentra el dato ingresado
es borrado de la tabla. El pr
oximo paso ser
a actualizar el archivo de texto direccionesindeseadas.txt, que es el archivo que contiene las direcciones ip que no son permitidas por el proxy
Squid, para esto, mediante c
odigo PHP es eliminado el archivo direccionesindeseadas.txt, despues con una funci
on es creado nuevamente el archivo direccionesindeseadas.txt sin contenido
alguno, para despues otorgarle los permisos necesarios, y as poder copiar el contenido de la
tabla direccionesip al nuevo archivo de texto.
Restricci
on de usuarios
En esta p
agina (figura 3.9), el administrador podr
a restringir el uso de Internet a ciertos
usuarios, que han sido previamente ingresado dentro de la base de datos NoCat, en la tabla
member. Para ello el administrador deber
a de ingresar dentro de la caja de texto el nombre
PHP
3.14. DISENO
63
64
PHP
3.14. DISENO
65
Desbloquear usuarios
En esta p
agina (figura 3.10), el administrador podr
a desbloquear a los usuarios que previamente fueron bloqueados, a partir de la tabla que se muestra en la p
agina se puede observar
cuales son los usuarios bloquedos al momento. Para desbloquear solo es necesario poner el
nombre del usuario dentro de la caja de texto, y mediante c
odigo PHP, se localizar
a en al tabla
usuarios dentro de la base de datos tesis, al localizar el usuario los datos del mismo son copiados
CAPITULO 3. DESARROLLO E IMPLEMENTACION
66
a la tabla member de la base de datos nocat, que es la base de datos donde son autenticados
todos los usuarios, despues el registro es borrado de la tabla usuarios.
Restricci
on del ancho de banda
En esta p
agina (figura 3.11), el administrador podr
a restringir el uso del ancho de banda,
el valor por defecto que utiliza Nocat en el archivo de configuraci
on throttle.fw para los usuarios
autenticados es de 1Mb, el cual es el valor maximo, a traves de la caja de texto en la p
agina
se puede modificar dicho valor, para ello se deber
a de ingresar un valor entre 0 y 1, donde el
valor 0 significa un ancho de banda nulo, y 1 el valor maximo de ancho de banda asigndado a
los clientes autenticados. El valor introducido ser
a almacenado dentro del arhivo throttle.fw,
que se encuentra en /root/NocatAuth-nightly, el cual tiene los valores de configuraci
on para el
ancho de banda.
PHP
3.14. DISENO
67
68