• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sistema de monitorización Nagios aplicado al centro de Estudios Stucom
 

Sistema de monitorización Nagios aplicado al centro de Estudios Stucom

on

  • 1,309 views

Proyecto final de ciclo, en Sistema de Telecomunicaciones e Informáticos, de los alumnos Bernat Romeu y Jordi Muria. Ver más en ...

Proyecto final de ciclo, en Sistema de Telecomunicaciones e Informáticos, de los alumnos Bernat Romeu y Jordi Muria. Ver más en http://www.francescperez.net/html/proyectos/articulos/art_8_Monitorizacion_nagios.html

Ver más en http://francescperez.net/html/proyectos/articulos/art_8_Monitorizacion_nagios.html

Statistics

Views

Total Views
1,309
Views on SlideShare
1,229
Embed Views
80

Actions

Likes
1
Downloads
30
Comments
0

2 Embeds 80

http://www.francescperez.net 46
http://francescperez.net 34

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Sistema de monitorización Nagios aplicado al centro de Estudios Stucom Sistema de monitorización Nagios aplicado al centro de Estudios Stucom Document Transcript

    • Administració de Sistemes Informàtics en XarxaSistema de monitoritzacióNagios aplicat al Centred’Estudis StucomProjecte de síntesiJordi Muria Badia i Bernat Romeu Llabrés 2011 - 2012
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX Índex1 Introducció ............................................................................................................................ 1 1.1 Divisió de tasques.......................................................................................................... 22 Què és Nagios? ...................................................................................................................... 3 2.1 Versions de Nagios ........................................................................................................ 4 2.1.1 Nagios Core ........................................................................................................... 4 2.1.2 Nagios Fusion ........................................................................................................ 5 2.1.3 Nagios XI ................................................................................................................ 53 Funcionament de Nagios....................................................................................................... 6 3.1 Estructura de Nagios ..................................................................................................... 7 3.2 Definició dobjectes ....................................................................................................... 8 3.3 Utilització de plugins ..................................................................................................... 94 Valoració dels softwares de monitorització descartats ...................................................... 10 4.1 Pandora FMS ............................................................................................................... 10 4.2 Cacti ............................................................................................................................. 105 Conceptes de monitorització .............................................................................................. 11 5.1 SSL ............................................................................................................................... 11 5.1.1 Funcionament SSL ............................................................................................... 11 5.2 Protocol SNMP ............................................................................................................ 12 5.2.1 Components bàsics ............................................................................................. 13 5.2.2 Comandaments bàsics......................................................................................... 13 5.2.3 OID i MIB ............................................................................................................. 13 5.3 MRTG ........................................................................................................................... 156 Diagrama de l’estructura de Stucom................................................................................... 167 Diagrama de l’entorn virtual ............................................................................................... 178 Preparació del servidor Nagios ........................................................................................... 18 8.1 Instal·lació d’Ubuntu Server ........................................................................................ 18 8.2 Instal·lar interfície gràfica bàsica (OPCIONAL) ............................................................ 19 8.3 Configurar IP estàtica .................................................................................................. 199 Instal·lació de Nagios........................................................................................................... 20 9.1 Crear Informació de contes ......................................................................................... 20 9.2 Descarregar Nagios Core, Plugins i Daemon NRPE ..................................................... 21 9.3 Compilar i instal·lar Nagios.......................................................................................... 21 9.3.1 Configurar la interfície web ................................................................................. 22 9.4 Compilar i instal·lar Nagios Plugins ............................................................................. 22 9.5 Compilar i instal·lar Daemon NRPE ............................................................................. 23 9.5.1 Provar la comunicació amb el daemon NRPE ..................................................... 23 9.5.2 Crear definició de comandaments NRPE............................................................. 23 9.6 Iniciar Nagios ............................................................................................................... 24 9.6.1 Accedir a la interfície web ................................................................................... 2410 Preparació de màquines Windows client ........................................................................ 25 10.1 Instal·lació i configuració de lagent Nagios ................................................................ 26 10.1.1 Funcionament ..................................................................................................... 26 10.1.2 Instal·lació i configuració ..................................................................................... 26
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX11 Preparació de màquines Linux client .............................................................................. 28 11.1 Funcionament de lagent NRPE ................................................................................... 28 11.1.1 Tipus de funcionament........................................................................................ 28 11.2 Instal·lació de lagent NRPE ......................................................................................... 29 11.2.1 Crear conta dusuari "nagios".............................................................................. 29 11.2.2 Instal·lar el Nagios plugins ................................................................................... 29 11.2.3 Instal·lar xinetd, llibreria SSL i Build Essential ..................................................... 29 11.2.4 Instal·lar el daemon NRPE ................................................................................... 30 11.2.5 Testejar el daemon NRPE localment ................................................................... 31 11.2.6 Obrir normes de firewall ..................................................................................... 3112 Preparació de la màquina PfSense .................................................................................. 32 12.1 Instal·lació i configuració inicial de lagent NRPE ........................................................ 3213 Configuració del servidor Nagios .................................................................................... 33 13.1 Backups dels arxius de configuració............................................................................ 33 13.2 Preparació de larxiu de configuració principal de Nagios .......................................... 34 13.3 Plantilles de Nagios ..................................................................................................... 35 13.3.1 Plantilles genèriques de host i de servei ............................................................. 35 13.4 Imatges dels host en la interfície web......................................................................... 36 13.5 Monitorització del servidor Nagios ............................................................................. 37 13.5.1 Plantilla localhost i local-service (templates.cfg) ................................................ 37 13.5.2 Host i hostgroup (localhost.cfg) .......................................................................... 37 13.5.3 Serveis (localhost.cfg).......................................................................................... 38 13.5.4 Interfície web ...................................................................................................... 3814 Monitorització de Windows Server ................................................................................. 39 14.1 Plantilla i definicions ................................................................................................... 39 14.1.1 Comandaments personalitzats (commands.cfg) ................................................. 4215 Monitorització de Ubuntu Server.................................................................................... 43 15.1 Plantilla i definicions ................................................................................................... 43 15.2 Definicions al host remot ............................................................................................ 4416 Monitorització de servidors externs ............................................................................... 46 16.1 Plantilla i definicions ................................................................................................... 46 16.1.1 Comandaments personalitzats (commands.cfg) ................................................. 4717 Monitorització de PfSense .............................................................................................. 48 17.1 Plantilla i definicions ................................................................................................... 4818 Monitorització dels PCs daula ....................................................................................... 50 18.1 Plantilla i definicions ................................................................................................... 5019 Grups de Serveis .............................................................................................................. 5220 Monitorització delements de xarxa ............................................................................... 53 20.1 Plantilla i definicions ................................................................................................... 5321 Integrar SNMP a Nagios .................................................................................................. 55 21.1 Definicions ................................................................................................................... 5622 Actualitzar Nagios............................................................................................................ 59 22.1 Procés dactualització .................................................................................................. 5923 Afegir addon pnp4nagios ................................................................................................ 60 23.1 Funcionament ............................................................................................................. 60
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX 23.1.1 Mode Síncron ...................................................................................................... 60 23.1.2 Mode Massiu ....................................................................................................... 60 23.1.3 Mode Massiu amb NPCD ..................................................................................... 61 23.2 Instal·lació de pnp4nagios ........................................................................................... 61 23.3 Configuració en mode síncron .................................................................................... 62 23.4 Verificació de funcionament ....................................................................................... 63 23.5 Habilitar interfície web ................................................................................................ 64 23.6 Aplicació de popups .................................................................................................... 6624 Configurar Postfix per a enviar alertes e-mail................................................................. 67 24.1 Afegir i configurar usuaris de contacte ....................................................................... 67 24.2 Instal·lació i configuració de Postfix ............................................................................ 6825 Configuració del sistema dalertes .................................................................................. 71 25.1 Establiment dalertes................................................................................................... 7226 Valoració final i conclusions ............................................................................................ 7427 Webgrafia ........................................................................................................................ 75ANNEX: Script memòria RAM Linux ........................................................................................... 76
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX1 IntroduccióAquest document és un informe que resumeix les tasques dutes a terme en el progrés derealització del projecte de síntesi, del CFGS dAdministració de Sistemes informàtics i Xarxes.El projecte ha estat realitzat conjuntament entre els alumnes Jordi Muria Badia i Bernat RomeuLlabrés .L’objectiu del projecte és investigar i configurar un software de monitorització, en el nostre casNagios, per aplicar-lo posteriorment a la xarxa de servidors del Centre d’Estudis Stucom. Abans de l’aplicació pràctica, treballarem en un entorn amb màquines virtuals, per a poder garantir que les tasques realitzades poden ser aplicades amb èxit als servidors reals.Els objectius duna infraestructura de monitorització de sistemes informàtics són principalmentla prevenció d’incidències i conèixer laprofitament dels recursos TIC disponibles. Donat queaquests objectius són molt importants en qualsevol entitat independentment de la seva midaés evident que tota organització hauria de tenir el seu propi sistema de monitorització.El primer pas seria analitzar amb detall el sistema a monitoritzar amb lobjectiu de detectar elssistemes crítics (ja siguin màquines o serveis) pel bon funcionament de lentitat, i crearpolítiques dactuació davant dincidències en els sistemes. Per exemple pot ser molt importantassegurar-se de que una aplicació web corporativa està sempre en marxa o rebre avisdemergència sobre el sistema de correu electrònic de la organització.Sha de redactar un pla d’instal·lació i integració del nou sistema de monitorització en el nostreentorn informàtic, sempre respectant aquestes tres normes: o Mantenir les mesures de seguretat existents. o Minimitzar el impacte en el propi sistema a estudiar. o Minimitzar el número de sistemes entremitjos entre el sistema de monitorització i els sistemes crítics.En qualsevol sistema de monitorització també sha de tenir en compte que sha de buscar unapersona que sencarregui de monitoritzar aquest sistema, sinó estaria incomplert. Aquest puntno sacostuma a tenir molt en compte i és igual dimportant que els anteriors.Per últim sha d’escollir un bon software especialitzat i procedir a la seva instal·lació iconfiguració. A Internet disposem de sistemes amb llicència lliure com és el cas de Nagios, queés el software que nosaltres em escollit pel nostre projecte.La complexitat de configurar Nagios, es que utilitzarem la versió Nagios Core (versió gratuïtaOpen Source), on haurem de treballar amb línia de comandaments (per a totes lesconfiguracions que vulguem fer a Nagios, haurem de modificar una sèrie d’arxius). 1
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX1.1 Divisió de tasquesJordi Muria: o Preparar les màquines virtuals que seran monitoritzades. o Informar-se de la topologia de xarxa de Stucom. o Investigar sobre SNMP, MRTG, SSL i altres softwares de monitorització. o Buscar software i procediments per comprovar el funcionament de Nagios. o Configurar el sistema de reports i alertes adient a les necessitats de ladministrador. o Realització de la presentació PowerPoint.Bernat Romeu: o Investigar sobre el funcionament, instal·lació i configuració de Nagios. o Preparació de la màquina virtual amb Ubuntu Server on shi instal·larà Nagios. o Configurar Nagios i agents de monitorització. o Integrar SNMP a Nagios. o Maquetatge de linforme. Cada un dels membres sencarregarà de redactar i documentar les seves respectives parts. 2
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX2 Què és Nagios? http://www.nagios.org/Nagios és un sistema de monitorització de xarxes de codi obert àmpliament utilitzat, que vigilaels equips (hardware) i serveis (software) que se especifiquen, alertant quan el comportamentdels mateixos no sigui el desitjat.Entre les seves característiques principals figuren la monitorització de serveis de xarxa (SMTP,POP3, HTTP, SNMP...), la monitorització dels recursos de sistemes hardware (carga delprocessador, ús dels discos, memòria, estat dels ports...), independència de sistemesoperatius, possibilitat de monitorització remota mitjançant túnels SSL xifrats o SSH, i lapossibilitat de programar plugins específics per a nous sistemes.Es tracta d’un software que proporciona una gran versatilitat per a consultar pràcticamentqualsevol paràmetre d’interès d’un sistema, i genera alertes, que poden ser rebudes pelsresponsables corresponents mitjançant correu electrònic i missatges SMS, quan aquestsparàmetres excedeixen dels marges definits per l’administrador de xarxa.Nagios originalment sanomenava Netsaint, nom que es va haver de canviar per coincidènciaamb una altre marca comercial. Va ser creat i es actualment mantingut per Ethan Galstad,juntament amb un grup de desenvolupadors de software que mantenen també variscomplements. Nagios va ser originalment dissenyat per a ser executat en GNU/Linux, peròtambé s’executa bé en variants de Unix.Nagios està llicenciat sota la GNU General Public License Version 2 publicada per la FreeSoftware Fundation.Característiques de Nagios:  Monitorització de serveis de xarxa (SMTP, POP3, HTTP, NTTP, ICMP, SNMP).  Monitorització dels recursos hardware (càrrega del processador, ús dels discs...)  Monitorització remota, a través de túnels SSL xifrats o SSH.  Disseny simple de plugins, que permeten als usuaris realitzar els seus propis controls de serveis depenent de les seves necessitats.  Possibilitat de definir la jerarquia de la xarxa, permetent distingir entre host caiguts i host inaccessibles. 3
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX  Notificacions als contactes quan ocorren problemes en serveis o hosts, així com quan són resolts (a través del correu electrònic, buscapersones, Jabber, SMS, o qualsevol mètode definit per lusuari juntament amb el seu corresponent complement).  Possibilitat de definir controladors desdeveniments que executin en ocórrer un esdeveniment dun servei o host per a resolucions de problemes.  Rotació automàtica del fitxer de registre.  Suport per implementar hosts de monitors redundants.  Visualització de lestat de la xarxa en temps real a través dinterfície web, amb la possibilitat de generar informes i gràfiques de comportament dels sistemes monitoritzats, i visualització del llistat de notificacions enviades, historial de problemes, arxius de registres...2.1 Versions de NagiosNagios és un sistema estàndard en la indústria de la monitorització, permet a lesorganitzacions monitoritzar, identificar i resoldre problemes en les TI abans que afectin aprocessos crítics de negoci.Nagios Core és la versió bàsica, de codi obert i gratuïta. Permet garantir els sistemes, lesaplicacions, els serveis i els processos amb la finalitat de que estiguin funcionant correctament.En el cas de que es produeixi una alerta es pot avisar al personal tècnic perquè solucioni elproblema abans de que causi problemes més greus.Nagios Core serveix com un dels blocs de la fundació Nagios XI i Nagios Fusion, que són lessolucions comercials de l’empresa.2.1.1 Nagios Core http://www.nagios.com/products/nagioscore Control integral de la supervisió de tots els components de la infraestructura. Visibilitat de tota la xarxa d’operacions i processos de negoci. Enviament de notificacions als administradors escollits (per mail i sms). Permet a les organitzacions millorar els seus equips i infraestructures abans de que és quedin obsoletes. Generar informes segons les necessitats de l’administrador. Permet la fàcil integració amb les aplicacions internes i de tercers. 4
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX2.1.2 Nagios Fusion http://www.nagios.com/products/nagiosfusion Proporciona al personal d’operacions visualitzar ràpidament els problemes des de qualsevol lloc a través de la seva infraestructura. Permet gestionar de forma remota tots els equips que estan geogràficament separats. Alleugera la necessitat de complexes configuracions i problemes en les transferències de dades. S’ha desenvolupat pensant en la seva escalabilitat sense límits. A mida que la infraestructura es faci més gran, el sistema de monitorització pot fer-ho al mateix nivell. Aquesta versió permet la perfecta integració amb les altres versions de Nagios. Poden treballar de forma paral·lela. Els sistemes servidors permeten una gestió senzilla a traves de http o https.2.1.3 Nagios XI http://www.nagios.com/products/nagiosxi Integració basada en web que permet als administradors la configuració de la interfície de control. Arquitectura extensible: Múltiples api proporcionen una integració senzilla amb aplicacions internes i de tercers. 5
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3 Funcionament de NagiosNagios es configura mitjançant l’ús i la modificació de fitxers. En aquests fitxers sespecifiquenels paràmetres de Nagios, com per exemple com es comunicarà el servidor amb els agentsinstal·lats en les màquines a monitoritzar.Muntarem una estructura jeràrquica que ens permetrà una fàcil escalabilitat:  Unificarem les màquines semblants en grups, com per exemple elements de xarxa, màquines Windows, màquines Ubuntu...  Establirem monitorització de serveis aplicats als grups de màquines, la qual cosa ens permetrà que només agregant una màquina nova i posar-la al grup corresponent, ja la tindrem monitoritzada.  Modificarem les plantilles que Nagios ens ofereix per adequar-les a les nostres necessitats (també en crearem). Algunes de les plantilles que utilitzarem seran les de definicions de host Windows, Ubuntu i elements de xarxa.  També, durant lagregació de host, anirem muntant la topologia de xarxa (indicant quin és el "pare" de cada host, tenint en compte que el servidor Nagios és el host principal).  A part, també monitoritzarem la connectivitat amb servidors públics externs per assegurar-nos que el nostre router té sortida a Internet. 6
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3.1 Estructura de NagiosMain Configuration FileLarxiu de configuració principal conté una sèrie de directives que afecten la manera com eldaemon de Nagios funciona. Aquest arxiu de configuració es llegeix tant pel daemon de Nagiosi els CGIs.Resource File(s)Els arxius de recursos es poden utilitzar per emmagatzemar macros definides per lusuari. Elprincipal punt de tenir els arxius de recursos és utilitzar-los per emmagatzemar la informacióde configuració sensibles (com contrasenyes), sense posar-los a disposició dels CGIs. Podeuespecificar un o més fitxers de recursos opcionals mitjançant la directiva resource_file al seufitxer de configuració principal.Object Definition FilesEls arxius de definició dobjectes sutilitzen per definir els hosts, serveis, contactes, hostgroups,contactgroups, ordres, etc. Aquí és on es defineix tot el que es vol monitoritzar. Es potespecificar un o més arxius de definició dobjectes mitjançant lús de la cfg_file i / o directivescfg_dir al seu fitxer de configuració principal.CGI Configuration FileLarxiu de configuració CGI conté una sèrie de directives que afecten el funcionament dels CGI.També conté una referència al fitxer de configuració principal, de manera que els CGIs sabencom sha configurat Nagios i on estan emmagatzemades les definicions dobjectes. 7
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3.2 Definició dobjectesEn Nagios, tot element que definim utilitzant el comandament define, es considera un objecte.Els tipus dobjecte que es poden definir són els següents:  Host definitions  Host group definitions  Service definitions  Service group definitions  Contact definitions  Contact group definitions  Time period definitions  Command definitions  Service dependency definitions  Service escalation definitions  Host dependency definitions  Host escalation definitions  Extended host information definitions  Extended service information definitions En la guia oficial de Nagios Core hi ha tot un apartat extens que explica detalladament les possibilitats que ofereix Nagios en la definició dobjectes. 8
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3.3 Utilització de pluginsNagios es comunica amb els agents instal·lats a les màquines a monitoritzar mitjançant pluginsque recullen la informació. Aquestes comunicacions sestableixen per túnels SSL i poden estarprotegides amb contrasenya.Els plugins sinstal·len durant el procés dinstal·lació de Nagios, els tenim a la ruta/usr/local/nagios/libexec:Per veure les opcions de cada plugin, utilitzar -h. Per exemple, dintre de la carpeta libexec,executar ./check_swap -h. No obstant, podem descarregar més plugins o addons a la web de Nagios Exchange. 9
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX4 Valoració dels softwares de monitorització descartats4.1 Pandora FMS Pandora FMS (FMS ve de Flexible Monitoring System) és una aplicació de monitorització per vigilar tot tipus de sistemes i aplicacions. Permet conèixer lestat de qualsevol element dels sistemes de negoci. Vigila el hardware, els programes, lesaplicacions i per descomptat, els sistemes operatius. És capaç de detectar una interfície dexarxa que ha caigut, així com el moviment de la configuració dels NASDAQ. Si cal, Pandora FMSpot enviar un missatge SMS quan falli qualsevol sistema o aplicació, o quan el valor de Googlecaigui per sota dels 330 US $.Pandora FMS sajusta com un pop als sistemes i necessitats, ja que ha estat dissenyat per serobert, modular, multi plataforma i fàcil de personalitzar sense necessitat de ser un expertdesenvolupador. Pandora FMS està fet per a administradors de sistemes, encara que es potadaptar a tot tipus dentorns software o fins i tot hardware.La seva distribució és una imatge ISO que es pot descarregar de la web http://pandorafms.org.És un petit sistema operatiu basat en OpenSUSE de Linux. El motiu per a descartar-lo, tot i queté moltes funcionalitats, és perquè la versió gratuïta no té administració remota i no es potcomunicar amb els agents mitjançant el protocol SNMP. La versió Enterprise si que té aquestapossibilitat.4.2 Cacti Cacti és una completa solució per a la generació de gràfics en xarxa, dissenyada per aprofitar el poder demmagatzematge i la funcionalitat per a gràfiques que tenen les aplicacions RRDtool. Aquesta eina, desenvolupada en PHP, proveeix un pool àgil, plantilles de gràfics avançades, múltiples mètodes per a la recopilació de dades, i maneig dusuaris. Té una interfície dusuari fàcil dusar, que resulta convenient per instal·lacions de la mida duna LAN, així com també per a xarxescomplexes amb centenars de dispositius.RRDtool és lacrònim de Round Robin Database tool, és a dir que es tracta duna eina quetreballa amb una base de dades que maneja Planificació Round-robin. Aquesta tècnica treballaamb una quantitat fixa de dades i un punter a lelement actual. La manera com treballa unabase de dades utilitzant Round Robin és el següent; es tracta la BD com si fos un cercle,sobreescrivint les dades emmagatzemades, un cop assolida la capacitat de la BD. La capacitatde la BD depèn de la quantitat dinformació com historial que es vulgui conservar.La pàgina de Cacti és http://www.cacti.net. De moment l’hem descartat perquè Cacti està mésorientat a la monitorització de la xarxa. Però és possible que durant el transcurs del projectel’acabem utilitzant. 10
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX5 Conceptes de monitoritzacióNagios utilitza protocols i plugins propis per a monitoritzar sistemes remots. Els agentssinstal·len en aquests equips remots i recopilen dades que després envien al servidor Nagiosque les interpreta i les mostra en la interfície web. Aquestes dades són enviades per túnelsxifrats SSL.No obstant, Nagios també pot utilitzar el protocol SNMP (Simple Network ManagementProtocol) per a obtenir dades de màquines remotes.5.1 SSLEl protocol SSL proporciona comunicacions segures per una xarxa, normalment Internet.Proporciona autenticació i privacitat de la informació entre els dos costats dInternetmitjançant lús de criptografia. Normalment sautentica només el servidor i el client queda enlanonimat.SSL implica una sèrie de fases bàsiques: o Negociar entre les parts de lalgoritme que sutilitzarà a la comunicació. o Intercanvi de claus públiques i autenticació basada en certificats digitals. o Xifrat del tràfic basat en xifrat simètric.Durant la primera fase el client i el servidor negocien quins algoritmes criptogràficssutilitzaran. Les implementacions actuals proporcionen les següents opcions: o Per criptografia de clau pública: RSA, Diffie-Hellman, DSA o Fortezza. o Per xifrat simètric: RC2, RC4, IDEA, DES, Triple DES, i AES. o Amb funcions hash: MD5 o de la família SHA.5.1.1 Funcionament SSL o El protocol intercanvia registres, opcionalment, cada registre pot ser comprimit, xifrat i empaquetat amb un codi dautenticació de missatge (MAC). Cada registre te el seu propi camp "content_type", que especifica el protocol de nivell superior que està utilitzant. o Quan sinicia la connexió, el nivell de registre encapsula un altre protocol, el protocol handshake, que te el content_type 22. o El client envia i rep varies estructures handshake. o Envia un missatge "clienthello" especificant una llista de conjunts de xifrats, mètodes de compressió i la versió del protocol SSL més alta admesa. Aquesta també envia bytes 11
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX aleatoris que seran utilitzats més tard. A més a més, pot incloure el identificador de la sessió. o Després, rep un registre "serverhello", en el que el servidor escull els paràmetres de connexió a partir de les opcions ofertes amb anterioritat pel client. o Quan els paràmetres de connexió son coneguts, client i servidor intercanvien certificats. o El servidor pot requerir un certificat al client, perquè la connexió sigui mútuament autenticada. o Client i servidor negocien una clau secreta i simètrica comú anomenada "master secret", possiblement utilitzant el resultat dun intercanvi "diffie-hellman", o simplement, xifrant una clau secreta amb una clau pública que és desxifra amb la clau privada de cada part. Totes les dades de claus restants són derivades a partir daquest "master secret", que son transmesos a través duna funció pseudo-aleatòria cuidadosament escollida.TLS/SSL disposa duna gran varietat deines de seguretat: o Numerar tots els registres i utilitzant el número de seqüència en el MAC. o Utilitzant un resum de missatge millorat amb una clau. o Protecció contra atacs coneguts. o El missatge que finalitza el protocol "handshake" envia un hash de que totes les dades han sigut intercanviades i visualitzades per les dues parts. o La funció pseudo-aleatòria divideix les dades dentrada en 2 meitats i les processa amb algoritmes diferents (MD5 y SHA).5.2 Protocol SNMPSNMP és un protocol de la capa d’aplicació que facilita el intercanvi d’informaciód’administració entre dispositius de xarxa. És part de la família de protocols TCP/IP. SNMPpermet als administradors supervisar el funcionament de la xarxa, buscar i resoldre elsproblemes i plantejar el seu creixement.Les versions de SNMP més utilitzades son SNMP versió 1 (SNMPv1) i SNMP versió 2 (SNMPv2).SNMP en la seva última versió utilitza (SNMPv3) i te canvis molt significatius amb relació a lesversions anteriors, sobretot en aspectes de seguretat, encara que majoritàriament no ha sigutacceptat a la indústria.El port utilitzat per SNMP és: 161. 12
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX5.2.1 Components bàsicsUna xarxa administrada a través de SNMP consisteix en tres components claus :  Dispositius administradors  Agents  Sistemes administradors de xarxa (Network Management Systems o NMS’s)Un dispositiu administrat es un node de la xarxa que conté un agent SNMP i resideix en unaxarxa administrada. Aquests recullen i emmagatzemen informació d’administració, la qual esposa a disposició dels NMS’s utilitzant SNMP. Els dispositius administradors, a vegadesanomenats elements de xarxa poden ser routers, servidors d’accés, switches, bridges, hubs,ordinadors o impressores.Un agent és un mòdul de software d’administració de xarxa que resideix en un dispositiuadministrat. Un agent disposa d’un coneixement local d’informació d’administració (memòrialliure, número de paquets IP, rebuts, rutes, etc.). La qual és traduïda a un format compatibleamb SNMP i organitzada en jerarquies.Un sistema administrador de xarxa (NMS) executa aplicacions que supervisen i controlen alsdispositius administradors. Els NMS’s proporcionen el volum de recursos de processament imemòria requerits per l’administració de la xarxa. Un o més NMS’s han d’existir en qualsevolxarxa administrada.5.2.2 Comandaments bàsicsEls dispositius administradors son supervisats i controlats utilitzant quatre comandamentsSNMP bàsics: lectura, escriptura, notificació i operacions transversals.El comandament de lectura és utilitzat per un NMS per supervisar elements de xarxa. El NMSexamina diferents variables que són mantingudes pels dispositius administradors.El comandament d’escriptura és utilitzat per un NMS per controlar elements de xarxa. El NMScanvia els valors de les variables emmagatzemades dintre dels dispositius administradors.El comandament de notificació és utilitzat pels dispositius administradors per reportar eventsen forma asíncrona a un NMS. Quan succeeix un event, un dispositiu administrat envia unanotificació al NMS.Les operacions transversals son utilitzades pel NMS per determinar quines variables suportenun dispositiu administrat i per recollir seqüencialment informació en taules de variables, comper exemple, una taula de rutes.5.2.3 OID i MIBMIB és sinònim de la Base dInformació de Gestió i és una col·lecció dinformació organitzadajeràrquicament. Saccedeix a elles utilitzant un protocol com el SNMP. Hi ha dos tipus de MIB:escalars i de taula. Objectes escalars defineixen una simple instància dobjecte i els objectestabulars defineixen múltiples instàncies dobjectes relacionats, agrupats en taules MIB. 13
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXOID o identificadors dobjecte identificar de forma única els objectes manejades en unajerarquia MIB. Això pot ser representat com un arbre, els nivells dels quals són assignats perdiferents organitzacions. Nivell superior MIB ID dobjecte (OID) que pertanyen a diferentsorganitzacions de normalització. Els venedors defineixen les branques privades, incloent elsobjectes gestionats per als seus propis productes.Exemples: Això es una estructura simple de un OID:Iso(1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2)-.-cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3 O resumit:1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3Aquests números són els que sutilitzen en PRTG en configurar els sensors dencàrrec, per taldaccedir als elements apropiats del dispositiu que es vol vigilar. OID general són proporcionatspels fabricants de maquinari o bé pot trobar-se als anomenats dipòsits dOID, on lescol·leccions darbres MIB i el OID respectius es pot accedir. PRTG llegeix aquests OID i elsnomena el dispositiu pertinent, respectivament, el seguiment del dispositiu i el seu OIDespecífic. 14
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX5.3 MRTGMRTG (Multi Router Traffic Grapher) és una eina, escrita en C i Perl per Tobias Oetiker i DaveRand, que sutilitza per supervisar la càrrega de tràfic de interfícies de xarxa. MRTG genera uninforme en format HTML amb gràfiques que proveeixen una representació visual de levoluciódel trànsit al llarg del temps.Per recollir la informació del trànsit del dispositiu (habitualment routers) leina utilitza elprotocol SNMP (Simple Network Management Protocol). Aquest protocol proporciona lainformació en cru de la quantitat de bytes que han passat per ells distingint entre entrada isortida. Aquesta quantitat bruta haurà de ser tractada adequadament per a la generaciódinformesTambé permet executar qualsevol tipus daplicació en lloc de consultar un dispositiu SNMP.Aquesta aplicació proporciona com a sortida dos valors numèrics que es corresponen alentrada i sortida. Habitualment solen utilitzar scripts que monitoritzen la màquina local.Així mateix, proporciona una aplicació cfgmaker que genera la configuració per un router deforma automàtica utilitzant la meta informació que proporciona SNMPMRTG sexecuta com un dimoni o invocat des de les tasques programades del cron. Perdefecte, cada cinc minuts recull la informació dels dispositius i executa els scripts que se liindiquen en la configuració.En un primer moment, MRTG consultava la informació, la processava i generava linforme i lesgràfiques. En les últimes versions, aquesta informació és emmagatzemada en una base dedades gestionada per RRDtool a partir de la qual, i de forma separada, es generen els informesi les gràfiques.Causa de les seves característiques, aquesta eina ha estat utilitzada de forma extensiva iadaptada per tractar informació que no sadequa a les mesures entrada / sortida com proxys,processos...Per això lautor de leina va decidir crear una segona eina RRDtool més flexible que permetemmagatzemar qualsevol tipus de dades. En les últimes versions, MRTG utilitza RRDtoolquedant restringida la seva funcionalitat a accedir als dispositius configurats per alimentar elRRDtool. La gestió de les dades i la generació de les gràfiques es realitzen mitjançant RRDtool. 15
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX6 Diagrama de l’estructura de StucomCentre dEstudis Stucom es caracteritza per tenir una estructura forta en seguretat i totalmentescalable.La xarxa dalumnes disposa de quatre servidors, dos dells son servidors amb sistema operatiuWindows Server 2003, amb Active Directory i DNS instal·lat, un és una copia de laltre queentra en funcionament quan el primer cau (redundància).Els dos restants son dos servidors proxy que proporcionen sortida a Internet (utilitzen elsistema operatiu PFsense) i estan connectats als mòdems/routers dels ISP.Tots aquests servidors van connectats a un switch central. Des daquest switch es connecta unaltre equip entremig que fa de firewall i gestiona tota lentrada i sortida de les aules.Després daquest firewall hi ha un altre switch gestionable amb 11 vlans (una per aula). 16
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX7 Diagrama de l’entorn virtualCom es comentava abans, lentorn virtual serà senzill per tal de centrar-se en monitoritzar béles màquines. Aquest entorn serà creat amb VMware Workstation, fent servir els tipus dexarxa NAT (20.20.20.0/24) i HOST-ONLY (10.10.10.0/24). Shauran de muntar amb leditor dexarxes virtuals de VMware les xarxes al nostre gust:  A la xarxa NAT hem establert com a gateway la IP 20.20.20.1 i hem habilitat el servei DHCP per a que el PfSense tingui IP automàtica per la part de WAN.  A la part de HOST-ONLY, hem creat una VMnet amb el rang 10.10.10.0/24, on el gateway serà la IP de LAN del PfSense (10.10.10.1).Aquestes dos xarxes estaran separades per una màquina virtual PfSense amb dos targetes dexarxa. El PFSense és utilitzat a Stucom com a proxy de sortida a Internet. A aquesta sortida aInternet, utilitzarem la xarxa NAT fent servir el router virtual de VMwareDintre del que seria la LAN (Host-Only), tindrem un servidor Ubuntu on hi instal·larem Nagios;un Windows Server 2003 que farà de servidor DNS, DHCP, darxius i controlador de domini; unUbuntu Server; i un Windows XP que estarà dintre del domini.El servidor Nagios serà lencarregat de monitoritzar la topologia de xarxa especificada. Alsservidors DNS de Google que estan a la sortida dInternet, només els hi anirem fent un pingconstant per a comprovar que la sortida a Internet és correcte. A la resta de màquines hiinstal·larem lagent Nagios per a poder monitoritzar hardware com ús de CPU, estat dels discosdurs, RAM... i també serveis de software com per exemple el servei DHCP.En el cas dels switchos, apareixeran a la topologia de xarxa de Nagios però amb la IP deloopback del servidor (127.0.0.1). Daquesta manera aconseguim que surtin en el plànol dexarxa. Actuarien com a switchos no gestionables. I en el cas del router virtual, només hipodrem comprovar el ping, però explicarem la manera de comprovar lestat del router i delsseus ports mitjançant SNMP. 17
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX8 Preparació del servidor Nagios8.1 Instal·lació d’Ubuntu ServerDurant el procés d’instal·lació de la màquina virtual, només es remarcaran els puntsd’importància.El servidor tindrà de nom de màquina servernagios. Aquest nom identifica el sistema en laxarxa.El nom del usuari local serà bernat i contrasenya p@ssw0rd.Finalment shi instal·larà el gestor d’engegada d’Ubuntu, el Grub. Aleshores es reinicia lamàquina i ja es pot començar a treballar amb el servidor.Abans d’instal·lar Nagios, shaurà d’optimitzar i actualitzar lUbuntuPer a actualitzar la llista de repositoris d’Internet, executarem el comandament sudo apt-getupdate. Per a aplicar les actualitzacions, executarem el comandament sudo apt-get upgrade. 18
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX8.2 Instal·lar interfície gràfica bàsica (OPCIONAL)Si es vol treballar de forma més còmode, es pot atorgar una interfície gràfica a Ubuntu Server.Executar:  sudo apt-get install xorg gnome-coreAmb aquest comandament, sinstal·larà una interfície gràfica que només siniciarà si es vol. Esdisposarà dalgunes eines gràfiques com navegador web, editor de textos... que com hemcomentat abans, ens permetrà treballar de forma més còmode amb el Ubuntu Server.Seguidament, instal·lar el paquet gksu per a que els menús funcionin correctament:  sudo apt-get install gksuPer a instal·lar les "Herramientas de red" executar:  sudo apt-get install gnome-system-tools gnome-nettoolUn cop realitzats aquests passos, cal invocar la interfície gràfica. Executar:  startx8.3 Configurar IP estàticaObrim el terminal i escriure:  sudo nano /etc/network/interfacesQuan s’obri l’editor de text “Nano”, es veurà que la interfície de xarxa eth0 està configurada enmode DHCP. Sha de modificar aquella part de l’arxiu per a que quedi de la següent manera:Finalment sexecutarà el següent comandament per a reiniciar la targeta de xarxa:  sudo /etc/init.d/networking restartSi tot surt correcte voldrà dir que la modificació ha estat bona. Si es vol comprovar que s’estàaplicant la IP estàtica que li hem assignat, es pot veure amb el comandament ifconfig. 19
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX9 Instal·lació de NagiosPer a la instal·lació de Nagios, shaurà d’iniciar sessió en la màquina virtual d’Ubuntu. Recordarque el nom de la màquina era “servernagios”, el nom d’usuari local “bernat” i la contrasenya“p@ssw0rd”.Abans de començar, caldrà instal·lar una sèrie de paquets addicionals amb apt-get install:  Apache 2 (apache2)  PHP (php5)  GCC compiler and development libraries (build-essential)  GD development libraries (libgd2-xpm-dev)  SSH i SSL libraries (openssh-server, libssl-dev)  SNMP (snmp, snmpd, libnet-snmp-perl)  SAMBA (samba, samba-client)  Móduls PERL (libcrypt-des-perl, libdigest-hmac-perl, libdigest-sha1-perl libio-socket-inet6-perl, sasl2-bin, php-net-ldap, libgd-gd2-perl)A continuació es pot procedir a la instal·lació de Nagios.9.1 Crear Informació de contes1. Utilitzar lusuari root (es treballarà durant tota la instal·lació amb aquest usuari): o sudo -s2. Crear la conta dusuari nagios i donar-hi un password: o /usr/sbin/useradd -m -s /bin/bash nagios o passwd nagios3. Crear el grup dusuaris nagios i agregar-li usuari nagios: o /usr/sbin/groupadd nagios o /usr/sbin/usermod -G nagios nagios4. Crear el grup dusuaris nagcmd per a permetre accions externes de la interfície web: o /usr/sbin/groupadd nagcmd5. Afegir els usuaris dApache i Nagios al nou grup nagcmd: o /usr/sbin/usermod -a -G nagcmd nagios o /usr/sbin/usermod -a -G nagcmd www-data 20
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX9.2 Descarregar Nagios Core, Plugins i Daemon NRPE1. En el directori /home, crear el directori downloads: o mkdir downloads o cd downloads2. Descarregar el codi font de Nagios, Nagios Plugins i Daemon NRPE (visitar http://www.nagios.org/download/ per veure els links de les últimes versions estables). En aquesta pràctica no sutilitzaran les versions més recents, ja que han donat problemes. Descarregarem Nagios 3.2.3, Nagios Plugins 1.4.15 i NRPE 2.8. o wget http://prdownloads.sourceforge.net/sourceforge/nagios/ nagios-3.2.3.tar.gz o wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/ nagios-plugins-1.4.15.tar.gz o wget http://prdownloads.sourceforge.net/sourceforge/nagios/ nrpe-2.8.tar.gz9.3 Compilar i instal·lar Nagios1. Descomprimir el codi font de Nagios en el directori /home/downloads: o tar xzf nagios-3.2.3.tar.gz o cd nagios-3.2.32. Inicialitzar el script de configuració de Nagios especificant el grup nagcmd creat anteriorment: o ./configure --with-command-group=nagcmd 21
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3. Compilar el codi font de Nagios: o make all4. Instal·lar els arxius binaris, init script i sample config: o make install o make install-init o make install-config o make install-commandmode9.3.1 Configurar la interfície web1. Instal·lar larxiu "web config" en el directori dApache conf.d: o make install-webconf2. Crear la conta nagiosadmin per loguejar-se a la interfície web: o htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin3. A continuació ens demana posar una contrasenya, en el nostre cas posem p@ssw0rd:4. Reiniciar Apache per a que les noves configuracions tinguin efecte: o /etc/init.d/apache2 reload9.4 Compilar i instal·lar Nagios Plugins1. Descomprimir el codi font de Nagios Plugins en el directori /home/downloads: o tar xzf nagios-plugins-1.4.15.tar.gz o cd nagios-plugins-1.4.152. Compilar i instal·lar els plugins. o ./configure --with-nagios-user=nagios --with-nagios- group=nagios o make o make install 22
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX9.5 Compilar i instal·lar Daemon NRPEAquest Daemon també shaurà dinstal·lar a les màquines Unix / Linux remotes que es vulguimonitoritzar. La comunicació "Servidor Nagios / Client Unix" es produirà a través daquestservei. Més endavant samplia aquesta descripció.1. Descomprimir el codi font de NRPE en el directori /home/downloads: o tar xzf nrpe-2.8.tar.gz o cd nrpe-2.82. Compilar el Daemon NRPE: o ./configure o make all3. Instal·lar el NRPE plugin: o make install-plugin9.5.1 Provar la comunicació amb el daemon NRPEPer a fer aquesta prova, shaurà desperar a tenir instal·lat i configurat el daemon NRPE a lesmàquines Unix remotes.Sha dexecutar el comandament següent, on la IP és la de la màquina remota a monitoritzar: o /usr/local/nagios/libexec/check_nrpe -H 10.10.10.4La resposta hauria de ser una cadena de text indicant la versió del daemon NRPE instal·lat:9.5.2 Crear definició de comandaments NRPEModificar larxiu /usr/local/nagios/etc/objects/commands.cfg agregant el següent: 23
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX9.6 Iniciar Nagios1. Configurar Nagios per a que inicií automàticament quan arranqui el sistema: o ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios2. Verificar els arxius de configuració de Nagios (molt important utilitzar quan realitzem canvis a la configuració): o /usr/local/nagios/bin/nagios -v /usr/local/nagios /etc/nagios.cfg3. Si no hi han errors, iniciar Nagios: o /etc/init.d/nagios start9.6.1 Accedir a la interfície webDes de un navegador web, escriure la URL "http://ip-nagios-server/nagios". Ens demanarànom dusuari (nagiosadmin) i contrasenya (p@ssw0rd en el cas de la pràctica). 24
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX10 Preparació de màquines Windows clientRecordar que per a la realització daquest projecte sutilitzaran dos màquines Windows ambles següents característiques:  Windows Server 2003 (winserver): Active Directory, DHCP, DNS, SMTP, IIS, CIFS.  Windows XP Professional (winxp): Membre del domini, utilitzat per emular a un ordinador duna aula.A continuació, s’han de realitzar una sèrie de passos previs abans d’instal·lar l’agent de Nagios:  Configurar IP estàtica  Afegir norma dentrada al Firewall de Windows pel port 12489  Agregar característiques de Windows o Panel de Control / Agregar características de Windows  Iniciar el servei WMI i SNMP o Inicio / Herramientas Administradivas / ServiciosEl servei WMI és propietari de Windows, és lencarregat de recopilar les dades de lestat delhardware de la màquina. Lagent de Nagios que instal·larem seguidament, agafa les dades recopilades per WMI i les transmet al servidor de monitorització. 25
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX10.1 Instal·lació i configuració de lagent Nagios10.1.1 FuncionamentPer a controlar els serveis privats o atributs duna màquina Windows sha dinstal·lar un agenten ell. Aquest agent actua com un proxy entre el plugin de Nagios que fa el seguiment i elservei real o atribut de la màquina Windows.El servidor Nagios es comunicarà amb lagent mitjançat el plugin check_nt que ve per defecteinstal·lat a Nagios.10.1.2 Instal·lació i configuracióInstal·lar el paquet NSClient++, que es pot descarregar en aquest link:http://www.nsclient.org/nscp, tant la versió de 32 bits com la de 64 bits.A Allowed hosts, posem la direcció IP del servidor Nagios. I lapartat de NSClient password, eldeixem buit, ja que així facilitarem la configuració del servei check_nt. 26
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXHabilitem tots els mòduls de comprovació (check).Al finalitzar la instal·lació, haurem de fer una sèrie de passos addicionals: 1. Anar a "Servicios de Windows" i assegurar-nos que funciona com a servei. 2. Anar a "C:Archivos de programaNSClient++" i modificar amb el bloc de notes larxiu NSC.INI (si no estem en la conta dAdministrador, haurem dexecutar com a administrador o donar permisos totals al nostre usuari). a. Descomentar els mòduls llistats a la secció [modules] excepte el "CheckWMI.dll" i "RemoteConfiguration.dll". b. Descomentar lopció "allowed_hosts" a la secció [Settings] i afegir la IP del servidor Nagios (10.10.10.2/24). c. Descomentar lopció "port" a la secció [NSClient] i establir el port per defecte (12489). d. Reiniciar lagent (podem trobar els accessos directes en el menú inici) 27
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX11 Preparació de màquines Linux client11.1 Funcionament de lagent NRPEEl complement NRPE està dissenyat per permetre que lexecució de plugins de Nagios enmàquines Linux / Unix remotes. La principal raó per fer això és permetre que Nagios puguisupervisar els recursos "locals" (com la càrrega de la CPU, ús de memòria, etc) en màquinesremotes.És possible executar plugins de Nagios en màquines Linux / Unix remotes a través de SSH. Hi hael plugin check_by_ssh que et permet fer això. Lús de SSH és més segur que el complementNRPE, però també imposa una major càrrega de CPU. Això pot esdevenir un problema quan hiha un gran nombre de màquines a monitoritzar. Molts administradors de Nagios prefereixenoptar per utilitzar el complement NRPE a causa de la menor càrrega que imposa.11.1.1 Tipus de funcionament DIRECTE: És el que té un ús més senzill, ja que vigila els recursos de lequip remot. Això inclou coses com la càrrega de CPU, ús de memòria, els usuaris actuals, lús del disc, lestat dels processos, etc INDIRECTE: Comprovar indirectament els serveis públics i recursos dels servidors remots que podrien no ser accessibles directament des del host de monitorització. Per exemple, si el host remot on el daemon NRPE i els plugins estan instal·lats pot establir connectivitat amb el lloc web, però lamfitrió de vigilància no, es pot configurar el NRPE per a que li permeti supervisar el lloc web remot indirectament. 28
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX11.2 Instal·lació de lagent NRPE11.2.1 Crear conta dusuari "nagios"1. Loguejar-se com a superusuari (ho mantindrem durant tot el procés): o sudo -s2. Crear una conta dusuari per Nagios i donar-li contrasenya: o /usr/sbin/useradd nagios o passwd nagios (p@ssw0rd)11.2.2 Instal·lar el Nagios plugins1. Anar a la carpeta /home/downloads per guardar-hi les descàrregues: o cd /home/downloads2. Descarregar el codi font dels Nagios plugins (visitar http://www.nagios.org/download per veure les versions més recents). En la pràctica es farà servir la versió 1.4.15. o wget http://prdownloads.sourceforge.net/sourceforge/ nagiosplug/nagios-plugins-1.4.15.tar.gz3. Descomprimir el codi font o tar xzf nagios-plugins-1.4.15.tar.gz o cd nagios-plugins-1.4.154. Compilar i instal·lar els plugins: o ./configure o make o make install5. Donar permisos de propietat als plugins i als directoris instal·lats: o chown nagios.nagios /usr/local/nagios o chown -R nagios.nagios /usr/local/nagios/libexec11.2.3 Instal·lar xinetd, llibreria SSL i Build Essential o apt-get install xinetd o apt-get install libssl-dev o sudo apt-get install build-essential 29
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX11.2.4 Instal·lar el daemon NRPE1. Descarregar el codi font del daemon NRPE plugins (visitar http://www.nagios.org/download per veure les versions més recents). Nosaltres farem servir la versió 2.8: o cd /home/downloads o wget http://prdownloads.sourceforge.net/sourceforge/nagios /nrpe-2.8.tar.gz2. Descomprimir el paquet descarregat: o tar xzf nrpe-2.8.tar.gz o cd nrpe-2.83. Compilar el addon NRPE: o ./configure o make all4. Instal·lar el NRPE plugin, el daemon i larxiu de configuració del daemon. o make install-plugin o make install-daemon o make install-daemon-config5. Instal·lar el daemon NRPE com un servei lligat a xinetd: o make install-xinetd6. Editar larxiu /etc/xinetd.d/nrpe i afegir la adreça IP del servidor Nagios de monitorització:7. Afegir la següent entrada pel daemon NRPE a larxiu /etc/services: o nrpe 5666/tcp # NRPE8. Reiniciar el servei xinetd: o service xinetd restart 30
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX11.2.5 Testejar el daemon NRPE localment1. Comprovar que funciona com un servei: o netstat -at | grep nrpe2. Hauria de sortir una línia semblant a la següent: o tcp 0 0 *:nrpe *:* LISTEN11.2.6 Obrir normes de firewall1. Afegir nova norma dentrada en IPTABLES:2. Verificar que esta ben afegida:3. Guardar la nova norma de IPTABLES: o Guardar larxiu iptables.rules amb la nova norma  iptables-save > /etc/iptables.rules o Afegir la següent línia a /etc/network/interfaces  pre-up iptables-restore < /etc/iptables.rules Daquesta manera, al reiniciar la màquina es carregarà el script iptables.rules a iptables quan siniciïn les interfícies de xarxa. 31
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX12 Preparació de la màquina PfSense PfSense és una distribució basada en FreeBSD. El seu objectiu és tenir un tallafocs (firewall) fàcilment configurable a través duna interfície web i instal·lable enqualsevol PC, incloent els miniPC duna sola targeta. Es tracta, per tant, duna solució moltcompleta, sota llicència BSD i, per tant, de lliure distribució.Com que lobjectiu de la pràctica es configurar un sistema de monitorització, no ens centraremen configurar el PfSense, sinó com poder monitoritzar-lo amb Nagios.Es pot descarregar la ISO de PfSense de la pàgina web oficial http://www.pfsense.org. En elnostre cas, ens hem baixat directament la màquina VMware que ve preparada a la web i shaverificat que tingués dos targetes de xarxa i shan configurat segons lestructura de la xarxa dela pràctica del punt 6.Un cop situat el PfSense entre el router i la xarxa, des de la LAN per entrar a la interfície webde PfSense sha descriure en el navegador web la direcció IP del PfSense. Per defecte, lusuariés "admin" i la contrasenya "pfsense".12.1 Instal·lació i configuració inicial de lagent NRPEAra, situats a la interfície web, sha de procedir a instal·lar el paquet NRPE v2.Anem a la pestanya "System" i després a "Packages". Allí trobareu una llarga llista de paquetsque es poden aplicar a PfSense. En el nostre cas ens interessa "NRPE v2":Un cop instal·lat el paquet, es va a la pestanya "Services" i allí es trobarà el NRPE v2 per aconfigurar-lo. Inicialment establirem els paràmetres de connexió amb el servidor Nagios; mésendavant es configuraran els paràmetres a monitoritzar. 32
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13 Configuració del servidor Nagios13.1 Backups dels arxius de configuracióCom que per configurar Nagios cal tocar certs arxius, realitzarem una copia de seguretat per siens equivoquen en les modificacions. Aquests arxius es troben a la ruta /usr/local/nagios/etc i/usr/local/nagios/etc/objects. A cada un daquests directoris hi crearem una carpetaanomenada "backup" mitjançant sudo mkdir backup.Farem una còpia de seguretat de cada arxiu *.cfg (tant en la carpeta etc com en la objects) i elcol·locarem a la seva respectiva carpeta "backup".Per a fer els backups, posarem lexemple del que es faria a la carpeta /usr/local/nagios/etc: o sudo cp cgi.cfg ./download cgi.cfg.bak o sudo cp nagios.cfg ./download nagios.cfg.bak o sudo cp resource.cfg ./download resource.cfg.bak 33
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13.2 Preparació de larxiu de configuració principal de NagiosLarxiu de configuració principal de Nagios el trobem a /usr/local/nagios/etc/nagios.cfg. Enaquest arxiu, sindiquen les rutes dels diferents arxius que Nagios utilitzarà per estructurar-se ifuncionar. Podem comentar, descomentar o crear-ne de nous, però per a que no hi hagi errors,larxiu ha dexistir en la ruta indicada i estar ben configurat. Servidor local Nagios Servidors dInternet Servidors Ubuntu Servidors Windows Elements de xarxa Grups de serveis Màquina PfSense Ordinadors daulaAlguns daquests arxius ja venen creats per defecte per a usar-los com a plantilla, altresshauran de crear afegint la línia i creant larxiu corresponent amb extensió *.cfg. En aquestsarxius, es declararan els host i els serveis a monitoritzar on correspongui, per exemple, enlarxiu windows.cfg shi declararà el grup de host "windows-servers", els host Windows Server iels serveis que monitoritzarem. Els serveis genèrics, com la CPU, sassignaran al grup de host, iels específics, com un disc dur extra, al host en concret.Els arxius localhost.cfg, windows.cfg i switch.cfg, venien per defecte, els hem descomentat imodificat al nostre gust.Els arxius grpsrv.cfg, pfsense.cfg, aula21.cfg, gateway.cfg i ubuntu.cfg, els hem creat a partirdels que venen per defecte, i shi ha afegit la línia.Definició de la funció de cada arxiu:  localhost.cfg: Definició del host local (Servidor nagios) i paràmetres a monitoritzar.  windows.cfg: Definició de host i hostgroup Windows Server i paràmetres a monitoritzar.  ubuntu.cfg: Definició de host i hostgroup Ubuntu Server i paràmetres a monitoritzar.  switch.cfg: Definició de host i hostgroups delements de xarxa i paràmetres a monitoritzar.  grpsrv.cfg: Definició de grups de serveis.  pfsense.cfg: Definició de host PFsense i paràmetres a monitoritzar.  aula21.cfg: Definició de host i hostgroup dordinadors daula.  gateway.cfg: Definició de servidors públics externs per controlar sortida a Internet. 34
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13.3 Plantilles de NagiosAl instal·lar Nagios, et venen unes plantilles que sutilitzen per a facilitar ladministració deNagios. Recordar que Nagios es configura amb una programació orientada a objectes, on cadaobjecte té la seva funció i es pot relacionar amb altres objectes. Si es volés, es podriaconfigurar Nagios en un sol arxiu, però per a més facilitat alhora dadministrar nagios, és millorseparar els objectes segons la seva funció.Les plantilles es troben a /usr/local/nagios/etc/objects/templates.cfg que està definit perdefecte en larxiu nagios.cfg. La funció bàsica de les plantilles és poder definir amb mésfacilitat objectes que utilitzin aquestes plantilles, inclús plantilles que utilitzen altres plantilles.Bàsicament, les plantilles contenen els paràmetres més comuns de la definició dels objectes.Per exemple, es pot tenir una plantilla per servidors Windows, que la utilitzaran les definicionsdobjectes host de servidors Windows, definint paràmetres com el grup de contacte, lesopcions notificació, interval de check...13.3.1 Plantilles genèriques de host i de servei 35
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13.4 Imatges dels host en la interfície webTota la configuració de la interfície web es troba en la carpeta /usr/local/nagios/share. Allítenim els arxius php i html, al igual que les imatges que faran servir els diferents elements.Les imatges que nagios utilitza per als host de la interfície web les busca a/usr/local/nagios/share/images/logos. Per a indicar a on aplicar les imatges, es pot fer a lesplantilles o a les definicions de host. Els paràmetres que shan dutilitzar son icon_image istatusmap_image. Aquests paràmetres determinen quina imatge es mostrarà per a aquellhost en la interfície web.El path per defecte en aquests paràmetres és el mateix on estan les imatges, però si tenimimatges en una carpeta dintre de la carpeta logos, caldrà indicar aquesta carpeta i larxiuseparats per una "/".Recalcar que per al paràmetre icon_image utilitzarem imatges amb extensió *.gif. I que per elparàmetre statusmap_image utilitzarem imatges amb extensió *.gd2.Els paquets dimatges els podem descarregar de:http://exchange.nagios.org/directory/Graphics-and-Logos/Images-and-Logos.Un cop descarregats, es descomprimeixen a la carpeta images mencionada anteriorment. 36
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13.5 Monitorització del servidor NagiosLarxiu que determina la monitorització del servidor Nagios local es troba en la ruta/usr/local/nagios/etc/objects/localhost.cfg. Aquest arxiu, juntament amb la seva plantilla,venen per defecte amb la instal·lació de Nagios, no obstant, shi ha aplicat alguna modificaciótant a larxiu localhost.cfg com a la plantilla que utilitzarà.13.5.1 Plantilla localhost i local-service (templates.cfg)13.5.2 Host i hostgroup (localhost.cfg) 37
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX13.5.3 ServeisEls serveis que es monitoritzen en el servidor local es troben especificats al final de larxiulocalhost.cfg. Aquestes definicions venen per defecte amb la instal·lació i no sha modificat res,per tant, només es posarà una dexemple.Exemple:Tenim la definició del check de la CPU del servidor local:I aquí la definició del comandament check_local_load que utilitza el plugin check_load. Lesdefinicions de comandaments es troben a /usr/local/nagios/etc/objects/commands.cfg.13.5.4 Interfície web 38
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX14 Monitorització de Windows ServerEl plugin check_nt és el que sutilitza per a màquines Windows. És un mètode que utilitzaNagios per comunicar-se amb lagent instal·lat a les màquines Windows.Larxiu que determina la monitorització de servidors Windows es troba en la ruta/usr/local/nagios/etc/objects/windows.cfg. Aquest arxiu, juntament amb la seva plantilla,venen per defecte amb la instal·lació de Nagios, no obstant, shi ha aplicat alguna modificaciótant a larxiu windows.cfg com a la plantilla que utilitzarà.14.1 Plantilla i definicionsdefine service{ use generic-service hostgroup_name windows-servers service_description NSClient++ Version check_command check_nt!CLIENTVERSION }define service{ use generic-service hostgroup_name windows-servers service_description Uptime check_command check_nt!UPTIME } 39
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service hostgroup_name windows-servers service_description CPU check_command check_nt!CPULOAD!-l 5,80,90 }define service{ use generic-service hostgroup_name windows-servers service_description RAM check_command check_nt!MEMUSE!-w 80 -c 90 }define service{ use generic-service hostgroup_name windows-servers service_description Disk C check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 }define service{ use generic-service host_name winserver service_description Disk E check_command check_nt!USEDDISKSPACE!-l e -w 80 -c 90 }define service{ use generic-service hostgroup_name windows-servers service_description explorer.exe check_command check_nt_negate }define service{ use generic-service host_name winserver service_description DHCP check_command check_dhcp! -s 10.10.10.3 }define service{ use generic-service host_name winserver service_description DNS Intern check_command check_dns_intern }define service{ use generic-service host_name winserver service_description LDAP check_command check_ldap }define service{ use generic-service host_name winserver service_description SMPT check_command check_smtp } 40
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service host_name winserver service_description POP check_command check_pop }define service{ use generic-service host_name winserver service_description INTRANET check_command check_http }define service{ use generic-service hostgroup_name windows-servers service_description PING check_command check_ping!100.0,20%!500.0,60% }define service{ use generic-service host_name winserver service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC }Primer de tot diferenciar entre els serveis que sapliquen al grup de host Windows(hostgroup_name) i els que sapliquen a màquines específiques (host_name). En la pràcticahem instal·lat varis serveis en un sol servidor Windows, però a la realitat els serveis hauriendanar separats en varies màquines.Tots els serveis definits que en el paràmetre check_command tenen el comandamentcheck_nt són els que sobtenen mitjançant el plugin check_nt que es comunica amb lagentNSClient. La definició del comandament daquest plugin és la següent:Altres checks utilitzen els plugins de SMTP, POP, HTTP, TCP, PING, DHCP i DNS. La definició decomandament per aquests plugins ve per defecte amb la instal·lació de Nagios. Per exemple ladefinició del comandament check_smpt:En alguns checks no shan especificat valors de warning o critical, tot i que es podria fer.Només cal anar a la carpeta /usr/local/nagios/libexec i consultar lajuda del plugin. Situat a lacarpeta en el terminal, executar ./check_[plugin name] -h. Daquesta manera podrem veuretotes les opcions que ofereix el plugin. Es possible que per utilitzar segons quines opcions,shauran dafegir a la definició del comandament amb lús de variables. 41
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXDesprés, hi han altres checks on hem personalitzat la definició del comandament a larxiucommands.cfg.14.1.1 Comandaments personalitzats (commands.cfg)define command{ command_name check_ldap command_line $USER1$/check_tcp -H 10.10.10.3 -p 389 }define command{ command_name check_dns_intern command_line $USER1$/check_dns -H winxp.stucom.local -s 10.10.10.3 }define command{ command_name check_nt_negate command_line $USER1$/negate "/usr/local/nagios/libexec/check_nt -H$HOSTADDRESS$ -v PROCSTATE -p 12489 -l explorer.exe -d SHOWALL"}En aquest últim cas, sutilitza el plugin negate, que el que fa es fer funcionar al plugin associatde forma inversa. Per exemple aquí es nega el resultat del plugin check_nt que comprova si hiha una sessió iniciada (explorer.exe). Per defecte, si no hi ha una sessió iniciada ens dóna coma resultat error crític, i quan sinicia sessió, ens diu que tot és correcte. Però en un servidorWindows tenir una sessió iniciada molt temps consumeix recursos innecessaris, per això hemnegat el resultat. 42
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX15 Monitorització de Ubuntu ServerEl plugin check_nrpe és el que sutilitza per a màquines Unix / Linux. És un mètode queutilitza Nagios per comunicar-se amb lagent NRPE instal·lat a les màquines Unix / Linux.Larxiu que determina la monitorització de servidors Linux es troba en la ruta/usr/local/nagios/etc/objects/ubuntu.cfg. Aquest arxiu, juntament amb la seva plantilla, novenien amb la instal·lació de Nagios, per tant, es van crear a partir daltres plantilles.15.1 Plantilla i definicionsSi ens hi fixem, totes les definicions de serveis utilitzen el plugin check_nrpe, i a continuaciótenen el nom del comandament especificat en les definicions de la màquina remota.define service{ use generic-service hostgroup_name ubuntu-servers service_description CPU check_command check_nrpe!check_load } 43
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service hostgroup_name ubuntu-servers service_description Users check_command check_nrpe!check_users }define service{ use generic-service hostgroup_name ubuntu-servers service_description Hard Drive check_command check_nrpe!check_disk }define service{ use generic-service hostgroup_name ubuntu-servers service_description Total Processes check_command check_nrpe!check_total_procs }define service{ use generic-service hostgroup_name ubuntu-servers service_description Zombie Processes check_command check_nrpe!check_zombie_procs }define service{ use generic-service hostgroup_name ubuntu-servers service_description SWAP check_command check_nrpe!check_swap }define service{ use generic-service hostgroup_name ubuntu-servers service_description RAM check_command check_nrpe!check_mem }15.2 Definicions al host remotLa forma per configurar els checks amb NRPE és molt semblant a la del servidor local.En el servidor Nagios, shauran de fer els checks mitjançant el plugin check_nrpe, i aquestplugin executarà comandaments definits en el daemon NRPE del host remot. Recordar que elhost remot Ubuntu shi van instal·lar els plugins de Nagios, per tant, la definició daquestscomandaments es basarà en el funcionament dels plugins.Larxiu de configuració del daemon NRPE el trobem a la següent ruta del host remot que volemmonitoritzar: /usr/local/nagios/etc/nrpe.cfg.Cap al final de larxiu, trobarem la definició de comandaments que farà servir el servidorNagios per a recaptar informació del host remot. Alguns venen per defecte, i altres els hemafegit: 44
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXEn el cas del check_mem, el plugin check_mem.sh que utilitza no ve amb la instal·lació delsplugins. Aquest plugin ha estat creat a partir dun scrpit de Linux el qual hem ubicat a lacarpeta dels plugins (/usr/local/nagios/libexec) i li hem donat permisos dexecució per atothom (chmod a+x check_mem.sh).El text del script es pot trobar al final del document en lAnnex.Un cop creat aquest script, shaurà danar a larxiu de configuració principal de NRPE(usr/local/nagios/etc/nrpe.cfg) i afegir el següent al final:command[check_mem]=/usr/local/nagios/libexec/check_mem.sh 85 95 45
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX16 Monitorització de servidors externsUna aportació interessant que es pot aplicar a Nagios, es monitoritzar servidors públicsdInternet per a comprovar que la sortida del gateway és correcte. Però al ser servidorsexterns a la nostra xarxa, només shi podran aplicar plugins que comprovin els serveispúblics, com per exemple ping, DNS...Larxiu que determina la monitorització de servidors dInternet públics es troba en la ruta/usr/local/nagios/etc/objects/gateway.cfg. Aquest arxiu, juntament amb la seva plantilla, novenien amb la instal·lació de Nagios, per tant, es van crear a partir daltres plantilles.16.1 Plantilla i definicions 46
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use gateway-service hostgroup_name gateway service_description PING check_command check_ping!200.0,20%!600.0,60% normal_check_interval 5 retry_check_interval 1 }define service{ use generic-service host_name dns1.google service_description DNS 8.8.8.8 check_command check_dns_google1 }define service{ use generic-service host_name dns2.google service_description DNS 8.8.4.4 check_command check_dns_google2 }16.1.1 Comandaments personalitzats (commands.cfg)define command{ command_name check_dns_google1 command_line $USER1$/check_dns -H www.google.com -s 8.8.8.8 }define command{ command_name check_dns_google2 command_line $USER1$/check_dns -H www.google.com -s 8.8.4.4 }En la pràctica es comproven els servidors DNS de Google que són els que utilitza la nostraestructura per sortir a Internet. Es comprova el ping i la resolució de noms DNS amb els pluginscheck_ping i check_dns. 47
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX17 Monitorització de PfSenseEl procés per a monitoritzar PfSense és pràcticament igual al del procés de les màquinesUbuntu. La única diferència es que PfSense ofereix interfície gràfica per definir elscomandaments.Larxiu que determina la monitorització de servidors PfSense es troba en la ruta/usr/local/nagios/etc/objects/pfsense.cfg. Aquest arxiu, juntament amb la seva plantilla, novenien amb la instal·lació de Nagios, per tant, es van crear a partir daltres plantilles.17.1 Plantilla i definicions 48
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service hostgroup_name firewall service_description CPU check_command check_nrpe!check_load }define service{ use generic-service hostgroup_name firewall service_description Current Users check_command check_nrpe!check_users }define service{ use generic-service hostgroup_name firewall service_description /root check_command check_nrpe!check_root }define service{ use generic-service hostgroup_name firewall service_description Total Processes check_command check_nrpe!check_total_procs }define service{ use generic-service hostgroup_name firewall service_description Zombie Processes check_command check_nrpe!check_zombie_procs }define service{ use generic-service hostgroup_name firewall service_description SWAP check_command check_nrpe!check_swap } 49
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX18 Monitorització dels PCs daulaEl procés per a monitoritzar el que serien els ordinadors daula, és el mateix que el delsservidors Windows ja que a Stucom sutilitza aquest sistema operatiu. La diferència bàsica esque crearem plantilles personalitzades.Larxiu que determina la monitorització dordinadors daula es troba en la ruta/usr/local/nagios/etc/objects/aula21.cfg. Aquest arxiu, juntament amb la seva plantilla, novenien amb la instal·lació de Nagios, per tant, es van crear a partir daltres plantilles.18.1 Plantilla i definicions Notificacions deshabilitades Tots els hosts que utilitzin aquesta plantilla formaran part del hostgroup aula21Shan realitzat plantilles específiques pels PC daula on les notificacions, tant de host com deservei, estan deshabilitades. Ja que a la realitat podrien haver més de 100 pcs daula i aixòsuposaria un possible gran nombre de reports per e-mail. 50
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use aula-service hostgroup_name aula21 service_description NSClient++ Version check_command check_nt!CLIENTVERSION }define service{ use aula-service hostgroup_name aula21 service_description Uptime check_command check_nt!UPTIME }define service{ use aula-service hostgroup_name aula21 service_description CPU check_command check_nt!CPULOAD!-l 5,80,90 }define service{ use aula-service hostgroup_name aula21 service_description RAM check_command check_nt!MEMUSE!-w 80 -c 90 }define service{ use aula-service hostgroup_name aula21 service_description Disc C check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } 51
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX19 Grups de ServeisUna possibilitat que ens permet Nagios, és agrupar els serveis semblants de diversesmàquines per visualitzar-los junts a la interfície web. Per exemple, podem agrupar els serveisque controlen lespai de disc, i veure lestat de tots els discos dels servidors.Larxiu que determina lagrupació de serveis es troba en la ruta/usr/local/nagios/etc/objects/grpsrv.cfg. Aquest arxiu, no venia amb la instal·lació de Nagios isha creat a partir de la informació del manual oficial.La forma de definir un grup de serveis és la següent:En el nostre cas, hem agrupat els serveis de càrrega de CPU, discos durs, memòria ram, imemòria swap dels servidors: 52
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX20 Monitorització delements de xarxaUna altra possibilitat que ofereix Nagios, és integrar SNMP per a poder monitoritzarelements de xarxa. Al treballar en un entorn virtual, no podem realitzar comprovacionsSNMP als elements de xarxa.Larxiu que determina la definició delements de xarxa es troba en la ruta/usr/local/nagios/etc/objects/switch.cfg. Aquest arxiu i la seva respectiva plantilla venienamb la instal·lació de Nagios, no obstant, shi han aplicat modificacions.20.1 Plantilla i definicionsShan creat dos plantilles: una pels elements de xarxa gestionables (routers i switch de capa 3)i elements de xarxa no gestionables (switchos normals). En el cas dels no gestionables, esdeclaren com un host normal per a que surtin en el mapa de la topologia de xarxa, però de IPes posa la del servidor local per a que surtin en estat UP.En un entorn real, com el de Stucom, es podria posar la IP del gateway de la aula en el cas delsswitchos daula. En la plantilla per aquests switchos, totes les notificacions i deteccions estandeshabilitades. 53
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXCom que treballem en un entorn virtual de VMware, només podrem utilitzar el plugincheck_ping a la IP del router virtual de VMware. 54
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX21 Integrar SNMP a NagiosAbans dinstal·lar Nagios, a la màquina Ubuntu es van instal·lar el servidor SNMP, el daemonSNMPD i el mòdul Perl libnet-snmp-perl. Amb aquests paquets instal·lats, quan sinstal·len elsplugins de Nagios obtenim el plugin check_snmp. Podem configurar la comunicació SNMP tanten la versió 1, la 2 o inclús la 3 que té autentificació.La sintaxi més bàsica per a la utilització del plugin, és: o check_snmp -H [host remot] -c [nom comunitat] -o [OID]Si utilitzem el comandament check_snmp -h podrem veure la definició detallada de comconfigurar el plugin més complexament.Per a provar aquest plugin, sha contat amb un router Cisco 1800 series. Per a permetre lesconsultes SNMP, cal fer unes configuracions prèvies: o Primer sha afegit una targeta de xarxa virtual nova al servidor Nagios, en mode bridged, per a poder-li donar connectivitat amb el router. o Després, sha hagut de configurar la interfície Fast Ethernet per a donar-li la IP desitjada. Un cop comprovat que Nagios i el router es comuniquen sense problemes, es pot procedir a configurar el router per a que permeti consultes SNMP. o En el mode configure terminal, shauran descriure les següents línies per a fer una configuració senzilla:  snmp-server community public rw 20  access-list 20 permit [host o xarxa permesa]Finalment, amb el software Ireasoning descarregat de http://ireasoning.com, hem anatprovant OIDs contra el router Cisco per a veure que les respostes SNMP són correctes i poder-ho aplicar després a les definicions de Nagios. 55
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX21.1 DefinicionsPer a la definició del router Cisco, hem creat un arxiu nou (cisco.cfg) a la carpeta/usr/local/nagios/etc/objects, i hem afegit la línia corresponent a larxiu de configuració deNagios (nagios.cfg).Per a la definició dels checkejos amb el plugin SNMP, shan definit comandamentspersonalitzats i després shan definit els serveis i shan aplicar al router Cisco.Es monitoritzen elements generals del router com el temps que porta encès, la versió delrouter, el nom del router i el nombre de serveis actius. I després es monitoritzen elementsespecífics, com per exemple el port Fast Ethernet 0/0 que és el que sutilitza per a comunicar-se amb Nagios. Del port es monitoritzen el estatus, el tipus de port, la velocitat, la MTU i elsoctets dentrada i de sortida.# snmp_uptimedefine command{ command_name check_snmp_uptime command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.1.3.0 }define service{ use generic-service host_name cisco service_description Uptime check_command check_snmp_uptime! }# snmp_versiondefine command{ command_name check_snmp_version command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.1.1.0 } 56
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service host_name cisco service_description Version check_command check_snmp_version! }# snmp_srvdefine command{ command_name check_snmp_srv command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.1.7.0 -l "Services" }define service{ use generic-service host_name cisco service_description Services check_command check_snmp_srv! }# snmp_sysnamedefine command{ command_name check_snmp_sysname command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.1.5.0 }define service{ use generic-service host_name cisco service_description System Name check_command check_snmp_sysname! }# FastEthernet 0/0define command{ command_name check_snmp_descr_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.2.1 }define service{ use generic-service host_name cisco service_description Port 1 Description check_command check_snmp_descr_1! }define command{ command_name check_snmp_stat_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.8.1 -l "Status" }define service{ use generic-service host_name cisco service_description Port 1 Status check_command check_snmp_stat_1! }define command{ command_name check_snmp_speed_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.5.1 -u "b/s" -l "Speed" } 57
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXdefine service{ use generic-service host_name cisco service_description Port 1 Speed check_command check_snmp_speed_1! }define command{ command_name check_snmp_octets_in_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.10.1 -u "IN" -l "Octets IN" }define service{ use generic-service host_name cisco service_description Port 1 Octets IN check_command check_snmp_octets_in_1! }define command{ command_name check_snmp_octets_out_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.16.1 -u "OUT" -l "Octets OUT" }define service{ use generic-service host_name cisco service_description Port 1 Octets OUT check_command check_snmp_octets_out_1! }define command{ command_name check_snmp_mtu_1 command_line $USER1$/check_snmp -H 192.168.21.254 -C public -o.1.3.6.1.2.1.2.2.1.4.1 -l "MTU" }define service{ use generic-service host_name cisco service_description Port 1 MTU check_command check_snmp_mtu_1! } 58
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX22 Actualitzar NagiosAl iniciar el projecte el setembre del 2011, vam començar a treballar amb la versió de Nagios3.2.3. Cap al maig del 2012, va sortir la versió 3.4.0 i vam decidir actualitzar Nagios ja que lesproves de la versió van ser favorables.Abans de procedir a lactualització, és important fer un backup dels arxius de configuració deNagios, ja que un error en el procés dactualització podria esborrar tota la configuració quehaguem fet.Un cop fets els backups, shauran desborrar els arxius principals de la interfície web de Nagios:  rm /usr/local/nagios/share/{main,side,index}.html22.1 Procés dactualització1. Descarregar la última versió de Nagios: o http://www.nagios.org/download2. Descomprimir el codi font tarball de Nagios: o tar xzf nagios-3.4.0.tar.gz o cd nagios-3.4.03. Iniciar el script de configuració passant el paràmetre del nom del grup que té permisos per executar comandaments externs: o ./configure --with-command-group=nagcmd4. Compilar el codi de Nagios. o make all5. Instal·lar els binaris actualitzats, la documentació i la interfície web (aquests pas no sobreescriu els actuals arxius de configuració). o make install6. Verificar els arxius de configuració. o /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg7. Reiniciar Nagios. o /etc/init.d/nagios restart 59
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX23 Afegir addon pnp4nagios http://www.pnp4nagios.org/start PNP és un complement per Nagios que analitza les dades de rendiment obtingudes pels plugins i elsemmagatzema automàticament en bases de dades RDD (Round Robin Databases). Aquestesdades permeten la implementació de gràfiques de rendiment a Nagios.PNP té una fàcil instal·lació i un mínim manteniment mentre està en funcionament. Unadministrador hauria de dedicar el seu temps a altres tasques en lloc de dedicar-se aconfigurar les utilitats gràfiques.23.1 FuncionamentPNP suporta diverses maneres per processar les dades de rendiment. Les maneres difereixenen la complexitat i el rendiment que sesperi.Nagios invoca una ordre per cada equip i cada servei que tinguin dades de rendiment quehagin de ser processades. Depenent de la manera escollida, les dades són passades aprocess_perfdata.pl o seran escrites en fitxers temporals i processades més tard.Process_perfdata.pl escriu les dades en fitxers XML i els emmagatzema en fitxers RRD usantRRDtool.La manera que ha de triar dependrà de la mida de la instal·lació de Nagios i el nombre dequipsa monitoritzar.23.1.1 Mode Síncron És el més simple i senzill de configurar. Nagios crida al script de perl process_perfdata.pl per a cada servei i equip, respectivament, per processar les dades. La manera síncrona escala bé fins uns 1.000 serveis amb un interval de 5 minuts. (Mètode utilitzat en la pràctica)23.1.2 Mode MassiuNagios escriu les dades necessàries en un fitxer temporal. Després dun interval de tempsdefinit aquest fitxer és processat de cop i esborrat a continuació. El nombre de trucades aprocess_perfdata.pl es redueix al mínim, en el seu lloc, lexecució de process_perfdata.pl duramés temps. 60
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX23.1.3 Mode Massiu amb NPCDNagios utilitza un fitxer temporal per emmagatzemar les dades i executa una ordre després decert temps predefinit. En lloc de processar immediatament les dades mitjançantprocess_perfdata.pl, el fitxer és mogut a un directori de spool. A causa que únicament estemmovent un fitxer del mateix sistema de fitxers, això no porta pràcticament temps, de maneraque nagios es capaç dexecutar el seu treball de forma immediata. El dimoni NPCD (NagiosPerformance C Daemon) monitoritza el directori a la recerca de nous fitxers i li passa els nomsa process_perfdata.pl.23.2 Instal·lació de pnp4nagiosPaquets necessaris a part de Nagios en funcionament:  rrdtool  librrds-perl  php5-gdUn cop instal·lats aquests paquets amb el apt-get install, es pot procedir a la descarrega depnp4nagios de la web oficial. En aquesta pràctica sutilitza la versió 0.6.17.Quan es tingui larxiu descarregat, es descomprimeix en una carpeta qualsevol, i des de laterminal ens situem en aquella carpeta i ja pot començar la instal·lació (important iniciar sessiócom a root):1. Comprovar que sha descomprimit bé i ajudar-se dels arxius README i INSTALL per a la instal·lació, tot i així, a la web oficial hi ha documentació en espanyol.2. Executar ./configure 61
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX3. Executar make all.4. Executar make install.5. Executar make install-webconf.6. Executar make install-init.7. Executar make fullinstall.23.3 Configuració en mode síncronEn aquest punt, shaurà danar a larxiu principal de configuració de Nagios (nagios.cfg) irealitzar alguns canvis: 1. Habilitar proces_performance_data. o proces_performance_data=1 2. Habilitar macros dentorn. o enable_environment_macros=1 3. Habilitar comandaments per a processar les dades de rendiment. o host_perfdata_command=process-host-perfdata o service_perfdata_command=process-service-perfdataSeguidament, anar a larxiu commands.cfg i afegir les següents definicions (es possible que jaexisteixin, per si un cas comentar les existents i afegir les noves):define command { command_name process-service-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl}define command { command_name process-host-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl-d HOSTPERFDATA} 62
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXEn aquest punt, obrir el navegador web i escriure: http://localhost/pnp4nagios.Quan tot sigui correcte, esborrar larxiu /usr/local/pnp4nagios/share/install.php.23.4 Verificació de funcionamentDe la web oficial de pnp4nagios, es pot descarregar un script per a verificar que tot es correcteen el funcionament de laddon i que Nagios està ben configurat per a utilitzar-lo.En la terminal, ens situem a la carpeta /usr/local/nagios/libexec i executem el següentcomandament:wget http://verify.pnp4nagios.org/verify_pnp_config 63
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXUn cop descarregat el script, executar:perl verify_pnp_config --mode sync --config=/usr/local/nagios/etc/nagios.cfg--pnpcfg=/usr/local/pnp4nagios/etcEls warning ens indica que hi ha serveis i host on el procés de performance_data no estàhabilitat.23.5 Habilitar interfície webSha dhabilitar el process_perf_data a les definicions dels serveis i els host; es pot ferindividualment o a les plantilles (cal tenir en compte que hi ha serveis que per defecte nogeneren informació, com per exemple la comprovació de la versió dels agents de Nagios). 64
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXUn cop habilitat el procés de performance_data, caldrà afegir un paràmetre nou a lesdefinicions de host i serveis. Aquest paràmetre és el action_url, que ens farà aparèixer unaimatge al costat de cada host i servei on lhabilitem i serà un link directe cap a la sevacorresponent gràfica. Igual que en el cas anterior, es pot aplicar individualment o a lesplantilles, i cal tenir en compte que no tots els serveis ofereixen informació.En el cas dels host, afegir: action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_En el cas dels serveis: action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$En aquest punt, reiniciar Apache i Nagios i entrar a la interfície web de Nagios. Es podràcomprovar que ara al costat dels hosts i serveis surt un icona nou:La icona funciona com un link a la interfície web de pnp4nagios enviant les variables phpcorresponents per mostrar el gràfic correcte. Per exemple el gràfic de la CPU del servidorNagios és el següent:Una opció interessant que ens ofereix aquest addon, es que es mostrin les gràfiques com apopups quan es passi el ratolí per sobre de les icones. 65
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX23.6 Aplicació de popupsPer a que funcionin els popups, cal que es compleixin una sèrie de requisits:  PNP ha destar instal·lat i funcionant.  Copiar larxiu status-header.ssi de la carpeta /contrib/ssi dintre del paquet dinstal·lació de PNP a la carpeta /usr/local/nagios/share/ssi, i un cop copiat, renombrar-lo a common-header.ssi.  Treure permisos dexecució a larxiu anterior.  Canviar la definició del paràmetre action_url de les definicions de host i serveis.Host:action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ class=tipsrel=/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_Servei:action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$class=tips rel=/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$Reiniciar Nagios i Apache i tornar a la interfície web de Nagios per a comprovar elfuncionament dels popups: 66
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX24 Configurar Postfix per a enviar alertes e-mail24.1 Afegir i configurar usuaris de contacteDe moment nomes hi ha com a usuari de contacte lusuari "nagiosadmin". Per a afegirmodificar usuaris, cal modificar larxiu /usr/local/nagios/etc/objects/contacts.cfg. o sudo /usr/local/nagios/etc/objects/contacts.cfgA lapartat de contactes, hem modificat el alias i el email de lusuari nagiosadmin.Seguidament, hi hem afegit un nou usuari que anomenarem stucomadmin.Finalment, a lapartat de grups de contacte, afegim el nou usuari al grup admins:Lapartat use on posem "generic-contact", fa referència a una plantilla per a contactes quepodem trobar a /usr/local/nagios/etc/objects/templates.cfg. 67
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXNagios necessitarà una conta de correu per poder enviar les notificacions. Ens hem decantatper crear una conta de Gmail:  NOM: Stucom Projecte  MAIL: stucom.nagios@gmail.com  PASSWORD: stucom1234524.2 Instal·lació i configuració de PostfixInstal·larem el paquet mailutils, que ens proporciona diferents eines de mail i el MUA Postfix.Executar: o sudo apt-get install mailutilsSeguidament començarà la instal·lació i sens obrirà una pantalla gràfica on haurem descollir lamanera en que configurarem el servei SMPT: Nosaltres per a la pràctica utilitzarem el servidor SMPT de Gmail, per això escollirem lopció de "Internet Site"A continuació configurarem el nom host (deixem el que ve per defecte):Finalment es procedeix a la instal·lació. Quan aquesta finalitzi, procedim a la configuració. 68
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXRecordar que si no estem loguejats amb lusuari root, fer-ho amb sudo -s, ja que treballaremmés còmodament.1. Creem lenllaç per al comandament mail: o ln -s /usr/bin/mail /bin/mail2. Fem una còpia de la configuració original de Postfix: o cp -p /etc/postfix/main.cf /etc/postfix/main.cf.original3. Creem la nostra configuració per a Gmail: o nano /etc/postfix/main.cfAquesta part està al final del document. Shan afegit les últimes 6 línies4. Generem larxiu per la autentificació i hi afegim la línia de la imatge: o nano /etc/postfix/sasl/passwd5. Assignem permisos adequats: o chmod 600 /etc/postfix/sasl/passwd6. Transformem larxiu passwd a un arxiu indexat hash: o postmap /etc/postfix/sasl/passwd7. Afegim lautoritat certificadora: o cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem8. Reiniciem Postfix: o /etc/init.d/postfix restart 69
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX9. Provem lenviament de correu: o mail -s "prova" jordumuriabadia@gmail.com o CTRL+D (per a enviar)10. En larxiu /var/log/mail.log podem veure el log del sistema de mail.Finalment cal editar el comandament de Nagios de notificacions per e-mail. Aquest arxiu és/usr/local/nagios/etc/objects/commands.cfg. A les definicions de comandaments "notify-host-by-emal" i "notify-service-by-email", cal reemplaçar qualsevol referència "/bin/mail" per"/usr/bin/mail".Comprovar que tot és correcte i reiniciar Nagios: o /usr/local/nagios/bin/nagios -v /usr/local/nagios /etc/nagios.cfg o /etc/init.d/nagios restart 70
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX25 Configuració del sistema dalertesÉs igual dimportant tenir un sistema de monitorització que tenir-lo ben configurat, per lo tantposarem un exemple real on dos tècnics decideixen monitoritzar el centre destudis Stucom.Les alertes es configuraran segons la necessitat i la importància del processos a monitoritzar. Elnostre sistema dalertes ens enviarà per correu electrònic les notificacions que es vagingeneren. (No sha aplicat cap servei dalertes per sms degut al seu cost econòmic)Nagios gestiona dos tipus dalertes: una de host i una altre per servei.Alertes per host:  d (down)  u (unreachable)  r (recovery)Alertes per servei:  w (warning)  u (unknown)  r (recovery)  c (critical)Les alertes de unreachable i unknown, van lligades, ja que si el servidor Nagios no pot arribar aun host sigui pel motiu que sigui, lestat dels serveis daquell host serà desconegut. En canvi, siun host està caigut, entra en acció lalerta down i en el cas del servei critical.Les alertes primer shan despecificar a la plantilla de contactes, on es definirà la informació delusuari que rebrà les notificacions: /usr/local/nagios/etc/object/contacts.cfgA la plantilla de contactes es pot observar que hi ha el període de notificació 24x7, que estàdefinit a larxiu timeperiods.cfg. No obstant, es poden declarar noves definicions de períodesde notificació, per exemple excloent els mesos de vacances, dies i hores específiques...A la guia oficial de Nagios, a lapartat de "Object definitions" hi ha un subapartat onsespecifiquen totes les opcions per a configurar els períodes de temps i com aplicar-los. 71
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXDe la mateixa manera que es poden definir nous contactes, es poden definir grups decontactes. Per exemple, es podria fer un grup encarregat dels servidors i un altre grupencarregat dels elements de xarxa. En les plantilles respectives (servidors i elements de xarxa)hi ha el paràmetre contact_groups, on es poden especificar els grups de Nagios que rebrannotificacions sobre aquell host o servei. Nagios recomana activar totes les alertes en les definicions de contactes dels administradors, i després en les definicions a les plantilles de serveis o de host, desactivar les que no interessen.Stucom disposa de dos administradors de xarxa, per la qual cosa es crearia un contacte percadascun i es posarien al grup admins.Respecte als ordinadors de les aules, seria recomanable desactivar les notificacions de host ide serveis ja que ens podrien inundar de notificacions. No obstant, gràcies a les gràfiques, espodria comprovar per exemple lús de memòria RAM durant les hores de sistemes operatius,ja que normalment es treballa molt amb màquines virtuals.En el cas dels servidors de la xarxa dalumnes, els elements més importants a monitoritzarserien els servidors dActive Directory, sense deixar de banda el firewall de les aules, els proxysper sortir a Internet i els servidors externs per a comprovar que la sortida pel router es bona.25.1 Establiment dalertesServidors dActive Directory SERVIDOR: down, unreachable i recovery. CPU: warning (80%), critical (90%) i recovery. RAM: warning (80%), critical (90%) i recovery. Discos durs: warning (80%) i critical (90%). DHCP: critical i recovery. DNS: critical i recovery. LDAP: critical i recovery.Servidors darxius SERVIDOR: down, unreachable i recovery. CPU: warning (80%), critical (90%) i recovery. RAM: warning (80%), critical (90%) i recovery. Discos durs: warning (80%) i critical (90%). 72
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXFirewall SERVIDOR: down, unreachable i recovery. CPU: warning (80%), critical (90%) i recovery. RAM: warning (80%), critical (90%) i recovery. Ports: seria convenient comprovar que estan oberts els ports que tenen el pas permès pel firewall. Els nivells de notificació serien critical i recovery. o TCP: 389 (AD) o UDP: 53 (DNS), 67 i 68 (DHCP)Proxy SERVIDOR: down, unreachable i recovery. CPU: warning (80%), critical (90%) i recovery. RAM: warning (80%), critical (90%) i recovery.Router ROUTER: down, unreachable i recovery. PING: warning (300 ms), critical (500 ms).Servidors ExternsLes notificacions daquests host venen determinades per la correcta sortida a Internet, quedepèn totalment del proxy, dels router i del ISP. SERVIDOR: unreachable. PING: warning (300 ms), critical (500 ms) 73
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX26 Valoració final i conclusionsAquest projecte ens ha servit per aprendre totes les avantatges que ofereix la monitoritzacióde sistemes i hardware, i lo important que és per un administrador informàtic tenir controltotal sobre el que li passa a la xarxa o xarxes que administra.Hem pogut analitzar amb detall els diferents mètodes i solucions de monitorització que hi haen el mercat, i hem descobert que no hi ha una solució millor que un altre, sinó que cada unaté els seus punts forts i febles, i sha davaluar quina sadapta més a les nostres necessitats,tant com per la capacitat del software com la complexitat de configuració.En el projecte hem tingut la prioritat de buscar un sistema de monitorització orientat a laxarxa, el hardware i sistemes amb la intenció daplicar-ho a la realitat al centre destudisStucom, però la configuració de Nagios es pot estendre molt més allà dun centre destudisgràcies a la seva alta escalabilitat i la possibilitat dampliar les capacitats del programa ambsoftware de tercers (addons, pluguins, etc...) 74
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX27 WebgrafiaDocumentació oficial:  http://www.nagios.org  http://library.nagios.com/library/products/nagioscore/manuals/  http://nagios.sourceforge.net  http://www.nsclient.org/nscpDocumentació no oficial  http://www.thegeekstuff.com/2008/11/how-to-monitor-network-switch-and-ports- using-nagios/  http://blog.unlugarenelmundo.es/2007/06/29/instalando-nagios-3x-en-debian-etch/  http://blog.unlugarenelmundo.es/2007/07/11/configurando-nagios-3x-y-i/  http://nagioses.blogspot.com/2009/03/snmp.html  http://wiki.postgresql.org/wiki/Usando_Nagios  http://www.becodemyfriend.com/2011/04/manual-de-instalacion-y-configuracion-de- nagios-3-monitoring-parte-ii/  http://www.descomsms.com/aplicaciones/alertas-por-sms-para-nagios.html  http://gnokii.org/index.shtml  http://cayu.com.ar/files/manuales-nagios.pdf  http://www.slideshare.net/rpm-alerts/manual-final-nagios  http://www.trucoslinux.es/nagios-monitorizar-memoria-ram-con-nrpe/  http://docs.pnp4nagios.org/es/pnp-0.6/start  http://albertomolina.wordpress.com/2009/01/04/configurar-postfix-a-traves-de-un- relay-host-autenticado-gmailSNMP, MRTG i SSL:  http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol  http://www.alcancelibre.org/staticpages/index.php/como-linux-snmp  http://www2.linuxparatodos.net/web/comunidad/base-de-conocimiento  https://support.ipmonitor.com/snmp_center.aspx  http://es.wikipedia.org/wiki/MRTG  http://www.netcraftsmen.net/resources/archived-articles/370-configuring-snmp-in- cisco-routers.htmlAltres recursos utilitzats:  http://www.cacti.net  http://pandorafms.org  http://www.ubuntu.com  http://www.fpnetzone.com  http://www.pfsense.com 75
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIXANNEX: Script memòria RAM Linux#!/bin/sh# check_mem.sh# Determine memory usage percentage on Linux servers.# Original write for RHEL3 for PC1 Project - jlightner 05-Jul-2005## Modified for RHEL5 on mailservers.# -Some of the escapes previously required for RHEL3s ksh not needed onRHEL5.# -Changed comparisons to allow for decimal rather than integer values.## Usage: check_mem.sh WARNING CRITICAL# Where WARNING and CRITICAL are the integer only portions of the# percentage for the level desired.# (i.e. 85% Warning & 95% Critical should be input only as "85 95".)# Define Levels based on input#WARNLEVEL=$1CRITLEVEL=$2# Setup standard Nagios/NRPE return codes#UNKNOWN_STATE=3CRITICAL_STATE=2WARNING_STATE=1OK_STATE=0# Give full paths to commands - Nagios cant determine location otherwise#BC=/usr/bin/bcGREP=/bin/grepAWK=/bin/awkFREE=/usr/bin/freeTAIL=/usr/bin/tailHEAD=/usr/bin/head# Get memory information from the "free" command - output of top two lines# looks like:# total used free shared bufferscached# Mem: 8248768 6944444 1304324 0 2461645647524# The set command will get everything from the second line and put it into# posiional variables $1 through $7.#set `$FREE |$HEAD -2 |$TAIL -1`# Now give variable names to the positional variables we set above 76
    • Jordi Muria Badia, Bernat Romeu Llabrés PROJECTE – ASIX#MEMTOTAL=$2MEMUSED=$3MEMFREE=$4MEMBUFFERS=$6MEMCACHED=$7# Do calculations based on what we got from free using the variables defined#REALMEMUSED=`echo $MEMUSED - $MEMBUFFERS - $MEMCACHED | $BC`USEPCT=`echo "scale=3; $REALMEMUSED / $MEMTOTAL * 100" |$BC -l`#USEPCT=`echo scale=3 "n" $REALMEMUSED / $MEMTOTAL * 100 |$BC -l |$AWK -F.{print $1}`# Compare the Used percentage to the Warning and Critical levels input at# command line. Issue message and set return code as appropriate for each# level. Nagios web page will use these to determine alarm level andmessage.##if [ `echo "5.0 > 5" |bc` -eq 1 ]#then echo it is greater#else echo it is not greater#fiif [ `echo "$USEPCT > $CRITLEVEL" |bc` -eq 1 ]then echo "CRITICAL - Memory usage is ${USEPCT}%" exit ${CRITICAL_STATE}elif [ `echo "$USEPCT > $WARNLEVEL" |bc` -eq 1 ]then echo "WARNING - Memory usage is ${USEPCT}%" exit ${WARNING_STATE}elif [ `echo "$USEPCT < $WARNLEVEL" |bc` -eq 1 ]then echo "OK - Memory usage is ${USEPCT}%" exit ${OK_STATE}else echo "Unable to determine memory usage." exit ${UNKNOWN_STATE}fiecho "Unable to determine memory usage."exit ${UNKNOWN_STATE} 77