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
Dies de la setmana
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