[Download] Confronto tra i principali protocolli di routing v2.0

Difficoltà articolo (0->10): 9

Ho aggiornato il file con le caratteristiche a confronto dei principali protocolli di routing dinamici (RIP, RIP2, IGRP, EIGRP, OSPF, IS-IS). Il file può essere scaricato nella sezione download o al seguente link:

download file excel v2.0

roghan

Come risolvere i problemi di connessione – parte 1

Spesso capita che la rete non funzioni, e ci chiediamo quale e dove possa essere il problema. E’ il nostro sistema che non va? E’ il server che non risponde? E’ la trasmissione che non funziona? Insomma ci sono sempre tante domande e non sempre è immediato trovare la risposta, e finiamo per cambiare parametri e impostazioni nel tentativo di ripristinare la connessione! Gli utenti più inesperti poi finisco per installare svariati tipi di software che promettono di ripristinare la connessione e di sistemare tutto, come questo Connectivity fixer. Non ci sono programmi più inutili e magari dannosi (chi ha detto spyware?! Io no ;-)…). […]

Spesso capita che la rete non funzioni, e ci chiediamo quale e dove possa essere il problema. E’ il nostro sistema che non va? E’ il server che non risponde? E’ la trasmissione che non funziona? Insomma ci sono sempre tante domande e non sempre è immediato trovare la risposta, e finiamo per cambiare parametri e impostazioni nel tentativo di ripristinare la connessione! Gli utenti più inesperti poi finisco per installare svariati tipi di software che promettono di ripristinare la connessione e di sistemare tutto, come questo Connectivity fixer. Non ci sono programmi più inutili e magari dannosi (chi ha detto spyware?! Io no ;-)…).

Questo post rappresenta invece la prima parte di un altro post che avevo scritto qualche tempo fa, in cui spiegavo come fare troubleshooting della rete e verificare il collegamento ad Internet. In questo articolo invece esaminiamo il problema partendo dalla connessione alla rete locale, e senza far uso di risoluzioni DNS.

 

Prendiamo come esempio l’architettura di rete visibile in figura, e supponiamo di essere il sistema Bob con indirizzo IP 172.17.10.3 e di voler contattare la macchina Server con indirizzo 172.17.30.2. Nell’immagine non ho specificato le subnet per semplificare il tutto e renderlo fruibile anche a chi può avere meno conoscenze informatiche, comunque possiamo assumere che la subnet sia /24, uguale per ogni indirizzo.

diagramma_rete
Diagramma di rete

Come è visibile dal grafico si tratta di una piccola rete, tuttavia il problema può facilmente essere esteso ad una rete molto più grande come anche ad Internet (semplicemente non ci sarà un solo router tra sorgente e destinazione ma una serie di N dispositivi, come backbone, …). Vediamo i passi da fare per controllare il funzionamento della rete dal punto di vista di Bob:

  1. Test del loopback. Apriamo un terminale (prompt cmd in Windows, shell in Linux e MacOS) e facciamo ping verso 127.0.0.1.
    $ ping 127.0.0.1
    PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
    64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.773 ms
    64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.125 ms
    64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.080 ms
    64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.083 ms
    --- 127.0.0.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3001ms
    rtt min/avg/max/mdev = 0.080/0.265/0.773/0.293 ms

    Questo è l’indirizzo di loopback e se il risultato è positivo significa che lo stack TCP/IP è stato inizializzato correttamente. In caso invece di fallimento il servizio che gestisce lo stack TCP/IP deve essere ripristinato all’interno del sistema operativo. Per effettuare il ripristino dello stack in Windows è possibile consultare questo link, mentre per Linux quest’altro.

  2. Test della scheda di rete. Adesso facciamo ping verso l’indirizzo IP del sistema locale, nell’esempio 172.17.10.3.
    $ ping 172.17.10.3
    PING 172.17.10.3 (172.17.10.3) 56(84) bytes of data.
    64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.111 ms
    64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.079 ms
    64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.080 ms
    64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.078 ms
    --- 127.0.0.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3001ms
    rtt min/avg/max/mdev = 0.078/0.087/0.111/0.013 ms

    Se con il ping vengono ricevute le risposte significa che la NIC funziona correttamente così come i driver/moduli di sistema, ma ciò non indica che la rete è esente da problemi quali cavi rotti o collegamenti interrotti. Un esito invece negativo potrebbe essere indice di scheda di rete guasta o di driver/moduli non installati correttamente. Provate a riavviare il sistema e, su Windows, a reinstallare i driver, mentre su Linux ad aggiornare il kernel e riavviare moduli e servizi secondo le istruzioni a questo link.

  3. Test del gateway. Ora è in turno del gateway/router. Effettuate il ping verso il default gateway per testare la comunicazione nella rete locale, nell’esempio 172.17.10.1.
    $ ping 172.17.10.1
    PING 172.17.10.1 (172.17.10.1) 56(84) bytes of data.
    64 bytes from 192.168.139.2: icmp_req=1 ttl=128 time=0.255 ms
    64 bytes from 192.168.139.2: icmp_req=2 ttl=128 time=0.237 ms
    64 bytes from 192.168.139.2: icmp_req=3 ttl=128 time=0.241 ms
    64 bytes from 192.168.139.2: icmp_req=4 ttl=128 time=0.219 ms
    --- 192.168.139.2 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 0.219/0.238/0.255/0.012 ms

    Un esito negativo significa che c’è un problema o nella trasmissione dei dati (cavo rotto/scollegato), o nel default gateway che non è in grado di elaborare le richieste, oppure un blocco delle richieste da parte di un firewall o altro dispositivo interconnesso tra Bob e il default gateway (switch, hub, AP, …).

  4. Test del server remoto. Infine, se tutti i 3 punti precedenti hanno avuto esito positivo, testiamo la connessione verso il server remoto, nel nostro esempio  172.17.30.2.
    $ ping 172.17.30.2
    PING 172.17.30.2 (172.17.30.2) 56(84) bytes of data.
    64 bytes from 172.20.0.1: icmp_req=1 ttl=128 time=1.46 ms
    64 bytes from 172.20.0.1: icmp_req=2 ttl=128 time=0.913 ms
    64 bytes from 172.20.0.1: icmp_req=3 ttl=128 time=2.40 ms
    64 bytes from 172.20.0.1: icmp_req=4 ttl=128 time=0.714 ms
    --- 172.20.0.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3005ms
    rtt min/avg/max/mdev = 0.714/1.375/2.407/0.657 ms

    Se l’esito è negativo significa che il problema è da ricercarsi nella rete remota. Inoltre, nel caso in cui sia possibile raggiungere la rete remota con il ping, sarebbe ideale poter replicare i test partendo dal server remoto verso il sistema sorgente.

Nel caso di connessione a Internet (e non locale) anche se tutti e 4 i punti hanno avuto esito positivo la comunicazione potrebbe non funzionare. In questo caso il problema potrebbe essere il servizio DNS, e rimando alla seconda parte dell’articolo.

roghan

[Articolo] Vantaggi di uno switch layer 2/3

In questo articolo vedremo le differenze che c’è tra uno switch che supporta solo il livello 2 e uno che supporta anche le funzionalità del livello 3, e soprattutto in quali circostanze è consigliato usare l’uno e in quali l’altro.

Difficoltà articolo (0->10): 4

In questo articolo vedremo le differenze che c’è tra uno switch che supporta solo il livello 2 e uno che supporta anche le funzionalità del livello 3, e soprattutto in quali circostanze è consigliato usare l’uno e in quali l’altro.

Prima di addentrarci nell’argomento è bene ricordare brevemente cosa sono le VLAN. Il termine VLAN è acronimo di Virtual Local Area Network, ed indica una rete locale di dispositivi raggruppati in modo logico, ossia senza alcun legame specifico con la posizione fisica. Ad esempio possono appartenere ad una stessa VLAN dispositivi connessi a switch differenti. Inoltre le VLAN operano a livello 2, mentre con le LAN si opera a livello 3.

Nel momento in cui viene fatto il design di un ambiente con VLAN, è opportuno che i dispositivi di una stessa VLAN facciano parte anche della stessa subnet. Questo però non significa che una VLAN è una subnet, e che una subnet è una VLAN! Infatti come ho detto prima, le VLAN sono un concetto relativo al livello 2, mentre le subnet al livello 3 ossia a quello IP. E’ abbastanza ragionevole il fatto che gli stessi device all’interno di una VLAN debbano appartenere anche alla stessa subnet affinché possano comunicare tra di loro.

Studiamo adesso la seguente figura, e supponiamo che un computer della VLAN 10 voglia comunicare con uno della VLAN 20. E’ da notare che i computer delle VLAN si trovano correttamente anche su subnet diverse.

VLAN

Il pc nella VLAN 10, prima di inviare il pacchetto controlla se il destinatario è nella stessa subnet oppure no, e poiché si trova su una differente, il pacchetto deve essere inviato al default router. In pratica il pacchetto viene inviato allo switch, e poi inoltrato al router. A sua volta il router analizza il pacchetto controllando il destinatario, ricostruisce il pacchetto e lo invia indietro allo switch fino al destinatario della VLAN 20.

Come è facile immaginare, quando i pacchetti inviati sono tanti questo processo è oneroso sia in termini di banda utilizzata sia in termini di latenza. E’ qui che entrano in gioco gli switch di livello 3, o meglio di livello 2 e 3, chiamati anche switch multilivello. Questi sono difatti in grado di operare scelte di routing, supportando svariati tipi di protocolli (RIP, OSPF, BGP, …). In una rete con switch di questo tipo infatti i pacchetti non vengono inviati al router per decidere l’instradamento, ma è lo switch stesso ad avere la logica decisionale e a sapere dove inviare i messaggi. Nel mondo Enterprise ormai quasi ogni switch supporta praticamente anche il livello 3, o quantomeno ha le funzionalità al suo interno, a volte utilizzabili dopo aver acquistato la relativa licenza.

L’utilizzo degli switch di vecchio stampo che supportano solo il livello 2 è pertanto relegato ad ambienti piccoli/casalinghi, dove non si hanno necessità particolari e dove i dispositivi interconnessi sono pochi. In questo caso solitamente non si ha bisogno neppure di particolari performance, e l’aumento della latenza o una minimale perdita di banda non costituiscono grandi problemi, diversamente da ambienti critici e di fascia medio/alta.

Dunque riepilogando ecco i pro e i contro per l’utilizzo di switch di livello 2 o 2/3:

switch di “solo” livello 2:

  • pro:
    • prezzo competitivo
    • configurazione minimale
  • contro:
    • calo prestazionale al crescere della dimensione della rete
    • sicurezza minore avendo una rete piatta con tutti i dispositivi tra loro interconnessi

switch di livello 2/3:

  • pro:
    • prestazione maggiori con una suddivisione e configurazione accorta della rete (VLAN, subnet, …)
    • maggiore sicurezza di tutta la rete
  • contro:
    • è richiesta una maggiore conoscenza delle reti e più tempo per la configurazione di tutto
    • costo degli apparati maggiore

roghan

Confronto tra i principali protocolli di routing

Ho messo a confronto in un file excel, e riassunto, le caratteristiche principali dei seguenti protocolli di routing: RIP, RIPv2, IGRP, EIGRP, e OSPF.

Potete scaricare liberamente il file:

download diretto

roghan

Modalità promiscua sotto i riflettori

In questo articolo spiegherò cos’è la modalità promiscua, come funziona, in quali situazioni ha senso utilizzarla, e quando invece è del tutto inutile.

Vediamo innanzitutto cos’è un indirizzo MAC e come funziona la modalità promiscua. Ogni scheda di rete (o NIC) di un pc/server ha associato direttamente nell’hardware un codice alfanumerico chiamato indirizzo MAC (Media Access Control), che è costituito da 48 bit univoci definiti dal produttore della scheda di rete. Di default, ogni scheda è configurata in modo tale da accettare solamente i pacchetti che sono destinati alla scheda stessa, rifiutando tutti quelli destinati ad indirizzi MAC differenti. E’ adesso che entra in gioco la modalità promiscua :-). Questa è una tecnica che permette di abilitare una scheda di rete alla ricezione di TUTTI i pacchetti in transito sulla rete a cui è collegata, non solo quelli destinati alla scheda di rete in oggetto. Mettere la propria scheda in modalità promiscua, e più in generale osservare il traffico in transito all’interno di una rete, prende il nome nel gergo informatico di sniffing (sniffare in italiano), tradotto letteralmente con “annusare, fiutare”. Da notare però che questa modalità è sempre disattivata al momento che una scheda di rete esce di fabbrica (per ovvie ragioni ;-)).

In questo articolo spiegherò cos’è la modalità promiscua, come funziona, in quali situazioni ha senso utilizzarla, e quando invece è del tutto inutile.

Vediamo innanzitutto cos’è un indirizzo MAC e come funziona la modalità promiscua. Ogni scheda di rete (o NIC) di un pc/server ha associato direttamente nell’hardware un codice alfanumerico chiamato indirizzo MAC (Media Access Control), che è costituito da 48 bit univoci definiti dal produttore della scheda di rete. Di default, ogni scheda è configurata in modo tale da accettare solamente i pacchetti che sono destinati alla scheda stessa, rifiutando tutti quelli destinati ad indirizzi MAC differenti. E’ adesso che entra in gioco la modalità promiscua :-). Questa è una tecnica che permette di abilitare una scheda di rete alla ricezione di TUTTI i pacchetti in transito sulla rete a cui è collegata, non solo quelli destinati alla scheda di rete in oggetto. Mettere la propria scheda in modalità promiscua, e più in generale osservare il traffico in transito all’interno di una rete, prende il nome nel gergo informatico di sniffing (sniffare in italiano), tradotto letteralmente con “annusare, fiutare”. Da notare però che questa modalità è sempre disattivata al momento che una scheda di rete esce di fabbrica (per ovvie ragioni ;-)).

Spesso si pensa che sniffare il traffico possa rientrare nei crimini informatici, anzi in molti contesti viene proprio etichettato come “attacco hacker”. Tuttavia, l’azione di osservare il traffico può al massimo rientrare nella categoria di attacchi passivi, se proprio vogliamo essere pignoli, ed è del tutto legale. E’ un po’ come se una persona si mettesse davanti alla casa di qualcuno ad aspettare: ogni volta che arriva il postino osserva la posta prima che venga imbucata. E’ chiaro che se la posta ricevuta è chiusa in una busta, il curioso non potrà leggere niente, ma se ci sono delle cartoline ad esempio tutto quello che vi è scritto potrà essere tranquillamente letto. Ciò che invece è illegale è quando si penetra in un sistema, spesso dopo aver prima sniffato i dati e aver ottenuto le credenziali di accesso. In definitiva può star tranquillo chiunque abbia usato almeno una volta nella sua vita qualche software per sniffare il traffico come Wireshark.

Adesso che sapete cosa permette di fare la modalità promiscua, vediamo in quali contesti ha senso utilizzarla, e in quali invece è del tutto inutile.

Come detto, la modalità promiscua permette di catturare tutti i pacchetti in transito in una rete, e poiché il protocollo MAC opera a livello 2, ha senso utilizzarla solamente nella stessa sottorete in cui ci troviamo (in linguaggio tecnico, nello stesso dominio di broadcast). Ciò significa che se vogliamo sniffare il traffico ci dobbiamo trovare necessariamente all’interno di una LAN, in cui saranno presenti dispositivi switch/hub ad esempio, mentre non è possibile sniffare traffico su una rete di dimensioni maggiori come Internet. In parole povere, per sniffare il traffico dobbiamo essere fisicamente “vicini” alla vittima o alle vittime, cosa tipicamente verificata in una rete locale.

In realtà già con uno switch la sola modalità promiscua è praticamente inutile (a meno di aggiungere tecniche di attacco come l’ARP poisoning). Lo switch, rispetto ad un hub che invia ogni pacchetto ad ogni porta, memorizza dinamicamente al suo interno le porte su cui sono presenti determinati indirizzi MAC, o meglio associa ogni porta ad uno o più indirizzi MAC “permessi”. Il traffico diretto ad un particolare host viene quindi indirizzato sulla specifica porta in modo che il dominio di collisione non corrisponda più all’intera rete. In questo caso ogni host collegato allo switch riceve solo il proprio traffico al quale può sommarsi qualche raro pacchetto inviato in broadcast per determinare la corrispondenza tra indirizzo MAC e porta dello switch. Dunque una scheda di rete in modalità promiscua in uno scenario come questo serve a ben poco, senza l’aggiunta, come già detto, di altre tecniche. Da tener conto che anche attacchi di ARP poisoning possono avere esiti diversi a seconda della grado di sofisticazione e della configurazione dello switch (un conto è uno switch Cisco, un altro uno switch acquistato all’Ipercoop :-().

In linea generale si può dire che una cosa analoga valga anche per le VLAN. Sono possibili attacchi di ARP poisoning all’interno di una stessa VLAN, mentre è decisamente più improbabile un attacco che permetta di compromette un host appartenente ad una VLAN diversa. In definitiva, la messa in ascolto di una scheda di rete con il solo uso della modalità promiscua è utile solo con dei semplici ed obsoleti hub, ed è invece del tutto inutile con gli switch.

Per approfondimenti, consiglio di visitare i link seguenti:

roghan

Lavorare nel settore “sicurezza informatica”

Da quando ho finito l’università e mi sono laureato ho iniziato seriamente ad interessarmi al settore della sicurezza in rete, o più in generale della sicurezza informatica. Non che prima non mi interessasse questo ambito, anzi, mi attirava molto il mondo un po’ underground degli hacker, degli worm e dei cavalli di troia, quello visto nei film in cui il ragazzino adolescente riesce in pochi attimi ad entrare in qualche mega computer della CIA. Il problema è che non avevo mai avuto veramente il tempo ma anche la voglia durante tutto il periodo universitario di interessarmi a questo mondo, dato che il carico di studio era davvero moooooooolto elevato! Solo con la tesi finale sono riuscito a scegliere un argomento che mi interessasse davvero (strumenti per l’anonimato in Rete), e da lì ho capito quale sarebbe stato il mio futuro :-D… Finita l’università ho deciso poi di cercare un master/corso che avesse come argomento principale proprio la sicurezza, ma data l’impossibilità di frequentare un master a Roma o Milano (quota dai 6000/7000 euro in su più i soldi necessari per vitto e alloggio!) ho optato per un corso disponibile a Firenze: il Cisco CCNA Security. […]

(in costante aggiornamento)

Da quando ho finito l’università e mi sono laureato ho iniziato seriamente ad interessarmi al settore della sicurezza in rete, o più in generale della sicurezza informatica. Non che prima non mi interessasse questo ambito, anzi, mi attirava molto il mondo un po’ underground degli hacker, degli worm e dei cavalli di troia, quello visto nei film in cui il ragazzino adolescente riesce in pochi attimi ad entrare in qualche mega computer della CIA.

Il problema è che non avevo mai avuto veramente il tempo ma anche la voglia durante tutto il periodo universitario di interessarmi a questo mondo, dato che il carico di studio era davvero moooooooolto elevato! Solo con la tesi finale sono riuscito a scegliere un argomento che mi interessasse davvero (strumenti per l’anonimato in Rete), e da lì ho capito quale sarebbe stato il mio futuro :-D… Finita l’università ho deciso poi di cercare un master/corso che avesse come argomento principale proprio la sicurezza, ma data l’impossibilità di frequentare un master a Roma o Milano (quota dai 6000/7000 euro in su più i soldi necessari per vitto e alloggio!) ho optato per un corso disponibile a Firenze: il Cisco CCNA Security. Solo dopo aver iniziato il corso però ho compreso due cose: la prima è che il corso era rivolto unicamente agli amministratori di rete, in modo da fornire loro delle basi relative alla sicurezza sui router/switch; secondo che era necessaria la certificazione CCNA per sostenere quella relativa alla security :-O, e in più la notevole difficoltà che ho incontrato a seguire il corso! Le conoscenze fornitemi dalla laurea non erano proprio sufficienti :-(, e ho dovuto faticare non poco per sostenere l’esame per la certificazione… Comunque ora che ho iniziato a muovere i primi passi nel settore IT posso cercare di fare una lista di quelle che sono le figure principali che ruotano attorno al settore della sicurezza informatica:

  • (Network) Security Administrator: è la persona che lavora parallelamente all’amministratore di rete, e si occupa di rendere sicura una certa rete configurando firewall/ACL, gestendo le autenticazioni degli utenti, crittografando le connessioni, e più in generale opera sulle configurazioni di router/switch/server/pc al fine di rendere la rete sicura. Una scheda che descrive il profilo (anche se orientato a soluzioni Microsoft) è disponibile al link profilo Security Administrator.
  • (Network) Security Manager:  è colui che si occupa di configurare  l’infrastruttura di rete e di applicare le procedure di sicurezza definite dall’azienda per cui lavora e conformi alle misure normative italiane. Inoltre deve garantire la sicurezza e la disponibilità dei dati, monitorare le performance, i database e gli eventi sospetti. E’ una figura centrale nell’infrastruttura informatica aziendale in quanto si occupa di gestire trasversalmente le procedure e le diverse soluzioni implementate con il compito specifico di assicurare quotidianamente l’affidabilità e la sicurezza dell’intero sistema informatico. Rispetto al Network Security Aministrator è una figura dalla preparazione più ampia (non solo configurazione di router/server).
  • Penetration Tester: è colui che determina il reale grado di sicurezza di una rete, cercando di violarla con una grande varietà di attacchi e non. L’obiettivo è quello di individuare eventuali vulnerabilità sfruttabili da terzi per ottenere accessi non autorizzati ai servizi e ai sistemi analizzati. Oltre ai problemi di sicurezza, devono essere rilevati, quali possibili punti deboli, i problemi relativi alla configurazione, che incidono sulla robustezza e le performance del sistema, e gli errori di progettazione della rete. A volte una cattiva configurazione è più pericolosa di un bug. Una descrizione di questo profilo e di cosa sono i penetration test è al link Penetration Tester.
  • (Network) Security Consultant: è il libero professionista, o colui che lavora assieme ad un piccolo team di persone (in genere da 2 a 4) o anche come dipendente di un’azienda, che viene ingaggiato da terze parti per configurare e gestire la sicurezza delle reti o dei sistemi.

Inoltre ci sono altre figure che possono operare a stretto contatto con la sicurezza, come:

  • System Administrator: è l’esperto di sistemi, come Linux e Windows, generalmente lato server, con buone conoscenze spesso anche di ambienti virtualizzati, di networking, e di sicurezza. Si occupa di amministrare i sistemi in questione, configurandone spesso anche gli aspetti di networking e hardening.
  • Network Administrator: è colui che gestisce tutto ciò che riguarda le reti, dalla configurazione di router e switch, a quella dei server, dei proxy, dei firewall, sia dal lato LAN che WAN. Oltre a ciò, molto spesso si occupa anche della parte di sicurezza inerente alle reti che gestisce, o comunque lavora a stretto contatto con le figure che si occupa di sicurezza di rete.

roghan

E’ utile avere una certificazione?

Da quando ho finito l’università, lo scorso aprile, mi sono messo alla ricerca per mesi di un corso/master sulla sicurezza che mi permettesse di mettere le basi per poter poi lavorare in questo settore. Mi sono informato presso amici e conoscenti, ho girato sul web ore ore e ore, e le opzioni che mi si sono presentate sono state queste:

* master organizzati dalle grandi università, come a Milano e Roma, della durata di un anno e in grado di fornire ottime conoscenze di base, ma dal costo non irrisorio (dai 5000 euro in su, anche fino a 10000). E’ da considerare anche il fatto che avrei dovuto studiare fuori sede, e dunque avrei dovuto sommare il costo di vitto e alloggio. Risultato: opzione scartata subito.
* stage, in modo da entrare velocemente nel mondo del lavoro e provare “con mano” cosa significa lavorare nella sicurezza. Il problema di questa opzione era che mi mancavano le basi per poterlo fare! Anche se è proprio lo scopo di uno stage quello di formare un giovane, però sono necessarie delle conoscenze di base, che la mia laurea purtroppo non mi ha fornito :-(. Se ad esempio si vuole diventare programmatori, e si pensa di fare uno stage in azienda come programmatore Java, saranno necessarie almeno alcune conoscenze sull’informatica e sulla programmazione in generale. Non si può guidare senza aver fatto alcune lezioni di guida…
* la terza opzione era quella di seguire un corso dalla cifra modica, e organizzato da quante scuola/università nella mia regione (la Toscana), per evitare i costi dovuti a vitto e alloggio. I corsi (in genere della durata di qualche mese, 3-6) che avevo trovato erano tutti di poche ore, coprivano aspetti generali sulla sicurezza (che si possono apprendere anche con un po’ di studio da autodidatta e con un po’ di buona volontà) e non rilasciavano alcun titolo. Quindi ho ripiegato su un corso che mi permettesse alla fine di ottenere una certificazione!
[…]

Da quando ho finito l’università, lo scorso aprile, mi sono messo alla ricerca per mesi di un corso/master sulla sicurezza che mi permettesse di mettere le basi per poter poi lavorare in questo settore. Mi sono informato presso amici e conoscenti, ho girato sul web ore ore e ore, e le opzioni che mi si sono presentate sono state queste:

  • master organizzati dalle grandi università, come a Milano e Roma, della durata di un anno e in grado di fornire ottime conoscenze di base, ma dal costo non irrisorio (dai 5000 euro in su, anche fino a 10000). E’ da considerare anche il fatto che avrei dovuto studiare fuori sede, e dunque avrei dovuto sommare il costo di vitto e alloggio. Risultato: opzione scartata subito.
  • stage, in modo da entrare velocemente nel mondo del lavoro e provare “con mano” cosa significa lavorare nella sicurezza. Il problema di questa opzione era che mi mancavano le basi per poterlo fare! Anche se è proprio lo scopo di uno stage quello di formare un giovane, però sono necessarie delle conoscenze di base, che la mia laurea purtroppo non mi ha fornito :-(. Se ad esempio si vuole diventare programmatori, e si pensa di fare uno stage in azienda come programmatore Java, saranno necessarie almeno alcune conoscenze sull’informatica e sulla programmazione in generale. Non si può guidare senza aver fatto alcune lezioni di guida…
  • la terza opzione era quella di seguire un corso dalla cifra modica, e organizzato da quante scuola/università nella mia regione (la Toscana), per evitare i costi dovuti a vitto e alloggio. I corsi (in genere della durata di qualche mese, 3-6) che avevo trovato erano tutti di poche ore, coprivano aspetti generali sulla sicurezza (che si possono apprendere anche con un po’ di studio da autodidatta e con un po’ di buona volontà) e non rilasciavano alcun titolo. Quindi ho ripiegato su un corso che mi permettesse alla fine di ottenere una certificazione.

Fino a qualche mese fa non sapevo neppure dell’esistenza delle certificazioni, né cosa fossero, né tanto meno come fosse possibile ottenerle! Una certificazione si ottiene in seguito al conseguimento di uno o più esami presso una scuola (in alcuni casi è possibile anche sostenere gli esami online, ma io eviterei questa opzione :-|), ha durata di qualche anno (dopodiché scade e va rinnovata), e permette di ottenere un “titolo” da aggiungere al proprio curriculum. A differenza di un diploma o di una laurea, in cui gli esami devono essere sostenuti una sola volta (e vorrei anche vedere!), nelle certificazioni, come ho scritto sopra, è necessario restare aggiornati e pertanto dopo qualche anno andrà nuovamente sostenuto l’esame/i. Dopotutto il settore dell’informatica, e quindi anche quello della sicurezza, è un settore in costante aggiornamento, no?! Nel giro di pochi mesi tutto diventa obsoleto, dal pc, ai programmi… tutto deve rimanere aggiornato!

Una certificazione, in definitiva, attesta le capacità di fare “qualcosa” e le conoscenze per farlo al meglio, a differenza della laurea che fornisce perlopiù solo conoscenze teoriche. Nel mio corso di laurea c’era un corso che si chiamava “Sicurezza delle Reti” in cui non venivano neppure citati i termini firewall, IDS, virus. Doveva chiamarsi “Fondamenti di criptografia”, oppure, non so, “Criptografia e criptanalisi”, e allora sarebbe stato corretto il materiale del corso, ma non “Sicurezza delle Reti”!! Ai fini pratici a cosa servono esami di questo tipo? Solo per arrivare alla laurea e per mostrare gli aspetti matematici dietro agli algoritmi criptografici, ma del tutto inutili per entrare nel mondo del lavoro! Una certificazione sulla sicurezza invece è pratica, o meglio “real-world” come spesso viene definita. Permette di studiare la teoria, ma anche di fare pratica e vedere che cosa significa “mettere un sistema in sicurezza”. Questo è il vero vantaggio secondo me!

Personalmente la scorsa settimana ho fatto e superato il mio primo esame per una certificazione Cisco, la CCNA Security. L’esame che ho superato è stato “Implementing Cisco IOS Network Security”, e l’ho sostenuto dopo aver seguito un corso presso una scuola di Firenze, da settembre a prima di Natale. Posso dire che adesso ho una visione di insieme della sicurezza molto più ampia di prima, sia perché il corso è stato molto pratico, sia perché permette di entrare in questo settore molto rapidamente (cosa che raramente fa un esame universitario). Purtroppo però studiare non è stato molto facile, anzi è stato molto ma molto faticoso, e tante sono state le ore che ho dovuto passare sui libri e al pc a fare pratica. Questo perché il CCNA Security è un esame che andrebbe sostenuto solo dopo aver conseguito il CCNA (o almeno dopo aver seguito un corso analogo), per avere le conoscenze base sul networking. Nel mio corso di laurea non esiste esame che spiega cos’è un router, cos’è concretamente una LAN, o cos’è un virus, ma dico io!!!!

Concludendo posso dire che una certificazione secondo me è utile in due casi:

  1. quando non si hanno conoscenze reali o esperienze sul campo, ma solo teoriche, e purtroppo questa è una situazione molto diffusa nelle università italiane (almeno per quanto riguarda informatica, e le ingegnerie corrispondenti).
  2. quando la laurea o comunque il titolo di studio non è idoneo (tipo in lettere, in biologia, solo per fare un esempio).

Matteo

“Il nucleo della conoscenza è questo: se la possiedi, applicala; se non la possiedi, confessa la tua ignoranza.” (Confucio)