nagiosDataNotUpToDate: NDOMy: NDO data to old (Backend ndomy_1) [SOLVED] [RISOLTO]

Posted by Cristian | Posted in Nagios | Posted on 24-08-2009

0

Utilizzado NDOutils e NagVis può capitare di vedersi restituire un errore di questo tipo:
nagiosDataNotUpToDate: NDOMy: NDO data to old (Backend ndomy_1)

se l’avvio di NDO è stato integrato nel file di configurazione di nagios (nagios.conf) basta stoppare nagios con:
/etc/init.d/nagios stop

verificare se il processo è stato stoppato utilizzando:
ps -aux | grep ndo*

e nel caso in cui ndo sia ancora in esecuzione ed ottengo come risultato qualcosa di questo tipo..
root     2529  …….  S   20:47   0:00 /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cf

basta lanciare un:
kill -9 2529

il valore del quale vado a fare il kill corrisponde all’id del processo.

Una volta fatto tutto questo basta cancellare il file ndo.sock:
rm /usr/local/nagios/var/ndo.sock
(il percorso potrebbe essere differente)

ed avviare nuovamente nagios:
/etc/init.d/nagios start

Can’t locate Net/SNMP.pm [SOLVED] [RISOLTO]

Posted by Cristian | Posted in Nagios | Posted on 13-08-2009

0

nel tentativo di utilizzare lo script check_snmp_mem.pl per monitorare l’snmp con Nagios può capitare di vedersi restituire l’errore seguente

Can’t locate Net/SNMP.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl
/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share
/perl/5.10 /usr/local/lib/site_perl .) at ./check_snmp_mem.pl line 16.

questo è dovuto al fatto che non si è provveduto ad installare libnet-snmp-perl quindi basta lanciare (su Ubuntu):
sudo apt-get install libnet-snmp-perl

e riprovare.

Installare RDAC su RedHat EN per ds4800

Posted by Cristian | Posted in Work in progress | Posted on 13-08-2009

0

decomprimere il file rdac-LINUX-09.00.A5.22-source.tar.gz o comunque la versione che avete trovato con:

tar -xvfz rdac-LINUX-09.00.A5.22-source.tar.gz
per proseguire è necessario che nel vostro sistema sia gà isntallato gcc.

posizionarsi all’interno della cartella:
cd /linuxrdac

poi lanciare i seguenti comandi:
make clean
make
make install


se tutto è andato bene ora bisogna modificata la riga initrd /initrd-x.x.xx-xx.xxmp.img al’interno del file di configurazione di GRUB come segue tenendo presente che sicuramente il file grub.conf sarà diverso da quello che riporto di seguito e non si deve assolutamente fare un copia/incolla di tutto ma è necessario modificarlo come riportato nell’esempio ===contenuto del file grub.conf modificato===, aggiungendo solo la riga initrd /mpp-x.x.xx-xx.xxsmp.img e commentando la riga che nel mio caso è initrd /initrd-2.4.21-27.ELsmp.img con #.

La versione del file mpp-x.x.xx-xx.ELsmp.img presente nel sistema è sotto /boot/.

vi /etc/grub.conf

# ====contenuto del file grub.conf iniziale===

title Red Hat Enterprise Linux AS (2.4.21-27.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-27.ELsmp ro root=LABEL=/
initrd /initrd-2.4.21-27.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.4.21-27.EL)
root (hd0,0)
kernel /vmlinuz-2.4.21-27.EL ro root=LABEL=/
initrd /initrd-2.4.21-27.EL.img

# ====fine contenuto del file grub.conf iniziale===

# ===inizio contenuto del file grub.conf modificato===

title Red Hat Enterprise Linux AS (2.4.21-27.ELsmp) MPP
root (hd0,0)
kernel /vmlinuz-2.4.21-27.ELsmp ro root=LABEL=/
# initrd /initrd-2.4.21-27.ELsmp.img
initrd /mpp-2.4.21-27.ELsmp.img

title Red Hat Enterprise Linux AS-up (2.4.21-27.EL)
root (hd0,0)
kernel /vmlinuz-2.4.21-27.EL ro root=LABEL=/
initrd /initrd-2.4.21-27.EL.img

# ===fine contenuto del file grub.conf modificato===

Riavviare e tutto dovrebbe andare.
In alternativa al riavvio posso usare hot_add x aggiungere dischi su rdac.

Per fare qualche verifica sul funzionamento di quanto instalalto sotto /linuxrdac/utility ci sono alcuni tool tipo mppUtil che risultano molto utile per verificare ad esempio i canali che vengono visti dalla macchina, mppUtil -g 0.

NON SI GARANTISCE IN ALCUN MODO IL CORRETTO FUNZIONAMENTO DELLE PROCEDURE DESCRITTE ANCHE SE DA ME TESTATE. SE LE SEGUITE LO FATE A VOSTRO RISCHIO E PERICOLO

Installare e configurare kismet su Ubuntu

Posted by Cristian | Posted in Sicurezza IT | Posted on 13-08-2009

2

Installare Kismet con apt-get:
su root
apt-get install kismet

una volta terminatea l’installazione che solitamente è rapida ed indolore bisogna editare il file di configurazione /etc/kismet/kismet.conf con il vi o altro editor,

vi /etc/kismet/kismet.conf

nel mio caso per permetterne il funzionamento di kismet con la scheda Intel PRO/Wireless 3945ABG utilizzo il driver ipw3945, cerco quindi all’interno del file la riga che inizia con source= e modifico i valori di default con ipw3945,wlan0,dv9000 ottenendo questo:

source=ipw3945,wlan0,dv9000

riepilogo il significato della riga sopra riportata:
il primo valore ipw3945 identifica il driver per la scheda wifi che si sta utilizzando, il secondo wlan0 l’interfaccia wireless e il terzo dv9000 non identifica niente in particolare e può essere popolato a piacere.

a questo punto settiamo la scheda wireless in monitor:
iwconfig wlan0 mode monitor

e avviamo kismet con il comando:
kismet

Interfaccia Kismet

una volta terminato l’utilizzo di kismet possiamo reimpostare la scheda wireless in modalità managed con il comando:
root@oem:/# iwconfig wlan0 mode managed

Se ci fossero dubbi scrivete pure qui un commento risponderò appena possibile.
Ricordo a chi non lo sapesse o preferisce far finta di non saperlo che introdursi all’interno di una network se non si è autorizzati è illegale quindi il programma kismet va utilizzato a scopo didattico e per capire fino a che punto la propria rete wireless è vulnerabile…. se una porta è aperta non è detto che siamo autorizzati ad entrare.

Principali file di configurazione in Nagios

Posted by Cristian | Posted in Nagios | Posted on 11-08-2009

0

Il file di configurazione di Nagios viene collocato di default sotto /etc/nagios/nagios.cfg – /usl/local/nagios/etc/nagios.cfg dipende dalla distribuzione che utilizzate.

Per una questione di ordine è a mio avviso meglio suddividere le configurazioni degli host, service, command, ecc. su diversi file ed includerli all’interno del nostro nagios.cfg come negli esempi che vedremo poi sotto e come suggerito anche dagli esempi commentati già presenti nel file nagios.cfg.

## —– ESTRATTO DAL FILE NAGIOS.CFG
# Definitions services and hosts
cfg_file=/usr/local/nagios/etc/services.cfg
cfg_file=/usr/local/nagios/etc/hosts.cfg

cfg_file=/usr/local/nagios/etc/contacts.cfg
cfg_file=/usr/local/nagios/etc/contact-group.cfg

cfg_file=/usr/local/nagios/etc/hosts-extinfo.cfg
cfg_file=/usr/local/nagios/etc/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/commands.cfg

## ——- ESTRATTO DAL FILE HOSTS.CFG
# Definizioni host 192.168.0.101
define host{
host_name 192.168.0.101
alias 192.168.0.101
address 192.168.0.101
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24×7
contact_groups admins
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
notification_period 24×7
notification_options d,u,r
parents 192.168.0.1
}

# Definizioni host 192.168.0.102 – Cisco VPNConcentrator
define host{
host_name 192.168.0.102
alias 192.168.0.102
address 192.168.0.102
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24×7
contact_groups admins
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
notification_period 24×7
notification_options d,u,r
parents 192.168.0.1
}

# Definizioni host 192.168.0.103
define host{
host_name 192.168.0.103
alias 192.168.0.103
address 192.168.0.103
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24×7
contact_groups admins
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
notification_period 24×7
notification_options d,u,r
parents 192.168.0.1
}

# Definizioni host 192.168.0.110
define host{
host_name 192.168.0.110
alias 192.168.0.110
address 192.168.0.110
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24×7
contact_groups admins
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
notification_period 24×7
notification_options d,u,r
parents 192.168.0.1
}

# Definizioni host 62.149.140.117
define host{
host_name 62.149.140.117
alias 62.149.140.117
address 62.149.140.117
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24×7
contact_groups admins
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
notification_period 24×7
notification_options d,u,r
}

## ——- ESTRATTO DAL FILE SERVICE.CFG
# Create a service for monitoring CPU load 192.168.0.101 — occorre aver installato sull’host NSClient++
define service{
use generic-service
host_name 192.168.0.101
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}

# Create a service for monitoring 192.168.0.101 — occorre aver installato sull’host NSClient++
define service{
use generic-service
host_name 192.168.0.101
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}

# Create a service for monitoring C:\ disk usage 192.168.0.101 — occorre aver installato sull’host NSClient++
define service{
use generic-service
host_name 192.168.0.101
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 75 -c 95
}

# Create a service for monitoring the service 192.168.0.101 — occorre aver installato sull’host NSClient++
define service{
use generic-service
host_name 192.168.0.101
service_description NOME_SERVIZIO
check_command check_nt!SERVICESTATE!-d SHOWALL -l NOME_SERVIZIO
}

#Create a service server 192.168.0.103
define service{
use generic-service
host_name 192.168.0.103
service_description PING
check_command check-host-alive
}

#Create a service server 192.168.0.103
define service{
use generic-service
host_name 192.168.0.103
service_description TCP port 8080
check_command check_tcp!8080
}

#Create a service switch Cisco – 192.168.0.110
define service{
use generic-service
host_name 192.168.0.110
service_description CPU Utilizzata
check_command check_snmp!-C public -o 1.3.6.1.4.1.9.2.1.56.0 -l Status -w 80 -c 95
}

#Create a service switch Cisco – 192.168.0.110
define service{
use generic-service
host_name 192.168.0.110
service_description RAM libera
check_command check_snmp!-C public -o 1.3.6.1.4.1.9.9.48.1.1.1.6.1
}

#Create a service switch Cisco – 192.168.0.110
define service{
use generic-service
host_name 192.168.0.110
service_description RAM utilizzata
check_command check_snmp!-C public -o 1.3.6.1.4.1.9.9.48.1.1.1.5.1
}

#Create a service switch Cisco – 192.168.0.110
define service{
use generic-service
host_name 192.168.0.110
service_description UpTime
check_command check_snmp!-C public -o sysUpTime.0
}

#Create a service check www.smemorando.com
define service{
use generic-service
host_name 62.149.140.117
service_description PING
check_command check-host-alive
}

#Create a service check certificato www.smemorando.com
define service{
use generic-service
host_name 62.149.140.117
service_description Stato Certificato
check_command check_http_cert
}

#Create a service check www.smemorando.com
define service{
use generic-service
host_name 62.149.140.117
service_description HTTP
www.smemorando.com
check_command check_http_smemorando
}

# Create a service for monitoring via SNMP service 192.168.0.102 — occorre sia attivo l’snmp sull’host
define service{
use generic-service
host_name 192.168.0.102
service_description Temperature
check_command check_snmp!-l Temperature -o .1.3.6.1.4.1.3076.2.1.2.22.1.29.0,.1.3.6.1.4.1.3076.2.1.2.22.1.33.0 -w 37,:40 -c :40,:45
}

# Create a service for monitoring via SNMP service 192.168.0.102 — occorre sia attivo l’snmp sull’host
define service{
use generic-service
host_name 192.168.0.102
service_description Active VPN Sessions
check_command check_snmp!-l ActiveSessions -o 1.3.6.1.4.1.3076.2.1.2.17.1.7.0,1.3.6.1.4.1.3076.2.1.2.17.1.9.0 -w :70,:8 -c :75,:10
}

è possibile utilizzare snmpwalk per visualizzare gli OID di un host, la sintassi è questa [snmpwalk –c public –v 1 hostIP] per altre informazioni a riguardo guardate il man.

## —– ESTRATTO DAL FILE CONTACTS.CFG
define contact{
contact_name          nagiosadmin        ; Short name of user
use                              generic-contact        ; Inherit default values from generic-contact template (defined above)
alias                           Nagios Admin        ; Full name of user
email                         info@tuodominio.ext    ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

define contact{
contact_name         helpdesk             ; Short name of user
use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
alias                          Help Desk          ; Full name of user
email                         helpdesk
@tuodominio.ext ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

define contact{
contact_name          oem             ; Short name of user
use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
alias                          Oem          ; Full name of user
email                         oem
@tuodominio.ext ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

## —– ESTRATTO DAL FILE CONTACT-GROUP.CFG
define contactgroup{
contactgroup_name    admins
alias                              Administrators
members                       nagiosadmin,oem
}

define contactgroup{
contactgroup_name       operatore
alias                                  Operatore
members                            helpdesk
}

## —– ESTRATTO DAL FILE HOSTS-EXTINFO.CFG — PERSONALIZZAZIONE ICONE STATUS MAP
define hostextinfo{
host_name               NAGIOS
icon_image_alt          Nagios
icon_image              nagios.png
statusmap_image         nagios.gd2
}

define hostextinfo{
host_name               192.168.0.102
icon_image_alt          VPN Concentrator
icon_image              cisco3.png
statusmap_image         cisco3.gd2
}

define hostextinfo{
host_name               192.168.0.101,192.168.0.103
icon_image_alt          Server
icon_image              server2.png
statusmap_image         server2.gd2
}

define hostextinfo{
host_name               192.168.0.110
icon_image_alt          Switch
icon_image              switch.png
statusmap_image         switch.gd2
}

define hostextinfo{
host_name               62.149.140.117
icon_image_alt          Web Server Smemorando.com
icon_image              www_server.png
statusmap_image         www_server.gd2
}

## —– ESTRATTO DAL FILE TIMEPERIODS.CFG
define timeperiod{
timeperiod_name 24×7
alias           24 Hours A Day, 7 Days A Week
sunday          00:00-24:00
monday          00:00-24:00
tuesday         00:00-24:00
wednesday       00:00-24:00
thursday        00:00-24:00
friday          00:00-24:00
saturday        00:00-24:00
}

# ‘workhours’ timeperiod definition
define timeperiod{
timeperiod_name    workhours
alias        Normal Work Hours
monday        09:00-17:00
tuesday        09:00-17:00
wednesday    09:00-17:00
thursday    09:00-17:00
friday        09:00-17:00
}

# ‘none’ timeperiod definition
define timeperiod{
timeperiod_name    none
alias        No Time Is A Good Time
}

## —– ESTRATTO DAL FILE COMMANDS.CFG
# Check verifica stato certificato ssl www.smemorando.com
define command{
command_name    check_http_cert
command_line    $USER1$/check_http -H smemorando.com -S -C 30
}

tra qualche giorno la terza parte.

Installare Nagios e plugins

Posted by Cristian | Posted in Nagios | Posted on 08-08-2009

0

Per iniziare installo questi pacchetti:
sudo apt-get install apache2
sudo apt-get install build-essential
sudo apt-get install libgd2-xpm-dev

qui creo l’utente nagios e gli imposto la password nagios:
sudo -s
/usr/sbin/useradd -m nagios
passwd nagios

imposto il gruppo di appartenenza e la shell:
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios

/usr/sbin/usermod -G nagcmd www-data

scarico i sorgenti:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

scompatto e configuro il primo:
tar xzf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure –with-command-group=nagcmd
make all
make install

configuro i permessi:
make install-init
make install-config
make install-commandmode

e configuro l’interfaccia web:
make install-webconf

per funzionare ha bisogno di un utente amministratore:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

ora faccio ricaricare la configurazione ad Apache:
/etc/init.d/apache2 reload

installo openssl e altri pacchetti utili che mi servirà anche per utilizzare il plug-in check_http per verificare i certificati ssl:
apt-get install openssl dnsutils fping

non resta che installare i plugin, quindi mi porto nella directory dove sono stati salvati e li scompatto e configuro:
tar xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl=/usr/bin/openssl

e non:
./configure –with-nagios-user=nagios –with-nagios-group=nagios

poi lancio:
make
make install

ora inizio con la configurazione.

per prima cosa edito il file bashrc e aggiungo un paio di alias per semplificarmi la vita:
vim /root/.bashrc

ed aggiungo subito dopo questa riga:
# some more ls aliases

questi alias:
alias nagios_rs=’/etc/init.d/nagios restart’
alias nagios_st=’/etc/init.d/nagios start’
alias nagios_check=’/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg’

poi facciamo si che nagios si avvii in automatico al boot:
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

controllo che non ci siano errori:
nagios_check

Nagios check
e lo avviamo:
nagios_st

per accedere all’interfaccia web basta aprire il browser e digitare http://localhost/nagios/

Nagios Web Interface
tra qualche giorno la seconda parte