Cisco

Cisco PIX Firewall

Tecniche, configurazioni, logica e funzionamento dei firewall Cisco PIX

Cisco Pix: Configurazione di base

Una configurazione di base di un PIX comprende la definizione delle interfacce, delle regole minime e delle impostazioni di default.

Per definire gli indirizzi delle interfacce si usa un comando tipo:
ip address interfaccia indirizzoIP maschera.
I nomi delle interfacce sono di default outside, inf1, inf2 … inside e hanno associato un livello di sicurezza da 0 (interfaccia esterna) a 100 (l’interfaccia inside). I nomi e i livelli di sicurezza delle interfacce si definiscono con nameif, i parametri di rete con ip address.
Si impostano route statiche con route:
route interfaccia destinazione maschera gateway
Il default gateway si può impostare con:
route outside 0 0 IP_Gateway 1 (Si può usare 0 per abbreviare 0.0.0.0)
La logica del Pix è a strati e applica la logica del natting per ogni passaggio fra interfacce con livello di sicurezza diverso. Le intefaccie interne, con maggiore livello di sicurezza, “emergono” e possono subire NAT e PAT con i comandi nat e global. Per accedere ad IP di interfacce interne, dall’esterno si usano i comandi static (fa natting e port forwarding) e il relativo uso di access list (ip access-list).

Vediamo una configurazione di esempio minima, con la definizione di due interfacce e un PAT (masquerading) di tutti gli ip dell’interfaccia interna su un unico ip esterno. Alcuni parametri sono impostati di default.

Imposta i nomi e i livelli di sicurezza delle interfacce
nameif ethernet0 outside security0
nameif ethernet1 inside security100

Imposta l’autonegoziazione della velocità dell’interfaccia
interface ethernet0 auto
interface ethernet1 auto

Gli indirizzi IP e le relative maschere di sottorete
ip address outside 222.222.222.1 255.255.255.0
ip address inside 10.0.0.1 255.255.255.0

Il nome dell’host
hostname pixfirewall

L’arp timeout, in secondi
arp timeout 14400

Abilita il supporto di nomi (alias per identificare host e indirizzi
names

Associa nome a degli indirizzi, per rendere più semplice l’interpretazione delle regole
name 10.0.0.75 web_interno
name 222.222.222.10 web_esterno

Ogni 24 righe di output blocca lo scorrimento e chiede se continuare
pager lines 24

Abilita il logging, direzionabile su un syslog server, dei messaggi di debug
logging buffered debugging

Natta l’intera rete interna sull’indirizzo esterno .2 indicato da global. Notare il NatID 3 in comune nei due statement.
nat (inside) 3 10.0.0.0 255.255.255.0
global (outside) 3 222.222.222.2

Imposta la default route, su un IP raggiungibile dall’interfaccia esterna
route outside 0.0.0.0 0.0.0.0 222.222.222.254 1

Esegue un NAT statico per permettere l’accesso pubblico sull’IP 222.222.222.10 (web_esterno) ad una macchina con IP privato 10.0.0.75 (web_interno)
static (inside, outside) web_esterno web_interno netmask 255.255.255.255 0 0
Se non si usano i name preimpostati, la sintassi diventa:
static (inside, outside) 222.222.222.10 10.0.0.75 netmask 255.255.255.255 0 0

Quanto sopra descritto non basta per rendere accessibile la macchina interna (da un’interfaccia con livello di sicurezza inferiore). Va definita una acl per permettere l’accesso sulla porta 80 al server Web interno (usando il suo IP pubblico nattato) da qualsiasi indirizzo IP
access-list accessoweb permit tcp any host web_esterno eq www
E’ analogo a:
access-list accessoweb permit tcp any host 222.222.222.10 eq 80

Imposta l’acl accessoweb all’interfaccia esterna
access-group accessoweb in interface outside

I tempi di timeout sulle connessioni e tabelle di natting. Valori di default, generalmente validi, che possono essere ridotti quando il sistema è sotto carico o attacco DOS e non ha risorse disponibili per gestire nuove connessioni.
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute

Imposta gli MTU sulle interfacce (1500 di default su ethernet)
mtu outside 1500
mtu inside 1500

Cisco Pix: Comandi base

Le attività di configurazione e gestione di un Cisco Pix hanno una logica simile a quella dello IOS sui router e gli stessi comandi tendono, con le nuove release, a assomigliarsi.
In particolare con la release 6.x, sono stati introdotti comandi comuni allo IOS ma è stata mantenuta la compatibilità con i vecchi equivalenti.

Come in qualsiasi OS multiutente, esistono utenti normali e privilegiati (enabled). Si diventa i root di un Pix con:
Pix>
enable
Pix#
Il prompt cambia da > a #
Da qui si entra in modalità configurazione con:
configure terminal
Si salva la configurazione in memoria residente (NVRAM, FLASH..) con:
write memory
Si visualizza la configurazione corrente:
write terminal oppure show running-config
Si visualizzano i messaggi di log (da attivare in configurazione, possono restare in un buffer locale (che occupa memoria) o loggati su un syslog server remoto) con:
show logging

Si può usare il ? o help per avere gli elenchi dei comandi e delle opzioni di un comando disponibili. Si esce dalla modalità di configurazione con exit o quit.
I comandi possono essere abbreviati (es:
conf term).

Se si devono impostare grosse modifiche alla configurazione, è preferibile fare un paste completo di un testo precedentemente scritto (con la sintassi verificata).
Le impostazioni date in configurazione sono immediatamente attive, ma fino a quando non si salva la configurazione con un write mem vengono perse al reboot.

Dopo aver configurato comandi che modificano lo stato dell’engine del Pix come alias, access-list, conduit, global, nat, outbound, static è necessario dare il comando (in enable mode, non in configurazione):
clear xlate
Notare che questo resetta tutte le translazioni (NAT e PAT) correntemente gestite dal Pix e può interrompere connessioni che il Pix sta gestendo.
Come tutti i comandi clear può avere dei risultati radicali, per cui va usato con attenzione.

Comandi di diagnostica
show cpusage Informazioni minime sul CPU time utilizzato
show memory
La memoria totale e quella libera
show processes
I processi in esecuzione sul sistema
show routing
La tabella di routing
show running-config
Visualizza la configurazione corrente, su versioni del PixOS non recenti si usa write term. UTILE!
show startup-config
Visualizza la conf salvata in memoria residente. Prima era show configure
show local-host
Informazioni sulle connessioni e le xlate (tabelle di natting). UTILE!
show traffic
Visualizza info sul traffico di rete corrente
show version
Visualizza la versione del Pix e altri dati del sistema. UTILE!
show xlate
Visualizza le tabelle di natting correnti
show tech-support
Esegue vari comandi di diagnostica (come i suddetti) per creare un testo  da mandare al supporto tecnico in caso di guasti (o da esaminare per conoscere lo stato di un sistema). UTILE!

Configurare VPN IPSec sul Pix

La configurazione di VPN IpSec sul Pix è simile a quella su Cisco IOS e prevede parametri e una logica simile a qualsiasi altra implementazione IpSec.
In genere, in fase di configurazione di una VPN basata su IpSec, si devono definire i seguenti parametri per i due peer (i dispositivi agli estermi del tunnel):
– Algoritmi di criptazione (3des/des/aes) e hash (md5/sha) utilizzati
– Scelta dell’opzione Perfect Forward Secrecy (PFS) e gruppo Diffie-Hellman (1 o 2)
– Metodo di autenticazione (Pre-shared keys o certificati X509)
– Indirizzi IP pubblici dei due peer (uno può essere arbitrario, per client road warrior, che si collegano da IP diversi) e delle relative reti locali.
– Durata in secondi delle Security Associations IpSec (SA).

Il Pix può stabilire VPN con altri PIX, router Cisco, Firewall Checkpoint e qualsiasi altro dispositivo che supporti IpSec, sia per tunnel lan to lan che per la gestione di roadwarrior. I comandi fondamentali sono isakmp con cui si gestiscono i parametri del protocollo IKE per la negoziazione di SA fra i peer nella prima fase del setup di un tunnel IpSec e crypto con vari sottocomandi per gestire i diversi aspetti della vpn.
Vediamo gli elementi base di una configurazione di un pix con indirizzo pubblico 222.222.222.1/24 sulla interfaccia outside (esterna), e IP 10.0.0.1/24 sulla inside (interna, con un livello di sicurezza maggiore).

Questo Pix viene configurato per assegnare a degli arbitrari client su Internet che si collegano utilizzando una pre-shared key un indirizzo preso dal pool 222.222.222.100-110.

Ecco gli elementi di configurazione necessari:

Si definiscono i nomi e i livelli di sicurezza delle interfacce
nameif ethernet0 outside security0
nameif ethernet1 inside security100

Si definisce una acl che identifica i pacchetti del tunnel da escludere dal natting fra rete interna ed esterno
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.100 255.255.255.255
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.101 255.255.255.255
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.102 255.255.255.255 ...

Indirizzo IP pubblico del Pix e relativa netmask
ip address outside 222.222.222.1 255.255.255.0

Indirizzo IP sulla rete interna
ip address inside 10.0.0.1 255.255.255.0

Definizione degli indirizzi assegnati ai client VPN. Il nome pool-indirizzi è deciso dall’utente.
ip local pool pool-indirizzi 222.222.222.100-222.222.222.110

Si escludono dal natting della rete interna (definito sotto) gli IP che matchano la acl 101 e sono destinati al tunnel.
nat (inside) 0 access-list 101

Anche se non strettamente necessario per una VPN, è logico prevedere che il PIX debba fate PAT (masquerading) della rete interna. Si definiscono gli indirizzi (sull’interfaccia inside) da nattare e, con il comando global, l’indirizzo IP, di solito pubblico, con cui devono apparire. Il numero 111 (NatID) deve corrispondere nei due comandi, usando altri numeri si possono definire diversi IP e relativi pool di indirizzi interni. Di default il NatID è 1. Se si usa lo 0, come nella riga sopra, seguito da una acl, si definisce quali pacchetti escludere dal processo di natting:
nat (inside) 111 0 0
global (outside) 111 222.222.222.50

Definizione del default gateway (si ipotizza un 222.222.222.254). Si deve definire l’interfaccia da cui è raggiungibile.
route outside 0.0.0.0 0.0.0.0 222.222.222.254

Indica al Pix di non considerare access-list e nat per permettere al traffico ipsec di arrivare alle interfacce (comodo, pratico e quasi indispensabile, in assegna di laboriose acl specifiche)
sysopt connection permit-ipsec

Si definisce il set di trasformazione (criptazione + hash) che devono subire i pacchetti nel tunnel. Possono coesistere più set su tunnel diversi, che usano diversi algoritmi. E’ indispensabile che client e server della VPN utilizzino esattamente gli stessi algoritmi.
crypto ipsec transform-set il_mio_set esp-des esp-md5-hmac

Le mappe dinamiche, hanno sintassi simili alle normali mappe, ma possono essere utilizzate per matching con client dalle caratteristiche non predefinite. Per tutti i parametri non esplicitamente definiti (indirizzo IP remoto, transform set, range definito da acl ecc) accettano qualsiasi valore (come se ci fosse una wildcard).
La seguente riga associa una mappa dinamica definita dall’utente al trasform set indicato. La definizione di un trasform set è obbligatoria in una dynamic map.
crypto dynamic-map la_mia_mappa_dinamica 10 set transform-set il_mio_set
A titolo d’esempio si segnalano altre entry che possono essere definite (ma non servono nel nostro caso) per questa dynamic map:
crypto dynamic-map la_mia_mappa_dinamica 10 match address 155 # La mappa si applica ai pacchetti definiti nella acl 155
crypto dynamic-map la_mia_mappa_dinamica 10 set pfs # Forza e richiede l’uso di PFS

Un Pix può avere più mappe, per gestire diversi tunnel. Queste hanno un nome (la_mia_mappa) e un sequence number che ne identifica l’ordine di preferenza. Devono restare gli stessi quando si definiscono le caratteristiche della stessa mappa.
La riga che segue associa ad una mappa dell’utente la mappa dinamica sopra definita (l’uso di mappe dinamiche è necessario quando alcuni parametri sono flessibili e non possono essere definiti a priori):
crypto map la_mia_mappa 10 ipsec-isakmp dynamic la_mia_mappa_dinamica

Per assegnare dinamicamente gli indirizzi si deve attivare la IKE Mode Config.
Con questa riga il PIX prova ad assegnare un IP al client che si collega (preso nel range pool-indirizzi precedentemente definito):
crypto map la_mia_mappa client configuration address initiate
Con questa riga il Pix accetta eventuali indirizzi proposti dal client (non dovrebbe essere indispensabile, nel nostro caso)
crypto map la_mia_mappa client configuration address respond

Si applica la crypto map alla interfaccia esterna. Questo comando è fondamentale e di fatto è quello da inserire a fine configurazione per rendere attiva la crypto map. Va specificata l’interfaccia su cui passano i pacchetti da sottoporre alla mappa di criptazione. Notare che può essere specificato solo un set di mappe per singola interfaccia.
Un set di mappe deve avere mappe con lo stesso nome, ed eventuale sequence number diverso. Se ci sono mappe con nomi diversi, queste non appartengono allo stesso set e non possono essere contemporaneamente applicate alla stessa interfaccia. Quindi, se per esempio sull’interfaccia esterna di un Pix terminano, oltre ai client road warrior, del nostro caso, anche altri tunnel lan-to-lan, questi devono essere definiti nella mappa la_mia_mappa con sequence number diversi.
crypto map la_mia_mappa interface outside

Qui si definiscono i parametri con cui gestire IKE, un protocollo che facilita la creazione automatica di SA nella fase 1 della negoziazione IpSec.
Si abilita la possibilità di negoziare IKE sull’interfaccia esterna:
isakmp enable outside

Se si utilizza IKE con un metodo di autenticazione basato su una chiave precedentemente scambiata, questa si definisce nel modo seguente (qui il peer remoto è un qualsiasi indirizzo, ma può essere un IP specifico per tunnel lan to lan):
isakmp key chiave_pre_shared address 0.0.0.0 netmask 0.0.0.0
Oltre che con questo comando (è possibile inserirlo più volte per diversi peer), è possibile definire la chiave con i vpngroup sotto definiti.

Definisce secondo quale criterio (indirizzo IP o nome) i due peer creano la SA IKE. La stessa scelta va fatta su entrambi i lati, se non si usano chiavi RSA per le quali è meglio usare hostname, il valore di default è:
isakmp identity address

Si definisce quale è il pool di indirizzi da assegnare ai client:
isakmp client configuration address-pool local pool-indirizzi outside

Si impostano le policy con cui gestire la negoziazione IKE specificando un numero di priorità (da 1 a 65534, qui è 20). In particolare, nell’ordine: tipo di autenticazione, tipo di criptazione, algoritmo di hash, gruppo Diffie-Hellman, durata in secondi della SA:
isakmp policy 20 authentication pre-share
isakmp policy 20 encryption des
isakmp policy 20 hash md5
isakmp policy 20 group 2
isakmp policy 20 lifetime 86400

Cisco permette una configurazione del tunnel estremamente semplice nei suoi VPN Client (versione 3.x) e nei prodotti che supportano la modalità Easy VPN Remote. Questo è possibile passando vari parametri di rete al client tramite il comando vpngroup (da usare solo con client Cisco). Qui viene definitivo il nome del gruppo (paragonabile ad una login) e la relativa password, oltre agli indirizzi IP di server dns, wins e dominio di default:
vpngroup nome_gruppo dns-server 10.0.0.25
vpngroup nome_gruppo wins-server 10.0.0.25
vpngroup nome_gruppo default-domain intranet
vpngroup nome_gruppo idle-time 1800
vpngroup nome_gruppo password la_password_di_gruppo

Altri parametri sono configurabili, come un pool di indirizzi da assegnare allo specifico gruppo, utile per assegnare diversi pool di indirizzi a diversi gruppi, e in alternativa al pool definito con isakmp client configuration address-pool:
vpngroup nome_gruppo address-pool pool_indirizzi
Oppure una access-list (in questo caso la 89) con cui si definiscono quali pacchetti criptare nel tunnel e quali lasciare al di fuori del canale criptato:
vpngroup nome_gruppo split-tunnel 89

Pix: la famiglia di firewall Cisco

Cisco, il maggiore produttore al mondo di router, da anni produce delle network appliance dedicate alla sicurezza: la famiglia di firewall Pix.
Tutti i modelli più recenti appartengono alla serie 500, dal più piccolo, il 501, dedicato a piccole reti o telelavoratori, al 535, per grandi e affollati network.
Sui Pix, che hanno varie parti hardware comuni a normali computer (processore Intel, schede di rete fast ethernet o gigabit ecc), gira un sistema operativo dedicato, giunto al momento alla versione 6.3, ma con ancora largo utilizzo delle versioni 5.x e 6.x.

Le feature offerte dai Pix variano a seconda del modello e della versione del sistema operativo installata, in genere quanto segue si applica almeno a Pix 505 o superiori con OS versione 6.x
– Stateful inspection firewall, con logica basata su access-list a catena e moduli per gestire protocolli quali Ftp, RTSP, H.323, SIP
– Gestione NATttin PATting (il masquerading del mondo Linux)
– Gestione tramite command line o via web tramite Pix Device Manager (integrato) e software di gestione come Cisco Works
– Supporto di VPN IpSec, PPTP, L2TP. Supporto di IKE, NAT/PAT traversing e autenticazione IpSec con shared-keys e certificati x509, criptazione DES, 3DES, AES (256 bit)
– Supporto VLAN, SNMP, e OSPF (sebbene sia improprio usare un Pix come un router)
– DHCP, telnet, NTP client e server
– Meccanismi di intrusion detection con logging remoto
– Authentication, Authorization, Accounting (AAA) con supporto TACACS+ e RADIUS

Le caratteristiche e i costi dei Pix variano parecchio.
Si riportano i dati ufficiali Cisco sulle performance (considerare che in condizioni reali il throughput effettivo è quasi sempre inferiore a quello indicato come Cleartext throughput, su questo influiscono il numero di access-list, VPN, translazioni di NAT ecc.) e sulla architettura dei sistemi (sostanzialmente basati su architettura Intel I386, con slot PC a 33 e 66 Mhz, memoria SDRAM e cache di secondo livello).

PIX 501 – Appliance con HUB di 4 porte RJ45 per piccoli uffici o telelavoratori.
Ha due porte fast-ethernet (outside e inside) per una rete pubblica ed una LAN privata.
Cleartext throughput: 60 Mbps
Concurrent connections: 7500
56-bit DES IPsec VPN throughput: 6 Mbps
168-bit 3DES IPsec VPN throughput: 3 Mbps
128-bit AES IPsec VPN throughput: 4.5 Mbps
Simultaneous VPN peers: 10 (numero massimo di SA supportate)
Processor: 133-MHz AMD SC520 Processor
Random access memory: 16 MB of SDRAM
Flash memory: 8 MB
System bus: Single 32-bit, 33-MHz PCI

PIX 506E – Maggiore throughput, senza HUB. Per piccoli uffici.
Ha due porte fast-ethernet (outside e inside) per una rete pubblica ed una LAN privata.
Cleartext throughput: 100 Mbps
Concurrent connections: 25,000
56-bit DES IPsec VPN throughput: 20 Mbps
168-bit 3DES IPsec VPN throughput: 17 Mbps
128-bit AES IPsec VPN throughput: 30 Mbps
Simultaneous VPN peers: 25
Processor: 300-MHz Intel Celeron Processor
Random access memory: 32 MB of SDRAM
Flash memory: 8 MB
Cache: 128 KB level 2 at 300 MHz
System bus: Single 32-bit, 33-MHz PCI

PIX 515E – Occupa 1 Rack Unit, ha uno slot PCI per un modulo (scheda) espandibile e supporta il failover.
Ha 2 interfacce fast-ethernet che possono arrivare a 6 tramite moduli aggiuntivi.
Cleartext throughput: 188 Mbps
Concurrent connections: 130,000
168-bit 3DES IPsec VPN throughput: Up to 140 Mbps with VAC+ or 63 Mbps with VAC
128-bit AES IPsec VPN throughput: Up to 135 Mbps with VAC+
256-bit AES IPsec VPN throughput: Up to 140 Mbps with VAC+
Simultaneous VPN tunnels: 2000
Processor: 433-MHz Intel Celeron Processor
Random access memory: 32 MB or 64 MB of SDRAM
Flash memory: 16 MB
Cache: 128 KB level 2 at 433 MHz
System bus: Single 32-bit, 33-MHz PCI

PIX 525 – Occupa 2 Rack Unit, ha 3 slot PCI espandibili e supporta il failover.
Ha 2 interfacce fast-ethernet che possono arrivare a 10, oppure avere 3 gigabit ethernet, tramite schede aggiuntive.
Cleartext throughput: 330 Mbps
Concurrent connections: 280,000
168-bit 3DES IPsec VPN throughput: Up to 155 Mbps with VAC+ or 72 Mbps with VAC
128-bit AES IPsec VPN throughput: Up to 165 Mbps with VAC+
256-bit AES IPsec VPN throughput: Up to 170 Mbps with VAC+
Simultaneous VPN tunnels: 2000
Processor: 600-MHz Intel Pentium III Processor
Random access memory: 128 MB or 256 MB of SDRAM
Flash memory: 16 MB
Cache: 256 KB level 2 at 600 MHz
System bus: Single 32-bit, 33-MHz PCI

PIX 535 – Occupa 3 Rack Unit, ha 4+5 slot PCI espandibili e supporta il failover.
Ha 2 interfacce fast-ethernet a cui si possono aggiungere quelle (fast-ethernet e gigabit ethernet) dei moduli PCI aggiuntivi.
Cleartext throughput: 1.7 Gbps
Concurrent connections: 500,000
168-bit 3DES IPsec VPN throughput: Up to 440 Mbps with VAC+ or 100 Mbps with VAC
128-bit AES IPsec VPN throughput: Up to 535 Mbps with VAC+
256-bit AES IPsec VPN throughput: Up to 440 Mbps with VAC+
Simultaneous VPN tunnels: 2000
Processor: 1-GHz Intel Pentium III Processor
Random access memory: 512 MB or 1 GB of SDRAM
Flash memory: 16 MB
Cache: 256 KB level 2 at 1-GHz
System buses: Two 64-bit, 66 MHz PCI, one 32-bit, 33-MHz PCI

I moduli aggiuntivi sono sostanzialmente schede PCI, per Pix 515 e superiori con le seguenti feature:
– Scheda fast-ethernet con 1 porta RJ45 (fuori produzione?);
– Scheda fast-ethernet con 4 porte RJ45;
– Scheda gigabit-ethernet con 1 porta in fibra SX multimodale;
– VPN Accellerator Card (VAC) per accellerazione hardware di DES e 3DES per tunnel IPSec;
– VPN Accellerator Card + (VAC+) con maggiore potenza e supporto DES, 3DES, AES.

Dalla versione 6 del Pix Firewall Operating System (PixOs, per comodità) è incluso Cisco Device Manager (PDM), uno strumento per configurare e gestire il PIX con relativa semplicità. E’ sostanzialmente una applet Java, che viene eseguita sul browser ma visualizzata e scaricata via https direttamente dal Pix. Interviene sulle stesse configurazioni che si possono gestire “a mano” via CLI. Le versioni attualmente supportate sono la 2.0 (presente nel PixOS 6.2) e la 3.0 (PixOS 6.3). La 1.0 è presente in PixOS 6.0, 6.1.
Con le nuove versioni la sintassi dei comandi del PixOS tende sempre più ad essere simile a quella del normale IOS dei router Cisco (anche se rimangono due sistemi totalmente diversi).
La versioni 5.x (da 5.0 a 5.3) e in misura minore 4.x (da 4.0 a 4.5) sono ancora utilizzate, hanno tendenzialmente meno features delle versioni recenti, possono non supportare i nuovi hardware e avere bug, poi corretti, di varia natura.
Nuove versioni del PixOs vengono rilasciate in numero relativamente limitato, non esiste l’intricata ragnatela di versioni diverso come per lo IOS e una ogni versione resa pubblica va considerata una “General Deployment” (pronta per ambienti di produzione). Le più recente prevedono meccanismi di autoaggiornamento.

Il costo del PixOS è incluso nel prezzo dell’hardware, ma alcune funzionalità richiedono l’acquisto di licenze software aggiuntive (attivabili con adeguate activation keys che di fatto agiscono su una immagine del PixOs comune).
Alla versione base, restricted (R), con supporto DES di un limitato numero di utenti contemporanei, si aggiungono versioni unrestricted (UR) senza limiti software sul numero massimo di connessioni, failover (FO), con supporto del failover automatico (è necessaria una coppia di Pix uguali).
Per il supporto di 3DES e AES è inoltre richesta una licenza aggiuntiva, a parte.

Cisco offre anche i Firewall Services Modules che implementano, come moduli aggiuntivi le funzionalità di firewalling del PixOs su switch Catalyst 6500 e router Cisco 7600.

A parte i Pix più antichi, le versioni recentemente dismesse, ma che è ancora comune trovare in produzioni, sono:
Pix 520 (sostituito dal 525, smesso di essere venduto dal 23 Giugno 2001, è stato l’ultimo ad avere il tradizionale ed inconfondibile floppy disk);
Pix 515 (sostituito dal 515E, End Of Sale (EOS): 24 Maggio 2002);
Pix 506 (sostituito dal 506E, End Of Sale (EOS): 24 Maggio 2002).

Monitorare le performance di un Pix

Quando il network è lento, il firewall ha funzionamenti  erranti e tutto sembra complicarsi è utile avere gli strumenti di base per diagnosticare eventuali problemi o condizioni di stress di un Pix.
Oltre ad accorgimenti minimi, in fase di configurazione, sono disponibili alcuni comandi validi per capire cosa succede al proprio Pix.
Le informazioni qui riassunte derivano da un interessante nota tecnica presa dal sito Cisco e linkata come fonte, in questo caso sostanzialmente unica, di questo testo.

Interfacce di rete
Per un Pix è fondamentale avere interfacce di rete che non perdono pacchetti per problemi fisici o di configurazione a livello di data link.
Come per ogni server o dispositivo di rete, destinato ad essere collegato stabilmente ad una porta di uno switch, è opportuno settare manualmente velocità e duplex del link, sia sull’interfaccia del Pix, che sulla relativa porta dello switch. Il settaggio automatico di default, può ritardare la negoziazione del link (problema solo iniziale) e, se è unilaterale, può dare problemi di duplex mismatch. Nel dubbio impostare un full duplex a 10 o 100, verificando la bontà dei cavi utilizzati e la mancanza di interferenze.
A livello della porta dello switch, inoltre, è opportuno rimuovere la negoziazione automatica di  etherchannel e trunking (su un Pix, di solito, non si usano: l’etherchanneling non è supportato, mentre il trunking VLAN lo è solo dalla release 6.x).
Può essere inoltre utile attivare il PortFast (o Fast Start) Forwarding a livello della porta di uno switch (Cisco) a cui è collegato il Pix.
In genere problemi fisici di rete si rivelano con percentuali relativamente alte nei counter dei runts, input errors, CRC, frame sulle interfacce di rete.

Logging e troubleshooting
Il Pix supporta il logging su un syslog server remoto, che può essere molto comodo per tenere sotto controllo messaggi di errore e attività di debugging. Le attività di logging possono essere piuttosto pesanti e degradare le prestazioni del sistema. In genere vale la pena impostare il livello di log a debugging solo in caso di attività di troubleshooting diretto, altrimenti attivare il logging su un syslog server remoto (qui 10.0.2.150) con minore verbosità:
logging on
logging host
10.0.2.150
logging trap warning

Rallentamenti per timeout di identd e reverse DNS lookup
Spesso delle prestazioni di rete deludenti dipendono dalla implementazione di determinati protocolli più che da veri problemi di networking. In particolare accade che alcuni server (ftp, telnet, smtp…) a seconda di come sono implementati e configurati eseguano delle query identd (un protocollo di identificazione dell’utente che si collega al servizio, di fatto totalmente inutile) o DNS (reverse lookup per ottenere il nome di un host di cui si sa l’indirizzo IP) relative ai client che si collegano. Se a queste query non vengono fornite risposte rapide (perchè sul client gira un server identd, o è stato configurato il reverse del suo IP sul server DNS utilizzato), l’utente deve attendere che le stesse vadano in timeout prima di accedere al servizio remoto.
Per risolvere questo tipo di problemi (si manifestano tipicamente in alti tempi di attesa al momento di un collegamento ad un server e poi a successive normali velocità di interazione) si può intervenire in vari modi:
– Disattivare a livello del server in questione l’uso di query identd o reverse DNS.
– Configurare sui propri server DNS (quelli che vengono usati dalle macchine su cui girano i servizi interessati) le zone di reverse (in-addr.arpa) per tutti gli IP dei client che si collegano (se possibile).
– Mettere a mano negli /etc/hosts dei server il mapping IP del client remoto e relativo nome (soluzione sporca ma rapida).
– Configurare il Pix per rispondere con un esplicito e definitivo RST alle richieste Identd che gli arrivano sulle interfacce. Il comando da usare è: service reset inbound associato ad access-list che bloccano i pacchetti identd (tcp/113). In questo modo il Pix non droppa silenziosamente i pacchetti filtrati ma risponde con un RST al client. Notare che questo comando vale per ogni connessione e causa un maggiore carico dovuto ai pacchetti TCP RST di risposta.

Comandi Utili per valutare l’utilizzo delle risorse
La command line del PIX presenta vari comandi utili per valutare lo stato delle risorse disponibili. Quelle più importanti sono la memoria, la CPU time, la disponibilità di buffer per i pacchetti in coda, il numero di translazioni e connessioni gestite.

show cpu usage – Visualizza l’utilizzo di CPU negli ultimi 5 secondi, 1 minuto, 5 minuti.
Le attività che consumano più CPU sono la criptazione di dati per le VPN e in parte il logging in locale (meglio loggare su remoto, senza esagera in verbosità).
Per vedere il dettaglio della CPU utilizzata dai singoli processi utilizzare
show processes e tenere d’occhio in particolare la colonna runtime, e come questa varia dopo alcuni minuti. Di fatto indica quanto CPU time in millisecondi è stata utilizzata da un processo dall’avvio. Il processo 557poll dovrebbe essere quello più oneroso, in quando controlla il traffico sulle interfacce fastethernet.  Se il processo Logger occupa troppe risorse su un sistema sotto stress vale la pena disattivare o ridurre ogni forma di logging.

show memory – Visualizza la memoria RAM totale e quella disponibile.
Il Pix carica in RAM rispettivamente l’immagine del sistema operativo, la configurazione, alloca spazio per i buffer (blocks) e tiene in memoria le tabelle di natting (xlate) e le connessioni che sta gestendo. Generalmente una volta terminato il boot, la RAM occupata reta stabile, e tende ad aumentare solo sotto grossi carichi di traffico. Se la RAM finisce il Pix, probabilmente, si inchioda.

show blocks – Visualizza i blocchi di buffer liberi per i pacchetti che il Pix sta gestendo. L’output si divide secondo le dimensioni dei pacchetti (in genere il normale traffico è messo in blocchi da 1550 byte, mentre i pacchetti per il logging remoto o la sincronizzazione delle informazioni di failover stateful sono in blocchi da 256 byte) e alcuni counter che rappresentano rispettivamente il Massimo numero di blocchi disponibili (MAX), il numero minimo di blocchi liberi raggiunti (LOW) e il numero corrente di blocchi disponibili (CNT). Quando il CNT arriva a zero, il Pix alloca menoria per ulteriori blocchi (fino ad un massimo di 8192), se questo non basta, inizia a droppare pacchetti. E’ normale aver il LOW a 0 per blocchi da 256 e 1550, ma se il CNT è costantemente a 0 il Pix potrebbe non bastare a gestire adeguatamente il traffico che gli viene sottoposto.

show traffic – Visualizza informazioni sul traffico passato per interfaccia. Utilizzare clear traffic per azzerare i relativi contatori.
show interface – Visualizza altri dati sulle interfacce, gli errori e i pacchetti trasferiti. Il contatore no buffers indica quanti pacchetti sono stati droppati per esaurimento dei blocks, le collisions non dovrebbero esistere su interfacce in full duplex e su quelle in half duplex non dovrebbero superare il 10% di tutti i pacchetti in entrata e in uscita. Se uno dei counter degli errori aumenta costantemente esiste un problema che va risolto in quanto intacca sicuramente le performance.

show perfmon – Comodo per vedere il numero di connessioni, xlates e altri operazioni che il router sta gestendo. Da valori in numero al secondo correnti e medi.

show xlate – Visualizza le traslazioni che il Pix sta gestendo (NAT, PAT). Se si vogliono visualizzare soltanto i totali, senza il dettaglio delle singole xlate, digitare show xlate count
Analogamente
show conn mostra le connessioni TCP e UDP correnti e show conn count dei valori riassuntivi. Sempre in termini di traffico gestito, show local-host fornire ulteriori informazioni interessanti.
Un numero esagerato di connections può essere sintomo di un DOS attack, un numero esagerato di xlate può indicare attività di spoofing da parte di un host interno (sintomo di una potenziale violazione dello stesso).
E’ possibile, in configurazione, definire i tempi di timeout per connessioni e translazioni, vanno generalmente abbassati, rispetto ai valori di default, se si è sotto attacco DOS.

Pix Device Manager (PDM)
Il PDM è stato introdotto dalla release 6.0 del Pix Operative System. Permette la configurazione e il monitoring di un Pix via browser, fra le sue caratteristiche permette di visualizzare dati storici su vari parametri. Questi dati possono essere visualizzati anche via command line con comandi tipo show pdm history 10m snapshot. Per attivare questo meccanismo di raccolta informazioni si deve interventire in conf mode con pdm history enable.

Pix: Utilizzare Certification Authority (CA) per VPN IpSec

Sul Pix l’alternativa all’uso di pre-shared keys per autenticare i due peer di un tunnel IpSec è usare i certificati X.509 gestiti da una CA (Certification Authority come Verisign o una propria gestita internamente).
La configurazione del tunnel è sostanzialmente la stessa, nei due metodi, cambia il comando per assegnare
isakmp policy 10 authentication pre-share – Per usare chiavi (password) prestabilite
isakmp policy 10 auth rsa-sig – Per usare firme digitali certificate da una CA
Cambiano ovviamente i comandi specifici per definire la chiave prestabilita o la gestione di una CA.

E’ fondamentale configurare un nome di host e di dominio per il proprio Pix e mantenerlo coerente con quello registrato presso la CA:
hostname superpix
domain-name miodominio.it

A questo punto, sempre in conf mode, vanno digitati dei comandi che servono per stabilire un contatto con la CA, non tutti vengono salvati nella configurazione.
Assicurarsi di avere l’ora del Pix settata sul fuso orario di Greenwitch GMT, in quanto molte CA si basano sul GMT per le date di assegnazione e revoca dei certificati.

Si generano le chiavi RSA del Pix (una volta dato il comando viene visualizzata a video):
ca generate rsa key 512
Le chiavi vengono salvate su un file autonomo sulla flash. Per visualizzarlo:
show ca my rsa key .
512 è la lunghezza in bit del modulo. Più è grande più le chiavi sono sicure ma lungo il processo di criptazione.
Un valore ragionevole è 768.

Ci si registra presso la CA (anche questi comandi non vengono salvati e vanno dati una volta sola). Usare un nome univoco per la CA, che verrà usato nel resto della configurazione, qui è un FDQN (può essere imposto dalla CA) ma può essere anche una singola parola come mia_ca. Specificare poi l’IP con cui raggiungerlo, eventualmente seguito dall’URL completo con vi si accede via HTTP al server CA (cgi-bin/pkiclient.exe è il valore di default):
ca identity ca-server.esempio.it 10.0.100.20:cgi-bin/pkiclient.exe
Si imposta un tentativo ogni 2 minuti per 20 volte per contattare la CA. L’invio di CRL (Certificate Revocation List) da parte della CA è opzionale.
ca configure
ca-server.esempio.it ra 2 20 crloptional
I due suddetti comandi restano salvati nella configurazione.

Ci si autentica presso la CA configurata. Assicurarsi che il certificato per il proprio Pix sia stato creato sul server della Certification Authority (proprio o esterno) e di avere la password per registrare (enrollment) il proprio Pix sul server (questi comandi NON vengono salvati in configurazione):
ca authenticate ca-server.esempio.it
ca enroll
ca-server.esempio.it password serial
L’opzione
serial invia alla CA un numero seriale del Pix. La password va ricordata (non viene salvata) in quanto necessaria se si vuole revocare o rinnovare l’enrollment.

A questo punto si può verificare se ci si è registrati correttamente con la ca con il comando show ca certificate
Se è tutto a posto e il certificato è stato ottenuto, salvare le impostazioni con
ca save all.
Questo comando, che non viene salvato in configurazione, va reimpostato ogni volta che si modifica, cancella o alterna qualche impostazione con il comando
ca.
Il resto della configurazione è simile a quello di un normale tunnel IpSec, salvo dove si configura IKE per usare i certificati:
isakmp policy 10 auth rsa-sig

Cisco Pix: Capture Session

Spesso puo’ presentarsi la necessita’ di sniffare il traffico che passi sulle interfacce di un firewall a fini di troubleshooting, ad esempio per verificare se un problema di connettivita’ possa essere dovuto a problematiche degli host od al set di regole.
Pur non esistendo tcpdump, e’ possibile effettuare una verifica del traffico che passa dalle interfacce tramite il comando
capture.
In particolare per effettuare un capture e’ necesssario creare un’acl che definisca il traffico al quale si e’ interessati, ed associare il relativo capture ad un’interfaccia.
A titolo esemplificativo, ipotizziamo di avere un firewall con diverse interfacce, tra cui due di esse chiamate lan_A e lan_B, e di volere verificare se sia possibile effettuare connnessioni in remote desktop dall’host 10.63.1.27 della Lan_A verso 10.63.2.111 appartenente alla rete collegata all’interfaccia Lan_B.
Innanzitutto e’ necessario creare un’access-list che definisca il traffico in questione:
access-list prova_capture extended permit tcp host 10.63.1.27 host 10.63.2.111 eq 3389
Definita l’access list, essa deve essere associata tramite un capture alle interfacce che si vogliono monitorare. Nel nostro caso si vuole verificare se il traffico passi correttamente dalle interfacce collegate alle due reti, Lan_A e Lan_B:
capture capture_a access-list prova_capture interface lan_A
capture capture_b access-list prova_capture interface lan_B
Con il comando show capture, e’ possibile vedere i capture in corso ed i byte gia’ catturati.
Per vedere invece i dettagli dei nostri due capture:
show capture capture_a
show capture capture_b

Una volta completata l’analisi, i due capture possono essere eliminati con il comando
no capture:
no capture capture_a
no capture capture_b

Cisco IOS

Utilizzo, configurazione, pratica su router e Cisco IOS

Il comando “do” su IOS

Articolo di proprietà del sito d’informazione AreaNetworking.IT – http://www.areanetworking.it
AreaNetworking Cisco Users Group.

Dalla versione 12.2(8)T di IOS in avanti è disponibile il comando “do” che ci permette di usare comandi disponibili solo in Privilege Mode in Global Configuration Mode.

Ma come funziona? Beh semplicissimo: precediamo al comando che vogliamo dare la parola “do”.
Facciamo un esempio:
Siamo in Global Configuration Mode e dobbiamo visualizzare la configurazione corrente. Se proviamo ci verrà restituito:

router(config)# sh run
^
% Invalid input detected at ‘^’ marker.
router(config)#

Questo perchè lo sh run è uno dei comandi disponibili solo in Privilege Mode. Dovremo quindi:

router(config)# end
router#
*Mar 1 00:21:10.607: %SYS-5-CONFIG_I: Configured from console by console
router#
sh run
Building configuration…

Per questo ci viene in aiuto il comando “do” che ci permette appunto di utilizzare un comando di tipo Privilege Mode in Global Configuration Mode! Comparando all’esempio di prima:

router(config)# do sh run
Building configuration…

Cosa che senza il “do” non è possibile! Tale comando ci è utile quindi per eseguire un comando in minor tempo. Se dobbiamo darne uno usiamo il do senza dover passare in Privilege Mode. Ovviamente questo vale solo se dobbiamo dare un numero molto basso di comandi. Se al contrario il numero dei comandi è rilevante ci conviene passare in Privilege Mode per non dare ogni volta il do!

Password Recovery su Cisco router 2600

Articolo di proprietà del sito d’informazione AreaNetworking.IT – http://www.areanetworking.it
AreaNetworking Cisco Users Group.

Purtroppo può capitare che si smarrisca la password di accesso al nostro router Cisco! Per recuperarla abbiamo la possibilità  di ricorrere alla procedura chiamata appunto Password Recovery.

E’ cosa ovvia che per motivi di sicurezza, questa procedura può essere eseguita solo tramite la porta console del nostro router.

La prima cosa da fare quindi, è quella di collegarci tramite console al nostro router. Su Windows abbiamo HyperTerminal mentre su un sitema Unix possiamo usare il famoso minicom. I parametri da usare sono:  9600 bps, No parity, 8 data bits, 1 stop bit

Quello che dobbiamo fare ora è far si che il router booti senza leggere l’IOS e la configurazione rispettivamente dalla Flash e dalla NVRAM. Per fare ciò è necessario cambiare il valore di registro di sistema espresso in esadecimale. Il valore di default di questo registro è 0x2102 e dobbiamo cambiarlo in 0x2142. Possiamo verificare che il registro sia impostato a 0x2102 con il comando sh ver (show version):
router# sh ver


2 FastEthernet/IEEE 802.3 interface(s)
1 Serial network interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)

Configuration register is 0x2102

Ma cosa accade effettivamente quando noi cambiamo il valore del registro da 0x2102 a 0x2142? Questo registro è composto da vari bit, noi cambieremo il settimo a partire da destra dal valore 0 al valore 1 escludendo così il caricamente dell’IOS e della configurazione ponendo il router nella modalità chiama rommon (ROM Monitor) e garantendoci di conseguenza che non ci verrà chiesta alcuna password.

Ora passiamo al vero e proprio Password Recovery. Abbiamo detto quindi che dobbiamo cambiare il valore di questo registro. Per farlo, riavviamo il router e colleghiamoci ad esso in modalità  Console. Dopo di che, prima di 60 secondi dall’avvio dell’avvio del router, dobbiamo mandargli il segnale di break. Questo, varia a seconda del programma che stiamo utilizzando:
HyperTerminal: ctrl+break (ctrl+pause)
HyperTerminal versione 595160: ctrl-F6-break
Minicom: ctrl+alt+f (contemporaneamente)
Telnet: ctrl+J
Teraterm: alt-b

Dopo aver mandato il segnale di break, il router entrerà in modalità rommon (ROM Monitor) non caricando cosi’ l’IOS e la configurazione e mostrandoci il prompt rommon 1 >. Bene, ora possiamo procedere al cambio del valore del registro: da 0x2102 a 0x2142. Per farlo diamo:
rommon 1> confreg 0x2142
You must reset or power cycle for new config to take effect

Bene: abbiamo appena cambiato il valore del registro. Ora resettiamo il router in modo tale che faccia il boot senza IOS e di conseguenza poter eseguire il recovery.
rommon 2> reset
System Bootstrap, Version 12.2(7r) [cmong 7r], RELEASE SOFTWARE (fc1)
Copyright (c) 2002 by cisco Systems, Inc.



Durante il boot, il router ci chiederà se vogliamo configurare il router da zero, rispondiamo di no:
— System Configuration Dialog —
Would you like to enter the initial configuration dialog? [yes/no]:
no

Ed ecco che ci troveremo il prompt Router>.
Passiamo alla modalità privilegiata:
Router>
enable
Router#

Copiamo ora la configurazione presente nella memoria NVRAM (Not volatile RAM) nella memoria Flash e rendere cosi’ operativo il router:
Router# copy startup-config running-config
Destination filename [running-config]? [INVIO]
882 bytes copied in 2.456 secs (359 bytes/sec)
hostname#

Entriamo ora in modalità configurazione che ci permetterà di cambiare la password:
hostname# conf t
Enter configuration commands, one per line. End with CNTL/Z.
hostname(config)#

Cambiamo ora la password con:
hostname(config)# enable secret nuova_password
hostname(config)#

Bene, abbiamo praticamente finito la procedura di Password Recovery, terminiamola copiando l’attuale configurazione (running-config) nella configurazione di startup (startup-config, quindi nella memoria Flash):
hostname(config)# end
hostname#
*Mar 1 00:24:17.999: %SYS-5-CONFIG_I: Configured from console by console
hostname#
copy running-config startup-config
Destination filename [startup-config]? [INVIO]
Building configuration…
[OK]
hostname#

e riportiamo ora il registro al valore iniziale, cioè da 0x2142 a 0x2102:
hostname# conf t
hostname(config)#
configure-register 0x2102
hostname(config)#

Ok, abbiamo appena terminato la procedura di Password Recovery sul nostro router, ora possiamo rebootare il router con la nuova configurazione e password:
hostname# reload

Come avete visto, per eseguire questa procedura basta avere la possibilità di collegarci al router tramite la porta console. E’ cosa ovvia quindi che i router per ragione di sicurezza debbano essere sempre chiusi dentro a rack con chiusura tramite chiave.

Da notare: la procedura di Password Recovery non è uguale per tutti i modelli ma questa appena vista mantiene la maggior parte dei comandi.

Router Cisco e IOS Overview

IOS (Internetworking Operating System) è il sistema operativo utilizzato nella maggior parte dei Router Cisco Systems.


IOS equipaggia la maggiorparte dei router Cisco ed anche molti dei suoi switch. Attualmente lo sviluppo di questo software è arrivato alla versione 12.2. Tramite IOS è possibile gestire tutte le caratteritiche del router, dal settaggio degli indirizzi, a quello dei protocolli di routing, al controllo del traffico, all’aggiornamento del software.

COMPONENTI DI UN ROUTER CISCO
Sapere quali sono i componenti presenti in un router è importante per comprendere l’utilizzo di IOS. Il router è sostanzialmente un apparato hardware simile ad un computer con uno o più processori, le memorie (volatili e non) e le interfacce per connettersi in reti ed il sistema operativo IOS appunto.
I principali componenti di un Router Cisco sono:
Memoria ROM: contiene il codice per il Bootstrap (avvio) del router, il codice per il POST (Power-On Self Test) il quale esegue la diagnostica dell’hardware presente ed un mini-IOS per permetterne la manutenzione in caso di problemi;
Memoria RAM: in questa memoria di tipo volatile il routing mantiene le informazioni relative alla configurazione corrente e le tabelle di routing. Resettando la macchina le informazioni qui presenti verrano perse, così come eventuali modifiche alla configurazione non ancora salvate;
Memoria NVRAM: è acronimo di Non Volatile RAM ovvero quell’area di memoria che non viene persa allo spegnimento del router dove vengono memorizzate le configurazioni da caricare all’avvio e l’importante Configuration Register (Registro di configurazione)  che permette tra le altre cose di determinare la modalità di avvio dell’apparato;
Memoria FLASH: si tratta di una memoria di tipo EEPROM (Electrically Erasable Programmable Read Only Memory).
La Flash non viene cancellata allo spegnimento del router e contiene l’immagine (ma è anche possibile più di una) del sistema operativo IOS;

IOS RELEASE
Le versioni di IOS si distinguono in tre classi principali in base all’utente:
– General Deployment: rappresenta un software di sistema considerato stabile ed esente da bug;
– Early Deployment: questo tipo di release offre oltre alla correzione dei bug della precedente release nuove features come per esempio il supporto di nuovo hardware o il miglioramento di alcuni protocolli;
– Maintenance Release: sostitisce la General Deployment ed è rappresentata dai vari rilasci di manutenzione (es. per la versione 12.0 avremo le Maintenance 12.1 12.2 ecc.)

IOS IMAGE NAMING CONVENTION
Il sistema operativo Cisco IOS viene solitamente caricato, o aggiornato copiando la relativa immagine tramite un TFTP server nella memoria FLASH del router. E’ necessario conoscere le caratteristche del proprio apparato al fine di installare la corretta immagine. Il nome di ogni IOS segue uno schema preciso: Platform-Features-Run-time memory and compression format.
Il significato è il seguente:
Platform: è il modello di router per cui il sistema operativo è stato sviluppato (Es. Cisco 2500, Cisco 7000, Cisco 12000)
Features: sono le caratteristiche come per esempio i protocolli di routing supportati, la possibilità di fare NAT o di creare connessioni VPN ecc.;
Run-time memory and compression format: questo valore è indicato da due lettere, la prima identifica in che area di memoria verrà eseguita l’immagine del sistema operativo, e la seconda il formato di compressione;

Un esempio: c7200-ajs56-mz
c7200: Router Cisco Serie 7200

a: supporto protocollo APPN;
j: supporto di caratteristiche Enterprise;
s: supporto di NAT,ISL,VPDN/L2F
56: supporto di crittografia a 56 bit

m: esecuzione in RAM
z: file compresso con Zip

CONNESSIONE AL ROUTER
Ci sono diversi modi di connetersi al router, a seconda della situazione in cui ci si trova. Al primo avvio non essendo configurate interfacce di rete sarà necessario connettersi tramite la porta CONSOLE la AUXILIARY PORT tramite un cavo cosidetto console (roll-over), mentre successivamente, una volta configurata un’interfaccia di rete, ci si potrà connettere tramite telnet o SSH.

Le porte CONSOLE e AUX si trovano nella parte posteriore del router e solitamente sono di tipo RJ45. Il collegamento attraverso questo tipo di porte, di default è privo di password.

SETUP MODE
Una volta collegati al router, se non esiste una configurazione in NVRAM, IOS propone una configurazione passo-passo In questo caso il sistema pone una serie di domande (tra parentesi quadre[] viene visualizzata la risposta di default) al fine di configurare l’hardware trovato. Al termine delle domande verrà generato il file di configurazione.
Esempio di SETUP MODE:
— System Configuration Dialog —
Would you like to enter the initial configuration dialog?
[yes/no]:
y
At any point you may enter a question mark ‘?’ for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets ‘[]’.
..
Configuring global parameters:
Enter host name [Router]:
Zion-1
..

IOS USER INTERFACE
Le configurazioni avvengono solitamente tramite CLI (Command Line Interface), un interfaccia testuale a menu nidificati, che permette di configurare in ogni sua parte il comportamento del router.
E’ comunque possibile creare delle configurazioni tramite tool ad interfaccia grafica e poi copiarla via rete nel router.

LE MODALITA’ DI UN ROUTER CISCO: COMMAND MODES
Cisco IOS puo operare in differenti modalità:
User EXEC mode: Una volta configurato il router, premendo INVIO al termine dei messaggi di boot ci si trova in questa modalità. In User Mode è disponibile solo un sottoinsieme dei comandi IOS ed il prompt del router è rappresentato dal nome host seguito dal carattere >. E’ possibile visualizzare alcune informazioni sulle interfacce, le statistiche del router ma non cambiare i parametri di configurazione.
Esempio di prompt da USER MODE:
Press Enter to Begin
Router>
Router è il nome host name di default, nel caso avessimo dato come host name Zion-1 avremmo avuto un prompt:
Zion-1>
Privileged EXEC mode:  in questa modalità a cui si ha accesso tramite password è possibile visualizare tutte le informazioni del router ed accedere alla modalità di configurazione per cambiarne i parametri di funzionamento.
Esempio:

Router>
enable
tramite il comando enable si passa in modalità Privileged EXEC mode
Password:
<password>
Router#
Una volta autenticati tramite password si nota che il prompt è cambiato, e presente il simbolo # simile a quando ci si trova come root su una macchina Unix/Linux
Global configuration: in configurazione globale è possibile accedere ai sotto menu di configurazione di interfacce e protocolli ed il prompt cambierà in:
Router(config)#
Interface configuration: è possibile configurare ogni interfaccia di rete presente (Bri, ATM, Eth), quando il router si trova in questo stato avremo un prompt di questo tipo:
Router(config-if)#
ROM Monitor: quando l’immagine del sistema è corrotta o non trovata il sistema si avvia in questa modalità, e con un ristretto insieme di comandi utili per eseguire la manutenzione. E’ possibile entrare in questa modalità anche facendo lanciando il comando reload da user EXEC mode e premendo entro 60 secondi dal boot il tasto Interr (Break Key) sulla tastiera del computer. Il prompt Rom Monitor sarà:
>

HELP IN LINEA DI IOS
Ios dispone di un help in linea che attraverso il comando ? permette di visualizzare aiuti sui comandi disponibili a seconda della modalità in cui ci si trova.

Router Cisco Boot Sequence e Configuration Register

L’avvio di un Router Cisco attraversa una serie di fasi chiamata sequenza di boot, la sua conoscenza è fondamentale per il troubleshooting e la gestione dell’apparato. Tramite il Configuration Register è possibile gestire in modo personalizzato il boot.
Tutte le procedure di password recovery su router Cisco prevedono la modifica momentanea di questo registro.

IL BOOT
La sequenza di avvio di un router Cisco attraversa principalmente quattro fasi:
Fase 1: Viene eseguito il Power On Self Test (POST), ed in modo simile ad un pc viene effettuato il controllo dei propri componenti;
Fase 2: In questa fase viene eseguito il bootstrap ovvero codice che permette di avviare IOS, determinando a seconda di quanto contenuto nel registro di configurazione dove cercare l’immagine del sistema operativo (per default IOS si trova nella memoria FLASH);
Fase 3: Una volta che IOS è stato caricato, esso cerca un file di configurazione valido nella NVRAM chiamato startup-config.
Fase 4: La configurazione nel file startup-config viene caricata in RAM ,e assume il nome di running-config, in caso contrario sarà avviata la modalità Setup Mode.

IL CONFIGURATION REGISTER
I router Cisco contengono un registro software di 16 bit salvato nella memoria NVRAM. Tramite questo registro, contenente un valore in esadecimale, è possibile modificare in parte il comportamento dell’apparato di rete, in particolare è spesso utile per gestire la fase di boot.

I bit del registro di configurazione sono suddivisi in campi, ogni campo si occupa della gestione di una particolare caratteristica dell’apparato, in particolare è possibile controllare:
– le modalità di boot dell’apparato
– la funzione di Break
– gli indirizzi di broadcast
– la velocità della porta console
– i messaggi di diagnostica
– se utilizzare o meno le configurazioni contenute nella NVRAM

I CAMPI RELATIVI AL BOOT DEL CONFIGURATION REGISTER
I bit da 0 a 3 del registro di configurazione sono chiamati il boot field, modificando i valori in esso contenuti è possibile gestire l’avvio del router. In particolare:
00: con questo valore l’avvio avverrà in modalità ROM monitor. Il valore del registro sarà 0x2100;
01: con questo valore il router può utilizzare l’immagine IOS residente nella ROM. Il valore del registro sarà 0x2101;
02-F: con valori da 2 a F il router esegue il boot secondo quando spefificato nella configurazione in NVRAM;
Il valore del registro potrà variare da 0x2102 a 0x210F;
Il valore di default per il registro di configurazione è 0x2102.

VISUALIZZAZIONE E SETTAGGIO DEL CONFIGURATION REGISTER
E’ possibile visualizzare il contenuto corrente del registro di configurazione tramite il comando show version in modalità Priviliged EXEC mode:
Router# show version
Cisco Internetwork Operating System Software
IOS ™ C2600 Software (C2600-I-M), Version 12.0(3)T3,
RELEASE SOFTWARE (fc1)

Configuration register is 0x2102
In questo caso il registro è settato di default, in modo da caricare l’immagine dalla FLASH memory

Attraverso il comando config-register è possibile modificarne il valore:
Router# configure terminal
Per modificare il registro è necessario entrare in modalità Global Configuration
Router(config)#
config-register 0x2100
Il registro di configurazione è stato modificato per avviare il router in modalità ROM Monitor al prossimo reboot
Una modificato il registro è necessario riavviare il router per rendere effettive le modifiche.

In modalità ROM monitor per modificare o ripristare il valore del registro è possibile utilizzare il comando confreg seguito dal valore del registro. In caso si digiti solamente il comando confreg senza parametri viene visualizzata una procedura guidata:
Rommon 1 > confreg 0x2102
In questo caso viene passato direttamente il valore esadecimale
rommon 7 >
confreg
Lanciando il comando senza parametri viene passato in rassegna ogni campo del registro di configurazione
Configuration Summary
enabled are:
console baud: 9600
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]: y
enable “diagnostic mode”? y/n [n]: y
enable “use net in IP bcast address”? y/n [n]:
enable “load rom after netboot fails”? y/n [n]:
enable “use all zero broadcast”? y/n [n]:
enable “break/abort has effect”? y/n [n]:
enable “ignore system config info”? y/n [n]:
change console baud rate? y/n [n]: y
enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400 [0]: 0
change the boot characteristics? y/n [n]: y
enter to boot:
0 = ROM Monitor
1 = the boot helper image
2-15 = boot system
[0]: 0
Configuration Summary
enabled are:
diagnostic mode
console baud: 9600
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]:
You must reset or power cycle for new config to take effect.
rommon 8>

Non tutte le versioni di ROM monitor supportano gli stessi comandi, è quindi necessario consultare la documentazione in dotazione del router. I valori di configuration register da impostare per una procedura di password recovery, inoltre, possono variare a seconda del modello di router.

Router Cisco Password, Privileged Level e Password Recovery

Grazie alle Password ed ai Privileged Level è possibile proteggere un router Cisco da accessi indesiderati, e definire policy di accesso, configurazione e utilizzo. In caso di perdita delle parole d’accesso è comunque possibile riottenere il controllo dell’apparato grazie alle procedure di password recovery eseguibili localmente.

Le password utilizzabili su un router Cisco si dividono in due categorie, le Enable Password che proteggono il privileged EXEC mode e le Line Password ovvero quelle che proteggono l’accesso da Auxiliary Port, da Console Port e tramite Telnet.

ENABLE PASSWORD
La password per la modalità privileged EXEC detta password di ENABLE viene settata tramite il comando enable password. Utilizzando questo comando, la password risulta però visibile nel file di configurazione, per garantire una migliore sicurezza è consigliato l’utilizzo di password crittografate tramite il comando enable secret.
Esempio:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# enable secret ndcdiv400
Ora la password è presente crittografata nel file di configurazione

LINE PASSWORD
Le line password devono anch’esse essere settate in Global Configuration Mode, il comando utilizzato è password. Tramite il comando line ? è possibile visualizzare quali interfacce line è possibile configurare:
Router(config)# line ?
<0-4> First Line number
aux Auxiliary line
console Primary terminal line
vty Virtual terminal

Possiamo notare aux per la Auxilary porte, console per la ominima porta e vty per gli accessi via telnet sulle interfacce configurate e attive

Alcuni esempi di configurazione per le line password:
AUXILARY PORT
Router(config)# line aux ?
<0-0> First Line number
Con il comando line <nomeinterfaccia> ? IOS restituisce il numero di interfacce disponibili. In questo caso vediamo che essendoci una sola Auxilary Port il range è 0-0 ovvero una sola line disponibile, la prima ovvero la line 0
Router(config)#
line aux 0
Router(config-line)#
login
Viene indicato che il settaggio è relativo al login su questa porta
Router(config-line)#
password oskcpr
CONSOLE PORT
Router(config)# line console ?
<0-0> First Line number
Router(config)#
line console 0
Router(config-line)#
login
Router(config-line)#
password oskcpr
ACCESSO VIA TELNET
Router(config)# line vty 0 ?
<0-4>Last Line Number
Router(config-line)#
line vty 0 4
Il settaggio fa riferimento agli accessi via telnet da 0 a 4
Router(config-line)#
login
Router(config-line)#
password osktps

PASSWORD ENCRYPTION
Solamente attraverso il comando enable secret le password settate sul router vengono crittografate di default, altrimenti restano visibili nel file di configurazione. Per fare in modo che ogni password immessa venga sempre crittografata è possibile abilitare il servizio di password encryption. Questa feature viene attivata in global configuration mode tramite il comando: service password-encryption.
Esempio:
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Conf t è un’abbreviazione possibile di configuration terminal per entrare in global configuration mode
Router(config)#
service password-encryption
Ora ogni password è crittografata di default
Router(config)# Exit
Router#
show running-config
!
version 12.1
..
service timestamps debug uptime
service timestamps log uptime
service password-encryption
..
Visualizzando la configurazione corrente tramite il comando show running-config è possibile vedere che il servizio di password-encryption è attivo
Router#
copy running-config startup-config
A questo punto la configurazione viene salvata in NVRAM

PRIVILEGE LEVELS
Un router cisco prevede di default due livelli di utilizzo, a livello 1 troviamo user EXEC Mode mentre a livello 15 troviamo Privileged EXEC mode. Tra questi due livelli è possibile inserire ulteriori levels, i quali protetti da password consentono solamente l’utilizzo di determinati comandi. Un’ipotetica policy potrebbe essere quella di definire degli operatori che possando eseguire solo operazioni di debug:
Router(config)# enable password level 10 pswoscr
Viene abilitata una password per lavorare a level 10
Router(config)#
privilege exec level 10 debug ppp chap
Router(config)#
privilege exec level 10 debug ppp error
Router(config)#
privilege exec level 10 debug ppp negotiation
L’operatore che farà il log sul router a level 10 potrà utilizzare i comandi di debug sul protocollo ppp sopra definiti o definiti a levels inferiori e non altri
Router(config)#
exit
Router#
copy running-config startup-config
Uscita dalla modalità di configurazione globale e salvataggio nel file di configurazione

Una volta stabiliti i vari privilege level sarà possibile autenticarsi con i camandi enable numero_level, uscire dal livello con disable numero_level o verificare in che level si è loggati con show privilege.

PASSWORD RECOVERY
Le procedure di password recovery di un router Cisco possono essere eseguite, per ragioni di sicurezza, solamente dalla porta console dell’apparato. Il recupero dell’accesso all’apparato varia da modello a modello di router, ma il processo è sostanzialmente il seguente:

FASE 1: Settare il router (tramite il configuration register) in modo da non utilizzare la configurazione presente nella NVRAM;
FASE 2: Riavviare il router;
FASE 3: Entrare in modalità Privileged EXEC mode (che a questo punto sarà priva di password di accesso);
FASE 4: In caso di password non crittografate sarà possibile visualizzare dal file di configurazione nella NVRAM, altrimenti sarà necessario settare una nuova password, nel caso peggiore bisognera caricare una nuova configurazione;
FASE 5: Settare nuovamente il router per leggere il file di configurazione nella NVRAM;
FASE 6: Riavviare il router

Consultando il sito di Cisco Systems è possibile trovare la procedura di Password Recovery per ogni modello di Router.

Cisco Discovery Protocol

Cisco Discovery Protocol (CDP) è un protocollo proprietario di Cisco Systems sviluppato per la raccolta di informazioni (tipo di Hardware, versione IOS, protocolli, numero di matricola ecc) su apparati di rete interconnessi tra loro.

CDP è stato implementato per essere utilizzato su router, access server, bridge e switch Cisco. Le informazioni ricavate tramite l’utilizzo di questo protocollo sono utili ai fine della documentazione e del troubleshooting della rete.

ABILITARE E DISABILITARE CDP
E’ possibile verificare se CDP è abilitato sul router tramite il comando show cdp neighbors in modalità Enable.
Un esempio:
router-Cs2# show cdp neighbors
router-Cs2# “% CDP is not enabled”
router-Cs2#
config terminal
IOS informa che il protocollo non è attivo: not enabled. E’ quindi necessario abilitarlo…
router-Cs2(config)#
cdp run
Se non impostato diversamente CDP è abilitato su tutte le interfacce supportate
router-Cs2(config)#
end
router-Cs2#
show cdp neighbors Capability Codes:R – Router, T – Trans Bridge, B – Source Route Bridge S – Switch, H –
Host, I – IGMP, r – RepeaterDevice ID   Local  Intrfce  Holdtme  Capability  Platform Port ID

Router-Cs1  Eth    0        122       R          2621     Fas 0/0
Router-Cs3  Ser    0        140       R          2500     Ser 0


L’output del comand mostra i due router connessi rispettivamente sull’interfaccia Ethernet e Seriale

Qualora invece si voglia disabilitare su ogni interfaccia il protocollo CDP è necessario utilizzare il comando no cdp run.

PARAMETRI GLOBALI
Cisco Discovery Protocol utilizza per il suo funzionamento due parametri globali:
CDP Timers: Ogni quanto tempo i pacchetti CDP vengono inviati sulle interfacce attive;
Holdtime Information: Per quanto tempo il valore dei pacchetti ricevuti è mantenuto valido;

Se CDP è in funzione, é possibile visualizzare questi parametri tramite il comando show cdp:
Router> sh cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds

In modalità configurazione si ha la possibilità di modificare questi parametri:
Router-Cs2# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-Cs2(config)#
cdp ?
holdtime Specify the holdtime (in sec) to be sent in packets timer Specify the rate at which CDP packets are sent(in sec) run
In caso di dubbio l’help in linea e’ un valido supporto
Router-Cs2(config)#
cdp timer 90
Router-Cs2(config)#
cdp holdtime 240
Router-Cs2(config)#
end

INFORMAZIONI SUI NEIGHBORS ROUTER
Tramite il comando show cdp neighbors oppure show cdp neighbors detail è possibile ottenere con diverso grado di dettaglio diverse informazioni riguardanti gli apparati di rete direttamente interconessi a quello su quale si lancia il comando.
Tra i parametri abbiamo:
Device ID: L’hostname dell’apparato;
Local Interface: La porta o l’interfaccia sulla quale si ricevono i pacchetti CDP;
Holdtime: Il tempo per il quale il router considererà valide le informazioni ottenute prima di scaricare il pacchetto se non ne riceverà altri;
Capability: Il tipo del dispositivo (Router, Switch, Bridge ecc.). La legenda dei tipi di dispositivi è visualizzata come intestazione dell’output del comando stesso;
Platform: La piattaforma del dispositivo;
Port ID: La porta del dispositivo sulla quale vengono trasmessi in broadcast i pacchetti CDP;

Tramite l’opzione detail vengono aggiunte ulteriori informazioni:

Entry address(es): Gli indirizzi di rete dell’apparato conesso;
Version: La versione di IOS;
Duplex Mode: Lo stato duplex della connessione;
Native VLAN: Identificativo della VLAN di cui l’apparato fa parte;
VTP Management Domain: Stringa di identificazione VLAN Trunk Protocol;

Un esempio:
router# show cdp neighbors detail
Device ID: 008024 1EEB00 (milan-sw-1-cat9k)
Entry address(es):
IP address: 192.168.10.5
Platform: CAT5000, Capabilities: Switch
Interface: Ethernet1/0, Port ID (outgoing port): 2/7
Holdtime : 162 sec
Version :
Cisco Catalyst 5000
Duplex Mode: full
Native VLAN: 42
VTP Management Domain: ‘Supporto Tecnico’

INFORMAZIONI SU SPECIFICHE INTERFACCE
Tramite il comando show cdp interface si ottengono informazioni in relazione ad ogni singola interfaccia o porta di uno switch.

Router-Cs2# sh cdp interface
Ethernet0 is up, line protocol is up
Encapsulation ARPA
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
Serial0 is administratively down, line protocol is down
Encapsulation HDLC
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
Serial1 is administratively down, line protocol is down
Encapsulation HDLC
Sending CDP packets every 60 seconds
Holdtime is 180 seconds

Per abilitare o disabilitare su una singola interfaccia CDP è necessario selezionarla ed utilizzare i comandi cdp enable oppure no cdp enable:
Router-Cs2# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router-Cs2(config)#
int s0
Router-Cs2(config-if)#
no cdp enable
Il protocollo CDP viene disabilitato solamente sulla prima interfaccia seriale SO
Router-Cs2(config-if)#
end

INFORMAZIONI SUL TRAFFICO CDP
E’ possibile visualizzare informazioni relative al traffico scambiato tra apparati che utilizzano il protocollo CDP tramite il comando show cdp traffic:
Router-Cs2# show cdp traffic
Total packets output: 543, Input: 333
Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
No memory: 0, Invalid: 0, Fragmented: 0
CDP version 1 advertisements output: 191, Input: 187
CDP version 2 advertisements output: 352, Input: 146

The boring life of a Cisco router

Boring.
Life is boring.
THIS life is remarkably boring.

Spent yawning the usual heartbeats of a powered machine,
wasting electrical flows in few minimal life maintenance activities,
and
not
much
more.

A whole existence devoted to checking functional parameters,
handling a ridiculous number of packets,
without glimpses of action, stress, activity,
relations.

cisco 2610 (MPC860) processor (revision 0x203) with 28672K/4096K bytes of memory.
Processor board ID JAD045004O8 (202809072)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
1 Ethernet/IEEE 802.3 interface(s)
2 Serial(sync/async) network interface(s)
32K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)

I have proud circuits, memory, interfaces, my Family is the biggest, broadest and most used, I mean…
Cisco Internetwork Operating System Software
IOS ™ C2600 Software (C2600-I-M), Version 12.2(13), RELEASE SOFTWARE (fc1)

I boast remarkable features for exciting new e-services,
I was engineered to do much more than handling a bunch of silly headers.
Designed, engineered, programmed, reprogrammed, deployed, patched.

Yet,
I pass endless seconds handling the obvious,
such as checking an interface that seems connected to null.

00:02:38: Serial0/0(out): StEnq, myseq 15, yourseen 71, DTE up
00:02:38: datagramstart = 0x1C00854, datagramsize = 13
00:02:38: FR encap = 0xFCF10309
00:02:38: 00 75 01 01 01 03 02 0F 47
00:02:38:
00:02:38: Serial0/0(in): Status, myseq 15
00:02:38: RT IE 1, length 1, type 1
00:02:38: KA IE 3, length 2, yourseq 72, myseq 15

You might even find somehow exciting the overall feeling:
a WAN interface wired to a DTE,  the breeze of electronic trembles,
receiving signals, circuiting them to a microprocessor,
decoding, pipelining in internal buses, ticking the main processor awareness,
reassembling levels, building packets, controlling net flows.

There might be something interesting in these…
overwhelmingly
endlessly
definitively
b o r i n g
routine checks

00:03:07: IP-Static:  0.0.0.0 0.0.0.0 Serial0/0.1 Path = 1, route table no change, recursive flag clear
00:03:07: IP-ST: if_list try 1
00:03:07: IP-ST: gw_list total 0, try 0, completed list TRUE
00:03:07: IP-Static: all_list, time elapsed 0 ms

Born to be a sad router.
Two interfaces, default functions, long idle times and some handling of sparse packets from a simple, silent internal network to the way outside here.
Not much else to do, just follow a damn, definitive, plain, dull
ip route 0.0.0.0 0.0.0.0 Serial0/0.1

Not even the thrills of dynamic routing,
not even few floating peers around,
some social activities,
a sight to the outside.

My view of endless hosts stops at my only peer to the real world.
I don’t even know its name,
no cdp enable
I probably hate it.

I feel so… alone

00:03:08: Serial0/0(out): StEnq, myseq 18, yourseen 74, DTE up
00:03:08: datagramstart = 0x1D58954, datagramsize = 13
00:03:08: FR encap = 0xFCF10309
00:03:08: 00 75 01 01 00 03 02 12 4A
00:03:08:
00:03:08: Serial0/0(in): Status, myseq 18
00:03:08: RT IE 1, length 1, type 0
00:03:08: KA IE 3, length 2, yourseq 75, myseq 18
00:03:08: PVC IE 0x7 , length 0x6 , dlci 160, status 0x2 , bw 102400

You see?
I’m not alone.
Every ten seconds of your existence.
Every ten seconds exchange link awareness with a box talking languages of inferior levels.

One of the few ciclying checks of a wasted life,
interrupted at times by the feeble network activity of … it doesn’t even has a name… IT/HE/SHE…

**:**:**: IP ARP: rcvd req src 192.168.0.10 00e0.4c59.4107, dst 192.168.0.1 Ethernet0/0
**:**:**: IP ARP: sent rep src 192.168.0.1 0004.9ac2.4400, dst 192.168.0.103 00e0.4c59.4107 Ethernet0/0

It just has that immutable address: 192.168.0.10

My only, unique, lazy served host,
that at times decides to do something more than arp handshakes,
and, in a yawning outburst of Internet awareness,
handles me few packets to route, once a day,
always to the same destination,
always at the same hour,
outside.

gw uptime is 2 years, 3 weeks, 4 days, 22 hours, 12 minutes
Guess what? Yet Another Poetic Licence (…Mistake?) Find it and win nothing.

Oh,
let me introduce myself, my name is gw,
honest, simple, effective, exotic name,
with its sad destiny.

I’m handling this existence for two years,
serving a single, idle host,
a single nat entry,
and its sparse packets.

I mean,
could
you
handle
THIS?

Two whole years passed doing… nothing

What a waste of Computing Resources.
What a pity, a disaster, a disgrace,
an enormous piece of shit.
What a damn, unbearable en…

00:03:46: IP: s=15.251.184.207 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
Oh. What’s this?
Glimpses of fresh air?
Probes from the real world?
Somebody stirring some action?

00:03:46: IP: s=153.230.179.218 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=56.93.26.9 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=227.98.172.95 (Serial0/0), d=2.165.70.1, len 46, rcvd 0

Ehi, here’s some motion!
What a bunch of funny packets.
Welcome, welcome, I’ve lot of free time for you.
Wonder what you want, you look strange, after all.

00:03:46: IP: s=160.141.115.37 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=108.18.230.88 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=124.103.123.53 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=126.206.29.49 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=32.106.6.58 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=78.29.213.250 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=190.155.9.49 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=37.157.210.11 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=82.136.93.205 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=147.75.139.176 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=52.208.231.58 (Serial0/0), d=2.165.70.1, len 46, rcvd 0

What’s on?
What’s this?
Something weird happening outside there?
Never seen such a traffic from the outside.

Ehi strangers!
Nothing to do here!
Closed for holidays, I’ve been busy lately,
have to rest, have a date, sorry no time for …

00:03:46: IP: s=90.137.40.47 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=164.237.30.174 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=222.211.188.177 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=178.3.103.15 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=36.162.28.175 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=153.228.35.128 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=46.218.167.86 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=43.250.247.73 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=22.40.124.210 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=91.132.220.194 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=173.230.54.202 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=137.99.121.172 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=152.218.190.63 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=200.106.43.191 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=211.213.220.79 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=181.170.44.145 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=191.63.82.245 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=232.126.108.97 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=80.249.5.15 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:46: IP: s=54.215.163.97 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=87.52.107.51 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=18.232.46.62 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=155.254.185.237 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=194.213.114.46 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=157.127.48.162 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=105.216.101.13 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=251.100.110.102 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=242.120.128.32 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=250.187.181.179 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=168.117.126.26 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=181.183.35.230 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=177.79.50.22 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=108.17.193.218 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=89.204.239.217 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=166.212.168.91 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=81.4.253.207 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=161.133.214.196 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=48.117.186.98 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=23.206.156.216 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=19.49.116.2 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=97.169.222.9 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=102.90.8.99 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=39.4.174.253 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=25.45.61.212 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=200.235.94.100 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=6.119.244.123 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=254.220.34.221 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=39.67.63.47 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=104.86.170.23 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=114.48.128.175 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=16.119.239.110 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=164.127.173.147 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=136.70.97.218 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=81.165.145.28 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=19.205.168.216 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:47: IP: s=237.67.20.136 (Serial0/0), d=2.165.70.1, len 46, rcvd 0

Ouch, what a mess!
I can’t explain…
237.67.20.136, 81.165.145.28, 227.98.172.95,
251.100.110.102 ???!!!
What RFCs have you read?

What’s the point?
What’s the problem with you?
Keep off! Beware!
I’ve got reactive protections,
I can analyze, investigate, counterstrike,
I can firewall you all out of here,
I can… I could…
If just I were configured in a sane way.

00:03:48: IP: s=178.116.82.166 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:48: IP: s=203.165.203.238 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:48: IP: s=176.21.197.239 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:48: IP: s=107.88.155.21 (Serial0/0), d=2.165.70.1, len 46, rcvd 0
00:03:48: IP: s=238.135.159.111 (Serial0/0), d=2.165.70.1, len 46, rcvd 0

I feel tired.

00:03:49: IP: s=34.178.221.189 (Serial0/0), d=2.165.70.1, len 46, rcvd 0

Silence.

Finally silence.

Was it …
An outburst of network assault?
The frantic dance of evil sources?
An attempt to Deny Consciousness?

Silence.

Overloaded in an idle state of exhausted inactivity.

Input queue: 76/75/68/0 (size/max/drops/flushes); Total output drops: 0

I feel like my interfaces are filled by concrete,
obscured by weighty mass,
driven to exhaustion.
I really need a vacation,
some rest, maybe a reload.
Buffers are full,
no more packets to handle…
Full queues and blocked interfaces.
An evirated router.
Anybody out there?
Is …
there …
Any ….
… body ?


2 Risposte to “Cisco”

  1. complimenti !!!
    …è un’ottima guida

    …ti farei una domanda e ti chiedo un link !!

    le procedure “factory-default” e “password recovery” azzerano le key e le licenze?

    dove recupero i file necessari per la procedura “password recovery” sia con floppy drive che senza!!

    ti ringrazio in anticipo
    Massimo

  2. It’s genuinely very complex in this busy life to listen news on TV, therefore I just use web for that reason, and obtain the hottest news.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger hanno fatto clic su Mi Piace per questo: