Indice - Teca ELIS

Transcript

Indice - Teca ELIS
Indice
Prefazione............................................................................................................................................. 3
1Logistica............................................................................................................................................. 3
Orario di lavoro................................................................................................................................3
Sedi di lavoro: Val Cannuta.............................................................................................................3
Sedi di lavoro: Estensi..................................................................................................................... 3
2Organizzazione Aziendale..................................................................................................................4
Organigramma................................................................................................................................. 4
3Progetti Svolti..................................................................................................................................... 5
Studio delle Funzionalità di VMware ESX 3 e di Virtual infrastructure 3......................................5
ESX............................................................................................................................................. 5
Virtualizzazione......................................................................................................................5
CPU Virtualization................................................................................................................. 6
MEMORY Virtualization.......................................................................................................6
DISK Virtualization............................................................................................................... 6
Private Virtual Ethernet Network (vmnets)............................................................................6
Software Compatibility.......................................................................................................... 6
Amministrazione.................................................................................................................... 7
Service Console................................................................................................................ 7
BACK-UP.........................................................................................................................7
Resouce Management.......................................................................................................7
Resource Variable.................................................................................................................. 8
CPU.................................................................................................................................. 8
Memory............................................................................................................................ 8
Network............................................................................................................................ 8
DISK................................................................................................................................. 8
File System....................................................................................................................... 9
Virtual Infrastructure.................................................................................................................10
VMware ESX Server............................................................................................................11
VMware VMFS.................................................................................................................... 11
VMware Virtual SMP.......................................................................................................... 11
VMware Virtual Center........................................................................................................11
VMware VMotion................................................................................................................ 12
VMware HA......................................................................................................................... 13
VMware DRS....................................................................................................................... 13
VMware Consolidated Backup............................................................................................ 14
VMware P2V Assistant........................................................................................................ 14
File Sharing P2P............................................................................................................................ 15
eDonkey.................................................................................................................................... 15
I servers................................................................................................................................ 15
I clients................................................................................................................................. 15
Il FileHash............................................................................................................................ 15
Kad............................................................................................................................................ 16
Network protocol..................................................................................................................16
Routing Table....................................................................................................................... 16
Contacts................................................................................................................................ 17
Bootstrap.............................................................................................................................. 17
Initial handshake...................................................................................................................18
Firewall check...................................................................................................................... 18
Find buddy............................................................................................................................19
Localizzare gli Oggetti......................................................................................................... 19
Offuscamento del Protocollo.................................................................................................... 21
Installazione MDM by cisco su Red Hat Enterprise.....................................................................21
Componenti di un sistema MDM..............................................................................................22
Procedura di installazione......................................................................................................... 22
Hardening..................................................................................................................................23
Installazione Configurazione Virtual Machines............................................................................ 23
Ntop...........................................................................................................................................23
Protocolli.............................................................................................................................. 23
Ambiente di collaudo........................................................................................................... 24
Descrizione blade................................................................................................................. 24
Packet Sniffer....................................................................................................................... 25
Packet Analyser.................................................................................................................... 25
Report Engine.......................................................................................................................25
Security Feature....................................................................................................................26
Servizi presenti sulla blade NTOP....................................................................................... 26
Procedure per la corretta configurazione della macchina:................................................... 27
Comando di avvio ntop........................................................................................................ 27
Dipendenze per la corretta installazione di ntop.................................................................. 27
Nfsen......................................................................................................................................... 27
Introduzione..........................................................................................................................27
NFdump................................................................................................................................28
Installazione..........................................................................................................................29
Hardening............................................................................................................................. 31
Configurazione Autenticazione:...................................................................................... 31
Caratteristiche del file:.....................................................................................................31
Creare gli utenti:.............................................................................................................. 32
HTTPS..................................................................................................................................32
Generare Certificati e Coppia di Chiavi:......................................................................... 32
4Competenze acquisite e/o consolidate..............................................................................................34
Ricerca Informazioni..................................................................................................................... 34
Gestione Backup............................................................................................................................ 34
5Conclusioni.......................................................................................................................................34
Prefazione
L'azienda a cui ero stato asseto assegnato dal 15 febbraio al 30 Giugno era Telecomitalia,
precisamente nel settore Security Solution.
Il settore Security Solution è il settore di TelecomItalia atto all'implementazione di nuove soluzioni
di sicurezza nell'ambiente IP di Telecomitalia.
Questo settore di Telecom aveva avviato un progetto di riorganizzazione delle varie reti Telecom,
implementando un sistema di DMZ che separasse le reti dei dipendenti Telecom dalle reti dei
servizi, con un sistema di macchine virtuali gestite tramite la Virtual Infrastructure 3 di VMware.
La parte del progetto assegnatami riguardava l'installazione e la configurazione di piattaforme per il
monitoring delle prestazioni della rete.
In parallelo mi sono stati affidati altri progetti, per lo più di documentazione:
1. File sharing-P2P
2. Studio di VMware Virtual Infrastructure
3. Ricerca di Sicurity Tool su Linux Live (Backtarck2, Operator3.3)
4. Installazione Sun Solari 10 su Virtual Macchine
5. Installazione MDM manager (CISCO) su Red Hat Enterprise
1 Logistica
Orario di lavoro
Dal Lunedì al Venerdì dalle 10:00 alle 17:00.
Sedi di lavoro: Val Cannuta
La prima sede di lavoro era uno stabile ex-TIM, via ValCanutta 186.
Il nostro referente aveva sede a via degli Estensi, e non ostate la distanza cercavo di avere sempre
un contatto anche via e-mail per sapere cosa dovevo fare.
Sedi di lavoro: Estensi
All'inizi del mese di marzo, inserito con gli altri stagisti in un progetto di riordino delle sedi insieme
ai consulenti Telecomitalia, fummo trasferiti nel Open-Space della sede di via Estensi.
2 Organizzazione Aziendale
Organigramma
AMMINISTRATORE
DELEGATO
Riccardo Ruggiero
TECHNOLOGY
STEFANO PILERI
DOMESTIC FIXED
SERVICES
MASSIMO CASTELLI
DOMESTIC MOBILE
SERVICES
LUCA LUCIANI
Technical Information Services è un sotto gruppo di Technology.
Il mio referente fa parte del settore Security Solution.
TOP CLIENTS & ICT
SERVICES
MAURO NANNI
TIM BRASIL
MARIO CESAR ARAUJO
3 Progetti Svolti
Studio delle Funzionalità di VMware ESX 3 e di Virtual infrastructure 3
La VMware è una azienda leader nel settore della virtualizzazione dei Computer.
I prodotti di punta che VMware propone alle aziende sono ESX e Virtual Infracstructure.
ESX
Esx è un O.S. Vero e proprio che permette di ottimizzare al meglio la gestione e il funzionamento
delle Macchine Virtuali.
A differenza degli altri prodotti Vmware, come Workstation, esso non si installa su un sistema
operativo preesistente, ma si installa direttamente sul hardware sottostante. Questa situazione gli
permette di avere il pieno controllo delle risorse Hardware sottostanti, il che ne migliora la gestione
da parte del Software.
VMware ESX incorpora un gestore delle risorse (resource manager) e una service console che
provvedono al bootstrap, alla gestione ed altri servizi.
il core di vmware esx è disegnato per implementare l'astrazione delle risorse HW, cosi da poter
allocare multiple quote di lavoro in ambienti pienamente isolati.
Ciò permette ai Guest OS di lavorare senza interferire l'un l'altro nella competizione di una risorsa.
La struttura logica:
●
VMware virtualization layer provvede alla gestione dell'ambiente HW (separa i vari
ambienti) e della virtualizzazione del HW sottostante.
●
Resource Management provvede al partizionamento e alla disponibilità delle risorse, quali:
CPU, network bandwidth, memory. per ogni macchina virtuale.
●
I componenti di interfaccia HD includendo driver device, i quali abilitano specifici servizi
HD disponibili, mentre nascondo le differenze HW presenti al disotto.
Virtualizzazione
Il layer di virtualizzazione provvede a far da ponte tra HW-virtuali e quello reale, in questo modo
nessun software potrà capire a quale HW specifico sta accedendo, poiché fa riferimento al HWvirtuale.
Il layer di virtualizzazione crea una macchina fisica idealizzata che è isolata dalle altre VM sul
sistema. Provvede a creare i virtual device che saranno mappati sullo specifico HW condiviso:
BIOS, userinterfaces, network interfaces...
L'unico modo per connettere le varie macchine virtuali è tramite una connessione di rete (le vmnet,
che simulano degli switch, e le vmnic).
Questo permette di costruire dei firewall interni, o simulare qualsivoglia topologia di rete.
CPU Virtualization
Ogni VM apparentemente gira su una propria CPU, o set di CPU, con un proprio registro, buffer e
altre strutture di controllo. molte istruzioni sono eseguite direttamente dalla CPU fisica,
permettendo una computazione intensiva. Le istruzioni privilegiate sono gestite dal patented e
patent-pending technology nel virtualization layer, mentre le istruzioni non privilegiate sono
eseguite dalla CPU reale senza l'hoverhead introdotto dalla emulazione.
MEMORY Virtualization
Mentre un continuo spazio di memoria è visibile per ogni VM, la memoria fisica allocata può non
esserlo. Le parti non continue sono rimappate efficacemente e presentate a ogni VM. Cosi la
memoria fisica di una VM può essere mappata da pages condivise, o da pages che sono nonmappate o nella swap. Questa gestione della memoria virtuale è migliorata da ESX server, senza
avere informazioni del sistema operativo e senza interferire con esso nella gestione della memoria.
DISK Virtualization
Supporto dei disk device in ESX è un esempio della indipendenza dal HD. Ogni disco virtuale è
presentato come uno SCSI driver connesso a uno SCSI adapter. Questo device è il solo disk storage
controller usato dai sistemi operativi ospiti, mentre SCSI, RAID e Fibre Channel addapeter
potrebbero essere usati nel sistema sottostante.
Private Virtual Ethernet Network (vmnets)
Connessioni vmnet possono essere usate per reti ad alta velocità tra macchine virtuali. L'isolamento
delle varie macchine è utile per disegnare e specialmente supportare le network topology, che
normalmente dipendono dall'uso di device differenti per provvedere all'isolamento e alla sicurezza.
Software Compatibility
Nella architettura ESX, il SO guest interagisce solo con architetture INTEL x86.
In realtà Vmware supporta un subset di x86-compatible OS, che sono testati attraverso il ciclo di
sviluppo.
Questa astrazione fa delle VM, strutture robuste e trasportabili.
La trasportabilità non è un grosso problema poiché tutti i file registrati dal guest OS sono
memorizzati nel file che simula l'HD.
ESX può anche essere usato effettivamente con le SAN, poiché supporta Qlogic e Emulex host bus
adapter, i quali permettono ad un ESX computer di essere connesso ad una SAN e di vedere gli HD
arrays sulla SAN.
Amministrazione
Service Console
Le funzioni di management e le interfacce sono implementate nella SERVICE CONSOLE.
Essa include l'http, snmp e le API interfaces, per connettersi al ESX server.
è installata come primo componente ed è usata per la gestione dell'ESX server: bootstrap, ESX
installation e configuration. Permette la gestione del virtualization layer e del resource manager.
Essa è implementata usando una distribuzione Linux modificata.
BACK-UP
Per eseguire un backup vi sono due vie:
●
Eseguire un normale backup sulle macchine con i software a disposizione
●
Copiare i file di virtual disk e i “redo”.
Con il primo metodo si ha il vantaggio di recuperare singoli o gruppi di dati
Con il secondo, poiché viene praticamente copiata la macchina virtuale, si ha la possibilità di
recuperare e mettere immediatamente in esercizio i servizi da una perdita completa del sistema, ma
non si ha la possibilità di recuperare singole parti.
Resouce Management
ESX ti permette di ottimizzare le performance della tua VM gestendo l'allocazione delle risorse:
●
CPU time
●
Memory space
●
Network bandwidth
●
Disk bandwidth
ESX usa un meccanismo di condivisione proporzionale per allocare le risorse quando più VM
stanno contendendo la stessa risorsa.
La Network bandwidth è controllata con “network traffic shaping”.
Per la CPU management si può specificare un min e un max in percento, che una VM può sfruttare
della potenza di calcolo che deve essere dedicata per ogni VM, si possono specificare il n° max di
CPU che devono essere condivise.
Simile è la gestione della MEMORY: specificare una grandezza min e max, se deve essere uno
spazio condiviso o no.
SERVICE CONSOLE: usa 2000 CPU condivise e 8% della minima potenza, di default (la Service
Console non richiede un'intensiva computazione) lo spazio di MEMORY da assegnare dipende dal
numero di VM, che fa variare il valore da 192MB a 512MB.
●
●
●
●
192MB per VM <=8
272MB per VM <= 16
384MB per VM <= 32
512MB per VM > 32
Resource Variable
CPU
Le variabili in gioco, come precedentemente accennato, sono: Min, Max calc-power e shared
allocation
Il primo indica la potenza minima che il Resource Manager deve fornire ad una singola macchina
nelle situazioni in cui le risorse scarseggiano.
Il secondo è il limite oltre il quale non deve essere fornite potenza di calcolo in alcun modo.
Il terzo è il numero di CPU condivise dalla CPU virtuale, maggiore è il numero di CPU condivise
maggiore è il tempo di computazione (di pro si ha un minore sforzo delle CPU fisiche) può essere
specificato un numero preciso di CPU da condividere o specificare HIGH, NORMAL, LOW.
Di default è settato a normal, che è il doppio di low e la meta di high.
In un sistema a multiprocessore, si può anche restringere l'assegnamento delle VM ad un sotto
insieme di CPU.
Memory
La gestione della memoria contiene delle variabili simili a quelle della gestine della CPU, size min
e max e shared allocation.
Il sistema alloca dinamicamente un tot di memoria per ogni VM tra il max e il min basandosi su
quella condivisa e su una stima del recente lavoro, è possibile specificare la quantità di memoria
iniziale del Guest OS nel suo file di configurazione.
Shared allocation: Sono parti di memoria che autorizzano una macchina virtuale a prendere una
frazione della memoria fisica.
La memoria viene scelta dinamicamente in base a due fattori:
1. Il valore assegnato a Shared allocation
2. Da una valutazione della relativa quantità di memoria usata recentemente.
ESX usa una tecnica di page sharing proprietaria che elimina sicuramente le copie ridondanti delle
memory pages.
Network
ESX supporta il network traffic shaping con il modulo nfshaper
Lo shaper implementa un algoritmo composto two-bucket traffic shaping. un primo token bucket
controlla continuamente il normale traffico di banda e burstness
Un secodo token controlla i picchi i banda durante i bursts
Ogni istanza di nfshaper può accettare parametri di controllo bps di traffico normale, bps di picco e
burst size.
In ESX vi è una chiara distinzione tra le risorse di rete assegnate alle VM e quelle della SERVICE
CONSOLE, questo per ragioni di sicurezza cosi da separare la network di gestione da quella usata
dalle applicazioni delle VM.
DISK
ESX provvede ad un controllo dinamico sulla relativa quantità di disk bandwidth per ogni singola
VM. è possibile controllare separatamente la disk bandwidth per ogni disco fisico o volume logico.
il sistema gestisce l'allocazione della disk bandwidth delle VM automaticamente basandosi sui
parametri di allocazione e system load. Questo è fatto in modo da mantenere imparzialità a massimo
throughput.
I parametri sono modificabili nel file di configurazione della VM, o dinamicamente dalla interfaccia
della SERVICE CONSOLE.
La disk bandwidth consumata da una VM è rappresentata in unità consumption. ogni comando
SCSI usato sul disco effettivamente consuma una unità di default e aggiunge unità
proporzionalmente alla grandezza del dato trasferito con il comando.
Il troughput del disco è massimizzato attraverso l'uso di uno scheduling quantum per disk requests
da una VM al disco. Una VM è autorizzata ad usare un numero di richieste a disco (the scheduling
quantum) senza iniziare preventivamente un'altra richiesta di un'altra VM. L'uso di una richiesta
multipla senza prelazione è applicabile solo se la VM richiede accesso a settori sequenziali del
disco.
File System
Essendo un sistema operativo a tutti gli effetti, ESX usa un suo file system (VMFS) proprietario.
VMFS è semplice e ad alte performance file system, usato per immagazzinare file grandi come le
virtual disk images e le memory images.
Il VMFS immagazzina anche i redo-log files delle VM in nonpersistent, undoable o append disk
mode.
È possibile vedere e manipolare i file sotto /vmfs con gli ordinari comandi Linux ls e cd.
Sfortunatamente, la service console essendo basa su un kernel 2.4 non supporta file più grandi di
2GB.nfs, quindi è consigliato usare ftp scp e cp per copiare file da un volume VMFS.
VMFS version
VMFS-2 volume può distribuire partizioni multiple atraverso la stessa o multiple LUNs o dischi
fisici.
VMFS-2 volume è un gruppo logico di estensioni fisiche.
VMFS-1 volumes sono limitati a una singola estensione fisica.
Assegnare una label al volume: vmkfstools
Vedere la versione:
-S mydisk vmhba0:3:0:1
vmkfstools -P <VMFS_volume_label>
# cd /vmfs
# ls
vmhba0:0:0:2 vmhba0:0:0:6
Modalità di accesso
PUBLIC: questa è la modalità di default, in cui più computer ESX server possono accedere al ESX
file system come in un shared storage system.
Con VMFS-1 può accedere solo un computer alla volta, mentre con VMFS-2 possono accedere
simultaneamente.
In questa modalità il file system è automaticamente bloccato per assicurare la consistenza.
SHARED: usato per un VMFS volume che è usato per failover-based clustering sullo stesso o
differente ESX server.
Virtual Infrastructure
La virtual Infrasctructure è una suite software di virtualizzazione che permette di gestire, far lavorare i
diversi server ESX e automatizzare attività operative; potendo implementare diverse soluzioni
business e continuità del servizio
Composto dalla combinazione di:
●
VMware ESX
●
Virtual Center
●
VMFS
●
VirtualCenter Agent
●
Virtual SMP
●
VMotion (Solo Enterprise)
●
VMware HA (Solo Enterprise)
●
VMware DRS (Solo Enterprise)
●
VMware Consolidated Backup (Solo Enterprise)
La Virtual Infrastructure permette di:
Realizzare il consolidamento dei server utilizzando le applicazioni in Virtual Machines, su pochi server
scalabili, affidabili e di classe enterprise. In questo modo si aumenta l’utilizzo delle risorse
hardware e si diminuisce il numero di server.
Fornire soluzioni di Business Continuity; VMware permette la realizzazione di una piattaforma di
Disaster Recovery che permette il recupero delle Virtual Machines in caso di problemi hardware.
Semplificare l’introduzione di nuovi server. Il tempo necessario per attivare una nuova Virtual Machine
è nell’ordine dei minuti.
Migrare server fisici. VMware fornisce strumenti per spostare sistemi operativi da server fisici a Virtual
Machines.
VMware ESX Server
È la componente fondamentale di VMware Infrastructure 3; ESX è lo strato di virtualizzazione che
astrae processori, memoria, storage e rete per più virtual machines.
VMware VMFS
VMware Virtual Machine File System (VMFS) è un cluster file system che permette a più
installazioni di ESX Server di accedere simultaneamente allo stesso storage. VMFS permette l’utilizzo
delle funzionalità offerte da VMware Virtual Center: VMware VMotion, VMware DRS e VMware HA.
VMware Virtual SMP
Grazie a VMware Virtual Symmetric Multi-Processing (SMP) una VM può utilizzare fino a 4
processori contemporaneamente.
VMware Virtual Center
VMware VirtualCenter è un software per la gestione dell'infrastruttura virtuale, fornisce un nucleo
di controllo centralizzato per la gestione di tutte le risorse virtuali dell'azienda. Virtual Center
permette di:
•
Allineare le risorse disponibili con le priorità delle VM utilizzando VMware DRS.
•
Migrare le VM attive tramite VMotion per poter effettuare manutenzione ai server ESX
•
Assicurare la disponibilità delle applicazioni grazie a VMware HA
VirtualCenter gestisce infrastrutture virtuali di rete. Tra le principali funzionalità si segnalano:
•
Console centralizzata di gestione dell'infrastruttura virtuale. E' possibile gestire
centinaia di macchine virtuali da una singola console, monitorare le prestazioni delle
macchine e configurare messaggi di avviso e allarmi via e-mail per una amministrazione
migliore.
•
Provisioning rapido di VM; tramite templates e deployment wizard riduce il tempo e gli
sforzi necessari per creare e mettere in produzione una VM.
•
Performance Monitoring; dati di utilizzo di CPU, memoria, I/O disco, I/O network,
necessari ad analizzare le performance dei server fisici e delle VM.
•
Accesso sicuro; un meccanismo di gestione dei permessi robusto e l’integrazione con
Active Directory garantisce l’accesso all’ambiente virtuale e alle VM solamente agli utenti
autorizzati.
Virtual Center è composto dalle seguenti componenti:
VirtualCenter Management Server. è il nodo di controllo per configurare, implementare e gestire
gli ambienti virtualizzati. Il Management Server è un servizio installato su sistema operativo
Windows 2000, Windows XP Professional o Windows Server 2003.
•
VirtualCenter Database. Utilizzato per memorizzare le informazioni persistenti sui server
fisici, i resource pools e le virtual machines gestite da VirtualCenter Management Server. il
database può utilizzare Oracle, Microsoft SQL Server o MSDE.
•
Virtual Infrastructure Client. Permette agli amministratori di connettersi remotamente al
VirtualCenter Management Server o direttamente sui server ESX da un qualsiasi PC con
sistema operativo Windows.
•
VirtualCenter Agent. Installato sui server ESX, permette la connessione da parte di
VirtualCenter Management Server.
•
Virtual Infrastructure Web access. Permette la gestione delle VM e l’accesso alla console
grafica delle VM senza la necessità di installare un client.
VMware VMotion
La tecnologia VMotion, integrata nell'Infrastruttura virtuale di ESX server e gestita attraverso
VirtualCenter permette di:
•
Migrare Virtual machines istantaneamente da un server fisico ad un altro, connessi alla
stessa SAN senza interruzione del servizio.
•
Effettuare manutenzione all'hardware senza interruzione del servizio migrando le
macchine virtuali da un server fisico ad un altro senza interrompere le sessioni utente.
•
Bilanciare il carico di lavoro attraverso i data center per usare con maggiore efficienza le
risorse in base alle richieste ricevute.
VMware HA
È la funzione di alta disponibilità per le VM. In caso di guasto di un server ESX, le Virtual
Machines vengono riattivate su di un altro server ESX. Grazie a questa funzionalità non è
necessario avere un server in stand-by o configurare un cluster. VMware HA permette di:
•
Minimizzare i tempi di disservizio eliminando la necessità di avere un server in stand-by
dedicato.
•
Fornisce un sistema di alta disponibilità per tutta l’infrastruttura virtuale, senza la necessità
di dover implementare soluzioni di failover specifiche dei sistemi operativi virtualizzati.
VMware DRS
VMware DRS (Distributed Resource Scheduler) alloca dinamicamente le VM tra i server ESX e ne
bilancia la capacità di calcolo attraverso una collezione di risorse hardware aggregate in un resource
pool logico.
VMware DRS controlla continuamente l’utilizzo attraverso i resource pools ed alloca le risorse
disponibili tra le VM in base a regole predefinite in base alle priorità assegnate alle diverse VM.
Quando una virtual machine ha un aumento di carico, VMware DRS in modo automatico alloca le
risorse necessarie redistribuendo le VM tra i server fisici che fanno parte del resource pool.
VMware DRS permette:
•
L’assegnazione delle risorse alle VM con criticità superiore.
•
L’ottimizzazione dell’utilizzo delle risorse hardware rispondendo continuamente ed in modo
automatico al cambiamento delle condizioni.
•
La possibilità di effettuare manutenzione hardware senza alcun fermo delle VM.
VMware Consolidated Backup
Vmware Consolidated Backup fornisce una soluzione centralizzata per i backup delle VM.
È possibile effettuare il backup delle VM da un “Proxy Server” installato su Windows Server 2003.
VMware Consolidated Backup permette di:
•
Ridurre il carico sui server ESX aumentando l’efficienza del server stesso e aumentando il
numero di VM installate ed attive.
•
Migliora la gestione delle risorse usando un singolo agente installato sul “proxy server”
piuttosto che un agente per ogni VM.
•
Elimina il traffico di backup sulla LAN utilizzando la SAN per il backup delle VM.
VMware Consolidated Backup è in grado di:
•
Effettuare il backup dell’immagine della VM.
•
Effettuare un backup full o incrementale di VM con sistema operativo Windows per il
recupero di files o directories.
Vmware Consolidated Backup è corredato da un insieme di drivers e di scripts per effettuare un
backup LAN-free delle VM con qualsiasi sistema operativo (tra quelli supportati da VMware), da
un server Windows Server 2003 con a bordo un agente di backup. sono inclusi anche script di pre e
post backup per l’integrazione con le principali soluzioni di backup.
Le caratteristiche principali di VMware Consolidated Backup sono:
•
LAN-free backup attraverso l’uso della SAN.
•
Backup Proxy Server. sposta il carico dai server ESX consolidando il carico e la gestione
del backup al Backup Proxy Server.
•
Backup full e incrementale a livello di files (solo per sistemi Windows). È possibile
effettuare restore di files e directories.
•
Backup delle immagini delle VM (per qualsiasi sistema operativo certificato VMware). È
possibile effettuare il restore dell’intera immagine in caso di disastro.
•
Integrazione con le principali soluzioni di backup.
VMware P2V Assistant
VMware P2V assistant è un tool che permette di trasformare una macchina fisica in una virtuale
semplicemente attraverso un wizard e pochi click: l'Assistant cattura una snapshot della macchina
fisica e la trasforma in una VM eliminando il bisogno di reinstallare e riconfigurare sistemi
complessi.
File Sharing P2P
Il file sharing è la condivisione di file all'interno di una rete comune. Può avvenire attraverso una
rete con struttura client-server oppure peer-to-peer.
Le più famose reti di peer-to-peer sono: Kadmilia ed eDonkey; non vanno confuse con reti che
costituiscono un filesystem distribuito, come Freenet.
Queste reti possono permettere di:
●
Individuare più copie dello stesso file nella rete per mezzo di hash.
●
Riprendere lo scaricamento del file.
●
Eseguire lo scaricamento da più fonti contemporaneamente.
●
Ricercare un file in particolare per mezzo di un URI Universal Resource Identifier.
eDonkey
eDonkey (ed2k) è stato il primo network supportato da eMule fin dalla prima versione.
La struttura della rete è composta da client e server.
I servers
Nella rete non è presente un unico grande server ma molti che si distribuiscono il carico e
comunicano fra loro.
I server sono gestiti da volontari che li mantengono a proprie spese. I server sono solo dei database
che indicizzano i file e gestiscono le connessioni tra gli utenti.
Quindi:

I file condivisi presenti nel network non risiedono nei vari server, ma lo scambio avviene
sempre tra client e client.

L'indice dei file condivisi da un client viene inviato al server durante la connessione tra i
due.
Non esiste quindi un server migliore o più veloce degli altri, sono però avvantaggiati quelli con
molti utenti, perché comunque comunicano fra di loro.
I clients
Con client si intende un qualsiasi programma in grado di interfacciarsi con la rete server di
eDonkey.
Un client si connette ad un solo server, sufficiente per eseguire una ricerca su tutti i server presenti
nella rete, poiché comunicano tra loro.
Il programma riprende i download/upload che erano in corso, non appena è di nuovo disponibile
una connessione Internet.
Il FileHash
Il FileHash serve ad identificare in modo univoco un file nel network e viene calcolato da eMule
utilizzando l'algoritmo MD4.
Questo in coppia con il parametro “Lunghezza in byte” garantisce l'univocità di un file nella rete.
Kad
Il network KAD è un'implementazione di Kademlia.
KAD è una rete serverless, senza server, concepita per distribuire il carico di lavoro a tutti i client.
Tramite la rete KAD un client può contattare direttamente un altro client, al fine di accodarsi per un
file, che ha nella propria coda di download.
Ogni client della rete KAD funge anche da server e rappresenta un nodo di comunicazione
attraverso il quale passano le richieste del network.
KAD è stata introdotta in eMule dalla versione 0.40 e rappresenta una via alternativa, ma non
esclusiva, per la ricerca delle fonti, che aumentano notevolmente; di fatto si aggiunge come
supporto ad i server eD2k per lo scambio delle fonti.
La connessione alla rete, detta procedura di bootstrap, avviene contattando gli altri client, che
assegnano lo stato open nel caso il client sia contattabile liberamente, altrimenti lo stato di
firewalled se la comunicazione risulta filtrata.
Dalla versione 0.44a di eMule in poi, è presente la funzione buddy attraverso la quale un client
firewalled riesce a comunicare nella rete appoggiandosi ad uno di tipo open; dalla 0.47a è presente
la nuova rete KAD 2.0, resa definitiva nella 0.47c. (Nella 0.47a non era ancora stata completamente
testata).
Network protocol
KAD usa UDP come message protocol, questo è vantaggioso; poiché le operazioni e i processi di
interazioni inducono un peer ad inviare molti messaggi, in otre non è necessario stabilire una
sessione, poiché generalmente un peer invia solo una richiesta ad altri peer.
I peers possono connettersi e lasciare la KAD network quando vogliono; così un cliente deve
sempre essere informato sullo stato dei contatti che hanno abbandonato la rete; la soluzione è un
timer.
Il timer, in oltre, induce periodicamente differenti processi come il ripubblicamento dei files e/o il
checking per un firewall.
Ogni segmento UDP parte con un byte chiamato ID, che identifica il protocollo Kademlia.
Un client ha tipicamente due port number.
Una porta, detta messaging port, è usata per inviare e ricevere messaggi dello standard e service
operations. (eMule e aMule usano la 4672/UDP).
L'altra, detta service port, standard port è la 4662/TCP per il trasferimento dei files
(upload/download)
Routing Table
La tabella di routing organizza i contacts di un peer in vari N-buckets, che rappresentano le foglie
dell'albero di routing.
Questi N-buckets sono organizzati in routing zones, che corrispondono a tutti i nodi dell'albero di
routing.
Ogni N-buckets rappresenta un sotto albero che ha N contatti.
In questo modo se un client vuole localizzare un nodo in un altro sotto albero, salterà direttamente
al primo nodo conosciuto di quel sotto albero.
Possiamo avere max 5000 contacts con tutti gli attributi ad essi legati.
NB: routing table e una hash table strutturata
Per mantenere la routing table pulita, senza dati di peers non attivi, il client invia periodici hello
request ai contacts, che hanno 2 minuti per rispondere.
La tabella di routing migliora continuamente la sua struttura cercando nuovi contatti , attraverso due
differenti strategie: random lookup e self lookup.
Random cerca i nuovi contacts, che corrispondono ad un certo bucket creando un target che ha il
primo bit uguale a quello del bucket.
Self lookup cerca i contacts più nuovi, il target è il clietID del medesimo peer.
Contacts
Nuovi contacts possono essere ottenuti con:
●
La bootstrap request.
●
Quando 20 random contacts di altri client sono rinviati
●
Quando l'iteration process motivano il client a inviare richieste ai peers; in questo caso i
peers risponderanno con diversi closer nodes (nodi più vicini)
●
In fine il client può essere contattato passivamente da un contact sconosciuto.
Bootstrap
Per connettersi alla rete kad un peer deve effettuare un processo di bootstrap.
Perciò un client kademlia necessità almeno di un nodo attivo nella rete kad con
<IP_ADD:messageport>.
Come risposta ad una bootstrap request il peer replica con una lista di altri nodi della rete, cosi da
popolare la tabella dei contacts del client appena connesso. ci sono anche delle pagine internet come
overnet che mantengo il nodes.dat (uso minimo dei DNS).
Initial handshake
Quando un client ottiene nuovi contacts, effettua un initial handshake process.
Questa è una tipica procedura che i clients o i peers effettuano per contattare e assumere chi è
attivo.
Firewall check
Il firewall check indica l'accessibilità delle porte e corrisponde al basso ID in eDonkey.
Il Kad protocol ha un suo processo per capire se le porte possono essere accedute direttamente.
Questo checking è eseguito immediatamente dopo aver stabilito la connessione alla rete Kad, il
processo in seguito viene ripetuto ogni ora.
Questo è ciò che avine nel processo di firewall check, il processo non va a buon fine se non è
ricevuto l'ACK
Find buddy
Un firewalled client ha necessità di trovare un non-firewalled client, chiamato “buddy”.
Un buddy può ricevere messaggi destinati al client firewalled.
Un solo buddy è permesso per ogni firewalled o non-firewalled client. La ricerca parte 5 minuti
dopo il fallimento del firewall check.
Un client sceglie i contatti in base ad una specifica posizione (la posizione o distanza tra client è la
distanza numerica tra il loro ID, detta XOR-DISTADINCE) e mantenendola in una hash table
strutturata chiamata anche routing table. Questa è la distributed hash tables.
I lookup descrivono i metodi e gli algoritmi per trovare i peers, che sono vicini ad una certo target
nel Kad space.
Localizzare gli Oggetti
Un oggetto può essere localizzato con un lookup iterative o recursive.
Recursive lookup dipende dai peers intermedi, quindi corre il rischio di inviare lookup messages a
peers non più in vita. Ma rispetto all'iterative ha una minore latenza.
L'Iterative è facile da implementare, poiché permette un miglior debugging e manutenzione.
L'ultimo è il motivo per cui il metodo iterative è preferibile al recursive nel protocollo Kademlia,
specialmente se si considera la grande variabilità della rete KAD al variare del tempo.
Con l'iteration method, il peer iniziale prende il controllo del lookup, gli altri peers nel lookup
catena eseguono solo semplici requests con alcuni dei loro contatti più vicini, indicando quale peer
contiene l'oggetto ricercato.
Con il recursive method il peer invia il proprio indirizzo a un vicino, quando il target peer riceve il
messaggio lo notifica al peer iniziale.
In teoria vi dovrebbe essere un solo processo di iterative lookup per trovare un peer, come descritto
precedentemente, ma vi è il rischio che un singolo client in stallo possa aumentare la latenza
dell'iterative process.
Il ritardo e dato dalla somma di ogni contatto in stallo nell'iterative process.
Per evitare ciò Kademlia implementa un nodo di lookup concorrente, chiamato parallel lookup.
Questo significa che una lookup request è inviata a entrambi i peers nello stesso momento, invece di
inviare la richiesta a solamente un peer.
Adesso quando un peer nell'iteration process è sovraccarico, ci sono altri peers che possono
rispondere.
È importante trovare il giusto equilibrio, perché un alto numero di parallel lookups velocizza
notevolmente la ricerca del target, ma incrementa anche il network overload.
Nel Kademlia protocol è definito un numero di massimo 3 parallel lookups.
In figura sono mostrati i tre passi seguiti dall'iterative process.
1. Il peer che inizia la ricerca invia tre messaggi ai più vicini contatti.
2. Come risposta ottiene i quattro contact più vicini; nell'esempio due contatti sono nella
tolerance zone del target.
3. Nell'ultimo passo il peer invia una request per closer contact ai tre contatti più vicini
nuovamente, ma solo due sono disponibili e rispondono con contact ancora più vicini.
Il prossimo passo è eseguire un'altra request a tutti i nuovi possibili contatti ottenuti, poiché il client
non sa se i nodi sono ancora connessi; nuovamente essi rispondono con un'altra lista di possible
contacts.
Finalmente quando un contato è trovato attivo nella tolerance zone del target, il peer invia loro l'
action request.
Essi risponderanno con il tipo specifico di risposta, un contatore viene incrementato ad ogni risposta
e la ricerca del nodo sarà stoppata quando il contatore raggiunge il massimo, altrimenti si continua
come mostrato in figura.
Offuscamento del Protocollo
Questa caratteristica è stata introdotta nell'ultima versione di eMule (0.47c).
Essa serve a criptare i pacchetti detti Chunk che gli utenti si scambiano trasformandoli da traffico
P2P a traffico internet, che i filtri non riconoscono e lasciano passare, permettendo ai clienti di
avere la possibilità di usare a piena potenza la loro connessione ad Internet.
Molti server quando si effettua una ricerca danno come risultato tanti file con nome "PLEASE USE
emule 0.47c AND ENABLE Protocol obfuscation to get results from this server".
Significa che tali server richiedono che attiviate l'offuscamento, altrimenti si rifiutano di darvi i
risultati.
Attivare l'offuscamento non causa nessun rallentamento e nessuno svantaggio
L'offuscamento del protocollo è una caratteristica di eMule aggiunta a partire dalla versione 0.47b
per venire incontro alle esigenze di tutti quegli utenti rallentati o bloccati dal loro provider.
Se si attiva questa opzione eMule cerca di "nascondere" i dati che invia e riceve quando comunica
con altri client e server in modo da impedire che qualcuno analizzando i pacchetti possano
riconoscerli come provenienti dal programma emule.
Questo sistema non è stato creato per rendere "anonimi" anche perché emule richiede un
collegamento diretto con ogni utente che possiede il file che si vuole scaricare e perciò nascondersi
è impossibile.
L'unico risultato dell'offuscamento è che i dati spediti, per uno che li vede passare sul cavo,
sembreranno senza significato.
L'offuscamento una volta attivato funziona per i protocolli ed2k TCP e UDP, Server TCP e UDP,
Kad TCP.
Installazione MDM by cisco su Red Hat Enterprise
Cisco MDM è un sistema che installato su Server Linux, serve per monitorare e gestire:
1. traffico anomalo trovato su moduli e dispositivi
2. traffico anomalo su guard module e cisco guard appliance
Si prefigge l’obiettivo di proteggere la rete da Distributed Denial of service (DDOS) garantendo
sicurezza e semplicità di utilizzo, grazie al WBM (web-based Manager), un’interfaccia web che
fornisce un semplice accesso a i dispositivi della rete.

Visualizza e consolida una panoramica sulle zone attaccate

Visualizza e consolida statistiche sulle zone attaccate

Crea reports

Configura o modifica informazioni sulle zone di un dispositivo e usa una copia per
sincronizzare gli altri dispositivi

attiva dei detector per traffico anomalo sulle zone

attiva zone di protezione (attack mitigation) su tutte le zone Guards

attiva un processo che impara una o tutte le zone dei dispositivi
Le comunicazioni tra i Detector, i Guard, i dispositivi e l’MDM SERVER avvengono in SSL
(Secure Sockets Layer).
Componenti di un sistema MDM
Detectors: ricevono copia del traffico di rete e mentre lo analizzano lo deviano sul percorso
normale. Anomalie sul traffico indicano attacco; Quando si trovano queste anomalie entrano in
gioco i guard per mitigarle.
Guards: ricevono il traffico deviato dalla rotta normale per analizzarlo. Se trovano un’ anomalia, la
isolano e droppano, inserendo nella rete solo il traffico pulito.
Zones: Una zona rappresenta un n° di elementi di rete (come server farm) controllati da Dector and
Guard per mitigare gli attacchi DDos. Un dispositivo può essere configurato in zone multiple.
MDM Server: lega tutti i dispositivi della zona. Mantiene un database entry per ogni dispositivo
segnalato e un dispositivo che attraverso il server MDM, configuri la zona. Questo database offre
l'associazione tra dispositivo e configurazione. Visualizza stato e statistiche.
Master Device: è il dispositivo attraverso il quale l'MDM gestisce la configurazione di una zona.
Abilita a creare o modificare una configurazione di zona, con un processo "synchronization".
Procedura di installazione
Una volta scaricata l’ultima versione dell’MDM RPM da sito www.cisco.com, si copia il file nel
Linux Server e s’immette il comando:
rpm -ivsh MDM-M.M-X.YY.rpm
dove M.M è la version major number, X.YY il minor version number.
Prima di procedere con l’installazione, si deve tenere conto di questi 5 punti fondamentali:
1. Configurazione del firewall
2. Certificato tomcat
3. Utenti e gruppi LINUX
4. Tacacs, per gestire accessi
NOTA ->Nella documentazione sono stati riportati esplicitamente solo i punti 1 e 5, poiché sono
quelli che devono essere seguiti alla lettera, per un sicuro e corretto funzionamento in rete. Gli altri
sono reperibili direttamente sulla documentazione ufficiale nel file ConfigurationGuide.pdf alla
pagina 32.
I punti 2,3,4 non sono stati riportati perché dipendono dalle decisioni di amministrazione del
Software.
1) Per instaurare una connessione con l’MDM, il firewall dev’essere configurato per permettere
i seguenti traffici:

incoming connection
443/TCP per richieste HTTPS
Ssh (22/TCP) per scambio di chiave tra detector e guards
syslog (514/udp) per ricevere gli eventi dalla rete

Outgoing connection
Device remote agent (RA) (1334/TCP)
Network Time Protocol (se installato)
Terminal Access Controller Access Control System (TACACS, se configurato)
Hardening
Per rafforzare (hardening) il sistema Cisco raccomanda di avviare il servizio MySql in un
ambiente chroot, (change root) un metodo di sicurezza usato per isolare i limiti operativi di
una applicazione e adottare le seguenti misure di sicurezza:
• Cambiare la password di admin di MySql che di default è bianca.
• Cancellare guest e utenti anonimi.
• Creare un nuovo utente per gestire l’MDM back-end con una password forte,
contenente caratteri speciali e alfanumerici. Questo utente avrà tutti i permessi per il
“Riverhead” database.
Considerare i seguenti step:
1. Configurare le proprietà della connessione sul back-end db. Aggiornare il file
/Riverhead/Ofek/rsc/db.properties con nuovo utente e password.
2. Inserire il comando service backend restart per riavviare il servizio, in questo modo si
applicano le nuove credenziali.
Installazione Configurazione Virtual Machines
Ntop
NTOP (acronimo di Network TOP (comando)) è un programma per l'analisi e il monitoraggio del
traffico di rete. Il programma è rilasciato sotto licenza GPL. Il programma include funzionalità di
IDS sebbene non sia specificatamente studiato per questi compiti.
Peculiarità del programma è l'utilizzo di un'interfaccia web per mostrare le statistiche e per
comandare il programma. Questa scelta rende il programma estremamente portabile dato che il
componente più critico da rendere portabile in un programma è l'interfaccia grafica e quindi
utilizzare un browser per la gestione della grafica elimina il problema.
Network management sta diventando un operazione sempre più complessa a causa della varietà dei
tipi di rete e l'integrazione di differenti network media.
Il costo del network management aumenta con l'aumento: delle dimensioni, della complessità e
della eterogeneità.
In questo scenario, uno strumento di automazione per il controllo delle risorse è essenziale per
permettere al network management di svolgere il proprio lavoro.
Ntop è un semplice, gratuito ed efficace strumento per monitorare e misurare il network traffic,
inizialmente concepito da Luca Deri e Stefano Suin per controllare i problemi di performance sulla
campus network dell'Università di Pisa.
Senza l'aiuto di NTOP e tools simili, trovare le cause dei problemi di rete potrebbe essere
estremamente tedioso.
La presentazione dei dati di NTOP è adatta ad ogni esigenza. Barre e grafici a torta sono usati per
illustrare l'utilizzo dei protocolli e le statistiche sulla dimensione dei pacchetti. I dati raccolti
durante il monitoring possono essere loggati in un file per futuri controlli usando qualunque
applicazione di foglio di calcolo come “Calc” di OpenOffice o “Excel” di Microsoft.
Protocolli
Di default il programma riconosce i seguenti protocolli di rete:
•
TCP/UDP/ICMP
•
(R)ARP
•
IPX
•
DLC
•
Decnet
•
AppleTalk
•
NetBIOS
•
TCP/UDP
•
•
FTP
•
HTTP
•
DNS
•
Telnet
•
SMTP/POP/IMAP
•
SNMP
•
NFS
•
X11
Fibre Channel
•
Control Traffic - SW2,GS3,ELS
•
SCSI
Ambiente di collaudo
L’ambiente di collaudo viene realizzato per simulare al meglio il sistema Ntop. Su un server HP
Proliant ML 570 è installato il sistema Operativo VMWare ESX 3.0.1, sul quale è stata creata la
seguente “service blade” di Ntop:

Ntop-SISTEMA (IP:192.168.0.1, SO: Linux Kernel 2.6.17-10): funzione di Network
Monitoring
Virtual Machine:

Due schede di rete

HD da 4G

Una CPU
La prima scheda di rete (eth1) possiede un indirizzo IP cosi da permettere la gestione da remoto,
tramite ssh, della macchina e di Ntop tramite interfaccia web; la scheda è collegata ad uno switch
virtuale su una normale porta.
La seconda scheda di rete (eth2) non possiede indirizzo IP ed è collegata ad una porta di SPAN
dello switch virtuale, il compito di questa scheda è catturare i pacchetti che transitano nello switch
cosi da poter essere analizzati.
Descrizione blade
L'architettura di Ntop è mostrata dalla seguente figura.
Il Packet Sniffer colleziona i pacchetti che, in seguito, sono passati al Packet Analyser per essere
processati. Ogni qual volta le informazioni di traffico vengono richieste, il Report Engine legge le
richieste per visualizzare le informazioni di traffico.
Packet Sniffer
Il Packet Sniffer supporta differenti tipi di interfacce, includendo: PPP, Ethernet e Token Ring.
Permette di catturare pacchetti, cosi da filtrarli prima che inizi il processo di analizi.
Packet filtering usa la libreria libpcap, i filtri sono specificati usando semplici espressioni tcpdump.
Il Packet Sniffer permette di abbassare la perdita di pacchetti durante fasi di traffico esplosivo; se la
funzione di analisi e sniffing fossero collassate, durante una fase esplosiva di traffico si avrebbe un
alta perdita di pacchetti, causata dall'overhead dell'analisi.
Packet Analyser
Il Packet Analyser elabora un pacchetto alla volta. Il Packet headers sono analizzati in accordo al
tipo di media interfacce usato. Questo perché gli headers dipendono dal tipo di interfaccia (Una
Token Ring non ha le stesse caratteristiche di un'altra).
Le informazioni sugli Hosts sono immagazzinate in una tabella di hash la cui chiave corrisponde ai
48 bit del MAC_address garantendone l'unicità, e permettendo a differenti network protocols di
essere elaborati.
Ogni entry contiene diversi contatori che mantengono traccia dei dati inviati/ricevuti dagli Hosts,
ragruppandoli in base al protocollo di rete supportato.
Per ogni pacchetto, la Hash entry corrispondete al campo sorgente e destinazione; Essa viene
ricercata o creata se non esiste.
Non essendo possibile prevedere il numero dei pacchetti di ogni host gestiti da ntop, è impossibile
avere una tabella di hash grande a sufficienza per inserirvi tutti i possibili hosts. Quando necessario
ntop libera la host table, dalle entry obsolete, cosi da occupare uno spazio limitato di memoria senza
inficiare le performance del sistema.
Se ntop riceve pacchetti non-IP, i contatori sono aggiornati e i pacchetti sono scartati. Invece se
vengono ricevuti pacchetti IP, saranno processati.
Report Engine
L'attuale versione di Ntop possiede solo l'interfaccia web-base:
Web-mode ntop aggisce come un HTTP server e permette agli utenti di analizzare le statistiche di
traffico e gestire ntop con un semplice web browser.
Security Feature
NTOP supporta nella ricerca alcuni problemi di rete includendo:

Uso di IP duplicati.

Identificazione di local Host in "promiscuous mode".

12Rilevamento di mal configurazi12oni delle applicazioni. (grazie all'analisi dei dati sul
traffico dei protocolli)

Misure sullo sfruttamento dei servizi

Identificazione di hosts che non usano uno specifico proxy.

Identificazione di hosts che usano protocolli non necessari.

Identificazione di routers

Uso eccessivo dell banda

Rilevamento di workstations mal configurate che agiscono come routers

Misure sui protocol Local Network Traffic Map:

Questa funzionalità non è abilitata di default su ntop; per abilitarla si devono
installare i seguenti pacchetti:

graphviz: libreria grafica (installabile con apt-get inserendo il cd di
installazione)

gsfonts-x11: font per la creazione della mappa

gsfonts

xutils (scaricato a parte)

xutils-dev

libfs6

xfonts-utils

libxfont1

libfontenc1

xfonts-encodings
Servizi presenti sulla blade NTOP
SSH,per la gestione remota della macchina.
Proxy: aggiornamenti del sistema operativo.
A causa dell'uso del proxy ISA Microsoft con autenticazione all'interno di Telecomitalia non è
possibile effettuare gli aggiornamenti di Ubuntu.
Soluzione: Software (ntlmaps-0.9.9.6) che permette di formattare le richieste, cosi che possano
transitare per il proxy ISA; il software per gli aggiornamenti dovrà usare come proxy:
“http://localhost:5865”
Problematiche: questo workaround comporta un uso considerevole delle risorse della macchina, che
rischia di inficiare il normale funzionamento di ntop, per mancanza di risorse; si consiglia di usarlo
solo quando il sistema si ritene debba essere aggiornato, o di installarlo in una macchina dedicata.
Procedure per la corretta configurazione della macchina:
1. Configurare l'interfaccia di rete adibita allo sniffing a finché si avvii senza indirizzo IP
e senza effettuare richieste DHCP.
●
auto eth0
●
iface eth0 inet manual
●
up ifconfig eth0 up
●
up ip link set eth0 promisc on
2. Non possono essere avviati due processi Ntop con stesso utente e porte di ascolto
per la web-interface.
3. Far girare ntop come demone (disconnesso da qualunque shell)
4. Indicare l'interfaccia di sniffing.
5. Indicare la porta tcp per la web interface (di default è la 3000 in http)
Comando di avvio ntop
Avviare ntop (la 'w' minuscola indica la porta per il protocollo http, la 'w' maiuscola indica il
protocollo https, la 'u' indica l'utente con i cui privilegi ntop gira):
ntop -d -i eth2 -w 0 -W 443 -u ntop
Dipendenze per la corretta installazione di ntop
●
libglib1.2
●
libc6
●
libgd2-xpm
○
libfreetype6
○
libxpm4
○
libpng12-8
○
libx11-6
○
libjpeg62
●
libgdbm3
●
libpcap0.7 (vuole perforza la 0.7)
●
libssl0.9.8 (va installata esternamente)
●
zlib1g
Nfsen
Introduzione
Per poter avere una visione di insieme, effettuare una tariffazione, del traffico che transita in una
rete IP.
È necessario poter disporre di dispositivi sonda e di uno o due correlatori che, elaborando le
informazioni inviate dalle sonde, possono fornire un quadro completo sullo stato della rete.
NetFlow è un sistema di accounting e billing (fatturazione) del traffico IP, composto da un probe
(sonda) e da un collector
•
Sonda: software installato su un network-device (switch o router), o su una macchina, che
esporta le informazioni relative i flussi IP (source, destination, address, port...) ad una
macchina esterna (collector). Nome del SW è netflow v5, v7, v9... installabile su
piattaforma CISCO
•
Collector: Macchina esterna che colleziona i flussi delle varie sonde correlandoli e
aggregandoli.
Netflow è un prodotto by CISCO.
Sulla rete, esistono anche altre alternative proprietarie e non, che forniscono funzionalità e
compatibilità simili ai prodotti CISCO.
Uno di questi è NFdump.
NFdump
È un collector composto da vari tools CLI, compatibile con le sonde NetFlow v5, v7 e v9.
I pincipali tools sono:
Nfcapd: Netflow capture daemon. Reads i netflow data dalla rete e li immagazzina in un file.
Aggiorna il file automaticamente ongi x minuti (tipicamente 5) nfcapd legge i netflow v5, v7 e v9.
È possibile settare un daemon per ogni flusso
Nfdump: Netflow dump. Legge i netflow data dal file creato da nfcapd. La sua sintassi è simile a
tcpdump. Visualizza i netflow data e può creare diverse statistiche, ordinabili secondo le proprie
esigenze, in base: IP addresses, ports..
Nfprofile: Netflow profiler. Legge i netflow data dal file creato da nfcapd. Filtra i netflow data in
base ai profili creati e memorizza il risultato in un altro file per futura visione.
Nfreplay: Netflow replay. Legge i netflow data dal file creato da nfcapd e li invia ad altri host.
Nfclean.pl: Cleanup old data. Semplice script per cancellare vecchi dati.
Ft2nfdump: Legge e converte i netflow data per poter essere letti da nfdump.
Documentazione reperibile su http://nfdump.sourceforge.net
NFsen:
Interfaccia web di NFdump. Essa permette di visualizzare in maniera ordinata, tramite dei grafici, le
informazioni acquisite da NFdump.
http://nfsen.sourceforge.net
Installazione
Dipendenze:
Software e Librerie necessarie per NFdump.
•
byacc (al posto di bision per debian)
•
flex
○
m4
•
cdbs (>= 0.4.25-1)
•
zlib
Librerie consigliate:
•
dpatch
•
debhelper (>= 5.0)
Software e Librerie necessarie per NFsen:
•
Server WEB (apache2)
•
Perl 5.6.0 (già presente su Ubuntu6.10)
•
PHP >=4.1
•
RRD tools perl
○
RRD tools
■
libart-2.0-2 (>= 2.3.16)
■
libfreetype6 (>= 2.2)
■
libpng12-0 (>= 1.2.13-4)
■
zlib1g (>= 1:1.2.1)
■
ttf-dejavu (>= 2.1-1)
●
•
defoma
NFdump tools
Installazione NFdump NFsen:
1. Scompattare il file nfdump-xxx.tar.gz
2. Entrare nella directory creata
3. Digitare i seguenti comandi:
●
sudo ./configure –enable-sflow
●
sudo make
●
sudo make install
Dopo aver scompattato l'archivio “tar xvzf nfsen-1.2.4.tar.gz” bisogna rinominare il file dentro la
cartella nfsen-1.2.4/etc/nfsen-default.conf in nfsen.conf.
In questo file vi è la configurazione di default di nfsen.
La prima cosa da fare è creare il percorso /data/nfsen/, poi si vanno a modificare i parametri che
indicano l'utente e il gruppo apache, di default sono www, ma apache2 crea l'utente e il gruppo
www-data.
Opzionalmente è possibile modificare anche l'utente che può avviare il servizio, indicandolo in
$USER nel file di configurazione. (se l'utente indicato non esiste, il programma di installazione
riporterà errore), in fine inserire l'utente indicato in $USER, nel gruppo www-data: “sudo vim
/etc/group” e alla riga www-data:x:33: scrivere dopo i ':' l'utente indicato in $USER.
Digitare dentro la cartella nfsen-1.2.4/ con i privilegi di root il comando: ./install.pl etc/nfsen.conf
per installare il software.
Dopo il successo dell'installazione basta digitare /data/nfsen/bin/nfsen.rc start per far partire il
servizio. (Solo root e l'utente indicato in $USER possono avviare o interrompere il servizio.)
NB: se si usa il nfdump.deb gli eseguibili sono in /usr/bin/ mentre nfsen li cerca in /usr/local/bin,
mentre se si usa il sorgente gli eseguibili sono inseriti direttamente in /usr/local/bin.
Quando si avvia nfcapd e riporta come errore, problemi nell'apertura del socket, vuol dire che
stanno girando due istanze.
APACHE:
NFsen non apre nessuna porta TCP/UDP, quindi necessità di un server WEB.
Si è scelto di usare Apache2, poiché è il server web per eccellenza per i sistema Linux.
Su una debian-like per installarlo e sufficiente digitare sudo apt-get install apache2 inserendo il cd
di installazione.
Configurazione: Inizialmente si configura il file webnfsen dentro /etc/apache2/sites-avalible/,
impostando come Documentroot /var/www/nfsen/. (Esiste già un file “default” con dei parametri
già impostati, basta rinominarlo webnfsen ed effettuare le dovute modifiche).
In secondo luogo si crea un link nella cartella /etc/apache2/sites-enable/, che si riferirà al file
webnfsen
Nel file apache2.conf alla sezione “Directory Indexs” si inserisce nfsen.php, così da indicargli il file
che deve leggere per primo nella directory root.
Per testare il funzionamento si è effettuata usa connessione http sul server virtuale. Come risultato si
è visualizzata la pagina di NFsen con i link.
Se si vuole inserire anche la documentazione, deve essere decommentata la riga:
// print "<a href='doc/NfSen.html' target='_blank' >Help</a>\n";
Nel file navigation.php nella directory /var/www/nfsen/.
In oltre, poiché la documentroot e /var/www/nfsen, nel file config.php alla riga 6 si dovrà scrivere:
$DOCURL= “/doc”
NB: per visualizzare il contenuto della cartella doc è necessario togliere tutto ciò che riguarda /doc
dal file webnfsen.
webnfsen è la copia del file “default”, con la documentroot impostata /var/www/nfsen. Questo
perché nel file default la /doc corrisponde ad un link per una cartella interna al server con diritti di
accesso limitati.
NB: nel file webnfsen si consiglia di scrivere il parametro Off sulla riga ServerSignature, cosi si
evita che il server apache dia delle informazioni importanti quali: release del SW, O.S., ...
quando una pagina non è trovata o vengono generati degli errori (URL non corretta ..)
Hardening
Configurazione Autenticazione:
Solitamente Apache, così com'è, non è configurato affinché possa proibire o permettere l'accesso
alle directory.
La prima modifica da eseguire è nel file apache2.conf, scorrendo fino ad arrivare alla linea che
inizia con "AccessFileName": questa direttiva, indica il nome del file da utilizzare per leggere gli
attributi che si devono dare alle directory nelle quali tale file è presente.
Teoricamente, la direttiva dovrebbe essere seguita da ".htaccess", che è un nome standard per i
server Apache.
Apache andrà a cercare per ogni directory richiamata da un browser questo file, dal quale leggerà le
istruzioni.
Ovviamente, se questo non è presente, Apache agirà come di norma; se invece il file esiste, Apache
lo leggerà e agirà di conseguenza: se sono impostate delle protezioni tramite password, Apache farà
in modo che il browser visualizzi una maschera nella quale vengono richiesti username e password,
tramite i quali Apache può verificare o meno l'autenticità del richiedente.
La seconda modifica da attuare è nel file /etc/apache2/sites-available/webnfsen: scorrere anche
questo file fino ad arrivare alla riga "AllowOverride", inserendo un "AuthConfig" Apache
richiederà l'autenticazione.
Riavviato Apache, si potrà preparare il file che servirà a proteggere le directory che ci interessano,
.htaccess.
Volendo proteggere la directory http://serverweb/, corrispondente alla directory locale
/var/www/nfsen.
Prima di tutto, si crea un file ".htaccess" all'interno di questa directory, scrivendo:
AuthName "prova"
AuthType Basic
AuthUserFile /etc/apache/passwd
require valid-user
Caratteristiche del file:
La prima riga indica il nome della protezione: nella maschera che il browser ci mostrerà si leggerà:
"Enter username for prova at localhost". Il discorso è molto più ampio: qualsiasi altro file o
directory protetto con lo stesso nome in AuthName sarà accessibile senza la necessità di eseguire
ulteriori autorizzazioni.
La seconda riga indica il tipo di autorizzazione da eseguire.
La terza riga indica il file che Apache andrà a leggere per verificare se l'username e la password
inseriti sono corretti.
La quarta riga controlla gli username: con "require valid-user" Apache accetterà qualsiasi username
presente nel file specificato in AuthUserFile, per limitare maggiormente l'accesso, si può scrivere:
“require user nome1 nome2 nome3 ecc.”
È possibile inoltre far riferimento ai gruppi, specialmente quando il numero di utenti cresce troppo.
I gruppi funzionano come quelli dei sistemi Unix ed ogni utente può far parte di più gruppi
scrivendo “require group nome_del_gruppo”.
Come con gli utenti, anche in questo caso possono essere specificati più nomi di gruppo da
utilizzare. Se invece si usa "require group" insieme a "require user" succede che, qualunque utente
membro di uno dei gruppi indicati può avere accesso, così come ogni utente esplicitamente
specificato.
Come per gli utenti viene creato il file /etc/apache/group, questo sarà formato da linee del tipo:
nome_del_gruppo: nome1 nome2; come con il file passwd, si dovrà specificare ad Apache dove
andare a leggere i gruppi utilizzeremo: AuthGroupFile /etc/apache/group
Il file .htaccess completo potrebbe essere:
AuthName "prova"
AuthType Basic
AuthUserFile /etc/apache/passwd
AuthGroupFile /etc/apache/group
require valid-user
require group admin
Creare gli utenti:
L'utility htpasswd crea ed aggiorna i file di autenticazione utilizzati da Apache.
La sintassi è: htpasswd -c file username
l'opzione '-c' crea il file delle password, nel caso questo non esista; se il file esiste, verrà sovrascritto
con la conseguente perdita dei dati precedenti.
Esempi: htpasswd -c /etc/apache/passwd user creerà il file /etc/apache/passwd ed inserirà
l'username "user" e chiederà la password (con conferma) per l'utente.
“htpasswd /etc/apache/passwd user” si può comportare in due modi: se l'utente non esiste, inserisce
l'username e chiede la password; se invece l'utente esiste, htpasswd capirà che si vuole cambiare la
password all'utente specificato.
HTTPS
Il modulo mod_ssl aggiunge un'importante caratteristica al server Apache2, l'abilità di criptare le
comunicazioni. In questo modo il browser utilizza la cifratura SSL per le comunicazioni.
Il modulo mod_ssl è disponibile nel pacchetto apache2-common. (sudo apt-get install apache2common)
Se è stato installato questo pacchetto, è possibile eseguire, in un terminale, il seguente comando per
avviare il modulo mod_ssl: sudo a2enmod ssl
Generare Certificati e Coppia di Chiavi:
Nella maggior parte dei casi, viene inviata la richiesta del certificato (compresa la chiave pubblica),
una prova dell'identità della società e del pagamento a un Certificate Authority.
La CA verifica la richiesta e l'identità del richiedente e quindi invia il certificato.
In alternativa è possibile creare i propri certificati auto-firmati. Questi certificati non sono accettati
automaticamente dai browser, agli utenti viene chiesto di accettare il certificato per stabilire una
connessione sicura.
Una volta ottenuto un certificato auto-firmato o un certificato da un CA, è necessario installarlo nel
proprio server.
1. Creare un coppia di chiavi pubblica e privata:
openssl genrsa -des3 -out server.key 1024
È ora necessario inserire una passphrase. Per una maggiore sicurezza, dovrebbe contenere almeno 8
caratteri, la lunghezza minima con l'opzione "-des3" è di 4 caratteri, dovrebbe includere numeri e/o
segni di punteggiatura e non dovrebbe essere una parola reperibile in un vocabolario, ricordarsi che
la passphrase è "case-sensitive".
Ripetere la passphrase per la verifica. Una volta inserita correttamente, la chiave per il server è
generata e salvata nel file “server.key”.
È possibile utilizzare il server sicuro anche senza una passphrase, può essere utile in quanto non
viene richiesta ad ogni riavvio del server. Ma è altamente insicuro in quanto se viene compromessa
la chiave è possibile compromettere l'integrità del server.
Per utilizzare il server sicuro senza la passphrase, non utilizzando l'opzione «-des3» durante la fase
di creazione della chiave o eseguendo il seguente comando: openssl rsa -in server.key -out
server.key.insecure
Una volta eseguito il comando precedente, la chiave non sicura è creata nel file server.key.insecure.
È possibile utilizzare questo file per generare il CSR senza una passphrase.
2. Creare il CSR, eseguire il seguente comando:
openssl req -new -key server.key -out server.csr
Viene richiesta la passphrase. Se viene inserita correttamente, è necessario inserire alcune
informazioni come nome della società, nome del sito, email, ecc.... Una volta forniti tutti i dati, il
CSR è creato nel file server.csr. È possibile inviare questo CSR a un CA per la certificazione, il
quale utilizzerà questo CSR per emettere il certificato. È anche possibile utilizzare il CSR per creare
certificati auto-firmati.
3. Creare un certificato auto-firmato:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Il comando precedente chiederà la passphrase. Una volta digitata correttamente, il certificato viene
creato e sarà disponibile nel file server.crt.
4. Installare il certificato:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
È necessario anche aggiungere le seguenti quattro righe al file
/etc/apache2/sites-available/webnfesnt.
Vanno collocate nella sezione VirtualHost sotto la riga DocumentRoot:
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
HTTPS dovrebbe essere in ascolto sulla porta 443, quindi è necessario aggiungere la seguente riga
al file /etc/apache2/ports.conf: Listen 443
5. Accedere al server:
Una volta installato il certificato è necessario riavviare il server web: sudo /etc/init.d/apache2
restart
Viene richiesta la passphrase. Una volta digitata correttamente, il server web sicuro viene avviato. È
possibile accedere alle pagine sicure del server digitando nella barra degli indirzzi del browser
https://nome_host/url
4 Competenze acquisite e/o consolidate.
Ricerca Informazioni.
Il saper ricercare le informazioni è qualcosa di fondamentale nella vita di tutti i giorni, ma diventa
necessaria nel lavoro dell'informatico.
In questo stage ho affinato le mie tecniche di ricerca su internet che mi hanno permesso di reperire
materiale ed informazioni per: documentazione, come eseguire operazione
Gestione Backup.
Effettuare dei back-up o tenere delle copie per dei ripristini è molto importante, diventa critica
questo operazione quando si tratta di backupare dati di una certa importanza.
In oltre è molto utile in termini di tempo; poiché ripristinare un sistema partendo da zero richiede
molto tempo e risorse che potrebbero essere meglio impiegate
In questo stage ho avuto modo di imparare, praticamente, l'utilità dei bakup e degli snapshot,
cancellandoli perché avevo necessità di spazio, rendendomi conto in seguito della loro importanza
5 Conclusioni
Lo stage mi ha permesso di apprendere le logiche di lavoro all'interno di una grande azienda come
Telecomitalia; nonostante le difficoltà incontrate ho cercato di dare il meglio ed impegnarmi in
quello che facevo, cercando di produrre qualcosa di usabile per l'azienda, con ciò che avevo a
disposizione.