Configurare un firewall Cisco PIX 501

Abbiamo già visto come configurare il router Cisco SOHO 77 (alias Cisco 827). Adesso vedremo come proteggere la nostra LAN configurando un firewall di casa Cisco, ovvero il PIX 501 (vedi immagine sottostante).

product-601333.jpg

Per prima cosa settiamo il nome ed il livello di sicurezza associato all’interfaccia esterna ed all’interfaccia interna che stiamo utilizzando (dopo essere entrati nella modalità di configurazione digitando i comandi ena e successivamente conf t):

pixfirewall(config)# nameif ethernet0 outside security0

pixfirewall(config)# nameif ethernet1 inside security100

Come potete facilmente notare, l’interfaccia ethernet0 l’abbiamo chiamata “outside” e ad essa abbiamo associato il livello di sicurezza “security0”. Discorso simile riguarda l’interfaccia ethernet1.

Impostiamo ora la velocità delle interfacce precedentemente menzionate:

pixfirewall(config)# interface ethernet0 auto

pixfirewall(config)# interface ethernet1 100full

Nella fattispecie, l’interfaccia esterna negozia automaticamente la velocità in base al dispositivo ad essa collegato, mentre l’interfaccia interna lavora alla velocità di 100 Mbit/sec in full duplex.

Impostiamo la password per la modalità enable:

pixfirewall(config)# enable password <vostrapass>

Tale password verrà salvata all’interno del file di configurazione in forma cifrata.

Definiamo l’hostname per il nostro firewall:

pixfirewall(config)# hostname <hostname_del_firewall>

Associamo all’interfaccia esterna ed a quella interna i rispettivi indirizzi IP e subnet mask:

pixfirewall(config)# ip address outside 192.168.100.2 255.255.255.252

pixfirewall(config)# ip address inside 172.30.4.1 255.255.255.0

Ovviamente la scelta della classe privata di indirizzi IP e della relativa maschera di sottorete è a vostra discrezione.

Definiamo adesso l’ARP timeout, ovvero ogni quanti secondi la tabella dei MAC address appartenente al nostro firewall deve essere svuotata:

pixfirewall(config)# arp timeout 14400

Definiamo, inoltre, la cosiddetta MTU, ovvero la massima dimensione dei pacchetti che possono transitare attraverso l’interfaccia:

pixfirewall(config)# mtu outside 1500

pixfirewall(config)# mtu inside 1500

Ora è necessario andare a mettere mano su una delle parti più delicate della nostra configurazione, ovvero il NAT. Tramite il NAT, infatti, sarà possibile tradurre un indirizzo privato appartenente alla nostra rete in un indirizzo pubblico, permettendoci di navigare ed accedere alle risorse dislocate su Internet. Per fare ciò occorre digitare:

pixfirewall(config)# global (outside) 1 interface

pixfirewall(config)# nat (inside) 1 172.30.4.0 255.255.255.0

In questo modo stiamo imponendo al firewall di tradurre gli indirizzi privati appartenenti alla LAN interna (172.30.4.0/24) nell’indirizzo associato all’interfaccia esterna, ovvero 192.168.100.2. Sarà il router, successivamente, ad effettuare un nuovo NAT sull’indirizzo privato dell’interfaccia outside, traducendolo nell’indirizzo pubblico assegnatoci dall’ISP.

Per poter uscire su Internet è inoltre necessario definire nell’ambito del firewall una rotta statica mediante il seguente comando:

pixfirewall(config)# route otuside 0.0.0.0 0.0.0.0 192.168.100.1

In questo modo stiamo dicendo al firewall di instradare tutto il traffico destinato ad un indirizzo non presente all’interno della sua tabella di routing verso l’indirizzo 192.168.100.1, ovvero il router. Sarà quindi compito del router, tramite una nuova default route, far si che il traffico venga indirizzato verso l’esterno.

Ora, supponiamo che all’interno della nostra LAN sia presente una risorsa (ad esempio un WEB server) che debba essere necessariamente contattabile dall’esterno. Ovviamente, la cosa migliore da fare in questo caso sarebbe quella di posizionare il server nella DMZ ma per semplicità tale server verrà dislocato nell’ambito della LAN stessa.

L’indirizzo IP del server è 172.30.4.2, quindi occorrerà digitare:

pixfirewall(config)# static (inside, outside) 192.168.100.2 172.30.4.2 netmask 255.255.255.0 0 0

dove l’indirizzo IP dell’interfaccia outside deve essere inserito sempre PRIMA dell’indirizzo privato associato al server.

Definiamo adesso il tipo di traffico che deve essere accettato in ingresso all’interfaccia esterna. E’ possibile fare ciò mediante un’ACL nominale:

pixfirewall(config)# access-list inbound permit tcp any host 192.168.100.2 eq 80

pixfirewall(config)# access-list inbound permit icmp any host 192.168.100.2

In tal modo il nostro Web server potrà essere contattato attraverso la porta 80 e risponderà ai ping eseguiti dall’esterno. Non ci resta che associare l’ACL appena creata all’interfaccia di interesse:

pixfirewall(config)# access-group inbound in interface outside

Sarebbe utile, inoltre, consentire la gestione da remoto del firewall, senza doversi collegare necessariamente a tale dispositivo mediante cavo console (altrimenti conosciuto come rollover). Per fare ciò è necessario abilitare Telnet:

pixfirewall(config)# telnet 172.30.4.0 255.255.255.0 inside

ovvero stiamo imponendo al firewall di accettare esclusivamente le connessioni telnet provenienti dall’interfaccia interna, nella fattispecie dagli host della LAN.

pixfirewall(config)# telnet timeout 5

con questo comando il firewall chiuderà qualunque sessione Telnet dopo 5 minuti di inattività.

Occorre notare che il nostro firewall (per default) non permette il transito di echo-reply provenienti dall’interfaccia “outside” e dirette verso l’interfaccia “inside”. Ciò significa che qualunque ping originato dalla LAN e diretto verso l’esterno non potrà ricevere risposta. Per evitare ciò, basta insirire le seguenti regole all’ACL “inbound” precedentemente creata:

 access-list inbound permit icmp any any echo-reply
 access-list inbound permit icmp any any time-exceeded
 access-list inbound permit icmp any any unreachable
 access-list inbound permit icmp any any source-quench

Bene, salviamo la nostra configurazione ed il gioco è fatto:

write memory

La guida termina qui. Nei prossimi post vedremo come gestire il nostro firewall mediante PDM (PIX Device Manager). A presto.

 

Configurare un firewall Cisco PIX 501ultima modifica: 2009-08-14T21:02:39+02:00da nazarenolatella
Reposta per primo quest’articolo

22 pensieri su “Configurare un firewall Cisco PIX 501

  1. Ciao Nazareno, + che commento mi servirebbe un aiuto se puoi. Sono uno dei tanti co.co.co presso il comune di Quarto (unica risorsa in campo) per 140 utenze. Ho un problema con il Firewall del CED un Cisco PIX 501. Dopo essere riuscito a configurare la procedura SI.CE.ANT non riesco a fare questo: Il supporto della prefettura mi ha risposto che il problema è il nostro firewall e devo attivare i protocolli IKE / IPSEC verso l’indirizzo IP 212.14.141.11>Porta:10000 (IKE: porta 400 UDP). Come cavolo faccio fare ciò visto che non ho mai visto prima d’ora un tale firewall. Chi mi ha lasciato le consegne non mi ha dato nemmeno un minimo di istruzioni in merito a ciò.
    Grazie per qualsiasi cosa potrai fare. Saluti Gaetano Acri.

  2. Ciao Nazareno,
    ho un pix 501 con abilitato DHCP.
    Avrei la necessità di prenotare un IP e fare in modo che questo venga assegnato semper allo stesso MAC address.

    Potresti darmi qualche dritta?
    Grazie, buona serata
    Danilo

  3. ciao…e complimenti per la guida…semplice ed operativa!!!
    …ho un problema
    …ho comprato un 506e…aveva una password che non conoscevo, ma per fortuna ho applicato “password recovery” ed ho risolto.
    mi rimane un problema: resettare la configurazione perchè non è per me!
    …se io resetto a “factory default” perdo l’attivazione delle licenze!!
    oppure posso resettare e continuo ad avere tutte le key come erano prima?

  4. Ciao Massimo. Ti consiglio di rimuovere la configurazione attuale semplicemente digitando il comando write erase seguito da un reload (in modalità exec). In questo modo non dovresti impattare le licenze (che sono comunque salvate nella memoria flash, ma in un file differente da quello in cui è salvata la configurazione).
    A presto.

  5. ciao Nazareno…
    …grazie del consiglio…è stato OK !!!
    ho visto che rispondi anche dalla tua mail
    (due commenti più sopra!!!)

    …io ho il problema della configurazione del pix quando è dietro al cisco 837 (oppure è l’837 cisco che ha il problema!)
    …mi permetteresti di postarti i due file di config tramite mail così da potermi aiutare?
    …grazie
    Massimo

  6. ciao
    ho un problema con il pix. il firewall è attaccato ad un router Telecom a cui ho impostato la sottorete 192.168.2.128 255.255.255.192 in DHCP per aver modo dall’esterno di potersi collegare in wireless e sfruttare la linea adsl. Questa sottorete però non deve poter accedere alle condivisioni e pertanto non devono vedere i files degli altri pc. ci sto sbattendo il grugno con le access list e deny varie ma ho blocco tutta la rete o chi si collega ha piena visibilità. ti ringrazio anticipatamente. ciao

  7. Ciao
    problema con il pix. il firewall è attaccato alla porta wan con un router Telecom. il suddetto router è impostato con il DHCP con sottorete 192.168.2.128 255.255.255.192 per poter avere dal”esterno accesso ad internet. ora mi occorre però che questi pc non abbiano accesso alle condivioni con i pc che sono all’interno. come posso fare. Grazie Ciao

  8. Allora, dato che non conosco che tipo di licenza è caricata sul PIX (ovvero quante porte potete utilizzare) e dato che avete a disposizione un unico dispositivo che funge sia da gateway per Internet che da Access Point, la soluzione più semplice consiste nel cambiare il nome del gruppo di lavoro. In particolare, dovete utilizzare per i PC interni un gruppo di lavoro diverso dai classici “WORKGROUP” oppure “MSHOME”. In tal modo i PC della rete trust utilizzeranno tutti il gruppo di lavoro X mentre quelli della rete dirty (wi-fi, per intenderci) utilizzeranno il gruppo di lavoro Y,Z ecc ecc. rendendo le condivisioni “a tenuta stagna”. Uso le virgolette perchè se uno dei PC della rete dirty cambiasse il proprio gruppo di lavoro e lo impostasse uguale a quello dei computer appartenenti alla rete trust riuscirebbe a bypassare la limitazione.
    PS: la soluzione migliore (e meno dispendiosa in termini economici) consisterebbe nell’acquistare un AP che supporti il DHCP, da attaccare all’interfaccia DMZ del PIX, separando fisicamente i due rami di rete coinvolti (licenza del PIX permettendo).

  9. ciao nazareno

    ti ringrazio in anticipo per il tempo che mi dedichi. Per meglio specificare il problema ho alcuni “consulenti esterni” che utilizzano la rete adsl via wireless e, pertanto, vedono le condivisioni di tutti gli altri pc. Ora o blocco uno dei classici “workgroup” o “Mshome” ( e non so come fare) o blocco le porte delle condivisioni (135 e 139) sul firewall pix. su internet però non ho trovato nulla che mi risolva il problema. la rete ha gia 2 rami divisi
    (192.168.2.0 subnet 255.255.255.128 e 192.168.2.128 subnet 255.255.255.192). ti ringrazio ancora non so più dove sbattere la testa

  10. Ciao Nicola. Qui non si tratta di bloccare, si tratta solo di far utilizzare ai pc della rete trust (interna) un nome gruppo differente da quelli configurati nei PC dei consulenti che si collegano in wireless.
    Comuque sia, incollami la conf del pix così vedrò di essere più specifico

  11. ciao Nazareno, avrei la seguente esigenza …dovrei abilitare solo il traffico ftp tra due host posti sulla stessa maschera utilizzando un pix501 come devo configurare le interfacce.
    Grazie

  12. Ciao Gennaro, se non ho capito male vorresti mettere un PIX tra due macchine che stanno nella stessa subnet? Che senso ha?
    Che macchine sono? Linux o Windows?

  13. ciao Nazareno,
    più precisamente devo mettere un pix501 tra un router e un host su cui c’è un ftp server… la macchina è windows..al router non ho accesso per la conf.

  14. un altra cosa….su questo pix 501 sono abilitate solo due interfacce 1 outside e 1 per inside….è possibile abilitare le altre porte ?
    grazie

  15. Ciao Gennaro, per abilitare le altre porte devi avere le licenze apposite, ragion per cui con la licenza base puoi utilizzare solo la inside e la outside.
    Poichè vuoi piazzare il PIX tra il router e l’host su cui credo sia attivo il server FTP, ti consiglio di posizionare la outside verso il router e la inside verso il PC. Una volta fatto ciò cambia la classe di indirizzi che utilizzi nella LAN, dato che non hai accesso alla configurazione del router. A questo punto setta gli indirizzi IP con relative subnet sia all’interfaccia inside che a quella outside. Infine crea una entry per il NAT statico dalla inside alla outside e dalla outside alla inside. Mediante opportune ACL permetti solo il traffico FTP diretto alla inside (TCP 20-21). Questa è la logica, i comandi li trovi nel post.
    PS: la via più semplice sarebbe stata quella di impostare un PAT sul router solo per il server FTP e sulla porta 20-21. Peccato tu non abbia accesso alla configurazione.

  16. grazie Nazareno…come outside ho utilizzato l’ip attualmente assegnato al pc …solo non ho ben capito quando dici “Infine crea una entry per il NAT statico dalla inside alla outside e dalla outside alla inside”…
    ho dato il comando di nat come nel post:
    pixfirewall(config)# nat (inside) 1 172.30.4.0 255.255.255.0

    poi ho inserito una static come nell’esempio del web server:
    pixfirewall(config)# static (inside, outside) 192.168.100.2 172.30.4.2 netmask 255.255.255.0 0 0

    è corretto o devo fare qualcos’altro ?

    ps. ho trovato sul sito cisco una conf. senza nat….domani provo e ti faccio sapere

  17. E’ giusto ma devi assegnare alle interfacce i giusti indirizzi IP, ovvero appartenenti alla stessa classe e subnet della LAN per la inside e del router per la outside.

  18. per l’outside l’indirizzo è 10.222.36.180 255.255.255.248 (era l’ip del pc )mentre per l’inside ho assegnato 192.168.1 255.255.255.0 per linterfaccia e 192.168.1.2 per il pc

I commenti sono chiusi.