Universitat Oberta de Catalunya
Enginyeria Tècnica en Informàtica de Sistemes
Treball fi de carrera
Administració de Xarxes i Sistemes Operatius
Control d’Accés
d’Usuaris als Serveis de
Xarxa CAUSiX
V0.5β
Estudiant : Josep Ferrer Tura
Consultor : Miquel Colobran Huguet
Segon Semestre Curs 2003-2004
Terrassa - 17 Juny de 2004
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 2 de 60
Dedicatoria :
A la meva esposa Maria i als meus fills Albert i Pau que sempre m’han animat a
continuar endavant tot i els moments de defalliment.
Al meu pare Josep Ma. que sempre m’ha mostrat el camí de les coses ben fetes.
Agraiments :
Als companys de feina del Departament d’Informàtica de l’IES Terrassa que en un o altre
moment han patit les caigudes de xarxa degudes a les proves i posta en marxa del sistema.
A tota la gent dels forums d’internet on he consultat alguns dels dubtes que tenía i que
amb molt encert i bona voluntat han contestat a les meves preguntes
A tota la gent que ha fet i documentat acuradament tutorials i manuals de com configurar
tal o qual programa o utilitat.
Introducció
L’objectiu final d’aquest treball es la obtenció d’un sistema que permeti regular l’accés de
manera fàcil i flexible a determinats serveis de xarxa per un conjunt d’usuaris que tenen
necessitats i atributs diferents d’us de la xarxa depenent del seu perfil i en un moment donat.
El problema sorgeix quan en el Departament d’Informàtica d’un Institut d’Ensenyament
Secundari s’amplia de una a dues línies ADSL d’accés (256kbs + 2048kbs), i per necessitats
puntuals de docència, s’autoritza la navegació per internet a mes de 70 estacions
distribuïdes en quatre aules, tres servidors i quatre ordinadors personals del professorat dels
que disposa el departament, això provoca la immediata saturació de les dues línies i el que
havia de ser un us moderat i normal es transforma en un problema en que la seva solució
fins el moment de començar aquest treball era la connexió/desconnexió manual de
cadascuna de les aules.
Aquest document, pretèn ser una guia per construir un sistema de regulació, per aquells
que tenint semblants necessitats volen aplicar aquesta solució.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 3 de 60
Índex
CONTROL D’ACCÉS D’USUARIS ALS SERVEIS DE XARXA CAUSIX..........................1
Dedicatoria :......................................................................................................................2
Agraiments :......................................................................................................................2
Introducció ........................................................................................................................2
ÍNDEX .......................................................................................................................................3
Índex de figures.....................................................................................................................4
DESCRIPCIÓ DE NECESSITATS............................................................................................5
ESTAT ACTUAL..........................................................................................................................7
PROPOSTA D’UNA SOLUCIÓ ................................................................................................8
PROPOSTA DE TOPOLOGIA .........................................................................................................9
DECIDINT L’ENTORN D’OPERACIÓ .................................................................................10
MAQUINARI ............................................................................................................................10
PROGRAMARI ..........................................................................................................................10
Sistema Operatiu.................................................................................................................10
Servidor DHCP...................................................................................................................10
Programari d’encaminament...............................................................................................10
Programari Tallafocs..........................................................................................................10
Servidor web .......................................................................................................................10
Llenguatge d’script per fer pàgines web dinàmiques............................................................11
Base de dades......................................................................................................................11
Entorn gràfic i client web ....................................................................................................11
Comunicació segura............................................................................................................11
Sistema de copies de seguretat ............................................................................................11
Programari d’administració................................................................................................11
Administració general del sistema....................................................................................11
Administració de tallafocs ...............................................................................................11
Administració MySQL ....................................................................................................12
GUIA D’IMPLEMENTACIÓ ..................................................................................................13
FASES D’IMPLEMENTACIÓ .......................................................................................................13
IMPLEMENTACIÓ .....................................................................................................................13
Instal·lació i configuració del Sistema Operatiu ..................................................................13
Configuració de les interfícies de Xarxa ..............................................................................14
Configuració dels servidors.................................................................................................14
Servidor de DHCP segons la taula d’encaminament . .......................................................14
Servidor web. ..................................................................................................................15
Servidor de base de dades MySQL i taules de dades bàsiques. ........................................16
Instal·lació d’un programari d’administració del sistema....................................................17
Instal·lació d’un programari d’administració de bases de dades..........................................18
Instal·lació d’un sistema d’actualització automàtic..............................................................19
Verificació del correcte funcionament del sistema. ..............................................................19
Verificació de DHCP......................................................................................................19
Verificació dels servidors HTTP i HTTPS de PHP i MySQL ..........................................19
Verificació d’encaminament. ...........................................................................................20
Programari de control.........................................................................................................21
Base de Dades .................................................................................................................22
Rel·lacions.......................................................................................................................28
Administrativa.................................................................................................................29
Pàgines inicials............................................................................................................29
Scrips auxiliars ............................................................................................................31
Control d’accès............................................................................................................32
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 4 de 60
Manteniment d’usuaris ................................................................................................32
Manteniment Grups .....................................................................................................34
Manteniment Aules......................................................................................................35
Manteniment de Terminals ..........................................................................................35
Manteniment Assignatures...........................................................................................36
Manteniment de Cicles ................................................................................................37
Manteniment de Mòduls Horaris..................................................................................38
Manteniment d’Horaris................................................................................................38
Monitorització .............................................................................................................39
Executiva ........................................................................................................................40
iptables .................................................................................................................41
Comandament iptables..........................................................................................42
ip...............................................................................................................................43
cron...........................................................................................................................45
crontab....................................................................................................................45
sudo...........................................................................................................................45
sudoers....................................................................................................................45
mysqldump...............................................................................................................46
mod_auth_mysql....................................................................................................46
Fitxers de la part automàtica ........................................................................................50
Fitxers de la part interactiva.........................................................................................50
Miscel·lània de fitxers..................................................................................................51
Enllaç amb el sistema ......................................................................................................51
Crides interactives .......................................................................................................52
Crides automàtiques.....................................................................................................52
CONCLUSIONS.......................................................................................................................53
PENDENT DE FER MES ENDAVANT ..................................................................................54
BIBLIOGRAFIA I DOCUMENTACIÓ ..................................................................................55
MATERIAL IMPRÈS ..................................................................................................................55
DOCUMENTS A INTERNET ........................................................................................................56
FORUMS, NOTICIES I ALTRES ...................................................................................................56
Annex Llista de fitxers .........................................................................................................57
Glossari ..............................................................................................................................58
Índex de figures
Xarxa actual........................................................................................................................................7
Aula Tipus...........................................................................................................................................7
Proposta de topologia .........................................................................................................................9
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 5 de 60
Descripció de necessitats
1. Es demana un sistema de control d’accés als usuaris en el que, primer
manualment i mes endavant automàticament determini el perfil i de l’usuari, grup i
terminal en un determinat moment i apliqui els permisos i restriccions establerts o
be els programats amb antelació.
2. Aquest control d’accés ha de permetre :
• La identificació de l’usuari a la xarxa i la seva vinculació en un determinat
moment amb un terminal concret.
• L’aplicació de permisos i restriccions automàticament
• L’aplicació particularitzada de permisos i restriccions manualment
• El registre (si s’escau) d’incidències, tant automàtica com manualment.
• El canvi de vies ( itineraris ) d’accés a determinats serveis.
• Connexió desconnexió de subxarxes.
• Connexió desconnexió de serveis
• Regulació de l’ample de banda assignat.
• Modificacions de la configuració, altes baixes d’usuaris, de grups, assignació
de privilegis i restriccions a usuaris i grups.
3. Es demana una aplicació de control que el puguin utilitzar els usuaris
administradors des de qualsevol terminal de la xarxa.
4. L’aplicació de control ha de ser d’us senzill i intuïtiu, doncs en alguns moments
pot ser que la persona que te d’administrar no sigui “especialista”.
5. També es demana que la connexió i autenticació d’usuaris sigui segura.
6. S’han de poder desar algunes dades, com hores de connexió desconnexió
d’usuaris, per la seva posterior consulta.
7. Seria bo poder disposar de dades per fer estadístiques de rendiment i d’us per la
elaboració de futures versions millorades del sistema.
8. Una de les restriccions mes importants es la del cost econòmic, la despesa en
diners ha de ser la mínima possible.
9. Donat que el pressupost per fer aquestes millores es molt reduït, gairebé nul, cal
que es puguin aprofitar les instal·lacions existents i el maquinari excedent que hi
pugui haver.
10. A mes, el canvi s’ha de fer progressivament i de tal manera que no hi hagi
interrupcions a les classes.
11. Ha de ser fàcil d’instal·lar i de configurar.
12. El maquinari i el programari ha de ser el mes estàndard possible.
13. Amb el temps s’ha de poder millorar, actualitzar i adaptar a les necessitats
sempre variables.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 6 de 60
14. S’ha de preservar la informació del sistema, tant de possibles mirades alienes,
com de desastres provocats, per exemple, per fallades del maquinari i o del
corrent elèctric.
15. El sistema ha de ser fàcil de recuperar en cas de fallada.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 7 de 60
Estat actual
Actualment la topologia de la xarxa està com es reflexa a la següent figura :
IDC
S-Mail
W2k
I DC
S-04
W2k
IDC
S-05
Linux
Print Server
Li nk/ R x LP T1 LP T2 C O MPo w er / TX
S11 S12 S13 S14
1 2 3 4 5 6
7 8 9 101112
A
B
1 2x
6x
8x
2x
9x
3x
10x
4x
1 1x
5x
7x
1x
Et
he
rn
et
A
1 2x
6x
8x
2x
9x
3x
10x
4x
1 1x
5x
7x
1x
C
1 2 3 4 5 6
7 8 9 101112
A
B
12x
6x
8x
2x
9x
3x
1 0x
4x
11x
5x
7 x
1 x
Et
he
rn
et
A
1 2x
6x
8x
2x
9x
3x
10x
4x
11x
5 x
7x
1x
C
1 2 3 4 5 6
7 8 9 101112
A
B
1 2x
6x
8x
2x
9x
3x
10x
4x
1 1x
5x
7x
1x
Et
he
rn
et
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Servidors
Estacions departament d’informàtica
ADSL 2048
ADSL 256
AULES
SW-01
SW-02
SW-03
RS CS T R RD TD CDTALK / DATATALK
RS CS T R RD TD CDTALK / DATATALK
Xarxa actual
Es a dir, totes les estacions, servidors, i connexions a internet comparteixen la mateixa
subxarxa, el que es molt insegur i ineficaç.
Els serveis que actualment s’ofereixen son sobre protocol TCP/IP (HTTP, HTTPS,
FTP,SMB, NFS, ... )
L’aula tipus es la que apareix en la següent figura, amb diferent nombre d’estacions, així
hi ha dues aules amb 14 + 1 estacions, una amb 11 + 1, i un altre amb 22 +1 .
Enllaç a sistema departament
A0
1
A0
2
A0
6
A0
7
12 34 56
78 910112
A
B
12x
6x
8x
2x
9x
3x
10x
4x
1x
5x
7x
1x
Et
her
ne
t
A
12x
6x
8x
2x
9x
3x
10x
4x
1x
5x
7x
1x
C
SW-A01
A0
8
A0
9
A1
3
A1
4
12 34 56
78 910112
A
B
12x
6x
8x
2x
9x
3x
10x
4x
1x
5x
7x
1x
Et
her
ne
t
A
12x
6x
8x
2x
9 x
3 x
10x
4x
1x
5x
7x
1x
C
SW-A02
A0
0
Aula Tipus
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 8 de 60
Proposta d’una solució
1. Per incrementar la seguretat i el control d’accés caldria tenir separades cada una
de les seccions actuals en subxarxes mantenint el cablejat que ja es funcional en
les següents :
• Subxarxa de Servidors.
• Subxarxa de Departament.
• Subxarxes d’aules
• Subxarxes d’accés a internet.
Assignar a cada estació d’usuari, a partir de la seva adreça física (adreça MAC de
xarxa) una adreça IP d’acord amb la subxarxa a la que pertany.
Caldria fer-ho de forma automàtica, per tant s’ha d’implementar un servei de
DHCP que tindria de subministrar a l’hora el nom del host, els DNS i la passarel·la
corresponent
Pel que seria necessari posar un encaminador per dirigir el tràfic de dades entre
les subxarxes.
Aquest encaminador tindria de ser de programació molt flexible, doncs les
condicions d’encaminament poden ser força variables.
2. Per tal de poder aplicar privilegis i restriccions als usuaris, caldria disposar d’un
sistema per realitzar la autenticació de l’usuari que es connecta des d’una
determinada estació i establir un vincle entre usuari-estació, verificant grup,
permisos, horaris,...
Per això es necessari disposar de dades tant d’autentificació, com de atributs dels
usuaris i dels grups en un format molt assequible, diguem una base de dades
amb l’informació necessària.
3. Tota aquesta informació ha de poder ser administrada tant de forma local com
remota per tant cal un programari client/servidor el mes universal possible que
permeti aquestes tasques.
Ja que som damunt d’una xarxa i que el mes comú de que es pot disposar, es
d’un servidor http seria bo no tenir de construir cap de les dues parts, usant el
sistema servidor web i per altra banda un navegador com a client.
Cal però programar el conjunt de pàgines dinàmiques d’interacció, amb un
llenguatge d’script que permeti la comunicació del servidor amb el sistema.
4. També cal poder aplicar desprès aquests permisos i atributs a grups d’estacions
o estacions ocupades per usuaris concrets
Sembla que una de les opcions es utilitzar un sistema tallafocs que autoritzi o
denegui la comunicació a determinades adreces de Host o de Xarxa.
Aquest tallafocs igual que el encaminador, tindria de ser de programació molt
flexible, doncs els permisos restriccions poden variar força al llarg de tot un dia.
5. Cal reservar la privacitat de les comunicacions entre l’administrador(s) i el
servidor de configuració del sistema, emprant comunicació segura en totes les
transaccions.
6. Cal disposar d’un sistema de copies de seguretat de les dades, i programes no
standard utilitzats, i d’un procediment de reinstal·lacio i recuperació ràpida.
7. Degut a les restriccions econòmiques dels punts 8 i 9 de l’apartat anterior,
sembla que la opció d’us de programari ha de ser GNU i el maquinari, al ser de
cost prohibitiu tant un encaminador com un (o mes) tallafocs per maquinari s’ha
de poder realitzar amb arquitectures tipus PC amb varies interfícies de xarxa.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 9 de 60
Proposta de topologia
Per poder aconseguir un correcte funcionament, una seguretat adequada i un bon
rendiment, caldria tenir en la xarxa , per exemple una possible assignació podria ser :
Secció Subxarxa Passarel·la Interfície Num. Estac.
Internet-1 192.168.0.0/24 192.168.0.1 eth0 -
Internet-2 192.168.10.0/24 192.168.10.1 eth1 -
Servidors 192.168.20.0/24 192.168.20.1 eth2 6
Departament 192.168.40.0/24 192.168.40.1 eth3 6
Aula A 192.168.213.0/24 192.168.213.1 eth4:0 15
Aula B 192.168.216.0/24 192.168.216.1 eth4:1 15
Aula C 192.168.217.0/24 192.168.217.1 eth4:2 23
Aula D 192.168.6.0/24 192.168.6.1 eth4:3 12
i la topologia proposada a la següent figura.
IDC
S-Mail
W2k
IDC
S-04
W2k
IDC
S-05
Linux
P rint Ser ver
Li n k/ Rx LP T 1 LP T2 C O MPo w er / TX
S-02
LinuxRouter
S11 S12 S13 S14
1 2 3 4 5 6
7 8 9 101112
A
B
1 2x
6x
8x
2x
9x
3x
1 0x
4x
11x
5x
7x
1x
E
th
er
n
et
A
12x
6x
8x
2x
9x
3x
10x
4 x
11x
5x
7 x
1 x
C
1 2 3 4 5 6
7 8 9 101112
A
B
12x
6x
8x
2x
9 x
3 x
10x
4x
11x
5x
7x
1x
Et
he
rn
et
A
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
1 2 3 4 5 6
7 8 9 101112
A
B
12x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
E
th
er
ne
t
A
1 2x
6x
8x
2x
9x
3x
10x
4x
11x
5x
7x
1x
C
Servidors
Estacions departament d’informàtica
ADSL 2048
ADSL 256
AULES
SW-01
SW-02
SW-03
Proposta de topologia
On cada segment de l’antiga xarxa es una subxarxa i totes aquestes subxarxes estan
unides mitjançant un ordinador que disposa del maquinari i programari adequat per actuar
com a encaminador i com a tallafocs.
L’ordinador que actua com a encaminador tallafocs ha de ser capaç de dirigir l’accés als
serveis d’internet o als servidors des de les estacions en base a les subxarxes que te
connectades a cada interfície
Amb aquesta proposta es compleixen les condicions 8 i 9 de l’apartat de necessitats,
doncs el maquinari de l’encaminador tallafocs podria ser algun ordinador excedent.
En un cas mes general, potser només caldrien tres interfícies de xarxa, doncs potser n’hi
ha prou amb Internet, Servidors/Departament i Aules.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 10 de 60
Decidint l’entorn d’operació
Sembla doncs evident que degut a les restriccions econòmiques no tenim massa marge
de decisió sobre els element que composaran aquest sistema.
Maquinari
Per l’encaminador-tallafocs, recuperem un equip que ja era en poc us amb les següents
característiques:
1. Ordinador arquitectura PC compost per :
• Processador INTEL Pentium III 800Mhz / 166
• Placa base amb com a mínim 1 ranura AGP i 5 PCI
• 384 Mb. Memòria RAM
• Targeta de vídeo AGP
• 5 Targetes de xarxa Ethernet 10/100 Mbs PCI connector RJ45
• 2 Discs durs de 10,3 Gb. (Amb rack)
• 1 lector/gravador de CD-ROM.
• 1 lector de disquets 1,44 Mb 3,5”
• Teclat, ratolí i monitor.
2. Sistema d’Alimentació Ininterrompuda 600VA 30min.
3. 1 Switch 2x10/100+24x10 programable
Programari
Sistema Operatiu
Per les mateixes raons anteriors el sistema Operatiu que cal emprar ha de ser GNU pel
que es proposa Linux
Dins les diferents distribucions, una de les mes estables es la de Red Hat, però com que
ara aquesta distribució es comercial, utilitzarem la versió no comercial que es la Fedora
Core, de moment amb la versió 1.
Tot i així, les actualitzacions, son en línia i gratuïtes.
Servidor DHCP
Aquesta distribució de Linux ja porta incorporat un servidor DHCP
Programari d’encaminament
El nucli del sistema operatiu triat ja porta implementat l’encaminament IP.
Programari Tallafocs
El nucli del sistema operatiu triat ja porta implementat al nucli el tallafocs IPTables
Servidor web
Aquesta distribució de Linux ja porta incorporat el servidor web Apache que es un dels
mes avançats, flexibles i segurs, i el mes utilitzat amb diferencia sobre diferents
arquitectures i sistemes operatius.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 11 de 60
Llenguatge d’script per fer pàgines web dinàmiques
Aquesta distribució de Linux ja porta incorporats diferents llenguatges d’script per fer
pàgines web dinàmiques, perl, pyton, tcl-tk, php, entre aquests un dels mes utilitzats i que te
molta potencia y flexibilitat hi ha PHP, i te els mòduls per Apache, i ens permet utilitzar
diferents comandes del shell del sistema operatiu.
Base de dades
Aquesta distribució de Linux ja porta incorporats diversos servidors de base de dades
entre ells Postgre i MySQL.
Triarem MySQL perquè el que mes s’ajusta a les necessitats i esta molt ben integrat amb
el llenguatge PHP que es el que finalment utilitzarem..
Entorn gràfic i client web
L’entorn gràfic natural de Linux es X-Windows, i podrem disposar d’alguns navegadors,
com per exemple Mozilla, o Konqueror, incorporats a la distribució, el front-end a utilitzar, es
indiferent en aquest aspecte, podem utilitzar indistintament Gnome o be KDE.
Comunicació segura
Aquesta distribució de Linux ja porta incorporat l’OpenSSL per comunicacions segures i
el mòdul SSL per apache que es mod_ssl.
Sistema de copies de seguretat
Aquesta distribució de Linux ja porta incorporat un client i un servidor de copies de
seguretat Amanda, programari de compressió d’arxius i programari de clonatge (mrBatch), i
programari per la gravació de CD-ROM .
Programari d’administració
Administració general del sistema
Podem utilitzar WebMin que es un programari sobre web molt complet i d’us molt senzill,
però cal que sigui configurat només per ser usat des de xarxa local i des d’unes estacions
concretes.
Des de les ultimes versions ja es orientat a sessió segura, el seu ús, de totes maneres,
només es aconsellable en mode local.
Es pot obtenir a : http://www.webmin.com
Administració de tallafocs
Trobem un programari phpIPTables que ens permet escriure i aplicar les regles
d’IPTables sobre web, es especialment interessant, doncs està fet en PHP, però mes fixat
cap a regles fixes i no orientat a les estacions, no contempla l’usuari.
Es pot obtenir a : http://www.alu.ua.es/p/psp4/Aplicaciones/index.html
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 12 de 60
Administració MySQL
Aquí tenim unes quantes utilitats, sobre web tenim el phpMyAdmin que es una eina molt
completa per administrar i utilitzar MySQL.
Es pot obtenir a : http://phpmyadmin.net
També tenim, tant per plataforma Windows com per plataforma Linux el MySQL Control
Center que es programa d’us molt còmode, tant en local, com en remot .
Orientat a connexió.
Es pot obtenir a : http://www.mysql.com/products/mysqlcc/index.html
Un altre entorn gràfic d’administració es el MySQLAdministrator
Es pot obtenir a : http://www.mysql.com/products/administrator/index.html
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 13 de 60
Guia d’Implementació
Fases d’implementació
Es verifica que les propostes son viables i es defineixen les fases en que constarà la
implementació del sistema.
1. Instal·lació i verificació del maquinari.
2. Instal·lació del Sistema Operatiu i configuració bàsica.
3. Configuració de les interfícies de xarxa i de la taula d’encaminament.
4. Configuració dels servidors.
• Servidor de DHCP segons la taula d’encaminament .
• Servidor web (Apache) activant PHP .
• Servidor de base de dades MySQL i taules de dades bàsiques.
5. Configuració bàsica del tallafocs IPTables.
6. Configuració del sistema de comunicació segura amb OpenSSL.
7. Instal·lació d’un programari d’administració del sistema (p.e. WebMin).
8. Instal·lació d’un programari d’administració de bases de dades (p.e. MySQL
Control Center).
9. Instal·lació d’un sistema d’actualització automàtic
10. Verificació del correcte funcionament del sistema.
11. Creació d’un programari de control per configurar dinàmicament el sistema
d’encaminament / tallafocs aplicant permisos d’accés a usuaris i/o grups d’usuaris
segons un horari preestablert.
Implementació
Instal·lació i configuració del Sistema Operatiu
El Sistema Operatiu triat es Linux Fedora Core 1 (des d’ara Fedora) que es pot obtenir
de http://fedora.redhat.com/ Son tres CDROM d’instal·lació i un CDROM de documentació
pertanyent a la distribució de Red Hat 9.
L’instal·lació es la bàsica de servidor, personalitzant els paquets a instal·lar descartant
aquells que no ens seran útils, (p.e. jocs, gràfics, eines d’oficina, etc.) i escollint aquells que
ens son necessaris, servidor web amb els seus accessoris, servidor de base de dades i
accessoris, tallafocs, serveis de xarxa dhcpd, eines de configuració local, entorn gràfic de
treball (Gnome, KDE)eines d’administració (p.e. kdeadmin), eines de sistema en mode text,
(p.e. mc), eines de control i monitorització del tràfic de xarxa (p.e.ethereal i gethereal).
Val a dir que tots aquests paquets es poden reacondicionar amb posterioritat amb el
sistema d’instal·lació de Red Hat RPM.
Des de L’instal·lació es poden configurar les interfícies de xarxa, que segurament el
detector de maquinari haurà identificat correctament, però també es pot realitzar amb
posterioritat.
En la creació es configura únicament l’usuari root, a la primera engegada del sistema
ens demana de crear un usuari per us normal, mes endavant, amb les eines que incorpora,
tant de text com gràfiques, es poden crear altres usuaris i grups.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 14 de 60
Configuració de les interfícies de Xarxa
Desprès de la configuració del sistema cal configurar totes les targetes Ethernet per l’ús
que els hi volem donar, podem utilitzar l’eina gràfica o la de text en consola,(cal privilegis de
superusuari).
Per les dues primeres targetes (eth0 i eth1) seran els accessos a internet, per tant la
seva IP depèn de l’assignació de xarxa i de passarel·la utilitzada.
Les següents (eth2, eth3 i eth4) seran les d’accés a subxarxes internes respectivament a
subxarxa de servidors, subxarxa de departament i subxarxa d’estacions d’aula.
Cal configurar les rutes estàtiques per tal que realitzin l’encaminament cap a la subxarxa
corresponent.
També cal activar l’encaminament per exemple des d’un dels programes d’administració
que podem instal·lar.
Es de notar que una mateixa interfície física, disposa de quatre interfícies virtuals, que
pertanyen cadascuna a un grup determinat d'estacions d’aula.
La configuració serà doncs la següent:
Interfície IP Ruta estàtica Ruta per defecte
Eth0 192.168.0.2 192.168.0.0/24 192.168.0.1
Eth1 192.168.10.2 192.168.10.0/24 192.168.10.1
Eth2 192.168.20.1 192.168.20.0/24 --
Eth3 192.168.40.1 192.168.40.0/24 --
Eth4:0 192.168.6.1 192.168.6.0/24 --
Eth4:1 192.168.213.1 192.168.213.0/24 --
Eth4:2 192.168.216.1 192.168.216.0/24 --
Eth4:3 192.168.217.1 192.168.217.0/24 --
Configuració dels servidors.
Servidor de DHCP segons la taula d’encaminament .
Cal configurar el fitxer dhcpd.conf per que totes les estacions obtinguin l’adreça IP, la
màscara de xarxa, passarel·la i servidors de DNS que els hi correspon de forma automàtica.
Un exemple pot ser :
# dhcpd.conf
#
ddns-update-style ad-hoc;
#option domain-name "xxx.yyy.zzz";
######## Dades Subxarxes #########################
# Xarxa exemple 1
subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
range 192.168.1.1 192.168.1.254;
}
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 15 de 60
# Xarxa exemple 2
subnet 192.168.2.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.2.1;
option routers 192.168.2.1;
range 192.168.2.1 192.168.2.254;
}
# Xarxa exemple 3
subnet 192.168.4.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
range 192.168.4.1 192.168.4.254;
}
######## Adreces IP dels host #########################
host A1 {
hardware ethernet 00:10:60:59:00:10;
fixed-address 192.168.1.12;
option host-name "Estacio A1";
}
host A2 {
hardware ethernet 00:10:60:59:16:10;
fixed-address 192.168.1.19;
option host-name "Estacio A2";
}
host B1 {
hardware ethernet 00:05:1c:02:ea:2b ;
fixed-address 192.168.2.12;
option host-name "Estacio B1";
}
host C1 {
hardware ethernet 00:50:bf:db:94:96 ;
fixed-address 192.168.4.17;
option host-name "Estacio C1";
}
host C2 {
hardware ethernet 00:50:22:30:2b:30 ;
fixed-address 192.168.4.2;
option host-name "Estacio C2";
}
Les adreces MAC de les targetes de xarxa, ens indiquen quina estació física es la que
demana la seva configuració IP.
Cal activar el servei dhcpd des de l’entorn gràfic o be des d’una consola de text
Servidor web.
Cal configurar el servidor web, donant un nom al seu host virtual per defecte, el port per
on escoltarà les peticions, i l’adreça base de les pàgines web.
També es necessari activar el servei httpd des de l’entorn gràfic o be des d’una consola
de text.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 16 de 60
Per fer la prova si el servidor te activat l’intèrpret d’escripts PHP es pot posar en l’adreça
base de les pàgines web un fitxer per exemple anomenat info.php amb el següent
contingut que colocaren a /var/www/html arrel de les nostres pàgines web :
I desprès fer una crida des del navegador http://localhost/info.php amb el que hem
d’obtenir una pàgina web amb tota la informació del servidor.
Servidor de base de dades MySQL i taules de dades bàsiques.
Es necessari activar el servei mysqld des de l’entorn gràfic o be des d’una consola de
text.
Desprès cal configurar el servidor des d’una consola de text i amb privilegis de
superusuari (root)
1. Crear la base de dades bàsica /usr/local/mysql/bin/mysql_install_db
2. Crear l’usuari administrador mysqladmin -u root password "el_password"
3. Testejar el seu funcionament mysqladmin version o be mysqladmin variables
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 17 de 60
Configuració bàsica del tallafocs IPTables.
Es necessari activar el servei IPTables des de l’entorn gràfic o be des d’una consola de
text.
Mes endavant caldrà configurar el seu funcionament des d’un sistema d’administració
que ho faciliti.
Configuració del sistema de comunicació segura amb OpenSSL.
Per configurar el servidor Apache per fer comunicació encriptada, cal disposar d’una clau
i d’un certificat.
Per generar una clau cal ser usuari root.
Primer, canviar al directori /etc/httpd/conf.
Eliminar la clau y el certificat que es van generar amb la instal·lació, amb els següents
comandaments:
rm ssl.key/server.key
rm ssl.crt/server.crt
Generar un parell de claus
/usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key
Protegir les claus amb els permisos adequats
chmod go-rwx /etc/httpd/conf/ssl.key/server.key
Generar un certificat autosignat
make testcert
Configurar el Servidor per us de SSL des de l’eina de l’entorn gràfic i reiniciar el servei.
Provar si el certificat funciona des del navegador fent la crida
https://localhost
Això provocarà que el navegador ens demani el consentiment per instal·lar el certificat.
Instal·lació d’un programari d’administració del sistema.
Per instal·lar el programari d’administració WebMin el podem descarregar en format RPM
de :
http://www.webmin.com
La instal·lació es molt senzilla i queda apte per el seu us immediatament.
Es poden configurar entre altres coses, el llenguatge i l’aparença.
El seu us es molt intuïtiu i senzill.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 18 de 60
Instal·lació d’un programari d’administració de bases de dades.
Per tal de poder administrar la base de dades d’una forma mes còmode es convenient
disposar d’un entorn gràfic que permeti la supervisió, creació de bases de dades i taules,
modificacions etc.
Com que la base de dades es MySQL es pot administrar tant localment com
remotament, es bo tenir un eina que funciona per diferents plataformes operatives
Disposem, tant per plataforma Windows com per plataforma Linux el MySQL Control
Center subministrat per MySQL AB.
Es pot obtenir a : http://www.mysql.com/products/mysqlcc/index.html
La seva instal·lació es molt senzilla
A la primera engegada cal configurar una connexió amb un servidor MySQL, es
recomanable fer-ho al servidor local utilitzant l’usuari i el password de l’administrador creat
en la configuració del servidor de base de dades.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 19 de 60
Instal·lació d’un sistema d’actualització automàtic
Per tal de mantenir el sistema actualitzat i (mes o menys) lliure d’errors, cal tenir un
sistema que el permeti actualitzar automàticament (p.e. des d’una tasca cron)
Actualment disposem per Fedora i altres Linux d’un programa d’actualització i de control
de paquets anomenat APT que realitza aquesta funció d’una manera força eficaç
Es pot trobar a http://freshrpms.net/ que a mes es un lloc on hi ha diversitat de paquets
per utilitzar
La seva instal·lació es molt senzilla, des de la consola amb privilegis de root i al directori
on hem descarregat apt-*.rpm cal fer la comanda :
rpm -Uvh apt-*
Amb això s’instal·larà l’apt.
Si volem tenir apt en entorn gràfic podem baixar i instal·lar automàticament l’aplicació
synaptic aprofitant per fer la prova de l‘apt amb la comanda.
apt-get install synaptic
Això baixarà i instal·larà automàticament.
Si volem actualitzar Fedora, (cosa molt convenient si no ho hem fet abans) cal executar
la següent comanda
apt-get update
Val a dir que actualment hi ha mes de 200 actualitzacions per Fedora, això vol dir que
possiblement tardarà una bona estona depenent de l’ample de banda que es disposi.
En el moment d’escriure aquest document s’anuncia la disponibilitat de Fedora Core 2.
Verificació del correcte funcionament del sistema.
Verificació de DHCP
Cal fer la prova amb un conjunt de terminals client amb la interfície de xarxa que
connecta amb el nostre sistema configurada per adquirir automàticament IP, màscara,
passarel·la i DNS’s.
Si es un sistema Windows, des d’una finestra de sistema cal teclejar la comanda
ipconfig /all i en la sortida cal verificar si l’adreça IP, la màscara, la passarel·la i els DNS’s
son els que hem indicat .
Si el sistema es un UNIX/Linux, des d’un terminal de text i amb privilegis de root, podem
fer el mateix amb la comanda ifconfig
Verificació dels servidors HTTP i HTTPS de PHP i MySQL
• Provar el servidor web HTTP funciona, des del navegador d’un client, fem la crida
http://ip_del_nostre_sistema això ha de provocar l’aparició de la pàgina
configurada per defecte.
• Provar el servidor web segur HTTPS funciona, des del navegador d’un client fem la
crida https://ip_del_nostre_sistema, això ha de provocar que el navegador ens
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 20 de 60
demani el consentiment per instal·lar el certificat, i després ens mostri la pàgina per
defecte del sistema segur.
• Provar si el servidor web te activat l’intèrpret de PHP, des del navegador d’un client
fem la crida http://ip_del_nostre_sistema/info.php que es la pàgina que hem creat
quan hem fet la instal·lació del PHP això ha de provocar que el navegador ens mostri
la informació de la configuració d’Apache i PHP.
• Per fer la prova del funcionament de MySQL cal que des d’un sistema
d’administració local, (p.e.MySQLcc) crear un usuari amb els permisos que oportuns
per gestionar localment la base de dades CAUSiX que ja tindrem creada (Veure
següent capítol).
En segon lloc cal fer una pàgina PHP que permeti visualitzar algunes dades:
Test MYSQL
Es desa en un fitxer anomenat per exemple anomenat testMySQL.php que
colocaren a /var/www/html arrel de les nostres pàgines web, desprès des del navegador
d’un client fem la crida http://ip_del_nostre_sistema/testMySQL.php i ens ha
d’aparèixer una taula amb el nom dels dies de la setmana.
Verificació d’encaminament.
Cal disposar d’almenys dos terminals, configurats i conectats a diferents interficies de
xarxa del nostre sistema, que tinguin com a passarel·la l’adreça IP de la interfície a la que
son conectats.
Si des d’un terminal de text fem : ping adreça_ip_de_l_altre_terminal hem d’obtenir
resposta.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 21 de 60
Programari de control
Cal dissenyar un programari de control per configurar dinàmicament el sistema
d’encaminament / tallafocs i aplicant permisos d’accés a usuaris i/o grups d’usuaris segons
un horari.
Això requereix que disposem d’informació en una Base de Dades sobre aquests
usuaris, grups, horaris i els seus vincles.
El conjunt de programari que ha de gestionar el sistema el dividirem en dues parts:
• Administrativa, encarregada de donar facilitar la gestió de la informació
d’usuaris, grups, horaris, permisos, etc.
• Executiva, encarregada de transmetre les ordres al sistema i gestionar els
permisos accés.
La part Executiva, es divideix en el seu torn en dues parts:
• Interactiva, on l’administrador(s) pot donar ordres al sistema que s’apliquen al
moment.
• Automàtica, que va aplicant al sistema les ordres prèviament programades.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 22 de 60
Base de Dades
El disseny del suport de la informació pot ser el següent:
users
Camp long tipus defecte Observacions
User_id 16 Char No Null Clau
User_pwd 16 Char No Null Password encriptat
User_grup 16 Char No Null Enllaç de pertinença a grup primari
User_expira DateTime No Null Data dexpira el permís/password
User_nom 32 Char No Null
User_cgnoms 64 Char No Null
User_e_mail 40 Char
User_actiu 1 TinyInt No Null Te accés
Usuaris del sistema
grups
Camp long Tipus defecte Observacions
Grup_id 16 Char No Null Clau
Grup_nom 64 Char
Grup_cicle 16 Char
Grups d’usuaris
User2grup
Camp long Tipus defecte Observacions
User_id 16 Char No Null Índex
Grup_id 16 Char No Null Índex
Pertinença d’un usuari als grups
cicles
camp long Tipus defecte Observacions
Cicle_id 16 Char No Null Clau
Cicle_nom 100 Char No Null
Nom dels Cicles/Cursos
assignatures
Camp long Tipus defecte Observacions
assignatura_id 16 Char No Null Clau
assignatura_nom 80 Char No Null
assignatura_num_hores 10 Int
assignatura_cicle 10 Int
Titol de les assignatures
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 23 de 60
Mòduls
camp long Tipus defecte Observacions
modul 4 TinyInt++ No Null Autoincrement, índex, vincle
horaInici Time No Null
horaFinal Time No Null
lectiu TinyInt NotNull-1
Mòduls horaris (te 15 files)
Dies
Camp long Tipus defecte Observacions
dia_num 3 TinyInt No Null Índex, vincle
dia_nom 10 Char No Null
dia_abr 2 Char No Null
Dies de la setmana (te 7 files)
aules
Camp long Tipus defecte Observacions
Aula_id 16 Char NotNull Clau
Aula_ip_inici 15 Char NotNull
Aula_ip_final 15 Char NotNull
Aula_mascara 2 Int NotNull-24
Aula_pasarela 15 Char NotNull
atributs de subxarxa de les aules
horaris
Camp long tipus defecte Observacions
Horari_num 10 UnsInt NoNull Clau
grup_id 16 Char No Null Índex, vincle
dia_num 4 TinyInt No Null Índex, vincle
modul_num 4 TinyInt No Null Índex, vincle
assignatura_num 11 Int No Null vincle
Professor 11 Int No Null vincle
aula_id 16 Char No Null vincle
Servers 1 bool cert Permís per accedir als servidors
Internet 1 bool fals Permís per accedir a internet
Horari per assignatures
Terminals
Camp long tipus Defecte Observacions
terminal_id 16 Char No Null Clau
terminal_MAC 17 Char No Null
terminal_IP 15 Char No Null
terminal_lloc 16 Char
Vincle Terminal-MAC-IP
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 24 de 60
connexions
Camp long tipus defecte Observacions
conexio_num 10 Int++ Autoincrement, índex, vincle
conexio_inici DateTime
conexio_final DateTime
usuari_id 16 Char vincle
terminal_id 16 Char vincle
terminal_IP 15 char vincle
Vincle temporal Terminal-Usuari
Permisos
Camp long tipus defecte Observacions
Permis 10 Int++ Autoincrement, índex, vincle
Conexio 10 Int vincle
IP 15 Char
Mascara 2 Int
Caduca DateTime
Desti 16 char vincle
accepta 1 TinyInt 0
Permis vigent
Permis2horari
Camp long tipus defecte Observacions
Permis 10 Int vincle
horari 10 Int vincle
Vincle permis-horari
serveis
Camp long tipus defecte Observacions
Internet 16 Char vincle
servidors 16 Char vincle
Vincle servei-xarxa (nomes te 1 fila)
xarxes
Camp long tipus defecte Observacions
Xarxa_id 16 Char vincle
IP 15 Char
Mascara 2 Int
Atributs de la xarxa
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 25 de 60
L’escript de creació d’aquesta base de dades i de omplerta inicial de dades es en un fitxer
anomenat CAUSiX.sql
De totes maneres el reprodueixo aquí
CAUSiX.sql
# Servidor: Router
CREATE DATABASE `CAUSiX`;
USE `CAUSiX`;
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'users'
CREATE TABLE `users` (
`user_id` char(16) NOT NULL default '',
`user_pwd` char(16) NOT NULL default '',
`user_grup` char(16) NOT NULL default 'USERS',
`user_expira` date NOT NULL default '0000-00-00',
`user_nom` char(32) NOT NULL default '',
`user_cgnoms` char(64) NOT NULL default '',
`user_e_mail` char(40) default '',
`user_actiu` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`user_id`)
) TYPE=MyISAM COMMENT='Usuaris del sistema';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'grups'
CREATE TABLE `grups` (
`grup_id` char(16) NOT NULL default '',
`grup_nom` char(64) NOT NULL default '',
`grup_cicle` char(16) default '',
PRIMARY KEY (`grup_id`)
) TYPE=MyISAM COMMENT='Grups d''usuaris';
INSERT INTO grups VALUES("USERS","Usuaris",null);
INSERT INTO grups VALUES("ALUMNES","Alumnes",null);
INSERT INTO grups VALUES("PROFES","Professors",null);
INSERT INTO grups VALUES("ADMIN","Administradors",null);
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'user2grup'
CREATE TABLE `user2grup` (
`user_id` char(16) NOT NULL default '',
`grup_id` char(16) NOT NULL default '',
PRIMARY KEY (`user_id`,`grup_id`)
) TYPE=MyISAM COMMENT='Pertinença de usuaris als grups';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'cicles'
CREATE TABLE `cicles` (
`cicle_id` char(16) NOT NULL default '',
`cicle_nom` char(100) NOT NULL default '',
PRIMARY KEY (`cicle_id`)
) TYPE=MyISAM COMMENT='Nom dels cicles';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'assignatures'
CREATE TABLE `assignatures` (
`assignatura_id` char(16) NOT NULL default '',
`assignatura_nom` char(80) NOT NULL default '',
`assignatura_num_hores` int(11) unsigned NOT NULL default '0',
`assignatura_cicle` char(16) NOT NULL default '',
PRIMARY KEY (`assignatura_id`)
) TYPE=MyISAM COMMENT='Titol de les assignatures';
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 26 de 60
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'moduls'
CREATE TABLE `moduls` (
`modul` tinyint(4) NOT NULL default '1',
`horaInici` time NOT NULL default '00:00:00',
`horaFinal` time NOT NULL default '00:00:00',
`lectiu` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`modul`)
) TYPE=MyISAM MIN_ROWS=15 MAX_ROWS=15 COMMENT='Moduls Horaris';
INSERT INTO moduls VALUES(1,'08:00:00','09:00:00',1);
INSERT INTO moduls VALUES(2,'09:00:00','10:00:00',1);
INSERT INTO moduls VALUES(3,'10:00:00','11:00:00',1);
INSERT INTO moduls VALUES(4,'11:00:00','11:30:00',0);
INSERT INTO moduls VALUES(5,'11:30:00','12:30:00',1);
INSERT INTO moduls VALUES(6,'12:30:00','13:30:00',1);
INSERT INTO moduls VALUES(7,'13:30:00','14:30:00',1);
INSERT INTO moduls VALUES(8,'14:30:00','15:30:00',0);
INSERT INTO moduls VALUES(9,'15:30:00','16:25:00',1);
INSERT INTO moduls VALUES(10,'16:25:00','17:20:00',1);
INSERT INTO moduls VALUES(11,'17:20:00','18:15:00',1);
INSERT INTO moduls VALUES(12,'18:15:00','18:45:00',0);
INSERT INTO moduls VALUES(13,'18:45:00','19:40:00',1);
INSERT INTO moduls VALUES(14,'19:40:00','20:35:00',1);
INSERT INTO moduls VALUES(15,'20:35:00','21:30:00',1);
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'dies'
CREATE TABLE `dies` (
`dia_num` tinyint(3) unsigned NOT NULL default '0',
`dia_nom` char(10) NOT NULL default '',
`dia_abr` char(2) NOT NULL default '',
PRIMARY KEY (`dia_num`)
) TYPE=MyISAM MIN_ROWS=7 MAX_ROWS=7 COMMENT='Noms dels dies de la setmana';
INSERT INTO dies VALUES(1,'Dilluns','Dl');
INSERT INTO dies VALUES(2,'Dimarts','Dm');
INSERT INTO dies VALUES(3,'Dimecres','Dc');
INSERT INTO dies VALUES(4,'Dijous','Dj');
INSERT INTO dies VALUES(5,'Divendres','Dv');
INSERT INTO dies VALUES(6,'Dissabte','Ds');
INSERT INTO dies VALUES(7,'Diumenge','Dg');
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'aules'
CREATE TABLE `aules` (
`aula_id` char(16) NOT NULL default '',
`aula_ip_inici` char(15) NOT NULL default '',
`aula_ip_final` char(15) NOT NULL default '',
`aula_mascara` int(11) NOT NULL default '24',
`aula_pasarela` char(15) NOT NULL default '',
PRIMARY KEY (`aula_id`)
) TYPE=MyISAM COMMENT='Aules i IP''s';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'horaris'
CREATE TABLE `horaris` (
`horari_num` int(10) unsigned NOT NULL auto_increment,
`grup_id` char(16) NOT NULL default '',
`dia_num` tinyint(4) unsigned NOT NULL default '0',
`modul_num` tinyint(4) unsigned NOT NULL default '0',
`assignatura_id` char(16) NOT NULL default '',
`professor` char(16) default '',
`aula_id` char(16) default '',
`servers` tinyint(1) NOT NULL default '1',
`internet` tinyint(1) NOT NULL default '0',
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 27 de 60
PRIMARY KEY (`horari_num`),
UNIQUE KEY `modul` (`grup_id`,`dia_num`,`modul_num`)
) TYPE=MyISAM COMMENT='Horaris per grup, dia i modul';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'terminals'
CREATE TABLE `terminals` (
`terminal_id` char(16) NOT NULL default '',
`terminal_MAC` char(17) NOT NULL default '',
`terminal_IP` char(15) NOT NULL default '',
`terminal_lloc` char(16) default '',
PRIMARY KEY (`terminal_id`)
) TYPE=MyISAM COMMENT='Terminals ident i adreces';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'conexions'
CREATE TABLE `conexions` (
`conexio_num` int(10) unsigned NOT NULL auto_increment,
`conexio_inici` datetime NOT NULL default '0000-00-00 00:00:00',
`conexio_expira` datetime NOT NULL default '0000-00-00 00:00:00',
`usuari_id` char(16) NOT NULL default '',
`terminal_IP` char(16) NOT NULL default '',
PRIMARY KEY (`conexio_num`)
) TYPE=MyISAM COMMENT='Vincle usuari-terminal';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'permisos'
CREATE TABLE `permisos` (
`permis` int(10) unsigned NOT NULL auto_increment,
`conexio` int(10) unsigned NOT NULL default '0',
`IP` char(15) NOT NULL default '',
`mascara` int(2) unsigned NOT NULL default '32',
`caduca` datetime NOT NULL default '0000-00-00 00:00:00',
`desti` char(16) NOT NULL default '',
`accepta` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`permis`)
) TYPE=MyISAM COMMENT='Permis vigent';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'permis2horari'
CREATE TABLE `permis2horari` (
`permis` int(10) unsigned NOT NULL default '0',
`horari` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM COMMENT='Vincle permís a horari';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'serveis'
#
CREATE TABLE `serveis` (
`internet` char(16) NOT NULL default '',
`servidors` char(16) NOT NULL default ''
) TYPE=MyISAM MIN_ROWS=1 MAX_ROWS=1
COMMENT='servei i xarxa que dona el servei';
# Servidor: Router
# Base de Datos: CAUSiX
# Tabla: 'xarxes'
CREATE TABLE `xarxes` (
`xarxa_id` char(15) NOT NULL default '',
`xarxa_ip` char(16) NOT NULL default '',
`xarxa_mascara` int(2) unsigned NOT NULL default '0',
PRIMARY KEY (`xarxa_id`)
) TYPE=MyISAM COMMENT='Vincle Xarxa de servei i la IP';
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 28 de 60
Rel·lacions
Relacions entre les diferents taules de la base de dades.
permisos conexions terminals
permis conexio_num terminal_id
conexio conexio_ inici terminal_MAC
IP conexio_expira terminal_IP
mascara user_id terminal_lloc
caduca terminal_num
desti Terminal_IP
accepta
users user2grup grups
user_id user_id grup_id
User_pwd grup_id grup_nom
User_grup grup_cicle
User_expira
User_nom Xarxes
user_cgnoms xarxa_id cicles
user_e_mail xarxa_ip cicle_id
user_actiu xarxa-mascara cicle-nom
mòduls horaris
mòdul horari_num
Hora_inici grup_id dies
Hora_final modul_id dia_num
lectiu dia_num dia_nom
professor dia_abr
assignatura_num
serveis aula_id
servers servers
internet internet
assignatures permis2horari aules
assignatura_id permis aula_id
assignatura_nom horari aula_ip_inici
assignatura_hores aula _ip-final
assignatura_cicle aula-mascara
aula_pasarela
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 29 de 60
Administrativa
La part administrativa fa de front-end de gestió de les bases de dades.
Com que es tracta d’una aplicació client servidor que funciona en entorn web, cada
mòdul que el composa estarà format per una pàgina web amb scrips php incorporats, o be
per scrips en php quan no cal presentació a l’usuari, tot això lligat amb enllaços entre les
diferents pàgines.
Com que l’aplicació bàsica només l’han de poder utilitzar els usuaris administradors, cal
que no es permeti accés a les pàgines si no es autoritzat.
Cal també que les pàgines vagin encriptades bàsicament per SSL, sobre tot la
d’autentificació.
Farém una descripció abreujada de cadascun dels moduls que composen el projecte
Pàgines inicials
Mòdul :Principal CAUSiX Fitxer : index.html i index.php
Descripció :
Es tracta de la pàgina de presentació, formada per un conjunt de frames horitzontals,
banner, menu_h, cos i peu, amb els seus corresponents fitxers html o php, banner.html,
menuh.php, cos.php, peu.html i sep.html que fa les funcions de separador.
A la frame cos serà on es realitza tota la comunicació amb l’usuari, tot i que en la frame
menuh hi ha el menú personal.
Accés : Tothom SSL Si
Enllaços : Login i pagines externes
Mòdul : Banner Fitxer : banner .html
Descripció :
Conté el logotip de l’aplicació
Accés : Tothom SSL NO
Enllaços : cap
Mòdul : Menú Horitzontal Fitxer : menuh.php
Descripció :
Conte el menú personalitzat segons el tipus d’usuari
Accés : Usuaris SSL NO
Enllaços : cap
Mòdul : Peu Fitxer : peu.html
Descripció :
Conte informacions i enllaços generals
Accés : Tothom SSL NO
Enllaços : Fedora, Apache, MySQL, PHP, OpenSSL
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 30 de 60
Mòdul : Separador Fitxer : sep.html
Descripció :
Sense contingut, útil per separadors en blanc
Accés : Tothom SSL NO
Enllaços : cap
Mòdul : Cos Fitxer : cos.php
Descripció :
Conté la informació inicial d’accés
Accés : Tothom SSL Si
Enllaços : Login, i pàgines publiques
Mòdul : Presentacio Fitxer presentacio.php
Descripció :
Contingut de la frame cos per els usuaris remots
Accés : Usuaris remots SSL NO
Enllaços : Cap
Mòdul : Normes d’us Fitxer : normes.php
Descripció :
Contingut de la frame cos per els usuaris locals
Accés : Usuaris locals SSL
Enllaços : Cap
Mòdul : Programari Fitxer : programari.php
Descripció :
Pàgina de mostra per informació
Accés : Usuaris locals SSL
Enllaços : Cap
Mòdul : Menu Cos Fitxer : menu_cos.php
Descripció :
Barra de menu del cos
Accés : Tothom SSL Si
Enllaços : Login, o Logout i pàgines publiques
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 31 de 60
Scrips auxiliars
Mòdul : Script de seguretat Fitxer : llocsegur.php
Descripció :
Força l’accés per https amb encriptació SSL
Accés : SSL
Enllaços : cap
Mòdul : Conexió a base de dades Fitxer : conectaBD.php
Descripció :
Realitza la conexió a la base de dades , subminstra nom, usuari i password
Accés : SSL
Enllaços : Cap
Mòdul : Restricció administradors Fitxer : admin.php
Descripció :
Script de restricció d’us als usuaris del grup administradors (ADMIN)
Accés : SSL
Enllaços : Cap
Mòdul : Restricció professors Fitxer : profes.php
Descripció :
Script de restricció d’us als usuaris del grup administradors i professors (ADMIN, PROFES)
Accés : SSL
Enllaços : Cap
Mòdul : Restricció usuaris Fitxer : user.php
Descripció :
Script de restricció d’us als usuaris registrats
Accés : SSL
Enllaços : Cap
Mòdul : Format adreces IP Fitxer : IP.php
Descripció :
Script que contè funcions de format d’adreces IP
Accés : SSL
Enllaços : Cap
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 32 de 60
Control d’accès
Mòdul : Login Fitxer : login.php
Descripció :
Es l’entrada al sistema, per a tots els usuaris, dispara la finestra d’autenticació del
navegador i quan l’autenticació es bona, recarrega la pàgina principal, i commuta els menús
adients segons l’usuari i el lloc des d’on accedeix, xarxa local o remota.
Registra l’entrada de l’usuari, lloc d’accés i hora d’inici i hora d’expiració del permís d’accés i
inicia la sessió.
Accés : Tothom SSL Si
Enllaços : Principal, Logout, pagina personal i pàgines autoritzades.
Mòdul : Logout Fitxer : logout.php
Descripció :
Sortida natural de l’usuari, tanca el registre de l’usuari, registra l’hora de sortida i tanca la
sessió.
Accés : Usuari SSL Si
Enllaços : Principal
Manteniment d’usuaris
Mòdul : Llista d’usuaris Fitxer : llistaUsuaris.php
Descripció :
Presenta una llista d’usuaris des d’on es pot accedir a editar la informació de cada un d’ells,
o es poden eliminar usuaris, des d’aquesta pàgina també es permet l’accés a crear un nou
usuari, a afegir o eliminar grups de pertinença, afegir usuaris amb informació continguda a
un fitxer o consultar la llista de grups.
També es pot enviar un mail a l’usuari
Accés : Administradors SSL Si
Enllaços : Editar un usuari, enviar un email a un usuari, Afegir un usuari, fer altes
d’usuaris des de fitxer, veure llista de grups, veure assignacions
assignar/revocar usuaris a grups , crida a eliminarUsuaris
Mòdul : Edició Usuari Fitxer : editaUsuari.php
Descripció :
Permet afegir un usuari nou o editar les dades d’un usuari existent, des d’aquesta pàgina es
pot accedir a l’assignació o modificació del passwod, es l’única pàgina a la que tenen accés
tots els usuaris, exclusivament amb les seves dades, com a usuari, no permet el canvi de
grup excepte si es administrador.
Accés : Usuaris SSL Si
Enllaços : Llista d’Usuaris, Canvi Password
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 33 de 60
Mòdul : Altes usuaris Fitxer :nomFitxerUsuaris.php
Descripció :
Permet fer altes de múltiples usuaris des d’un fitxer de text, en aquesta pàgina es pot triar el
nom del fitxer que prèviament s’ha pujat al servidor.
Accés : Administradors SSL Si
Enllaços : Crida a
Mòdul : Afegir usuari Fitxer : afegirUsuari.php
Descripció :
Script que verifica les dades de l’usuari i l’afegeix o en modifica les dades a la base de
dades
Accés : Administradors SSL Si
Enllaços : cap
Mòdul : Eliminar usuaris Fitxer : eliminarUsuaris.php
Descripció :
Script que elimina de la base de dades els usuaris marcats des de la llista d’usuaris.
Accés : Administradors SSL Si
Enllaços : cap
Mòdul : Altes d’usuaris des de fitxer Fitxer : altesUsuarisFitxer.php
Descripció :
Script que llegeix les dades dels nous usuaris des d’un fitxer i els afegeix a la base de dades
Accés : Administradors SSL Si
Enllaços : cap
Mòdul : Canvi de Password Fitxer : canviPassword.php
Descripció :
Solicita un nou password per l’usuari
Accés : Administradors SSL Si
Enllaços : cap
Mòdul : canviar Password Fitxer : canviarPassword.php
Descripció :
Script que verifica i actualitza a la base de dades el nou password de l’usuari
Accés : Administradors SSL Si
Enllaços : cap
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 34 de 60
Manteniment Grups
Mòdul : Llista de Grups Fitxer :llistagrup.php
Descripció :
Presenta una llista de grups des d’on es pot accedir a editar la informació de cada un d’ells,
o es poden eliminar grups, des d’aquesta pàgina també es permet l’accés a crear un nou
grup, a afegir o eliminar pertinença d’usuaria a grups, consultar la llista d’usuaris, consultar
horaris i consultar cicles
Accés : Administradors SSL Si
Enllaços : Editar Grup, Llista d’usuaris, Llista de Cicles, Editar Horaris, Asignació de
usuaris a grups
Mòdul : Editar Grup Fitxer : editaGrup.php
Descripció :
Permet afegir un grup nou o editar les dades d’un grup existent.
Accés : Administradors SSL Si
Enllaços : Llista de Grups
Mòdul : Afegir Grup Fitxer : afegirGrup.php
Descripció :
Script que verifica les dades del grup i l’afegeix o en modifica les dades a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Eliminar Grups Fitxer : eliminarGrups.php
Descripció :
Script que elimina de la base de dades els grups marcats des de la llista de grups.
Accés : Administradors SSL Si
Enllaços : cap
Mòdul :Assignacio de grups a usuaris Fitxer : assignaGrup.php
Descripció :
Permet marcar en un check-box si un usuari pertany o no a determinat grup.
Cada fila representa un usuari, cada columna un grup, el grup principal de pertinença,
nomes el pot canviar ladministrador des de edició d’usuari.
Accés : Administradors SSL Si
Enllaços : Pertany.php
Mòdul : Fitxer : pertany.php
Descripció :
Script que actualitza a la base de dades la pertinença dels usuaris als grups
Accés : Administradors SSL Si
Enllaços : Cap
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 35 de 60
Manteniment Aules
Mòdul : Llista d’Aules Fitxer : llistaAules.php
Descripció :
Presenta una llista d’aules des d’on es pot accedir a editar la informació de cada una, es
poden eliminar aules, es pot crear una nova aula, consultar la llista de terminals, consultar
horaris
Accés : Administradors SSL Si
Enllaços : Llista de terminals, Horaris, Afegir Aula
Mòdul : Editar Aula Fitxer : editaAula.php
Descripció :
Permet afegir una nova aula o editar les dades d’una existent.
Accés : Administradors SSL Si
Enllaços : Llista d’aules
Mòdul : Afegir Aula Fitxer : afegirAula.php
Descripció :
Script que verifica les dades de l’aula i l’afegeix o en modifica les dades a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Eliminar Aules Fitxer : eliminarAules.php
Descripció :
Script que elimina de la base de dades les aules marcades des de la llista d’aules
Accés : Administradors SSL Si
Enllaços : Cap
Manteniment de Terminals
Mòdul : Llista de Terminals Fitxer : llistaTerminals.php
Descripció :
Presenta una llista de terminals des d’on es pot accedir a editar la informació de cada un, es
poden eliminar terminals, s’en pot crear un de nou, consultar la llista d’aules, i afegir
terminals des d’un fitxer de text
Accés : Administradors SSL Si
Enllaços : Llista d’Aules , Afegir Terminals, Editar Terminal
Mòdul : Editar Terminal Fitxer : editaTerminal.php
Descripció :
Permet afegir una nova aula o editar les dades d’una existent.
Accés : Administradors SSL Si
Enllaços : Llista de Terminals
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 36 de 60
Mòdul : Afegir Terminal Fitxer : afegirTerminal.php
Descripció :
Script que verifica les dades de l’aula i l’afegeix o en modifica les dades a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Eliminar Terminals Fitxer : eliminarTerminals.php
Descripció :
Script que elimina de la base de dades els terminals marcats des de la llista de terminals
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Seleccionar nom del fitxer de
terminals
Fitxer : nomFitxerTerminals.php
Descripció :
Permet seleccionar el non del fitxer detext que contè els terminals que cal afegir
Accés : Administradors SSL Si
Enllaços : Llista de Terminals
Mòdul : Altes Terminals Fitxer Fitxer : altesTerminalsFitxer.php
Descripció :
Script que llegeix des d’un fitxer de text els nous terminals i els incorpora a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Manteniment Assignatures
Mòdul : Llista d’Assignatures Fitxer : llistaAssignatures.php
Descripció :
Presenta una llista d’Assignatures des d’on es pot accedir a editar la informació de cada
una, es poden eliminar assignatures, es pot crear una nova assignatura i es pden afegir
assiignatures des d’un fitxer de text
Accés : Administradors SSL Si
Enllaços : Afegir Assignatura, Altes assignatures, Editar Horaris
Mòdul : Editar Assignatura Fitxer : editaAssignatura.php
Descripció :
Permet afegir una nova Assignatura o editar les dades d’una existent.
Accés : Administradors SSL Si
Enllaços : Llista d’Assignatures
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 37 de 60
Mòdul : Afegir Assignatura Fitxer : afegirAssignatura.php
Descripció :
Script que verifica les dades de l’Assignatura i l’afegeix o en modifica les dades a la base de
dades
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Eliminar Assignatures Fitxer : eliminarAssignatures.php
Descripció :
Script que elimina de la base de dades les Assignatures marcades des de la llista
d’Assignatures
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Seleccionar nom del fitxer de
assignatures
Fitxer : nomFitxerAssignatures.php
Descripció :
Permet seleccionar el non del fitxer de text que contè les assignatures que cal afegir
Accés : Administradors SSL Si
Enllaços : Llista d’assignatures
Mòdul : Altes Assignatures Fitxer Fitxer : altesAssignaturesFitxer.php
Descripció :
Script que llegeix des d’un fitxer de text les noves assignatures i les incorpora a la base de
dades
Accés : Administradors SSL Si
Enllaços : Cap
Manteniment de Cicles
Mòdul : Llista de Ciles Fitxer : llistaCicles.php
Descripció :
Presenta una llista dels cicles des d’on es pot accedir a editar la informació de cada un, es
poden eliminar cicles, s’en pot crear un de nou, consultar la llista de grups
Accés : Administradors SSL Si
Enllaços : Llista de grups, Afegir Cicle
Mòdul : Editar Cicle Fitxer : editaCicle.php
Descripció :
Permet afegir un nou cicle o editar les dades d’un existent.
Accés : Administradors SSL Si
Enllaços : Llista de cicles
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 38 de 60
Mòdul : Afegir Cicle Fitxer : afegirCicle.php
Descripció :
Script que verifica les dades del cicla i l’afegeix o en modifica les dades a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Mòdul : Eliminar Cicles Fitxer : eliminarCicles.php
Descripció :
Script que elimina de la base de dades els cicles marcats des de la llista de cicles
Accés : Administradors SSL Si
Enllaços : Cap
Manteniment de Mòduls Horaris
Mòdul : Mòduls Horaris Fitxer : editaModuls.php
Descripció :
Presenta una llista dels mòduls horaris i des d’on es poden editar la informació de cada un.
Accés : Administradors SSL Si
Enllaços : Editar Horaris
Mòdul : afegir Mòdul Fitxer : afegirModul.php
Descripció :
Script que verifica i modifica les dades del mòdul horari de la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Manteniment d’Horaris
Mòdul : Editar Horari Fitxer : editaHorari
Descripció :
Presenta i permet editar o afegir horaris per grup i dia seleccionat, permet seleccionar el
modul horari, el professor , l’assignatura i l’aula i si cal acces a internet i/o als servidors.
Tambe permet eliminar entrades d’horari o modificarles
Es pot accedir a la llista de grups, llista de moduls, llista d’asignatures i llista d’aules, a mes
de l’estat dels permisos activats actualment
Accés : Administradors SSL Si
Enllaços : Llista de Moduls, Llista d’assignatures, Llista d’aules Llista de permisos,
Llista de Grups
Mòdul : Eliminar Moduls Fitxer : eliminarModuls.php
Descripció :
Script que elimina una entrada d’horari d’un grup i dia determinat
Accés : Administradors SSL Si
Enllaços : Cap
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 39 de 60
Mòdul : Afegir Horari Fitxer : afegirHorari.php
Descripció :
Script que verifica les dades d’una entrada d’horari i l’afegeix o modifica a la base de dades
Accés : Administradors SSL Si
Enllaços : Cap
Monitorització
Mòdul : Permisos Fitxer : permissos.php
Descripció :
Permet monitoritzar l’estat dels permisos actuals o els del dia i hora seleccionats, es pot
seleccionar una entrada horaria d’un grup determinat per veure el seu horari o be per
modificar-ne l’entrada.
Accés : Administradors SSL Si
Enllaços : Edicio d’Horaris.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 40 de 60
Executiva
La part executiva es l’interfície manual o automàtica entre les bases de dades i el
sistema, es la part que porta a terme l’execució de les ordres immediates i/o prèviament
programades amb la part administrativa.
L’execució de les ordres es realitza sobre el sistema mitjançant seqüències
programades, bàsicament amb el temporitzador del sistema (Cron) per exemple cada cinc
minuts, on s’executarà un script que verificarà a la base de dades quins canvis de permisos
cal fer i reprogramarà els serveis adequats.
També podrà executar ordres immediates donades des del sistema, aplicant les
modificacions dels serveis quan sigui requerit per l’usuari autoritzat.
Cada una d’aquestes accions es realitzaran amb permisos de l’usuari adequat, per
exemple els scripts de cron , depenent de quins serveis modifiquin, cal que ho facin amb
permisos de superusuari (root), per tant la tasca de cron ha de ser propietat de l’usuari root.
Per les ordres immediates, que s’han d’executar des d’scripts interpretats per el servidor
httpd cal que les pugui executar l’usuari propietari del servei que es apache, per tant si ha
d’executar ordres per les que calen permisos de superusuari (root) es tindrà de habilitar
apache per que puguin dur a terme aquestes tasques, per això s’ha d’autoritzar a l’usuari
apache per usar el comandament sudo per alguns determinats programes i o serveis i afegir
al fitxer sudoers l’usuari i el servei autoritzats.
Disposem per aquesta part de dades especifiques per les ordres que s’han d’executar al
sistema.
Per tal de tallar/permetre l’accés a determinats serveis podem utilitzar el comandament
iptables i per configurar l’encaminament es pot usar el comandament ip, tots dos s’han
de poder utilitzar tant de forma interactiva com de forma programada, per una banda , de
forma interactiva s’utilitzarà el comandament sudo (superuser-do..) que engegarà els dos
comandaments amb privilegis root des de l’usuari autoritzat apache al fitxer sudoers , per
l’altra banda, la part programada, cron executarà els mateixos comandaments amb
privilegis de root programats al fitxer crontab, per medi d’un shell-script o be un php-script,
aquestes tasques es tindrien de programar per exemple cada cinc minuts.
Des de cron, també es poden disparar altres tasques, com per exemple la copia de
seguretat diària de la base de dades que es pot fer amb mysqldump, les copies de les
taules d’accés iptables-save i en general les tasques de neteja i compactació de la base
de dades.
Si es vol restringir igualment l’entrada a determinades pàgines, només per alguns usuaris
i/o per alguns grups d’usuaris, es pot aprofitar el sistema d’autenticació implementat i
configurar el servidor httpd apache de forma que admeti restriccions en el servei de
pàgines web, cal tenir activat el mòdul mod_auth_mysql.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 41 de 60
iptables
iptables es un sistema tallafocs vinculat al nucli de Linux, plenament integrat des de la
versió 2.4 d’aquest sistema, no es tracta d’un servei, sinó d’una funcionalitat del nucli que
interpreta shell-scripts amb les regles de funcionament.
iptables, també es el comandament que permet treure o afegir regles al tallafocs.
La distribució triada porta dos shell-scrips un per guardar les regles a un fitxer (iptables-
save) i un altre per recuperar-les del fitxer (iptables-restore)
Quan per una interfície de xarxa arriba un paquet, es verifica si el destí es la pròpia
màquina o si va a un altre (cas de que estigui fent d’encaminador), si es la pròpia màquina,
s’apliquen les regles INPUT i OUTPUT si el destí es un altra, s’aplica les regles FORWARD
INPUT, OUTPUT i FORWARD Son les cadenes de regles de filtrat de la taula FILTER
Abans d’aplicar aquestes regles, es poden aplicar les regles de la taula NAT amb les
seves cadenes PREROUTING i POSTROUTING per redireccionar ports i/o per emmascarar
adreces IP origen o destí, si hem d’encaminar caldrà utilitzar aquestes regles també.
Abans d’aplicar NAT també es podria aplicar MANGLE que son les regles per modificar
els paquets o datagrames, aquestes en principi no ens seran útils.
Per tant iptables ens es molt adequat per les nostres necessitats, només modificant
les regles, podem regular el tràfic que volem que passi i el que no, i també podem canviar
l’encaminament.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 42 de 60
Comandament iptables
La sintaxi d’us del comandament iptables es el següent :
iptables [-t taula] ...
Taules
filter Es la taula per defecte per gestionar els paquets de xarxa
nat Taula per alterar els paquets que fan una nova connexió
mangle Taula per tipus específics d’alteració de paquets
Cadenes
INPUT Aplica regles als paquets rebuts per una interfície de xarxa
OUTPUT Aplica regles als paquets enviats per la mateixa interfície que els ha rebut filter
FORWARD Aplica regles als paquets rebuts per una interfície i amb destí a un altre
PREROUTING Altera els paquets rebuts per una interfície de xarxa quan arriben
OUTPUT Altera els paquets generats localment abans de ser dirigits a una interfície de xarxa. nat
POSTROUTING Altera els paquets abans de ser enviats a una interfície de xarxa.
PREROUTING Altera els paquets rebuts per una interfície de xarxa abans de ser redirigits
mangle
OUTPUT Altera els paquets generats localment abans de ser dirigits a una interfície de xarxa.
Objectius i polítiques
ACCEPT S’accepta el paquet
DROP Es llença el paquet
REJECT Es rebutja el paquet, enviant nota d’error
QUEUE Es passa el paquet a l’espai d’usuari
RETURN Es retorna a la cadena origen
LOG Es registra el paquet
MARK
MASQUERADE Emmascara les adreces origen i/o destí
Comandes
-A Afegeix una regla al final de la cadena especificada
-C Verifica una regla en particular abans d’afegir-la a la cadena especificada
-D Esborra una regla d’una cadena en particular, per numero o per regla
-E Canvia el nom a una cadena definida per l’usuari
-F allibera la cadena especificada, esborra totes les regles de la cadena
-h Ajuda del comandament iptables
-I Insereix una cadena en el punt especificat per un valor o la posa la primera de la cadena
-L Llista totes les regles de la cadena especificada, per defecte les de la taula filter
-N Crea una nova cadena amb el nom especificat
-P Configura la política per la cadena especificada
-R Reemplaça una regla d’una cadena en particular, el numero de la regla cal especificar-lo darrera del nom de la cadena (la primera es el numero 1
-X Esborra la cadena d’usuari especificada
-Z Posa a zero els comptadors de byte i de paquet a totes les cadenes d’una taula en particular.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 43 de 60
Paràmetres
-c Posa a zero els comptadors de paquets PKTS o de BYTES d’una cadena en particular
-d Nom de màquina destí amb IP/Màscara N.N.N.N/M.M.M.M o N.N.N.N/M
-f Aplica la regla només als paquets fragmentats
-i Interfície de xarxa origen
-j Salta a l’objectiu especificat ACCEPT, DROP, QUEUE, RETURN, LOG, MARK, REJECT o l’ específic NomCadena.
-o Interfície de la xarxa destí
-p Protocol icmp, tcp, udp o all
-s Nom de màquina font amb IP/Màscara N.N.N.N/M.M.M.M o N.N.N.N/M
Opcions d’identificació de paquets
TCP
--dport Port destí del paquet (www o smtp o..) (1025:65535)
--sport Port origen del paquet (www o smtp o..) (1025:65535)
--syn Tots els paquets SYN
--tcp-flags Especifica els paquets amb el flag ACK FIN PSH RST SYN URG ALL NONE
--tcp-option Selecciona opcions especifiques
UDP
--dport Port destí del paquet (www o smtp o..) (1025:65535)
--sport Port origen del paquet (www o smtp o..) (1025:65535)
ICMP
--icmp-type Selecciona el nom o el numero del tipus del paquet icmp
*ALTRES
--mac-source Adreça MAC origen
ip
Permet gestionar el tràfic IP i tot el seu entorn, interfícies, rutes, túnels, ...
La seva sintaxi es :
ip [opcions] objecte [comanda [arguments]]
OPCIONS
-s,-stats,-stattistics Obtenir mes informació
-f, -family Família del protocol: inet, inet6 o link
-r, -resolve Mostra noms DNS en comptes d’adreces
OBJECTE
link , l Perifèric de xarxa
addresss, a Adreça Ipv4 o Ipv6 del perifèric
route,r Entrada de la taula d’enrutament
rule, ru Regla de la base de dades o política
maddress,maddr Adreça “multicast”
neighbour,neigh,n Veïns (ARP)
tunnel,tun,t Túnel sobre IP
COMMANDAMENT
add,a Afegir un objecte
del,d Eliminar un objecte
set,s Configurar un objecte
show,list,l Mostrar un objecte
ls Mostrar tots els atributs
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 44 de 60
Ús dels comandaments
ip link set nomDispositiu [up/down] [name NOMNOU] [mtu VALOR]
nomDispositiu eth0/eth1/.../ppp/loopback/
up/down Activa/desactiva la interfície
name Canvia el nom de la interfície
mtu Canvia MTU de la interfície
ip link show nomDispositiu [up]
nomDispositiu eth0/eth1/.../ppp/loopback/
up Mostra només les interfícies actives
ip address [show]/[add/del adreçaIP dev nomDispositiu]
show,list,l,ls Mostra Adreces del protocol
add,a Afegir una adreça
del,d Eliminar una adreça del dispositiu
ip neigh [list]/[del/add/change adreçaIP dev nomDispositiu]
list,l,ls Mostrar taula ARP
del,d/add,a/change Esborra/afegeix/canvia una entrada ARP
ip rule [show]/[add/del [from,to,iis,tos,fwmark] adreçaIP table nomTaula]
show,list,l,ls Mostra el nom i les regles de les taules d’enrutament
add,a
del,d
Afegir, eliminar regles de la taula d’enrutament
/* Crear taula Ruta_1 */
echo 200 Ruta_1 >> /etc/iproute2/rt_tables
/* Afegir ruta a la taula */
ip rule add from 192.168.0.12 table Ruta_1
ip route [show][add/del [default] via adreçaIP dev nomDispositiu table nomTaula]
show,list,l,ls Mostra les regles de les taules d’enrutament
add,a
del,d
Afegir, eliminar regles de la taula d’enrutament
/* afegir regla a la taula d’enrutament */
ip route add default via 192.168.0.1 dev eth0 table
ip tun [show]/[add,change/delete nomTunel [mode ipip/sit/gre] remote adreçaIP
local adreçaIP dev nomDispositiu ]
show,list,l,ls Mostra els túnels
add,a
del,d
change
Afegir, eliminar, canviar els túnels.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 45 de 60
cron
Es un servei que executa tasques prèviament programades al fitxer /etc/crontab el
propietari d’aquestes tasques es l’usuari root, es pot fer que altres usuaris també puguin
executar tasques programant cron.
crontab
Permet programar tasques que s’executaran periòdicament, cada línia del fitxer es un
registre d’una tasca.
El seu format es el següent:
min hora dia mes dia_de_la_setmana [usuari] comandament
Es poden substituir les hores o les dates per * per indicar qualsevol hora, dia, mes o dia
de la setmana, o indicar fraccions o intervals per fer amb certa periodicitat
Per exemple :
# cada dia a les 12 de la nit (00:00) escriu a la sortida estàndard
0 0 * * * echo “Son les dotze de la nit”
#cada hora a dos quarts escriu l’hora i la data a un fitxer
30 0-23 * * * date >> hores.txt
#cada cinc minuts escriu l’hora i la data a un fitxer
0-59/5 * * * * date >> hores.txt
# a les 8,9,10,11,15,17,19 sona un avís
0 8-11,15,17,19 * * * beep
sudo
El comandament sudo permet executar una comanda d’us exclusiu del superusuari, per
un usuari autoritzat, la autorització d’ús es especificada en un fitxer de configuració
anomenat sudoers.
sudoers
Aquest fitxer conté les autoritzacions per que determinats usuaris, grup d’usuaris i/o
hosts remots puguin usar determinats comandaments habitualment reservats al superusuari.
Per exemple per autoritzar a l’usuari apache per els comandaments ip e iptables, caldria
afegir les següents línies :
apache ALL=NOPASSWD:/sbin/ip
apache ALL=NOPASSWD:/sbin/iptables
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 46 de 60
mysqldump
El comandament mysqldump permet bolcar el contingut i l’estructura de les taules d’una
base de dades a fitxers de text, de tal manera que permet la seva exportació i/o la seva
regeneració a partir de les dades guardades
La seva sintaxi es :
mysqldump [opcions] base_de_dades
OPCIONS
--add-drop-table Afegeix codi davant la creació de les taules per tal d’esborrar les existents abans de crear les noves
-d Especifica que cal bolcar l’estructura, però no les dades
-t Especifica que cal bolcar les dades, però no l’estructura
-T Permet indicar el directori on es desaran les dades
--opt Es crea un únic arxiu per tota la base de dades.
Cal advertir que el servei mysqld ha de ser engegat per executar mysqldump
mod_auth_mysql
El aquest mòdul d’apache permet autenticar usuaris i grups per el seu us en l’aplicació
de restriccions/permisos a l’accés dels directoris web als que s’aplica i permet fer aquesta
autenticació a partir d’una base de dades mysql.
Hi ha dues maneres diferents per configurar l’accés a pàgines web restringides, els
permisos a nivell general de configuració i els permisos a nivell de directori utilitzant fitxers
.htaccess, i es poden aplicar tant a nivell de grup com a nivell d’usuari o be tots dos.
Les dades d’usuari i/o grup cal que siguin a una taula mysql
mysql
# *** Cal tenir una base de dades per exemple http_auth ...
use http_auth;
# *** ... i una taula d’usuaris per exemple user_info
CREATE TABLE user_info (
user_name CHAR(30) NOT NULL,
user_passwd CHAR(20) NOT NULL,
user_group CHAR(10),
user_actiu tinyint(1) NOT NULL default '0',
user_expira datetime default '0000-00-00 00:00:00',
PRIMARY KEY (user_name)
);
# *** L’usuari de la base de dades es pot dir per exemple http_auth
# *** i el seu password pwd_http_auth
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 47 de 60
Permisos per configuració, son els mes segurs, en principi cap usuari els pot modificar,
cal una secció complerta per cada directori que volem protegir, aquest es un exemple :
httpd.conf
# ****************************************************************
# Configuració httpd.conf
# ****************************************************************
< Directory "/var/www/html/prova" >
# Nom de la restricció
AuthName "Prova de validació mysql"
# Sense autenticació
# AuthMySQLAuthoritative Off
# Sense password
# AuthMySQLNoPasswd Off
AuthType Basic
# amb apache 2.0 no lo cal
# AuthGroupFile /dev/null
# host de la base de dades
AuthMySQLHost localhost
# nom de la base de dades
AuthMySQLDB http_auth
# nom de l'usuari de la base de dades
AuthMySQLUser http_auth
# password de l'usuari de la base de dades.
AuthMySQLPassword pwd_http_auth
# nom de la taula d'usuaris
AuthMySQLUserTable user_info
# Camp amb el nom de l’usuari
AuthMySQLNameField user_name
# Camp amb el password Usuari
AuthMySQLPasswordField user_passwd
# Password amb la funció password() de MySQL
AuthMySQLScrambledPasswords On
# Condicions adicionals
AuthMySQLUserCondition "user_expira > CURDATE() AND user_actiu=1"
# qualsevol usuari de la taula
require valid-user
# només els usuaris joan maria pere i manel
#require user joan maria pere manel
# per que generi un índex del contingut del directori
# res a veure amb l'autenticació
Options +Indexes
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 48 de 60
Configuració per .htaccess en cada directori, es el mes flexible, sobre tot quan hi ha
diferents usuaris que modifiquen les seves pàgines, també poden modificar els permisos
d’accés.
httpd.conf
# ************************************************************
# Configuració per .htaccess de httpd.conf
# ************************************************************
AllowOverride Authconfig
Options +Indexes
.htaccess
# ************************************************************
# Configuració .htaccess a cada directori que calgui protegir
# ************************************************************
# nom de la restricció
AuthName "Prova de validació mysql"
AuthType Basic
# amb apache 2.0 no lo cal
#AuthGroupFile /dev/null
# host de la base de dades
AuthMySQLHost localhost
# nom de la base de dades
AuthMySQLDB http_auth
# nom de l'usuari de la base de dades
AuthMySQLUser http_auth
# password de l'usuari mysql
AuthMySQLPassword pwd_http_auth
# nom de la taula d'usuaris
AuthMySQLUserTable user_info
# Camp nom usuari
AuthMySQLNameField user_name
#Camp password usuari
AuthMySQLPasswordField user_passwd
# password amb la funció password() de MySQL
AuthMySQLScrambledPasswords On
#Condicions adicionals
AuthMySQLUserCondition "user_expira > CURDATE() AND user_actiu=1"
# només els usuaris joan maria pere i manel
# require user joan maria pere manel
# qualsevol usuari de la taula
require valid-user
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 49 de 60
També es pot autoritzar a nivell de grup, cosa que facilita el manteniment per quantitats
elevades d’usuaris, per això cal una taula que faci el vincle usuari -- grup.
mysql
# *** Taula de grups per exemple user_group
CREATE TABLE user_group (
user_name char(30) DEFAULT '' NOT NULL,
user_group char(20) DEFAULT '' NOT NULL,
PRIMARY KEY (user_name,user_group)
);
De manera semblant a l’anterior podem utilitzar fitxers d’accés o el fitxer de configuració,
com a exemple el fitxer d’accés :
.htaccess
# nom de la restricció
AuthName "Prova de validació mysql"
AuthType Basic
# amb apache 2.0 no lo cal
#AuthGroupFile /dev/null
# host de la base de dades
AuthMySQLHost localhost
# nom de la base de dades
AuthMySQLDB http_auth
# nom de l'usuari de la base de dades
AuthMySQLUser http_auth
# password de l'usuari mysql
AuthMySQLPassword password_mysql .
# Taula d'usuaris
AuthMySQLUserTable user_info
# Camp nom usuari
AuthMySQLNameField user_name
# Camp password usuari
AuthMySQLPasswordField user_passwd
# Condicions adicionals usuari
AuthMySQLUserCondition "user_expira > CURDATE() AND user_actiu=1"
# Taula de grups
AuthMySQLGroupTable user_group
# Camp nom grup
AuthMySQLGroupField camp_nom_grup
#condicions adicionals grup
AuthMySQLGroupCondition "grup_actiu=1"
# password amb la funció password()
AuthMySQLScrambledPasswords On
# qualsevol usuari del grup ADMIN
require group ADMIN
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 50 de 60
Fitxers de la part automàtica
Mòdul : Aplicar permisos restriccions Fitxer : autoAplica.php
Descripció :
Script que aplica els permisos i restriccions de forma automàtica
Accés : Cron (root) SSL
Enllaços : cap
Mòdul : Backup de base de dades Fitxer : backupBD.php
Descripció :
Script que realitza un bolcat a text de la base de dades
Accés : Cron (root) SSL
Enllaços : cap
Mòdul : Funcions d’enllaç amb iptables Fitxer : control.php
Descripció :
Funcions i/o constants per accedir al mòdul iptables
Accés : SSL
Enllaços : cap
Fitxers de la part interactiva
Mòdul : Permís Individual Fitxer : permis.php
Descripció :
Formulari d’adjudicació de llistats i permisos per un determinat usuari
Accés : Professors / Administradors SSL SI
Enllaços : connexions
Mòdul : aplicació de permisos Fitxer :
Descripció :
Script d’interacció amb el sistema per aplicar i/o revocar els permisos individuals.
Accés : Professors / Administradors SSL SI
Enllaços : cap
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 51 de 60
Miscel·lània de fitxers
Mòdul : prova Fitxer prova.php
Descripció :
Script de prova de php en entorn html i/o des del sistema
Pinta la data/hora actual i la d’una hora mes
Accés : SSL
Enllaços : cap
Mòdul : Recuperar Assignatures Fitxer recuperaAssignatures.php
Descripció :
Script exemple per extreure informació de la base de dades via html a text
Accés : SSL
Enllaços : Cap
Mòdul : Test de funcionament de PHP Fitxer : ScriptPHP.php
Descripció :
Script de test per scripts PHP des de shell amb accés a base de dades
Accés : SSL
Enllaços : cap
Mòdul : Test de funcionament de MySQL Fitxer testMySQL.php
Descripció :
Formulari que presenta el contingut d’una taula MySQL (semblant a l’anterior però amb
sortida html)
Accés : SSL
Enllaços : cap
Mòdul : Test d’interacció amb iptables Fitxer : testShell.php
Descripció :
Script de test de funcionament de iptables via el comandament sudo
Accés : SSL
Enllaços : cap
Enllaç amb el sistema
L’enllaç amb el sistema es realitza a dos nivells.
1. Les crides directes del servidor httpd al sistema, des de la part interactiva.
2. Les crides automàtiques al sistema.
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 52 de 60
Crides interactives
El llenguatge d’script PHP disposa d’una instrucció per fer una crida d’execució al
sistema.
exec(programa, varSortida, varRetorn);
On programa es la comanda a executar
varSortida es el resultat de l’execució del programa
i varRetorn el valor de finalització del programa (codi d’error)
En aquest cas el programa a executar es el comandament sudo amb el que
comuniquem que volem executar una comanda amb privilegis d’un usuari determinat, la
sintaxi de la comanda es :
sudo -u usuari comanda [paràmetres]
On usuari es el nom de l’usuari en nom de qui s’executarà la comanda i que ha de ser
autoritzat .
comanda es el nom completament qualificat de la comanda (amb el seu path absolut)
i paràmetres els paràmetres d’execució de la comanda.
La comanda a executar es iptables amb els seus paràmetres [veure apartat pag.42 ]
La crida utilitzant una instrucció de format amb substitució (sprintf) seria mes o menys
:
$iptables = "sudo -u root /sbin/iptables %s FORWARD -d %s -s %s -j %s";
exec(sprintf($iptables,$comanda, $ipd, $ips, $accio), $sortida, $retorn);
Crides automàtiques
Les crides automàtiques son bàsicament dues:
1. La de funcionament que es tindria d’executar mes o menys cada 5 minuts.
2. La de copies de seguretat de la base de dades que es pot executar per exemple
una vegada al dia, uns minuts abans de l’hora d’aturada automàtica del sistema.
Les dues crides les executa el dimoni cron amb privilegis de root.
La seva programació dins del fitxer crontab seria mes o menys:
0-59/5 * * * * root /usr/bin/php –f /var/www/html/CAUSiX/autoAplica.php
30 21 * * * root /usr/bin/php –f /var/www/html/CAUSiX/backupBD.php
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 53 de 60
Conclusions
Aquest treball, com es diu en la introducció, pretén ser una base per un
desenvolupament mes ampli.
Actualment es troba en fase de proves avançada, tot i que està ja en un punt en el que
es podria incorporar a la fase d’explotació, crec que encara calen unes millores i afegir
algunes prestacions que s’han mostrat com necessàries.
El producte resultat d’aquest treball, es fet “a mida” del Departament d’Informàtica d’un
centre amb unes necessitats especifiques força concretes, però no es pot descartar el seu
us en qualsevol altre àmbit on sigui necessària una regulació d’aquest tipus.
Es un producte obert, en que es poden incorporar moltes prestacions adicionals, des
d’ampliar la part administrativa per fer-ne un sistema d’informació personalitzada per els
usuaris, fins el control exhaustiu de la xarxa i configuració de tallafocs.
Pot ser també un punt d’inici per una proposta de Crèdit de Síntesi per els Cicles
Formatius de Grau Superior d’Administració de Sistemes Informàtics o per el de
Desenvolupament d’Aplicacions informàtiques, doncs aglutina Sistemes, Bases de Dades,
Xarxes, Programari, Anàlisi,...
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 54 de 60
Pendent de fer mes endavant
Algunes propostes d’ampliació i millora:
• Manual d’usuari.
• Ajuda en línia
• Afegir control interactiu per grups, a banda de l’individual.
• Modificar els permisos per poder controlar, no només l’accés a determinades
adreces, sinó també a determinats ports o parelles Adreça:Port
• Personalitzar la informació de l’usuari per exemple amb notes en línia, etc.
• Exàmens, enquestes en línia.
• Notificacions, missatges , noticies,... en línia.
• Millorar l’interficie de l’usuari.
I tot allò que pugui ser útil integrar en aquest entorn,
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 55 de 60
Bibliografia i documentació
Material imprès
[1] Administració de sistemes operatius en xarxa Miquel Colobran Huguet UOC
[2] Redes de Computadoras Andrew S. Tanenbaum Pearson-Prentice Hall
[3] Comunicaciones y redes de computadoras William Stallings Prentice Hall
[4] Guía del Administrador CTO Red Hat ANAYA Multimedia / Red Hat Press
[5] Firewalls Bill McCarty ANAYA Multimedia / Red Hat Press
[6] Routers Linux Tony Mancill Prentice Hall
[7] Guia esencial APACHE Scott Hawkins Prentice Hall
[8] Proyectos profesionales PHP Ashish Wilfred et al. ANAYA Multimedia
[9] Guia de aprendizaje MySQL Larry Ullman Prentice Hall
[10] MySQL para Windows y Linux César Pérez Ra-Ma
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 56 de 60
Documents a internet
Document Adreça
(Linux) Fedora Core 1 http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/
Apache http://httpd.apache.org/docs-2.0/es/
MySQL http://dev.mysql.com/doc/mysql/en/index.html
PHP http://es2.php.net/manual/es/
OpenSSL http://www.openssl.org/docs/apps/openssl.html
IPTables http://www.netfilter.org/documentation/index.html#documentation-howto
Iptables Manual pràctic http://www.pello.info/filez/firewall/iptables.html
Ip e iproute http://www.perlfu.co.uk/stuff/documentation/ iproute2/ip-cref.ps
Enrutament avançat i
control de tràfic en Linux http://congreso.hispalinux.es/congreso2001/actividades/ponencias/eric/pdf/iproute011020.pdf
Webmin http://www.webmin.com
PHP-IPTables http://www.alu.ua.es/p/psp4/Aplicaciones/index.html
PHP-MyAdmin http://phpmyadmin.net
MySQLCC http://www.mysql.com/products/mysqlcc/index.html
MySQLAdministrator http://www.mysql.com/products/administrator/index.html
Recursos varis http://freshrpms.net/
Forums, noticies i altres
Forum de xarxes en castellà es.comp.os.linux.redes
Forum de Linux (temes variats) en castellà es.comp.os.linux.misc
Forum de PHP en castellà es.comp.lenguajes.php
Annex Llista de fitxers
Nom Ext Comentari Nom Ext Comentari
estilbasic css Full d'estil de les pàgines eliminarModuls php Script per eliminar blocs horaris marcats
banner html Capçalera de la pàgina principal eliminarPermisos php Script per eliminar permisos marcats
índex html Contenidor de les "frames" i pàgina principal eliminarTerminals php Script per eliminar terminals marcats
peu html Peu de la pàgina principal eliminarUsuaris php Script per eliminar usuaris marcats
sep html Separador funcion php Funcions de llistat de base de dades
admin php Limitació d'accès al grup ADMIN índex php Script que força l'entrada a index.html amb https
afegirAssignatura php Script per afegir a la base de dades una assignatura IP php funcions de composició d'adreces IP
afegirAula php Script per afegir a la base de dades un aula llistaAssignatures php Formulari de llistat/eliminació d'assignatures
afegirCicle php Script per afegir a la base de dades un curs llistaAules php Formulari de llistat/eliminació d'aules
afegirGrup php Script per afegir a la base de dades un grup llistaCicles php Formulari de llistat/eliminació de cursos
afegirHorari php Script per afegir a la base de dades un bloc horari llistaConexions php Formulari de llistat de connexions en curs
afegirModul php Script per afegir a la base de dades un mòdul horari llistaGrups php Formulari de llistat/eliminació de grups
afegirTerminal php Script per afegir a la base de dades un terminal llistaTerminals php Formulari de llistat/eliminació de terminals
afegirUsuari php Script per afegir a la base de dades un usuari llistaUsuaris php Formulari de llistat/eliminació d'usuaris
altesAssignatures php Script per afegir a la BDD assignatures des de'un fitxer llocsegur php Script de forçat a entrar amb https
altesTerminalsFitxer php Script per afegir a la BDD terminals des d'un fitxer login php Script de petició de Usuari/Password
altesUsuarisFitxer php Script per afegir a la BDD usuaris des d'un fitxer logout php Script de tancament de sessió
assignaGrup php Formulari d'assignció d'usuaris a grups menu_cos php Barra de menú del cos principal
autoAplica php Script per aplicar permisos d'acces de de cron menuh php Barra de menú de la capçalera
backupBD php Script per fer la cópia de seguretat des de cron modiuser php Exemple de modificacions sobre una taula de BDD
canviarPassword php Script per fer el canvi de password a la BDD nomFitxerAssignatures php Formulari per entrada del nom del fixer d'assignatures
canviPassword php Formulari de canvi de password nomFitxerTerminals php Formulari per entrada del nom del fixer de terminals
capzalera php Comentaris de capçalera de HTML nomFitxerUsuaris php Formulari per entrada del nom del fixer d'usuaris
conectaBD php Script de connexió a la base de dades normes php Contingut principal de la frame cos amb usuari local
control php Funcions d'enllaç amb el sistema permet php Script d'interacció amb els permisos individuals
cos php Contingut principal de la frame cos sense usuari permis php Formulari d'adjudicació de permisos individuals
editaAssignatura php Formulari per editar/afegir una assignatura permisos php Formulari de llista de permisos comuns
editaAula php Formulari per editar/afegir una aula pertany php Script per assignar usuaris a grups
editaCicle php Formulari per editar/afegir un curs presentacio php Contingut principal de la frame cos amb usuari remot
editaGrup php Formulari per editar/afegir un grup profes php Limitació d'accès al grups ADMIN i PROFES
editaHorari php Formulari per editar/afegir un bloc horari programari php Pàgina de mostra d'informació
editaModul php Formulari per editar/afegir els moduls horaris prova php Test de funcionament de PHP(1)
editaTerminal php Formulari per editar/afegir un terminal recupAssignatures php Exemple d'extracció desde BDD a text via html
editaUsuari php Formulari per editar/afegir un usuari ScriptPHP php Test de funcionament de PHP (interactiu o automàtic)
eliminarAssignatures php Script per eliminar assignatures marcades testMySQL php Test de funcionament de MySQL
eliminarAules php Script per eliminar aules marcades testShell php Test de funcionament d'iptables (visualització 'estat)
eliminarCicles php Script per eliminar cursos marcats user php Limitació d'accès al grup USERS
eliminarGrups php Script per eliminar grups marcats CAUSiX sql Script SQL de creació de la BDD
Glossari
.htaccess, 46, 48, 49
Administrativa, 3, 21, 29
apache, 11, 40, 45, 46, 47, 48, 49, 56
Apache, 10, 11, 13, 17, 20, 29, 56
APT, 19
Automàtica, 21
base de dades, 3, 8, 11, 13, 16, 18, 20, 25, 28,
31, 33, 34, 35, 36, 37, 38, 39, 40, 43, 46, 47, 48,
49, 50, 51, 52, 57
Base de Dades, 3, 21, 22
client/servidor, 8
comunicació segura, 8, 13, 17
cron, 4, 19, 40, 45, 52, 57
DHCP, 3, 8, 10, 13, 14, 19
dhcpd, 13, 14, 15
encaminador, 8, 9, 10, 41
Executiva, 4, 21, 40
Fedora, 10, 13, 19, 29, 56
httpd, 15, 17, 40, 47, 48, 51, 56
Interactiva, 21
Interfície, 9, 14, 43
interfícies, 3, 8, 9, 13, 14, 43, 44
iptables, 4, 40, 41, 42, 45, 50, 51, 52, 56, 57
IPTables, 10, 11, 13, 17, 56
Linux, 10, 11, 12, 13, 18, 19, 41, 55, 56
maquinari, 5, 6, 8, 9, 13
mod_auth_mysql, 4, 40, 46
mysql, 12, 16, 18, 20, 46, 47, 48, 49, 56
MySQL, 3, 11, 12, 13, 16, 18, 19, 20, 29, 47, 48,
51, 55, 56, 57
mysqld, 16, 46
mysqldump, 4, 40, 46
navegador, 8, 16, 17, 19, 20, 32
OpenSSL, 11, 13, 17, 29, 56
Passarel·la, 9
PHP, 3, 11, 13, 16, 19, 20, 29, 51, 52, 55, 56, 57
root, 13, 16, 17, 19, 40, 45, 50, 52
servidor web, 8, 10, 13, 15, 19, 20
servidors, 2, 3, 7, 9, 11, 13, 14, 19, 23, 24, 25, 38
sistema Operatiu, 10
Sistema Operatiu, 3, 10, 13
subxarxa, 7, 8, 9, 14, 23
Subxarxa, 8, 9
subxarxes, 5, 8, 9, 14
sudo, 4, 40, 45, 51, 52
sudoers, 4, 40, 45
tallafocs, 3, 8, 9, 10, 11, 13, 17, 21, 41, 53
topologia, 3, 4, 7, 9
xarxa, 2, 5, 7, 8, 9, 10, 11, 13, 14, 15, 19, 20, 24,
25, 28, 32, 41, 42, 43, 53, 55
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 59 de 60
Control d’Accés d’Usuaris als Serveis de Xarxa CAUSiX 0.5β
Pàgina 60 de 60