Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
Questo articolo spiega come configurare una VPN IPSEC failover tra due siti con 2 link nella sede centrale e 1 link nella sede remota.
* ''Iniziamo con il configurare il FW della sede centrare che ha 2 link.''
#come prima cosa dobbiamo configurare il ''//failover//'' nel modulo di routing<br><html><img src="img/case1_routing.jpg" border="0" alt="Foto"></html>
#creare un ''//PEER//'' abilitanto il ''//DPD//'' nelle ''//Advanced properties//''
#andare sotto ''//ENCRYPTION POLICY - TUNNEL//'' e configurare la nostra ''//local e remote network//'' settando il ''//PEER//'' configurato prima
* ''Ora colleghiamoci al FW della sede remota che ha 1 link.''
#creare due ''//PEER//''(il principale e il backup)ed abilitare il DPD
#andare sul ''//PEER//'' principale e settare il secondo ''//PEER//'' come backup <br><html><img src="img/case1_remote_site.jpg" border="0" alt="Foto"></html>
#andare sotto ''//ENCRYPTION POLICY - TUNNEL//'' e configurare la nostra ''//local e remote network//'' settando come PEER il ''//main PEER//''
Questo articolo spiega come configurare una VPN IPSEC failover tra due siti con 2 link nella sede centrale e 2 link nella sede remota.
* ''Iniziamo con il configurare il FW della sede centrare che ha 2 link.''
#come prima cosa dobbiamo configurare il ''//failover//'' nel modulo di routing<br><html><img src="img/case1_routing.jpg" border="0" alt="Foto"></html>
#creare due ''//PEER//''(il principale e il backup)ed abilitare il DPD
#andare sul ''//PEER//'' principale e settare il secondo ''//PEER//'' come backup<br><html><img src="img/case2_main_site.jpg" border="0" alt="Foto"></html>
#andare sotto ''//ENCRYPTION POLICY - TUNNEL//'' e configurare la nostra ''//local e remote network//'' settando come PEER ''//main PEER//''
* ''Ora colleghiamoci al FW della sede remota che ha 2 link.''
#come prima cosa dobbiamo configurare il ''//failover//'' nel modulo di routing<br><html><img src="img/case1_routing.jpg" border="0" alt="Foto"></html>
#creare due ''//PEER//''(il principale e il backup)ed abilitare il DPD
#andare sul ''//PEER//'' principale e settare il secondo ''//PEER//'' come backup<br><html><img src="img/case2_remote_site.jpg" border="0" alt="Foto"></html>
#andare sotto ''//ENCRYPTION POLICY - TUNNEL//'' e configurare la nostra ''//local e remote network//'' settando come PEER il ''//main PEER//''
Andando sotto ''//SYSTEM//'' → ''//High Availability//'' nelle ''//Advanced Properties//'' possiamo trovare una sezione dedicata al ''//peso//''(Weight) che possiamo assegnare ad ogni interfaccia.
Questo ''//peso//'' viene usato per gestire il failover in caso ci siano interfacce down su entrambi i FW, per capire meglio però facciamo un esempio pratico:
#il nostro FW ha 3 interfacce (''//OUT,IN,~DMZ1//''), sulla ''//~DMZ1//'' abbiamo connesso solo un server su cui facciamo i backup
#poniamo caso che contemporanemente il link verso l'interfaccia ''//OUT//'' del ''//FW attivo//'' e il link verso la ''//~DMZ1//'' sul ''//FW Passivo//'' cadano
#a questo punto entrambi i ''//FW(Attivo e Passivo)//'' hanno un'interfaccia giù ma avendo entrambe (''//OUT e ~DMZ1//'') lo stesso peso(Weight) il Quality risulterà uguale quindi il FW non effettua nessuno swap lasciano attivo il FW che ha come interfacce funzionanti la IN e la ~DMZ1.
#in questo modo andiamo a creare disservizio perchè gli utenti non potranno più navigare in Internet
Per ovviare a questo problema possiamo quindi settare diversi ''//pesi, più alto per la IN e la OUT ad esempio//'', in modo che se si presenta una situazione come quella descritta sopra il FW faccia uno swap continuando a dare servizio internet a discapito del server di backup.
Nella versione 9 sono stati aumentati i profili di Inspection da 4 a 10.
Oltre ad aumentare il numero di profili è stato modificato anche la modalità di configurazione al fine di rendere più semplice la gestione di profili multipli in modo da risolvere le problematiche riscontrate con la versione 8 (un esempio è quello descritto nel paragrafo precedente).
Come già detto il numero di profili ora è 10 e li possiamo trovare sotto ''//Application Protection//'' → ''//Inspection Profile//''.
Di default vengono visualizzati solo i due profili di default (''//Incoming and Outgoing//'') ma cliccando in alto a destra su ''//Go to profiles//'' abbiamo la possibilità di visualizzare tutti i 10 profili.
<html><img src="img/ASQ_profile_V9.png" border="0" alt="Foto"></html>
Come possiamo vedere gli ''//Inspection Profile//'' sono costituiti da dei link agli ''//Application Profile//'' (che possiamo paragonare ai plugin della versione 8).
In configurazione di default all’Inspection Profile ''//(0)Config//'' sono linkati tutti agli Application Profile 0 (HTTP (0)default, SMTP (0)default, ~POP3 (0)default……..) all’Inspection Profile ''//(1)Config01//'' invece sono linkati gli Application Profile 1 (HTTP (1)default, SMTP (1)default, ~POP3 (1)default……..) e così via fino all’Inspection Profile 10 ''//(9)Config9//''.
Ricapitoliamo ora la configurazione degli Inspection Profile in base a quanto detto sopra con questa tabella che riporta la configurazione di default.
<html><img src="img/ASQ_profile_V9_2.jpg" border="0" alt="Foto"></html>
Una volta chiarito la configurazione degli ''//Inspection Profile//'' passiamo ad analizzare i menù relativi ai ''//Protocols and applications//'' e agli ''//Alarms//'' che sono il vero cuore della configurazione visto che gli Inspection profile non sono altro che dei link ai ''//Protocols and applications//'' e agli ''//Alarms//''.
All’interno del menu ''//Protocols and applications//'' troviamo la lista di tutti i protocolli (plugin) e se clicchiamo su un protocollo possiamo vedere che ci sono i 10 profili (''//(0) default …… (9) default//'').
All’interno di ogni singolo profilo troviamo vari tab (ad esempio all’interno del protocollo http troviamo __IPS, PROXY, ICAP, ANALYZING FILES__)
<html><img src="img/ASQ_profile_V9_3.png" border="0" alt="Foto"></html>
I tab presenti all’interno di ogni singolo protocollo possono variare perché ad esemio per il DNS avremo solo il tab IPS visto che non c’e’ né proxy né possibilità di fare antivirus.
Spostiamoci ora nel menù ''//Alarms//'' che riporta tutti gli allarmi divisi per i 10 profili di ''//Inspection profile//''.
<html><img src="img/ASQ_profile_V9_4.png" border="0" alt="Foto"></html>
Come potete notare nello screenshot sopra c’e’ una colonna che si chiama ''//Application profile//'' che non è presente nella visualizzazione di default ma che possiamo aggiungere (vedi immagine sotto)
<html><img src="img/ASQ_profile_V9_5.png" border="0" alt="Foto"></html>
Questa colonna è importante perché ci permette di capire l’allarme a che ''//Application profile//''(plugin) è legato.
!!!!Ora vediamo come possiamo permettere ~Teamviewer con la versione 9.
Partiamo dal presupposto che abbiamo modificato gli ''//Apllication profile//'' linkati all’Inspection Profile ''//(1) Config01//'' modificando i buffer della navigazione http e abilitato l’utilizzo di skype.
A questo punto vogliamo creare un nuovo ''//Inspection profile//'' (useremo il ''//(2)Config02//'') totalmente identico al’Inspection profile ''//(1) Congfi01//'' ma ovviamente vogliamo permettere ~Teamviewer.
Come abbiamo visto l’allarme ~Teamviewer fa parte della famiglia HTTP quindi è legato all’''//Application profile HTTP//''.
Andiamo sotto ''//Protocols and apllications//'' → selezioniamo ''//HTTP//'' → profilo ''//(1) default01//'' → ''//Edit//'' → ''//Copy to (2) default02//'' in questo modo avremmo tutta la configurazione e gli allarmi legati all’http dell’''//application profile 01 HTTP//'' sull’''//application profile 02 HTTP//''.
Selezioniamo il ''//profilo 02 HTTP//'' e rinominiamolo con un nome a nostro piacere (in questo documento useremo ~TeamviewerOK).
Ora andiamo sotto ''//Inspection profile//'' → ''//Go to profiles//'' → selezioniamo il profilo ''//(1) Config01//'' → ''//Edit//'' → ''//Copy to (2)Config02//''.
Selezioniamo l’''//inspection profile 02//'' e rinominiamolo con un nome a nostro piacere(in questo documento useremo ''//(2) ~Config02Teamviewer//'')
''__ATTENZIONE con questa operazione andiamo solo a dire che l’Inspection profile (2)~Config02Teamviewer utilizzerà gli application profile 01, di fatto andiamo solamente a copiare i link agli application profile.__''
<html><img src="img/ASQ_profile_V9_6.png" border="0" alt="Foto"></html>
Visto che agli Application profile sono legati gli allarmi, attualmente sia l’inspection profile ''//(1)Config01//'' e l’Inspection profile ''//(2)~Confi02Teamviewer//'' hanno lo stesso set di allarmi quindi se vado a sbloccare ~TeamViewer sul ''//profilo 02//'' in realtà lo sbloccherò anche sul ''//profilo 01//'', questo lo possiamo vedere bene nella colonna Application profile nella schermata degli allarmi.
<html><img src="img/ASQ_profile_V9_7.png" border="0" alt="Foto"></html>
Da questi due screenshot possiamo infatti vedere che l’application profile per l’Inspection profile 1 e per il 2 è sempre 01 per quanto riguarda l’http.
A questo punto per poter permettere ~Teamviewer sul ''//profilo 2//'' basta andare sotto ''//Inspection profile//'' selezionare il profilo ''//(2) ~Config02Teamviewer//'' ed applicare per l’http l’application profile ''//(2)~TeamviewerOK//''.
Se ricordate qualche passo prima noi avevamo fatto la copia dell’application profile ''//01HTTP//'' sull’application profile ''//02HTTP//'' quindi sull’application profile 02 dell’http abbiamo le stesse config.
Salviamo al modifica fatta al nostro ''//Inspection profile//'' e torniamo nel menu ''//Alarms//'' e selezioniamo l’Inspection profile ''//~Config02Teamviewer//'' e cercando ''//Team//'' vediamo che ora l’apllication profile relativo è lo 02 quindi possiamo modficare a pass l’allarme e in questo modo avremmo un profilo completamente identico al profilo di default di outgoing ma daremo la possibilità di usare ~Teamviewer.
<html><img src="img/ASQ_profile_V9_8.png" border="0" alt="Foto"></html>
Nella versione 8 abbiamo a disposizione 4 profili ASQ.
All’interno di questi 4 profili ASQ(''//Intrusion Prevention//'') abbiamo sia la parte ''//Plugin//'' che la parte ''//Alarms//''.
<html><img src="img/ASQ_profile_V8.png" border="0" alt="Foto"></html>
Questi 4 profili sono completamente sconnessi l’uno dall’altro infatti se dobbiamo creare un profilo identico a quello ''//Outgoing(01)//'' permettendo però la connessione verso Teamviewer dobbiamo settare il nuovo profilo(''//Profile(02)//'') con tutti i parametri uguali al profilo ''//Outgoing(01)//'' modificando solo da block a pass l’allarme che permette la connessione verso Teamviewer.
Per fare questo però non basta settare a pass l’allarme relativo al ~TeamViewer perché magari nel profilo di ''//Outgoing(01)//'' abbiamo settato dei buffer overflow più permissivi per l’HTTP, oppure abbiamo messo a pass l’allarme per permettere skype e vogliamo che questa config sia presente anche sul ''//Profile(02)//'' perché chi utilizzerà questo profilo di ASQ dovrà essere in grado di usare Teamviewer ma dovrà anche essere in grado di utilizzare skype.
Guardando l’allarme relativo a Teamviewer possiamo notare che fa parte della “famiglia”(context) ''//http:client:header//'' e questo sta a significare che il riconoscimento di team viewer viene fatto grazie al plugin http.
<html><img src="img/ASQ_profile_V8_2.png" border="0" alt="Foto"></html>
Infatti se disabilitiamo il ''//plugin http//'' non abbiamo più nessun controllo su Teamviewer e riusciremmo ad usalo anche se l’allarme è settato a block.
''__Questo breve esempio serve a far capire che c’e’ una stretta correlazione tra plugin e relativi allarmi ed è il concetto chiave che ci permetterà di capire meglio il funzionamento dei nuovi ''//Inspection Profile//'' presenti nella versione 9.__''
Per abilitare il verbose del modulo della vpn pptp dobbiamo seguire questa procedura
#collegarsi in ssh e lanciare questi comandi:
##''//cd /etc//''
##''//cp syslog.conf syslog.conf.bak//'' con questo comando facciamo un backup di questo file
##apriamo con il nostro editor di testo preferito(vi oppure joe) il file ''//syslog.conf//''
##una volta entrati nell'editor localizziamo la seguente riga<br>''//#!mpd//''<br>''//#*.* /dbg/mpd.log//''
##modifichiamo la seconda riga facendola diventare così:<br>''//#!mpd//''<br>''//*.* /log/mpd.log//''
##salviamo il file e usciamo
#ora creiamo il file di log e abilitiamo il verbose digitando questi comandi:
##''//touch /log/mpd.log//''
##''//chmod 777 /log/mpd.log//''
##''//killall -HUP syslogd || syslogd//''
#a quest punto il verbose è attivo
Per disabilitare il verbose eseguire questi comandi:
#''//cd /etc//''
#''//cp syslog.conf.bak syslog.conf//''
#''//killall -HUP syslogd//''
Per abilitare il verbose del modulo del proxy dobbiamo andare sotto ''///usr/Firewall/~ConfigFiles//'' e lanciare i seguenti comandi:
#''//setconf proxy Config Verbose all//''
#''//setconf proxy Config ~VerboseFile /tmp/tproxyd.log//''
#''//tproxyd -d//'' (con questo comando attiviamo il verbose)
#a questo punto possiamo riprodurre il problema e una volta riprodotto basta lanciare ''//tproxyd -d//'' per disabilitare il verbose
#collezionare il file ''///tmp/tproxyd.log//'' per effettuare l'analisi
Per abilitare il verbose del modulo della vpn ipsec dobbiamo seguire questa procedura
#collegarsi in ssh e vedere quale slot di vpn abbiamo attivo con il comando ''//slotinfo |grep -w vpn//''
#una volta identificato lo slot attivo(nell'esempio che faccio qua lo slot attivo è lo 02) lanciare questi due comandi:
##''//setconf /usr/Firewall/~ConfigFiles/VPN/02 Global Verbose 2//''
##''//setconf /usr/Firewall/~ConfigFiles/VPN/02 Global ~VerboseFile /tmp/racoon.dbg//''
#a questo punto per attivare il verbose devo spegnere(__per un momento tutte le vpn cadranno__) e riattivare la vpn lanciando questi due comandi
##''//envpn 00//''
##''//envpn 02//''
#una volta terminato il test lanciamo i comandi:
##''//setconf /usr/Firewall/~ConfigFiles/VPN/02 Global Verbose 0//''
##''//setconf /usr/Firewall/~ConfigFiles/VPN/02 Global ~VerboseFile /tmp/racoon.dbg//''
##envpn 00 ( con questo comando spegnamo
##envpn 02
#A questo punto raccogliere il file /tmp/racoon.dbg in modo da poterlo analizzare<br> Per maggiori informazioni sull'analisi del verbose cliccare [[qui|Analisi del verbose della VPN IPSEC]]
''__Tenete presente che per avere informazioni utili nel verbose è meglio che sia il firewall o il client remoto a cercare di instaurare la vpn perchè in caso contratio il verbose non ci darebbe alcuna informazione utile.__''
Per abilitare il verbose del modulo di autenticazione andare sotto ''///usr/Firewall/~ConfigFiles//'' e digitare i seguenti comandi
#''//setconf auth Config Verbose all//''
#''//setconf auth Config ~VerboseFile /tmp/auth.log//''
#''//sld -d//'' con questo comando abilitiamo il verbose
#a questo punto effettuare il test e una volta finito spegnere il verbose digitando il comando ''//sld -d//''
#quando si attiva questo verbose vengono generati 2 file di log sotto ''///tmp//''
##''//auth.log//'' → effettua il verbose del modulo di auth
##''//auth.log.xauth//'' → effettua il verbose del modulo di Xauth
Per abilitare il verbose del modulo di routing del FW andare sotto ''///usr/Firewall/~ConfigFiles//'' e lanciare i seguenti comandi:
#''//setconf route Config Verbose all//''
#''//setconf route Config ~VerboseFile /tmp/route.log//''
#lanciare il comando ''//ennetwork -r//'' per abilitare il verbose
#una volta terminata l'analisi spegnere il verbose digitando questi comandi
##''//setconf route Config Verbose none//''
##''//ennetwork -r//''
Per abilitare il verbose del modulo della VPN SSL andare sotto ''///usr/Firewall/~ConfigFiles//'' e digitare i seguenti comandi
#''//setconf xvpn Config Verbose 1//''
#''//setconf xvpn Config ~VerboseFile /tmp/xvpn.log//''
#''//sld -d//'' conquesto comando abilitiamo il verbose
#a questo punto effettuare il test e una volta finito spegnere il verbose digitando ''//sld -d//''
#quando si attiva questo verbose il file viene messo sotto ''///tmp//'' e il file si chiama ''//xvpn.log//''
Seguire questa procedura per abilitare il verbose del modulo di ASQ.
* Collegarsi in ssh al FW e digitare questi comandi:
#''//cp /Firewall/~ConfigFiles/~SecurityInspection/common /Firewall/~ConfigFiles/~SecurityInspection/common.back//''
#''//setconf /Firewall/~ConfigFiles/~SecurityInspection/common Stateful Verbose 1//''
#''//setconf /Firewall/~ConfigFiles/~SecurityInspection/common Stateful ~VerboseType,~AlarmBlock,~AlarmPass,~AlarmPacket//''
#creare un backup del file syslog.conf con questo comando ''//cp /etc/syslog.conf /etc/syslog.conf.backup//''
#modificare la riga ''//kern.* /dev/console//'' con ''//kern.* /tmp/alarm.log//''
#creare il file ''//alarm.log//'' digitando ''//touch /tmp/alarm.log//''
#a questo punto abilitare il syslog digitando questi comandi:
##''//killall -HUP syslogd//''
##''//syslogd//''
#Abilitare le modifiche fatte lanciando ''//enasq//'' <br> __''DA QUESTO MOMENTO ABBIAMO ABILITATO IL VERBOSE''__
* Per disabilitare il verbose lanciare questi comandi:
#''//mv /Firewall/~ConfigFiles/~SecurityInspection/common.back /Firewall/~ConfigFiles/~SecurityInspection/common//''
#''//mv /etc/syslog.conf.backup /etc/syslog.conf//''
#''//killall syslogd//''
#''//enasq//''
Il database che Netasq fornisce gratuitamente con l'appliance è suddiviso in 15 categorie (50 nel caso di Optenet), in entrambi i casi però è possibile aggiungere le proprie categorie personalizzate all'~SSLFilter.
#Andare quindi sotto ''//OBJECTS//'' → ''//Web Objects//''
#selezionare il tab ''//CERTIFICATE NAME(CN)//'' quindi cliccare su ''//+Add a certificate name group//''
#dare il ''//nome al gruppo//'' che vogliamo creare
#a questo punto ci spostiamo sulla parte destra dello schermo e inseriamo i common name da bloccare cliccando su ''//+Add a certificate name//''.<br>Attenzione che il common name può contenere il carattere ''*'' però deve sempre essere delimitato dal ''.''(punto)<br>Per questo motivo se inseriamo ''//*cia.gov//'' otteniamo un errore mentre se inseriamo ''//*.cia.gov//'' è ok.
Per capire quale sia il ''//common name//'' di un sito in https e per avere maggiori informazioni sul funzionamento dell'~SSLFiltering cliccate [[qui|Come funziona l'SSL Filtering]]
Il database che Netasq fornisce gratuitamente con l'appliance è suddiviso in 15 categorie (50 nel caso di Optenet), in entrambi i casi però è possibile aggiungere le proprie categorie personalizzate all'~URLFilter.
#Andare quindi sotto ''//OBJECTS//'' → ''//Web Objects//''
#selezionare il tab ''//URL//'' quindi cliccare su ''//+Add a URL Group//''
#dare il ''//nome al gruppo//'' che vogliamo creare
#a questo punto ci spostiamo sulla parte destra dello schermo e inseriamo gli url da bloccare cliccando su ''//+Add a URL//''.<br>Per farlo è possibile utilizzare delle wildcards:''//'*' '?' '/' '.' '-' '_' [a-z] [~A-Z] [0-9]//''
__Ad esempio: ''//*facebook*//'' blocca tutti gli URL con la parola ''//facebook//'' all'interno__
Per poter filtrare le email dirette al nostro mail server utilizzando il proxy SMTP del Netasq dobbiamo creare una regola di filtro seguendo questi passi:
#andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//''
#assicurarsi di essere nel tab ''//FILTERING//'' e cliccare su ''//New rule//'' → ''//Standard rule//''
#una nuova regola verrà aggiunta al nostro slot e ora andiamo ad editarla:
##attivare la regola e settarla a ''//Pass//''
##sotto ''//Source//'' andiamo a mettere l'oggetto dal quale arriveranno le richieste per il mail server ad esempio ''//Internet//''
##sotto ''//Destination//'' facciamo doppio click:
###nel tab ''//General//'' mettiamo come destination ''//Firewall_out//''
###nel tab ''//ADVANCED PROPERTIES//'' mettiamo come ''//NAT on destination//'' l'oggetto relativo al nostro mail server, nell'esempio ''//mailserverinterno//''
##sotto ''//Dest. port//'' facciamo doppio click:
###sotto ''//Destination port://'' mettiamo ''//smtp//''
###sotto ''//Transalated dest. port//'' mettiamo la porta sulla quale è in ascolto il mail server (nell'esempio usiamo ''//smtp_proxy//'' supponendo che il mail server ascolti sulla 8081). <br>__Non sarebbe un problema mettere smtp ma nell'esempio voglio far vedere che è possibile cambiare la porta di destinazione__
##nella colonna ''//Security Inspection//'' abilitiamo il proxy impostando l'''//SMTP filtering//'' che desideriamo (se non vogliamo fare ''//SMTP filtering//'' ma solo ''//Antispam//'' o ''//Antivirus//'' basta abilitare l'opzione che vogliamo')<br> __E' importante abilitare il proxy HTTP altrimenti non avviene la ridirezione in modo corretto verso il proxy esterno__
Ecco qui come si presenta la regola che abbiamo creato:
<html><img src="img/proxySMTPredirect.jpg" border="0" alt="Foto"></html>
In questo articolo andremo a vedere come analizzare il verbose e per fare questo vedremo alcuni esempi pratici.
!!!!La fase 1 non sale
#Sul log ''//l_vpn//'' quando cerco di instaurare la vpn dal mio client Netasq ottengo questo:<br>@@color(green)://id=firewall time="2012-01-04 11:58:52" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 11:58:52" ''error=2 phase=1'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0x58366c90026e0250 cookie_r=0x0000000000000000 user=francesco.redaelli@netasq.com msg=''"Could not get a valid proposal"''
id=firewall time="2012-01-04 11:58:52" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 11:58:52" ''error=2 phase=1'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 msg=''"Negociation failed"''//@@<br>Come potete vedere l'errore si trova sulla ''//fase1//'', andiamo quindi ad analizzare il verbose per identificare quale parametro della ''//fase1//'' abbiamo sbagliato.<br>All'inizio del file di verbose troviamo tutti i parametri relativi alla fase 1 configurati sul nostro FW:<br>@@color(green)://2012-01-04 11:57:34: DEBUG: reading config file /var/tmp/racoon.conf
-----------------------------------------------------------------------------------
2012-01-04 11:57:34: ~DEBUG2: lifetime = 21600
2012-01-04 11:57:34: ~DEBUG2: lifebyte = 0
2012-01-04 11:57:34: ~DEBUG2: encklen=128
2012-01-04 11:57:34: ~DEBUG2: p:1 t:1
2012-01-04 11:57:34: ~DEBUG2: ~AES-CBC(7)
2012-01-04 11:57:34: ~DEBUG2: SHA(2)
2012-01-04 11:57:34: ~DEBUG2: 1024-bit MODP group(2)
2012-01-04 11:57:34: ~DEBUG2: pre-shared key(1)
-----------------------------------------------------------------------------------
2012-01-04 11:57:34: ~DEBUG2:
2012-01-04 11:57:34: ~DEBUG2: lifetime = 21600
2012-01-04 11:57:34: ~DEBUG2: lifebyte = 0
2012-01-04 11:57:34: ~DEBUG2: encklen=128
2012-01-04 11:57:34: ~DEBUG2: p:1 t:2
2012-01-04 11:57:34: ~DEBUG2: ~Blowfish-CBC(3)
2012-01-04 11:57:34: ~DEBUG2: SHA(2)
2012-01-04 11:57:34: ~DEBUG2: 1024-bit MODP group(2)
2012-01-04 11:57:34: ~DEBUG2: pre-shared key(1)
-----------------------------------------------------------------------------------
2012-01-04 11:57:34: ~DEBUG2:
2012-01-04 11:57:34: ~DEBUG2: lifetime = 21600
2012-01-04 11:57:34: ~DEBUG2: lifebyte = 0
2012-01-04 11:57:34: ~DEBUG2: encklen=0
2012-01-04 11:57:34: ~DEBUG2: p:1 t:3
2012-01-04 11:57:34: ~DEBUG2: 3DES-CBC(5)
2012-01-04 11:57:34: ~DEBUG2: SHA(2)
2012-01-04 11:57:34: ~DEBUG2: 1024-bit MODP group(2)
2012-01-04 11:57:34: ~DEBUG2: pre-shared key(1)//@@<br>
#Come potete vedere ci sono 3 set di parametri(la linea tratteggiata è stata aggiunta da me per renderli più visibili) che il FW accetta<br> Proseguendo nelal lettura del verbose possiamo trovare i parametri che vengono inviati dal client e troviamo anche l'errore:<br>@@color(green):2012-01-04 11:58:52: DEBUG: lifetime = 21600<br>2012-01-04 11:58:52: DEBUG: lifebyte = 0<br>''//2012-01-04 11:58:52: DEBUG: :enctype = ~DES-CBC//''<br>2012-01-04 11:58:52: DEBUG: encklen = 0<br>2012-01-04 11:58:52: DEBUG: hashtype = SHA<br>2012-01-04 11:58:52: DEBUG: authmethod = pre-shared key<br>2012-01-04 11:58:52: DEBUG: dh_group = 1024-bit MODP group<br>2012-01-04 11:58:52: ~DEBUG2: checkisakmpsa:<br>authmethod: 1 / 1<br>2012-01-04 11:58:52: ~DEBUG2: checkisakmpsa<br>authmethod: 1 / 1<br>2012-01-04 11:58:52: ~DEBUG2: checkisakmpsa:<br>authmethod: 1 / 1<br>2012-01-04 11:58:52: ERROR: no suitable proposal found.@@
#Il problema sta nel parametro realtivo all'''//encryption//'' che sul client è stato settato a ''//DES//'' quando invece il FW si aspetta ''//AES//'', ''//Blowfish//'' oppure ''//3DES//'' come potete vedere al punto 1
#Se volete prendere visione del file di verbose completo usato per scrivere questo articolo cliccate [[qui|http://netwhat.altervista.org/racoon1.log]]
!!!!La fase 2 non sale, primo caso:
#Sul log ''//l_vpn//'' quando cerco di instaurare la vpn dal mio client Netasq ottengo questo:<br>@@color(green):id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x0000000000000000 msg="DPD support detected"
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" error=0 phase=1 user=francesco.redaelli msg="User allowed"
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x14039978e83915c1 user=francesco.redaelli msg="~INITIAL-CONTACT sent"
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x14039978e83915c1 user=francesco.redaelli msg="Phase established"
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" ''//error=2 phase=2//'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x14039978e83915c1 user=francesco.redaelli msg=''//"Could not get a valid proposal"//''
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" ''//error=2 phase=2//'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x14039978e83915c1 localnet=192.168.85.0/24 remotenet=192.168.2.103 user=francesco.redaelli msg=''//"Could not get a valid proposal"//''
id=firewall time="2012-01-04 12:05:08" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:05:08" ''//error=2 phase=2//'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xf4d79dd42aa1c3ce cookie_r=0x14039978e83915c1 user=francesco.redaelli msg=''//"Negociation failed"//''@@<br>Come potete vedere l'errore si trova sulla ''//fase2//'', andiamo quindi ad analizzare il verbose per identificare quale parametro della ''//fase2//'' abbiamo sbagliato.
#Se cerchiamo la parola ''//WARNING//'' troviamo queste righe all'interno delle quali troviamo subito il problema:<br>@@color(green):2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:AES peer:DES//''<br>2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:AES peer:DES//''<br>2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:BLOWFISH peer:DES//''<br>2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:BLOWFISH peer:DES//''<br>2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:3DES peer:DES//''<br>2012-01-04 12:05:08: WARNING: trns_id mismatched: ''//my:3DES peer:DES//''@@<br>Come potete vedere il peer(che sarebbe il mio client invia come encryption DES mentre il FW(my) si aspetta altri valori.
#Se volete prendere visione del file di verbose completo usato per scrivere questo articolo cliccate [[qui|http://netwhat.altervista.org/racoon2.log]]
!!!!La fase 2 non sale, secondo caso:
#Sul log ''//l_vpn//'' quando cerco di instaurare la vpn dal mio client Netasq ottengo questo:<br>@@color(green):id=firewall time="2012-01-04 12:23:42" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:23:42" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xa8b1fb3e994282b3 cookie_r=0x0000000000000000 msg="DPD support detected"
id=firewall time="2012-01-04 12:23:42" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:23:42" error=0 phase=1 user=francesco.redaelli msg="User allowed"
id=firewall time="2012-01-04 12:23:42" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:23:42" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xa8b1fb3e994282b3 cookie_r=0xcd39adca3223024a user=francesco.redaelli msg="~INITIAL-CONTACT sent"
id=firewall time="2012-01-04 12:23:42" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:23:42" error=0 phase=1 src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xa8b1fb3e994282b3 cookie_r=0xcd39adca3223024a user=francesco.redaelli msg="Phase established"
id=firewall time="2012-01-04 12:23:42" fw="~V50XXA0E0000011" tz=+0100 startime="2012-01-04 12:23:42" ''//error=2 phase=2//'' src=192.168.2.106 srcname=Firewall_out dst=192.168.2.103 side=responder cookie_i=0xa8b1fb3e994282b3 cookie_r=0xcd39adca3223024a localnet=192.168.85.0/22 remotenet=192.168.2.103 user=francesco.redaelli msg=''//"Negociation failed"//''@@<br>Come potete vedere l'errore si trova sulla fase2, andiamo quindi ad analizzare il verbose per identificare quale parametro della fase2 abbiamo sbagliato.
#Analizzando il verbose ad un certo punto troviamo queste informazioni:<br>@@color(green):2012-01-04 12:23:42: DEBUG: getsainfo params: loc='192.168.85.0/22' rmt='192.168.2.103' peer='francesco.redaelli@netasq.com' client='192.168.2.103' id=4294967295
2012-01-04 12:23:42: DEBUG: evaluating sainfo: loc='192.168.85.0/24', rmt='ANONYMOUS', peer='ANY', id=4294967295
2012-01-04 12:23:42: DEBUG: check and compare ids : value mismatch (~IPv4_subnet)
2012-01-04 12:23:42: DEBUG: cmpid target: '192.168.85.0/22'
2012-01-04 12:23:42: DEBUG: cmpid source: '192.168.85.0/24'
2012-01-04 12:23:42: ERROR: failed to get sainfo.
2012-01-04 12:23:42: ERROR: failed to get sainfo.
2012-01-04 12:23:42: [192.168.2.103] ERROR: failed to pre-process ph2 packet (side: 1, status: 1).@@
#Nelle prime due righe ''//getsainfo params//'' e ''//evaluating sainfo//'' troviamo prima i parametri che invia il client(getsainfo params) poi i parametri che si aspetta il nostro FW(evaluating sainfo).<br>Come potete vedere nelle righe successive vengono paragonati i ''//cmpid target//'' (parametro inviato dal client) con il ''//cmpid source//'' parametro configurato nel FW e come potete vedere le network sono diverse quindi il tunnel non sale.
#Per risolvere il problema quindi basta modificare la network sul nostro client facendola diventare una /24
#Se volete prendere visione del file di verbose completo usato per scrivere questo articolo cliccate [[qui|http://netwhat.altervista.org/racoon3.log]]
Per assegnare una priorità ad una regola di filtraggio occorre creare una coda di tipo PRIQ
Andare sotto ''//SECURITY POLICY//'' → ''//QOS//'' → ''//ADD A QUEUE//'' e sezionare ''//Priority Queue (PRIQ)//''
Specificare il nome della coda e il livello di priorità (7=priorità minima, 1=priorità massima)
<html><img src="img/priq.png" border="0" alt="immagine"></html>
Una volta create le code che ci interessano possiamo assegnarle alle regole di filtraggio mediante l'apposito menu a tendina ''//QUEUE//'' del tab ''//QUALITY OF SERVICE//'' accessibile nella colonna ''//ACTION//'' delle regole di filtro
La regola di filtraggio si presenterà quindi in questo modo:
<html><img src="img/priq2.jpg" border="0" alt="immagine"></html>
Per abilitare l'autenticazione mediante certificati occorre seguire i seguenti passi:
!!!!creazione di una infrastruttura PKI
#Aprire la GUI
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Settare la CA come default cliccando ''//Set as default//'' in alto a destra
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.Creiamo ora il certificato per il firewall<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto precedente (il nome del server certificate dovrà essere lo stesso FQDN che andremo a configurare come nome del firewall e risolto dal DNS in modo da non avere messaggi di errore, guardare qui per ulteriori dettagli: [[Come configurare l'autenticazione sul proxy http]])
!!!!Creazione di un utente
#Andare sotto ''//USERS//'' → ''//USERS//''→ ''//+Add User//'' <br>inserire i dati, premere ''//APPLY//'' e settare la password
#Selezionare ''//CERTIFICATE//'' e creare un certificato utente
!!!!Abilitazione autenticazione mediante certificati
#Andare sotto ''//USERS//'' → ''//Authentication//'' → ''//GENERAL//'' e abilitare il captive portal sulle interfacce interessate
#Selezione il certificato server precedentemente creato (per evitare il fastidioso messaggio di errore al collegamento)<br>ATTENZIONE: la modifica del certificato server comporta il logout e login con il nuovo certificato
#cliccare sul tab ''//AVAILABLE METHODS//'' e aggiungere Certificat (SSL) come metodo di autenticazione
#Selezionare la CA nel riquadro a destra
!!!!Abilitazione della connessione mediante certificati
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → ''//ACCESS POLICY//''
#aggiungere l'utente precedentemente creato e assegnare ''//SSL Certificate//'' nel campo ''//Authentication//''
!!!!Installazione e del Certificato
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//'' e selezione il certificato utente della CA creata precedentemente
#cliccare su ''//Download//'' → ''//Certificate as a P12 file//'', digitare una password per proteggere il certificato e scaricarlo
#installare il certificato cliccandoci sopra (IE) oppure dal menu ''//Modifica//'' → ''//Preferenze//''→ ''//Avanzate//'' → ''//Mostra Certificati//'' di Firefox
#Seguire la procedura [[Come configurare l'autenticazione sul proxy http]] se si vuole autenticare gli utenti in uscita
* [[Come impostare diversi intervalli di tempo tra un autoupdate e l'altro per i vari moduli|Come impostare diversi intervalli di tempo tra un update e l'altro per i vari moduli]]
In questa sezione vedremo articoli relativi al backup e al restore della configurazione sul FW
!!!!Backup
*[[Come effettuare un backup completo|Come effettuare un backup completo]]
*[[Comne effettuare un backup parziale|Come effettuare un backup parziale]]
!!!!Restore
*[[Come effettuare il restore parziale di un solo modulo|Come effettuare il restore parziale di un solo modulo]]
*[[Come effettuare il restore parziale di più moduli|Come effettuare il restore parziale di più moduli]]
Questo sito raccoglie una serie di procedure, scritte in italiano, utili per effettuare configurazioni sui FW NETASQ in versione 9.
Tutte le procedure che trovate qui devono essere eseguite da personale che ha partecipato ai corsi di formazione Netasq.
Per visualizzare le procedure originali, suggerite dalla Casamadre, invece, collegatevi al sito Netasq e andate nella sezione dedicata alla documentazione presente nella vostra Customer o Partner area
''SUGGERIMENTI PER L'UTILIZZO'':
#Per sapere quando è stato scritto o aggiornato l'ultimo articolo cliccare su ''//Timeline//'' (sul menù presente nella colonna a destra).
#Se volete inviare ad un vostro collega un determinato articolo e volete evitare che lo cerchi tra i vari menu basta che aprite l'articolo che vi interessa, cliccate su ''//permalink//'' e fate il copia incolla dell'indirizzo presente nel browser e inviatelo.<br>Qui sotto un'immagine che vi indica dove si trova il comando ''//permalink//'':<br><html><img src="img/permalink1.jpg" border="0" alt="Foto"></html>
#Ogni volta che cliccate su un nuovo articolo il vecchio articolo resterà aperto e nel caso questa cosa vi disturbi potete posizionarvi sull'articolo che vi interessa e cliccare su ''//close others//'' in questo modo chiudere tutti gli articolo tranne quello su cui siete posizionati.
#Se invece vogliamo chiudere tutti gli articoli che abbiamo aperto possiamo cliccare su ''//close all//'' che possiamo trovare nel menu presente nella colonna di destra
Per qualsiasi suggerimento scrivete pure a [[netwhat|mailto:netwhat@yahoo.it]]
E' anche possibile registrarsi all'RSS cliccando [[qui|http://netwhat.altervista.org/index.xml]]
Grazie
The Big Netowsky
Il ''//NAT before VPN//'' è quell'opzione che ci permette di ''//nattare//'' il traffico prima che venga criptato e infilato nel tunnel IPSEC.
Nella versione 9 questa opzione ha cambiato nome ed ora si chiama ''//Apply this translation rule to encapsulated traffic instead of encrypted traffic//''
Questa particolare funzione si utilizza, ad esempio, quando due sedi remote devono essere connesse in VPN ma entrambe hanno la stessa rete oppure può anche essere usata per soddisfare altre esigenze.
Per poter abilitare questa opzione non dobbiamo far altro che:
#''//creare la regola di NAT//'' sulla quale vogliamo attivare questa opzione
#in corrispondenza della riga dove abbiamo creato la regola di filtro cliccare sotto la colonna ''//Options//'' in modo da far apparire questa schermata quindi abilitare l'opzione<br><html><img src="img/nat_before_vpn.jpg" border="0" alt="Foto"></html>
#una volta attivata l'opzione la nostra regola di NAT si presenterà così<br><html><img src="img/nat_before_vpn_1.jpg" border="0" alt="Foto"></html><br>come potete veder sotto la colonna ''//Options//'' vediamo l'opzione abilitata.
Una volta stabilita una connessione VPN IPSEC site to site(tra due FW) potremmo avere la necessità di settare un ''//keep alive//'' in modo da tenere la vpn sempre attiva anche quando non c'e' traffico
Il ''//keep alive//'' non è altro che un pacchetto di tipo ICMP che il FW invia all'interno del tunnel e la sua abilitazione non richiede la configurazione di nessuna regola di filtro.
Per abilitarlo quindi dobbiamo andare sotto ''//VPN//'' → ''//~IPSec VPN//'' → selezionare il tab ''//ENCRYPTION POLICY - TUNNELS//'' poi la sezione ''//SITE TO SITE(~GATEWAY-GATEWAY)//''.
A questo punto abbiamo davanti a noi la lista dei tunnels configurati, clicchiamo quindi sulla prima riga dove abbiamo ''//LINE//'' - ''//Status//'' - ''//Local Network//'' - etc..... clicchiamo sulla freccia che si presenterà e aggiungiamo la colonna ''//Keep alive//''.
Qui sotto uno screenshot che ci aiuta a vedere dove cliccare.
<html><img src="img/keep_alive1.png" border="0" alt="Foto"></html>
Una volta aggiunta la colonna del ''//Keep alive//'' non dobbiamo far altro che cliccarci sopra e impostare il valore(espresso in secondi) che vogliamo sul tunnel interessato.
<html><img src="img/keepalive2.png" border="0" alt="Foto"></html>
Per permettere l'accesso al portale di autenticazione quando si hanno più interfacce esterne dobbiamo seguire questi passi
#Andare sotto ''//SECURITY POLICY//'' → ''//Implicit rules//'' e disabilitare ''//Allow external (unprotected) interfaces (Authd_ext) to access the authentication portal and the VPN SSL//''
#una volta disabilitato questa ''//Implicit rules//'' andiamo sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' e creiamo delle regole di filtro che permettono il traffico ''//https//'' verso le due interfacce pubbliche avendo cura di specificare l'''//incoming interface//'' e il ''//gateway//'' realtivo a quella interfaccia.
Qui sotto un esempio dove:
#''//U70_router//'' è il gateway connesso all'interfaccia ''//Firewall_out//''
#''//gateway_secondario//'' è quello connesso all'interfaccia ''//Firewall_out2//''
<html><img src="img/accesso_https_da_pi_gateway.jpg" border="0" alt="Foto"></html>
Ovviamente se abbiamo più di due gateway non dobbiamo far altro che creare altre regole di filtro.
In questo articolo vedremo come configurare l’autenticazione //trasparente// SPNEGO con Microsoft Active Directory (~W2K3,~W2K8)
Si consiglia di effettuare questa procedura solo dopo aver effettuato con successo la configurazione descritta in [[questo articolo|Integrazione trasparente tra Netasq e AD]]
* ''Sul Domain Controller Microsoft:''
#Scaricare e installare da [[qui|http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=96a35011-fd83-419d-939b-9a772ea2df90]] support tools (NB: è obbligatorio essere nell’ultimo service pack consigliato da Microsoft e quindi identificare i support tools corretti), necessari per l'esecuzione della procedura batch di SPNEGO.
#Verificare che siano stati installati i seguenti files:
##''//setspn.exe//''
##''//ktpass.exe//'' a [[questo link|https://kb.netasq.com/en/index.php/SPNEGO_Checklist]] si possono controllare le versioni supportate da SPNEGO.
#scaricare il batch di SPNEGO dal questo [[link|https://kb.netasq.com/en/index.php/Where_can_I_find_the_last_version_of_the_%27%27spnego.bat%27%27_script%3F]]
# creare sul DNS server che verrà usato dai client (browsers) e dal firewall un record “A” con valore uguale al “SYSTEM NAME” del firewall (verificare dai clients, con il comando “nslookup”, che il nome sia risolto correttamente).<br>__Attenzione, siete in un dominio Microsoft, il system name del firewall deve essere *solo* la parte iniziale del nome completo FQDN (infatti il domain controller aggiunge come suffisso il nome del dominio automaticamente)__
#eseguire il batch sul domain controller (creare un folder dedicata es: “c:\tmp” ed eseguirlo da questa posizione) usando per esempio questa sintassi:''//C:\tmp> spnego_1.3.bat ~TAC_ITALIA NETASQ.LOCAL NETASQ.LOCAL ~XSW23edc "C:\tmp\firewall.keytab"//'' dove:
##''//~TAC_ITALIA//'' corrisponde al nome da voi scelto (questo è solo un esempio…) per il system name del firewall; il batch creerà anche, in automatico, uno USER in Active Directory con lo stesso nome.
##''//NETASQ.LOCAL//'' è in nome del dominio DNS, solitamente è uguale al nome del dominio.
##''//NETASQ.LOCAL//'' è vostro nome di dominio Microsoft ''//IMPORTANTE IL NOME DI DOMINIO DEVE ESSERE SCRITTO TUTTO MAIUSCOLO ANCHE SE SUL DOMAIN CONTROLLER E’ MINUSCOLO//''
##''//~XSW23edc//'' è la password dello USER che il batch creerà in automatico in Active Directory (attenzione ai criteri di complessità della password impostati nel dominio, vanno rispettati)
##''//C:\tmp\firewall.keytab//'' è la posizione dove viene creato il file ''//firewall.keytab//'' che dovrà essere caricato sul firewall.<br>Il Batch creerà anche un file in “c:\tmp” che si chiama spnego.log dove c’è un dump dell’esecuzione del batch con i risultati ed eventuali errori.<br>In questo file il risultato dell’esecuzione del batch servirà per configurare il firewall all’uso di SPNEGO, per esempio:<br>//SPNEGO SCRIPT START<br>03/12/2011<br>16.56
All tools were found
User ~TAC_ITALIA created in Active Directory
SPN HTTP/~TAC_ITALIA.NETASQ.LOCAL@NETASQ.LOCAL
This computer seems to be running Windows 2003 Server
Targeting domain controller: netwhat.netasq.local
Using legacy password setting method
Successfully mapped HTTP/~TAC_ITALIA.NETASQ.LOCAL to ~TAC_ITALIA.
Key created.
Output keytab to C:\tmp\firewall.keytab:
Keytab version: 0x502
keysize 76 HTTP/~TAC_ITALIA.NETASQ.LOCAL@NETASQ.LOCAL ptype 1 (~KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (~RC4-HMAC) keylength 16 (0x5be710d2da30c337ffbcc74cf5b116e6)
KEYTAB created for SPN HTTP/~TAC_ITALIA.NETASQ.LOCAL@NETASQ.LOCAL mapped on user ~TAC_ITALIA into file "C:\tmp\firewall.keytab"
values to insert in the manager:
SPN=HTTP/~TAC_ITALIA.NETASQ.LOCAL
DOMAIN=NETASQ.LOCAL
FILE="C:\tmp\firewall.keytab"
SPNEGO SCRIPT END//
* ''Sul Firewall''
#Collegarsi al firewall tramite WEBGUI e andare nella sezione ''//USERS//'' → ''//Authentication//'' → ''//AVAILABLE METHODS//'' → ''//Add an authentication method//'' → ''//Transparent authentication(Spnego)//''<br>
##Nella voce ''//Service name//'' inserire __esattamente__ la voce: ''//HTTP/~TAC_ITALIA.NETASQ.LOCAL//'' (presa dal file spnego.log, sezione //values to insert in the manager//)
##Nella voce ''//Domain name//'' inserire __esattamente__ la voce: ''//NETASQ.LOCAL//''
##Nella sezione ''//Keytab//'' scegliere il file ''//firewall.keytab//'' generato dal batch
#Impostare nella sezione ''//USERS//'' → ''//Authentication//'' → ''//GENERAL//'' → ''//Advanced properties//'' → ''//Use the firewall name as FQDN//''
#Configurare le regole di filtro in modo da richiedere l’autenticazione(qui sotto un esempio):<html><img src="img/auth_http.jpg" border="0" alt="Foto"></html><br>
#Configurare sotto ''//USERS//'' → ''//Authentication//'' → ''//AVAILABLE METHODS//'' abilitare il metodo di autenticazione SPNEGO sulle interfacce interne.<br>Sempre su questa schermata nella finestra ''//Redirection method for the HTTP proxy//'' → ''//Internal Interfaces//'' selezionare ''//Transparent authentication (SPNEGO)//''
#Verificare sul client, in un browser compatibile con SPNEGO, che l’autenticazione avvenga ora correttamente (controllare sul monitor del firewall oppure da console con i comandi “sfctl –s user” e “sfctl –a user” per deregistrare lo user dal firewall e fare altri test) usando i seguenti URL di test, in base alla release di firmware del firewall:
##rel. 6.X:<br>https://TAC_ITALIA/sso.html
##rel. 7.X:<br>https://TAC_ITALIA/auth/sso.html
##rel. 8.X e 9.X (MA solo per Internet Explorer e verrà restituita solo una pagina bianca)<br>https://TAC_ITALIA/auth/sso.html?url=www.google.com
##rel. 8.X e 9.X (per gli altri browsers )usare:<br>https://TAC_ITALIA/auth/sso.html
* Note di configurazione sui browsers per usare SPNEGO (salvo bug delle singole versioni…):
''//Explorer//'':
##Funziona correttamente senza problemi basta essere nei valori di default del browser.
##Per eliminare il problema dell’errore di certificato tra firewall e browser, si rimanda alle procedura qui sotto:
###[[Generazione di certificato personalizzato per firewall Netasq con la CA interna del FW|Generazione di certificato personalizzato per firewall Netasq con la CA interna del FW]]
###[[Generazione di certificato personalizzato per firewall Netasq con Microsoft IIS e CA di un dominio Microsoft|Generazione di certificato personalizzato per firewall Netasq con Microsoft IIS e CA di un dominio Microsoft]]
''//Firefox//'':
##Importare il certificato del firewall per evitare di avere ogni volta l’errore di negoziazione dell’identità tra firewall e browser
##Andare sulla barra degli URL e digitare: “about:config”
###nel campo di filtro digitare: “nego”
###nei seguenti token “network.negotiate-auth.delegation-uris” e “network.negotiate-auth.trusted-uris”, scrivere il “SYSTEM NAME” del firewall es: ~TAC_ITALIA
''//Chrome//'':
##Non è attualmente supportato con SPNEGO
* ''Se avete problemi su SPNEGO potete effettuare questa Check list prima si aprire un caso in assistenza tecnica:''<br>https://kb.netasq.com/en/index.php/SPNEGO_Checklist
Nella confgurazione di default l'''//access list//'' per potersi collegare alla ''//WEBGUI//'' è configurata con l'oggetto ''//Network_internals//''.
Se non abbiamo la possibilità di raggiungere il FW dalla ''//Network_internals//'' ma ci possiamo collegare solo tramite ssh dall'interfaccia external, possiamo abilitare l'accesso alla ''//~WEBGUI//'' digitanto questi comandi dal prompt ssh del Firewall:
#''//setconf /usr/Firewall/~ConfigFiles/webadmin ACL Any//''
#''//nrestart sld//''
#''//nrestart serverd//''
Una volta fatti questi commandi, __se ci sono delle regole di filtro che permettono la connessione in https dall'esterno__, possiamo collegarci alla ''//WEBGUI//'' del FW.
Dopo i comandi fatti prima chiunque può collegarsi alla WEBGUI quindi se vogliamo limitare l'accesso solo ad un determinato gruppo di ip o a determinate Network non dobbiamo far altro che andare sotto ''//SYSTEM//'' → ''//Configuration//'' → ci spostiamo sul tab ''//FIREWALL ADMINISTRATION//'' e configuriamo secondo le nostre esigenze gli host che potranno collegarsi alla WEBGUI nella sezione ''//ACCESS TO FIREWALL ADMINISTRATION PAGES//''
Una volta configurato in maniera corretta il database del fw (vedi capitolo [[Configurazione DB esterni o interno|Configurazione DB esterni o interno]]) possiamo passare alla configurazione del ''//portale di autenticazione//''.
Per configurare il portale di autenticazione dobbiamo seguire questi passi:
#Andare sotto ''//USERS//'' → ''//Authentication//''
# ci si presenterà il primo tab chiamato ''//GENERAL//'' e all'interno del quale troviamo:
##''//Enable the captive portal//'' parametro da abilitare se vogliamo attivare il portale di autenticazione, subito sotto abbiamo 3 opzioni che ci permettono di decidere dove abilitare il portale:
###''//only from internal (protected) interfaces//''
###''//only from external (public) interfaces//''
###''//from internal and external interfaces//''
##''//Captive portal: SSL access//'' ci dà la possibilità di cambiare il certificato che il FW invia quando qualcuno si collega al portale di auth in modo da evitare il warning del browser.<br> Per sapere come creare il certificato utilizzando la CA interna del FW clicca [[qui|Generazione di certificato personalizzato per firewall Netasq con la CA interna del FW]] se invece vuoi creare il certificato usando la CA di Active directory clicca [[qui|Generazione di certificato personalizzato per firewall Netasq con Microsoft IIS e CA di un dominio Microsoft]]
##''//Advanced properties//'' abbiamo la possibilità di settare alcuni parametri:
###''//Interrupt connections once the authentication period expires//'' possiamo decidere se interrompere connessioni attive nel momento in cui l'autenticazione scada
###''//use the firewall account to check user authentication on the directory//'' con questa opzione diciamo al FW di usare l'utente admin(quello che abbiamo inserito durante il wizard per la connessione con AD o con un LDAP esterno) per verificare che le credenziali inserite nel portale di auth siano corrette.(__questa opzione la usiamo solo quando abbiamo un database esterno__)
###''//authenticate directly on the directory with the user account//'' con questa opzione diciamo al FW di usare username e password inserite nel portale di auth per autenticarsi sull'LDAP esterno o su AD.(__questa opzione la usiamo solo quando abbiamo un database esterno__)
###''//Use the firewall name as FQDN//'' con questa opzione decidiamo se il FW nella redirezione al portale di auth (si utilizza quando attiviamo l'autenticazione sui proxy) usa il serial number oppure il nome che gli abbiamo dato.
###''//Proxy configuration file (.pac) ://'' ci permette di caricare il file wpad che verrà distribuito ai client in caso stessero utilizzando il proxy HTTP esplicito
###''//Hide the NETASQ logo//'' possiamo decidere di nascondere il logo netasq quando ci colleghiamo al portale di autenticazione
#Passiamo ora al secondo tab chiamato ''//AVAILABLE METHOD//'' , in questo tab possiamo configurare i metodi di autenticazione che vogliamo utilizzare e possiamo anche scegliere se abilitare un determinato metodo solo sulle interfacce interne o su quelle esterne o su entrabe.<br>Ogni volta che selezioniamo un metodo di autenticazione dobbiamo sempre assicurarci che sulla parte destra (di fianco alla tabellina) sia tutto configurato.<br>Infine, sotto ''//Redirection method for the HTTP Proxy//'' possiamo decidere il metodo di autenticazione che vogliamo usare quando il portale di autenticazione è chiamato dai proxy.
#Il terzo e il quarto tab sono ''//INTERNAL INTERFACE//'' e ''//EXTERNAL INTERFACE//'' e al loro interno hanno gli stessi parametri quindi li vedremo una volta sola:
##nella sezione ''//User password//'' definiamo se l'utente ha oppure no la possibilità di cambiare password e possiamo anche dare una scadenza alla password
##nella sezione ''//Authentication periods allowed//'' definiamo il tempo massimo e minimo di autenticazione e anche la durata dell'autenticazione se effettuata in maniera trasparente(spnego vedi sezione dedicata ai [[Proxy|Proxy]])
##sotto ''//Advanced properties//'' invece possiamo:
###''//Allow acces to the .PAC file from internal interfaces//'' ci permette di abilitare l'accesso al pac file (nel caso fossimo sotto il tab dedicato alle external interface l'opzione si chiamerebbe ''//Allow acces to the .PAC file from external interfaces//'' )
###''//User enrolment//'' possiamo definire il comportamento del portale di creazione utente
###''//IP address and user relationship//'' ci permette di decidere se più utenti possono autenticarsi dallo stesso ip oppure ci permette di proibire l'autenticazione dello stesso utente da più indirizzi IP.
###''//Expiry of the HTTP cookie//'' definisce il comportamento dei cookie di autenticazione
L'esemio migliore per spiegare l'applicazione dello ''//URL filtering//'' all'interno del ''//proxy SSL//'' e quello del sito https://www.youtube.com.
Se vogliamo bloccare la navigazione verso https://www.youtube.com con l'''//SSL filtering//'' non dobbiamo inserie *youtube.com* nell'''//SSL filtering//'' perchè il CN del sito https://www.youtube.com è ''//google.com//'' quindi se lo vogliamo bloccarlo con l'''//SSL filtering//'' dobbiamo inserire goolge.com.
Per vedere il CN di un sito in HTTPS dobbiamo analizzare il certificato che il sito ci propone guardandolo nel browser:
<html><img src="img/certificate1.jpg" border="0" alt="Foto"></html>
A questo punto però abbiamo il problema che bloccando il CN google.com andremmo a bloccare anche la navigazione verso https://www.google.com quindi per bloccare youtube e non bloccare google dobbiamo effettuare il Decrypt per il CN google.com e nella seconda regola del proxy ssl dobbiamo inserire lo ''//URL Filtering//'' nel quale andiamo a bloccare youtube.com ma non google.com.
Nella seconda regola del proxy SSL possiamo inserire lo ''//URL filtering//'' perchè il traffico è decriptato(guarda [[qui|Spiegazione del flusso di una richiesta all'interno del proxy SSL]] il flusso dei dati all'interno del proxy ssl) quindi il FW è in grado di controllare la URL che l'utente ha inserito nel browser.
Per aumentare il timeout delle sessioni TCP dobbiamo agire sul parametro ''//TCP connection//'' che possiamo trovare sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and applications//'' → selezionare ''//~TCP-UDP//''.
Nella sezione ''//Timeout (seconds)//'' possiamo trovare il parametro ''//TCP connection//'' che di default è settato a 1800 secondi.
''ESEMPIO DI UTILIZZO DI QUESTO PARAMETRO:''
Il cliente ha problemi con le connessioni verso AS400 che cadono dopo un determinato periodo di inattività.
Se la ''//connessione cade dopo 30 minuti di inattività//'' la causa è il FW perchè il parametro ''//TCP connection//'' è settato di default a 1800 sec.
Per risolvere il problema dobbiamo quindi ''//aumentare questo parametro//'', è consigliabile però modificarlo su un ''//Inspection profile//'' diverso da quello di default in modo che questa timeout venga applicato solo alle connessioni tra i client e ~AS400.
__Questo parametro viene applicato a tutte le connessioni tcp gestite dall'Inspection Profile ed è un parametro unico sia per le regole di filtro che per il modulo di NAT.__
Per poter ottenere informazioni relative al ''//lease time//'', al ''//mac address//'' e all'''//hostname//'' degli apparati che hanno ottenuto l'ip dal server dhcp del FW non dobbiamo far altro che collegarci in ssh e lanciare ''//dhcpinfo//''.
Qui sotto potete trovare l'esempio di cosa otteniamo:
~V50XXA0I0000006>''//dhcpinfo//''
[~DHCP_Lease]
~IPAddress=192.168.85.11 Start="2012/01/13 17:41:42" End="2012/01/14 17:41:42" State="active" ~MacAddress="00:0c:29:37:e6:6a" Hostname="testpc-31153d"
!!!PRIMO METODO
Per poter bloccare ''//Facebook//'' possiamo utilizzare l'apposito allarme ''//Web : Facebook Connection with SSL//'' mettendolo a block sul corretto profilo di Inspection Profile e assicurandoci di non avere la regola che controlla l'HTTPS in IDS o Firewall mode.
In questo modo però non potremmo rendere possibile ''//l'utilizzo di Facebook durante la pausa pranzo//'' perchè questo allarme agisce solo identificando la login quindi se uno resta connesso anche dopo la pausa pranzo questo allarme risulta inefficace.
!!!SECONDO METODO
Se volessimo quindi bloccare Facebook esclusivamente durante le ore di lavoro (09-13 e 14-18) dobbiamo scrivere delle regole di filtro un pò più articolate in modo da andare ad analizzare tutto il traffico relativo a Facebook e non solo quello relativo alla login.
Per fare questo quindi dobbiamo abilitare prima di tutto i ''//Time objects//'' andando sotto ''//OBJECTS//'':
#clicchiamo quindi su ''//Add//'' e scegliamo ''//Add a weekly event//''
#nella parte destra della schermata configuriamo:
##il ''//nome//'' del nostro time objects
##i ''//giorni//'' in cui volgiamo che sia attivo
## i ''//Time slots//'' che possono anche essere più di uno.Nel nostro esempio ne creiamo due dalle 9 alle 13 e dalle 14 alle 18
##clicchiamo su ''//Apply//'' e salviamo.<br>Ecco qui come si presenta il nostro Time object<br><html><img src="img/time_object.jpg" border="0" alt="Foto"></html>
#andiamo ora a creare un gruppo(''//OBJECTS//'' → ''//Web objects//'') che applichieremo alla nostra regola con proxy SSL
##clicchiamo sul tab ''//CERTIFICATE NAME (CN)//''
##clicchiamo su ''//Add a certificate name group//'', nel nostro esempio lo chiameremo ''//blocco_facebook//''
##spostiamoci ora sulla parte destra della schermata e cliccando su ''//Add a certificate name//'' scriviamo ''//*.facebook.com//''
##ecco come deve essere il nostro gruppo CN<br><html><img src="img/web_object_blocco_facebook.jpg" border="0" alt="Foto"></html>
#una volta creato il CN group andiamo sotto ''//SECURITY POLICY//'' → ''//SSL filtering//''
##selezionato uno slot vuoto tra i dieci a disposizione (nell'esempio useremo lo slot 0)
##cancellare tutte le regole presenti un questo slot e rinominare lo slot se vogliamo(io lascerò il nome a default ''//(0) default00//'')
##cliccare su ''//Add//''
###abilitare la regola
###settare come action ''//Pass without decrypting//''
###come URL - CN settare ''//Any//''
##cliccare nuovamente su ''//Add//''
###abilitare la regola
###settare come action ''//Block without decrypting//''
###come URL - CN settare quella creata in precedenza ''//blocco_facebook//''
##cliccare su ''//Apply//'' e salvare
##ecco come deve essere il nostro SSL filtering(fate attenzione all'ordine delle regole, prima la regola con il block e poi quella con il pass)<br><html><img src="img/ssl_filtering_blocco_facebook.jpg" border="0" alt="Foto"></html>
#sempre stando sotto ''//SECURITY POLICY//'' andiamo su ''//Filter - NAT//'' e clicchiamo su ''//New Rule//'' → ''//SSL inspection rule//'' e al wizard inseriamo:
##come ''//Source Host//'' mettiamo ''//Network_in//''
##come ''//Incoming interface//'' mettiamo ''//in//''
##come ''//Destination//'' lasciamo ''//Internet//''
##come ''//Destination port//'' mettiamo ''//https//''
##come ''//SSL filtering policy//'' mettiamo quella creata nel punto 4(nel mio esempio è ''//(0) default00//'')
#una volta che il wizard ha creato le nostre due regole per l'SSL filtering dobbiamo editarle nella sezione ''//Action//'' settando ''//ore_lavorative//'' nell'opzione ''//Scheduling//'', ecco qui come devono essere le nostre regole finali<br><html><img src="img/blocco_facebook.jpg" border="0" alt="Foto"></html>
La funziona DHCP RELAY permette al FW di fare un forward delle richieste DHCP verso un server che si trova su una network diversa da quella in cui vinee fatta la richiesta, vediamo ora come configurarlo
#andare sotto ''//NETWORK//'' → ''//DHCP//''
#nel tab ''//GENERAL//'' abilitatre l'opzione ''//Enable service//'' e poi mettere il flag su ''//DHCP RELAY//''
#selezionare il tab ''//RELAY SETTINGS//'' (gli tab altri saranno in grigio e non selezionabili)
##in ''//DHCP Server(s)//'' configurare l'oggetto relativo al nostro DHCP server su cui dovremo inviare le richieste
##mettiamo il flag su ''//Relay DHCP queries for all interface//'' se tutte le interfacce del FW saranno interessate alla gestione del traffico relativo al DHCP relay <br>''OPPURE''
##clicchiamo su ''//Add//'' e aggiungiamo le interfacce che saranno interessate da questo tipo di traffico(ad esempio se il DHCP server è sulla ''//out//'' e i client che faranno la richiesta sulla ''//in//'' dobbiamo mettere ''//in//'' e ''//out//'').
Per configurare il proxy HTTP esplicito dobbiamo andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' cliccare su ''//New rule//'' → ''//Explicit HTTP proxy rule//''.
A questo punto partirà un wizard all'interno del quale dobbiamo configurare:
#''//Host//'' → la rete, il gruppo o l'host dove vogliamo applicare il proxy HTTP esplicito
#''//Incoming interface//'' → l'interfaccia dov'e' attestata la rete, il gruppo o l'host dove vogliamo applicare il proxy HTTP esplicito
#''//URL filtering//'' → selezionare lo slot di URL Filtering che vogliamo applicare
#''//Antivirus//'' → possiamo decidere se abilitare oppure no il controllo antivirus
Ecco qui l'esempio di una regola di proxy HTTP esplicito:
<html><img src="img/http_explicit_proxy.jpg" border="0" alt="Foto"></html>
Per abilitare il proxy trasparente non dobbiamo far altro che andare sulla regola di filtro dove permettiamo il traffico(HTTP,SMTP,~POP3,FTP,SSL) e cliccare sotto la colonna ''//Security inspection//'' ed abilitare l'inspection che vogliamo applicare:
#''//Antivirus//''
#''//Antispam//''
#''//URL Filtering//''
#''//SMTP Filtering//''
#''//FTP Filtering//''
#''//SSL Filtering//''
Qui sotto alcuni esempi:
<html><img src="img/proxy_trasparente.jpg" border="0" alt="Foto"></html>
Per abilitare l'autenticazione sul ''//proxy SSL//'' basta aggiungere una regola di autenticazione e modificare le regole dove applichiamo l'SSL Filtering.
La regola di autenticazione la possiamo creare usando il wizard cliccando su ''//New rule//'' → ''//Authentication rule//'' mentre nelle regola dove applichiamo l'//SSL Filtering// dobbiamo modificare il campo ''//Source//'' mettendo anche l'utente(possiamo mettere sia ''//All//'' oppure un gruppo di utenti per limitare la navigazione solo ad un gruppo di utenti)
Qui sotto un'immagine del set di regole che dobbiamo avere per usufruire dell'autenticazione sul proxy SSL:
<html><img src="img/auth_ssl_proxy1.jpg" border="0" alt="Foto"></html>
Per abilitare l'autenticazione sul proxy HTTP basta aggiungere una regola di autenticazione e modificare la regola dove applichiamo lo URL Filtering.
La regola di autenticazione la possiamo creare usando il wizard cliccando su ''//New rule//'' → ''//Authentication rule//'' mentre nella regola dove applichiamo lo //URL Filtering// dobbiamo modificare il campo ''//Source//'' mettendo anche l'utente(possiamo mettere sia ''//All//'' oppure un gruppo di utenti per limitare la navigazione solo ad un gruppo di utenti)
Qui sotto un immagine delle due regole che dobbiamo creare per avere l'autenticazione sul proxy HTTP:
<html><img src="img/auth_http.jpg" border="0" alt="Foto"></html>
Per abilitare l'autenticazione sul proxy HTTP esplicito basta aggiungere una regola di autenticazione e modificare la regola dove applichiamo lo ''//URL Filtering//''.
La regola di autenticazione la possiamo creare usando il wizard cliccando su ''//New rule//'' → ''//Authentication rule//'' mentre nella regola dove applichiamo lo ''//URL Filtering//'' dobbiamo modificare il campo ''//Source//'' mettendo anche l'utente(possiamo mettere sia All oppure un gruppo di utenti per limitare la navigazione solo ad un gruppo di utenti)
Come ultima cosa dobbiamo andare sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and application//'' → selezioniamo ''//HTTP//'' scegliamo il corretto profilo e andiamo sotto il tab ''//PROXY//'' e nelle ''//Advanced properties//'' mettiamo la spunta su ''//Allow several users per IP address//''.<br> __In questo modo quando l'utente cercherà un sito web riceverà un popup che gli chiederà di inserire username e password.__
Qui sotto un immagine delle tre regole che dobbiamo creare per avere l'autenticazione sul proxy HTTP esplicito:
<html><img src="img/http_explicit_proxy_auth-1.jpg" border="0" alt="Foto"></html>
Quando creiamo un tunnel IPSEC all'interno del quale abilitiamo il ''//Mode Config//'' non possiamo configurare più di una policy sotto ''//ANONYMOUS - MOBILE USERS//''.
Per questo motivo se vogliamo far raggiungere al nostro ''//client mobile//'' più di una rete dobbiamo per forza di cose:
*configurare come ''//Local Network//'' l'oggetto ''//all//''
oppure
*configurare come ''//Local Network//'' una ''//super network//'' che comprenda l'insieme delle network che vogliamo raggiungere attraverso il tunnel.
La connessione al firewall mediante certificati ci permette di non dovere utilizzare la password.
Qualora si utilizzi questo metodo è consigliabile prestare molta attenzione alla sicurezza perchè chiunque, una volta in possesso del vostro PC
potrebbe virtualmente collegarsi al firewall.
Firefox ad esempio mette a disposizione un metodo per bloccare con una singola password l'accesso ai certificati in ''//Preferenze//'' → ''//Sicurezza//'' → ''//Utilizza una password principale//''
Per configurare questo tipo di connessione occorre eseguire i seguenti passi:
#Seguire la procedura in [[Autenticazione mediante certificati]]
#Assegnare i privilegi di amministratore all'utente creato ''//SYSTEM//'' → ''//Administrators//'' → ''//Add and administrator//''
#Se l'utente creato ha i diritti di collegarsi come amministratore e mediante certificati è possibile ora connettersi al firewall in https e selezionare il flag ''//Authentication with SSL certificate//'' invece di utilizzare login e password.
Il file''//WPAD(web proxy autodiscovery)//'' è un file che serve a dare istruzioni al nostro browser su come instradare le richieste vero internet .
Il file ''//WPAD//'' ha molte potenzialità perchè possiamo usare come criterio di distinzione: rete, indirizzi ip, url, protocollo (http,https,ftp,....) e altre opzioni ancora che potete trovare su questo sito [[FindProxyURL|http://findproxyforurl.com/]]
A questo [[link|http://netwhat.altervista.org/wpad.zip]] invece possiamo trovare l'esempio di un file WPAD, __testato su un FW Netasq__, con i commenti che ci aiutano a capire a cosa serve ogni singola istruzione.
Quando andiamo a configurare le regole di URL Filtering possiamo decidere se utilizzare la regola ''//Block//'' oppure la regola ''//Redirect to the block page//''.
Quando andiamo ad abilitare questa seconda opzione possiamo modificare la pagina di blocco che viene presentata.
Per fare questo dobbiamo andare sotto ''//NOTIFICATIONS//'' → ''//Block messages//'' e andare nel tab ''//HTTP BLOCK PAGE//''
#cliccare su ''//Edit//'' (in alto a sinistra)
#si aprirà una finestra in cui possiamo vedere il codice HTML della pagina
#all'interno del codice HTML della pagina possiamo trovare la voce ''//<img id="inlineimage" alt=0 src="data:image/gif;base64,//'' seguita da una serie di caratteri che termina con ''//">//''
#tutti quei caratteri non sono altro che la foto della ''//X bianca su sfondo rosso//'' <html><img src="img/X.jpg" border="0" alt="Foto"></html> che vediamo quando abbiamo l'opzione ''//Redirect to the block page//'' abilitata su determinate categorie di URL
#per modificare quindi questa immagine non dobbiamo far altro che trovare l'immagine che volgiamo inserire al posto di quella e codificarla in base64, io uso [[questo tool|http://www.motobit.com/util/base64-decoder-encoder.asp]] disponibile online
#una volta ottenuta la codifica online della foto che desideriamo inserire non dobbiamo far altro che copiarla all'interno del codice HTML al posto di quella presente(X bianca su sfondo rosso)
__Se non vogliamo seguire la strada della codifica Base64 possiamo inserire un link ad un'immagine presente su un sito esterno dobbiamo però verificare che questo link sia raggiungibile dagli utenti che si trovano dietro il proxy.__
Per distribuire il file WPAD sui client tramite il FW (questa operazione può anche essere fatta tramite AD con le GPO) dobbiamo seguire queste istruzioni:
#abilitare il ''//server DHCP//'' del FW sotto ''//NETWORK//'' → ''//DHCP//''
#spostarci sul tab ''//SERVER SETTINGS//'' andare nella sezione relativa alle ''//Advanced configuration//''
#mettere il flag su ''//Distribute the web proxy autodiscovery (WPAD) file//''
#spostiamoci ora sotto ''//USERS//'' → ''//Authentication//''
#nel tab ''//GENERAL//'' andiamo nella sezione ''//Advanced configuration//''
#carichiamo il file ''//wpad.dat//'' dal nostro PC sul FW cliccando sull'apposito pulsante presente alla voce ''//Proxy configuration file (.pac) ://''
#una volta caricato il file non dobbiamo far altro che configurare i nostri browser in modo che scarichino in maniera automantica il file wpad.<br> Vediamo ora come possiamo fare con i tre browser più usati(Explorer, Firefox e Chrome)
''INTERNET EXPLORER''
Per abilitare il discovery automatico del file WPAD su Explorer non dobbiamo:
#andare sotto ''//Strumenti//'' → ''//Opzioni Internet//''
#cliccare sul tab ''//Connessioni//''
#cliccare su ''//Impostazioni LAN//'' e mettere il flag su ''//Rileva automaticamente impostazioni//''<br><html><img src="img/Explorer_wpad1.jpg" border="0" alt="Foto"></html>
''GOOGLE CHROME''
Attualmente nella versione 16 Goolge Chrome utilizza le stesse impostazioni di Explorer quindi non dobbiamo fare altro che configurare correttamente explorer.
In caso non dovessimo avere explorer invece dobbiamo:
#cliccare sull'icona della chiave che si trova sulla destra dopo la barra dell'indirizzo
#cliccare su ''//Opzioni//''
#selezionare dal menù sulla sinistra la voce ''//Roba da smanettoni//''
#andare nella sezione dedicata alla Rete e cliccare su ''//Modifica impostazioni proxy//''
#nella finestra che si aprirà cliccare su ''//Impostazioni LAN//'' e mettere il flag su ''//Rileva automaticamente impostazioni//''<br><html><img src="img/Explorer_wpad1.jpg" border="0" alt="Foto"></html>
''FIREFOX''
Per quanto riguarda firefox non possiamo abilitare il discovery automatico ma dobbiamo andare a dire al browser dove potrà trovare il file wpad quindi dobbiamo seguire questi passi:
#cliccare su ''//Strumenti//'' → ''//Opzioni//''
#cliccare su ''//Avanzate//'' → poi selezioniamo il tab ''//Rete//''
#a questo punto selezioniamo ''//Impostazioni//'' e mettiamo il flag su ''//Configurazione automatica del proxy(URL)//''
#inseriamo quindi il link dove firefox potrà trovare il file ''//wpad//'' che sarà __http://Firewall_ip:81/wpad.dat__ nello screenshot che vediamo sotto la mia Firewall_in aveva come ip 192.168.16.254 <br><html><img src="img/firefox_wpad1.jpg" border="0" alt="Foto"></html>
Per poter effettuare il restore di più moduli dobbiamo seguire questi passi:
#andare sotto ''//SYSTEM//'' → ''//MAINTENANCE//'' e cliccare sul tab ''//RESTORE//''
#cliccare su ''//Advanced properties//'' e selezionare con un flag i moduli di cui vogliamo fare il restore
#clicchiamo il tasto per caricare sul FW il nostro file di backup
#clicchiamo sul tasto ''//Restore the configuration from the backup file//''
Se nella lista presente sotto ''//Advanced properties//'' nel menu ''//MAINTENANCE//'' sotto il tab ''//RESTORE//'' non troviamo i moduli di cui vogliamo fare il restore dobbiamo eseguire il restore da CLI.
Per fare questo ci spostiamo sotto ''//SYSTEM//'' → ''//CLI//'' e seguiamo questi passi:
#digitiamo ''//CONFIG RESTORE LIST=vpn-ssl,vpn-pptp,urlfiltering FWSERIAL=LOCAL PASSWORD=adminadmin REFRESH=1//'' (__in questo esempio stiamo facendo il restore del modulo della VPN SSL e il backup è criptato con password adminadmin, in caso il nostro backup non sia stato criptato con password possiamo omettere l'opzione ''//PASSWORD=//'' dal comando che andremo a lanciare__)
#premiamo ''//enter//'' oppure il tasto ''//Launch//''
#la GUI ci presenterà una piccola finestrella, come quella mostrata qui sotto, che ci permetterà di selezionare il file di backup da cui vogliamo effetuare il restore<br><html><img src="img/partial_restore1.JPG" border="0" alt="Foto"></html>
#una volta selezionato il file cliccare su ''//sending file//''
#il FW effettuerà il restore del modulo e riporterà un messaggio simile a questo<br><html><img src="img/partial_restore.JPG" border="0" alt="Foto"></html>
Qui sotto possiamo trovare la lista completa dei moduli di cui possiamo fare il restore:
|all | global | snmp | statusweight |
|network | pattern | pvm | log |
|global | secure | cert | route |
|object | autoupdate | securityinspection | sysevent |
|filter | services | vpn-ssl | zebos |
|vpn | mailfiltering | vpn-pptp | antispam |
|ldap | dhcp | event-rules | mailgroup |
|urlfiltering | ntp | qos | communication |
|sslfiltering | dns | auth | system |
|urlgroup | webadmin | serverd | |
Per poter effettuare il restore di un solo modulo dobbiamo seguire questi passi:
#andare sotto ''//SYSTEM//'' → ''//MAINTENANCE//'' e cliccare sul tab ''//RESTORE//''
#cliccare su ''//Advanced properties//'' e selezionare con un flag il modulo di cui vogliamo fare il restore
#clicchiamo il tasto per caricare sul FW il nostro file di backup
#clicchiamo sul tasto ''//Restore the configuration from the backup file//''
Se nella lista presente sotto ''//Advanced properties//'' nel menu ''//MAINTENANCE//'' sotto il tab ''//RESTORE//'' non troviamo il modulo di cui vogliamo fare il restore dobbiamo eseguire il restore da CLI.
Per fare questo ci spostiamo sotto ''//SYSTEM//'' → ''//CLI//'' e seguiamo questi passi:
#digitiamo ''//CONFIG RESTORE LIST=vpn-ssl FWSERIAL=LOCAL PASSWORD=adminadmin REFRESH=1//'' (__in questo esempio stiamo facendo il restore del modulo della VPN SSL e il backup è criptato con password adminadmin, in caso il nostro backup non sia stato criptato con password possiamo omettere l'opzione ''//PASSWORD=//'' dal comando che andremo a lanciare__)
#premiamo ''//enter//'' oppure il tasto ''//Launch//''
#la GUI ci presenterà una piccola finestrella, come quella mostrata qui sotto, che ci permetterà di selezionare il file di backup da cui vogliamo effetuare il restore<br><html><img src="img/partial_restore1.JPG" border="0" alt="Foto"></html>
#una volta selezionato il file cliccare su ''//sending file//''
#il FW effettuerà il restore del modulo e riporterà un messaggio simile a questo<br><html><img src="img/partial_restore.JPG" border="0" alt="Foto"></html>
Qui sotto possiamo trovare la lista completa dei moduli di cui possiamo fare il restore:
|all | global | snmp | statusweight |
|network | pattern | pvm | log |
|global | secure | cert | route |
|object | autoupdate | securityinspection | sysevent |
|filter | services | vpn-ssl | zebos |
|vpn | mailfiltering | vpn-pptp | antispam |
|ldap | dhcp | event-rules | mailgroup |
|urlfiltering | ntp | qos | communication |
|sslfiltering | dns | auth | system |
|urlgroup | webadmin | serverd | |
Per effettuare il backup completo tramite WEBGUI dobbiamo seguire questi passi:
#andare sotto ''//SYSTEM//'' → ''//MAINTENANCE//'' e cliccare sul tab ''//BACKUP//''
#impostare il nome che vogliamo dare al nostro file di backup e clicchiamo su ''//Download//''
Se invece vogliamo fare il backup da connessione ssh del FW dobbiamo seguire questi passi:
#collegarsi al FW in ssh e lanciare il comando ''//cli//''
#inserire la password di admin per otterere il prompt ''//Netasq>//''
#una volta ottenuto il prompt ''//Netasq>//'' digitare ''//CONFIG BACKUP LIST=all > /tmp/backup.na//''
#il comando darà il seguente output<br><html><img src="img/backup_completo_CLI.JPG" border="0" alt="Foto"></html>
#usciamo dal prompt ''//Netasq>//'' digitanto ''//quit//''
#ora possiamo trasferire il backup completo tramite scp.
Non è possibile effettuare un backup parziale tramite WEBGUIma lo possaimo fare tramite CLI.
Per fare questo seguiamo i seguenti passi:
#collegarsi al FW in ssh e lanciare il comando ''//cli//''
#inserire la password di admin per otterere il prompt ''//Netasq>//''
#una volta ottenuto il prompt ''//Netasq>//'' digitare ''//CONFIG BACKUP LIST=vpn-ssl,vpn-pptp > /tmp/backup.na//'' (in questo esempio effettuiamo il backup del modulo VPN SSL e del modulo VPN PPTP)
#il comando darà il seguente output<br><html><img src="img/backup_completo_CLI.JPG" border="0" alt="Foto"></html>
#usciamo dal prompt ''//Netasq>//'' digitanto ''//quit//''
#ora possiamo trasferire il backup parziale tramite scp.
Qui possiamo trovare la lista completa dei moduli
|all | global | snmp | statusweight |
|network | pattern | pvm | log |
|global | secure | cert | route |
|object | autoupdate | securityinspection | sysevent |
|filter | services | vpn-ssl | zebos |
|vpn | mailfiltering | vpn-pptp | antispam |
|ldap | dhcp | event-rules | mailgroup |
|urlfiltering | ntp | qos | communication |
|sslfiltering | dns | auth | system |
|urlgroup | webadmin | serverd | |
Nella versione 8 per effettuare un redirect ad un proxy esterno usiamo un parametro presente all'interno della configurazione del proxy dove possiamo inseire indirizzo ip del proxy e porta sulla quale raggiungere questo proxy esterno.
Con la versione 9 i proxy sono stati completamente rivisti quindi anche la modalità con cui dobbiamo configurarli per redirigere il traffico verso un proxy esterno è cambiata.
!!!!Andiamo quindi a vedere come creare una regola di filtro per poter redirigere il traffico verso un proxy esterno(nell'esempio facciamo vero un proxy HTTP):
#andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//''
#assicurarsi di essere nel tab ''//FILTERING//'' e cliccare su ''//New rule//'' → ''//Standard rule//''
#una nuova regola verrà aggiunta al nostro slot e ora andiamo ad editarla:
##attivare la regola e settarla a ''//Pass//''
##sotto ''//Source//'' andiamo a mettere l'oggetto dal quale arriveranno le richieste per il proxy ad esempio ''//Network_in//''
##sotto ''//Destination//'' facciamo doppio click:
###nel tab ''//General//'' mettiamo come destination ''//Internet//''
###nel tab ''//ADVANCED PROPERTIES//'' mettiamo come ''//NAT on destination//'' l'oggetto relativo al nostro proxy esterno
##sotto ''//Dest. port//'' facciamo doppio click:
###sotto ''//Destination port://'' mettiamo ''//http//''
###sotto ''//Transalated dest. port//'' mettiamo la porta sulla quale è in ascolto il proxy esterno
##nella colonna ''//Security Inspection//'' abilitiamo il proxy impostando lo ''//URL filtering//'' che desideriamo (se non vogliamo fare URL filtering basta impostare uno slot di URL Filtering dove abbiamo ''//pass all//'')<br> __E' importante abilitare il proxy HTTP altrimenti non avviene la ridirezione in modo corretto verso il proxy esterno__
Ecco qui come si presenta la regola che abbiamo creato:
<html><img src="img/proxyHTTPredirect.jpg" border="0" alt="Foto"></html>
Quando abilitiamo il proxy SSL il Firewall si comporta come //man in the middle// quindi crea un certificato //fasullo// utilizzando la CA che impostiamo sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and applications//'' → ''//SSL//'' →''//Go to global configuration//''(lo trovate in alto a destra).
Di default il FW ha una CA che si chiama ''//SSL proxy default authority//'' ma ovviamente la possiamo cambiare con qualsiasi altra CA che andiamo a creare o importare andando sotto ''//OBJECTS//'' → ''//Certificates and PKI//''.
Una volta settata la CA che desideriamo dobbiamo esportarla dal FW ed importarla nel browser dei pc(nella sezione ''//Autorità di certificazione fonti attendibili//'') in modo che non avranno più l'errore del certificato sconosciuto.
Questa operazione può anche essere fatta utilizzando una GPO su Active Directory(se presente) in modo da distribuire il certificato quando i pc fanno il logon al dominio.
Clicca [[qui|Spiegazione del flusso di una richiesta all'interno del proxy SSL]] per vedere il flusso dei dati all'interno del proxy SSL.
Con l'introduzione del proxy SSL è stato inserito anche l'SSL Filtering che potete trovare sotto ''//SECURITY POLICY//'' → ''//SSL filtering//''.
Come tutti gli altri filtri(URL, SMTP) ci sono 10 slot di configurazione.
Nella configurazione dell'''//SSL filtering//'' possiamo usare il database delle URL(Netasq oppure Optenet),le URL personalizzate che i gruppi creati con ''//CERTIFICATE NAME//'', questi tre database li possiamo configurare andando sotto ''//OBJECTS//'' → ''//Web objects//''
Nella configurazione dell'''//SSL filtering//'' dobbiamo però tenere conto che le varie azioni configurabili
#''//Decrypt//'' → effettua il decrypt del traffico andando fino al punto 6 del flusso descritto [[qui|Spiegazione del flusso di una richiesta all'interno del proxy SSL]]
#''//Block without decrypt//'' → blocca la connessione al punto 3 del flusso descritto [[qui|Spiegazione del flusso di una richiesta all'interno del proxy SSL]]
#''//Pass without decrypt//'' → il proxy ssl viene disabilitato e la connessione tra il web server e il client viene fatta direttamente.
verrano applicate non in base alla URL che insieriamo nel browser ma verranno applicate in base al CN.
Attualmente non è possibile definire intervalli di tempo tra un update e l'altro per i vari moduli (Antispam, ~URLFiltering, Patterns, Kaspersky, Clamav, Optenet, Vaderetro, Pvm) andando sotto ''//SYSTEM//'' → ''//Active Update//''.
Di default per tutti i moduli l'intervallo è settato a ''//3h//''
Questa default però può essere modificato tramite ''//CLI//'' e per farlo dobbiamo seguire questi passi:
#andare sotto ''//SYSTEM//'' → ''//CLI//''
#digitare ''//CONFIG AUTOUPDATE SERVER PERIOD=30m UPDATE=~URLFiltering//'' (in questo esempio settiamo l'intervallo di update a 30m per il modulo ~URLFiltering)<br>Ovviamente nell'opzione ''//PERIOD//'' possiamo configurare anche ore inserndo ad esempio ''//5h//'' mentre nell'opzione ''//UPDATE//'' possiamo inseriere uno di questi valori:''//Antispam, ~URLFiltering, Patterns, Kaspersky, Clamav, Optenet, Vaderetro, Pvm//'')
#attiviamo la configurazione fatta digitando ''//CONFIG AUTOUPDATE ACTIVATE//''
#per controllare che la modifica sia andata a buon fine digitiamo ''//CONFIG AUTOUPDATE SHOW//'' in modo da ottenere un output simile a questo (come potete vedere il Period per il modulo URLFIltering è settato a 30m)<br><html><img src="img/autoupdate_cli.JPG" border="0" alt="Foto"></html>
In caso dovessimo configurare una VPN IPSEC tra ''//due sedi in cui abbiamo la stessa Netwrok_in//'' dobbiamo seguire questa procedura in modo da permettere la __connessione e lo scambio di dati tra le due sedi senza modificare nulla nella configurazione di rete dei due Firewall__.
L'opzione che ci dà la possibilità di creare un tunnel ipsec senza modificare niente è ''//[[NAT before VPN|Come abilitare il NAT before VPN]]//''
Facciamo ora un esempio su come bisogna configurare i FW in questi casi.
#Supponiamo di avere una rete così:<br><html><img src="img/VPN_same_network2.jpg" border="0" alt="Foto"></html>
#Come possiamo vedere le Network_in di entrambi i FW sono 192.168.18.0/24 quindi sarebbe impossibile farle comunicare tra loro.
#Andiamo su ''//entrambi i FW//'' e creiamo due oggetti di tipo network:
##''//virtual_netA=172.17.18.0/24//''
##''//virtual_netB=172.17.17.0/24//''
#Ora ''//andiamo sul ~FW_A//'' e creiamo le seguenti regole di filtro per permettere il traffico tra le due sedi nel tunnel VPN<br><html><img src="img/VPN_same_net_filterA.jpg" border="0" alt="Foto"></html>
#''//Sempre sul ~FW_A//'' creiamo le seguenti regole di NAT riconrdandoci di attivare l'opzione ''//[[NAT before VPN|Come abilitare il NAT before VPN]]//''<br><html><img src="img/VPN_same_network_natA.jpg" border="0" alt="Foto"></html>
#Ora ci ''//spostiamo sul ~FW_B//'' e creiamo le seguenti regole di filtro per permettre il traffico tra le due sedi nel tunnel VPN<br><html><img src="img/VPN_same_network_filterB.png" border="0" alt="Foto"></html>
#''//Sempre sul ~FW_B//'' creiamo le seguenti regole di NAT riconrdandoci di attivare l'opzione ''//[[NAT before VPN|Come abilitare il NAT before VPN]]//''<br><html><img src="img/VPN_same_network_natB.png" border="0" alt="Foto"></html>
#Una volta create tutte le regole torniamo sul ''//~FW_A//'' e andiamo nel menù della VPN IPSEC e dopo aver creato il ''//peer verso il ~FW_B//'' ci spostiamo nella sezione ''//ENCRYPTION POLICY - TUNNEL//'' configurando il ''//site to site gateway//'' così(nell'esempio il peer si chiama ~Site_U701):<br><html><img src="img/vpn_site_to_site_A.jpg" border="0" alt="Foto"></html>
#Spostiamoci sul ''//~FW_B//'' e andiamo nel menù della VPN IPSEC e dopo avere creato il ''//peer verso il ~FW_A//'' ci spostiamo nella sezione ''//ENCRYPTION POLICY - TUNNEL//'' configurando il ''//site to site gateway//'' così(nell'esempio il peer si chiama ~Site_U2501):<br><html><img src="img/vpn_site_to_site_B.jpg" border="0" alt="Foto"></html>
#Dopo aver attivato gli slot della VPN su entrambi i FW possiamo effettuare dei test tenendo presente che:
##quando dalla ''//Network_in del ~FW_A//'' devo raggiungere la ''//Network_in del ~FW_B//'' dovrò cercare ''//172.17.17.XX//''
##quando dalla ''//Network_in del ~FW_B//'' devo raggiungere la ''//Network_in del ~FW_A//'' dovrò cercare ''//172.17.18.XX//''
@@Praticamente le regole di NAT che abbiamo creato effettuano un ''//MAP 1 a 1//'' tra la ''//Network_in e la sua rispettiva Network virtuale//'' quindi se abbiamo un server con directory condivise nella ''//Network_in del ~FW_A con indirizzo 192.168.18.200''// il suo ''//ip virtuale//'' per i client della ''//Network_in del ~FW_B//'' sarà ''//172.17.18.200//''.@@
Per poter instaurare una vpn su un'interfaccia dove non abbiamo il default gateway dobbiamo seguire questi passi:
#quando configuriamo il ''//PEER//'' dobbiamo ricordarci di specificare, nelle ''//Advanced properties//'', il ''//Local gateway//'' settandolo con l'''//interfaccia//'' dove vogliamo terminare la VPN
<html><img src="img/VPN_SU_LINK_DI_BACKUP_2.jpg" border="0" alt="Foto"></html>
#nella sezione ''//ENCRYPTION POLICY - TUNNELS//'' non dobbiamo fare nessuna configurazione particolare
#infine dobbiamo andare nelle regole di filtro e configurarle in questo modo:
<html><img src="img/VPN_SU_LINK_DI_BACKUP.jpg" border="0" alt="Foto"></html>
#a questo punto dovremmo essere in grado di instaurare la connessione con il nostro client IPSEC mobile
Per poter instaurare una vpn su un'interfaccia dove non abbiamo il default gateway dobbiamo seguire questi passi:
#quando configuriamo il ''//PEER//'' dobbiamo ricordarci di specificare, nelle ''//Advanced properties//'', il ''//Local gateway//'' settandolo con l'''//interfaccia//'' dove vogliamo terminare la VPN<br><html><img src="img/local_gateway_2.jpg" border="0" alt="Foto"></html>
#nella sezione ''//ENCRYPTION POLICY - TUNNELS//'' non dobbiamo fare nessuna configurazione particolare
#andiamo sotto ''//SECURITY POLICY//'' → ''//Implicit rules//'' e disabilitare ''//Allow ISAKMP(UDP port 500) and the ESP protocol for ~IPSec VPN peers.//''
#infine dobbiamo andare nelle regole di filtro e creare delle regole come queste:<br><html><img src="img/vpn_ipsec_site_second_gateway.jpg" border="0" alt="Foto"></html>
#a questo punto dovremmo essere in grado di instaurare la connessione IPSec site-to-site
Se abbiamo necessità di __utilizzare la porta 443 per pubblicare un servizio(ad esempio Ooutlook WEB Access)__, e abbiamo un solo ip pubblico a disposizione, dobbiamo per forza di cose modificare la porta su cui la WEBGUI è raggiungibile(di default infatti questa porta è la 443).
Per fare questo eseguiamo questi passi:
#se siamo connessi al FW tramite l'''//interfaccia esterna//'' ricordarsi di creare una ''//regola di filtro//'' che permette la connessione da ''//any//'' verso la ''//Firewall_out//'' sulla porta che andremo a configurare nei passi successivi
#andare sotto ''//SYSTEM//'' → ''//Configuration//''
#selezionare il tab ''//FIREWALL ADMINISTRATION//''
#nella sezione ''//Access to the firewall's administration interface//''
#modifichiamo il valore del campo ''//Listening port ://'' impostando la porta che vogliamo usare per raggiungere il FW tramite WEBGUI
#una volta applicata la modifica il FW sarà raggiungibile tramite la nuova porta quindi, sul nostro browser, dovremo digitare ''//https://~ip_firewall:nuova_porta/admin//''
Solitamente, se non si conosce bene Microsoft, diventa difficile trovare i campi da inserire come ''//Root domain(Base DN)//'' e ''//ID//'' nel wizard del FW quando vogliamo connetterlo ad AD.
Per ottenere queste informazioni in maniera veloce e precisa non dobbiamo far altro che //lanciare questo comando su AD//.
''//dsquery user -name xyz*//''
__Al posto di ''//xyz//'' dobbiamo mettere il nome dell'utente con privilegi di amministratore che vogliamo usare per collegare il FW ad AD.__
Facciamo ora un esempio:
#l'utente con privilegi di amministratore si chiama ''//netasq//'' quindi lanciamo il comando ''//dsquery//'' sotituendo ad ''//xyz//'' la parola ''//netasq//''<br><html><img src="img/AD_semplice1.jpg" border="0" alt="Foto"></html>
#come potete vedere il risultato è ''//"CN=netasq,OU=super utente,OU=utenti speciali,DC=netasq,DC=local"//''<br> Ottenuta la stringa completa che identifica la posizione del nostro utente all'interno di AD vediamo come estrapolare i campi che vanno messi sotto ''//Root domain(Base DN)//'' e ''//ID//''
##prendiamo la parte con ''//DC=//'', nel nostro esempio ''//DC=netasq,DC=local//'', e la copiamo nel campo ''//Root domain(Base DN)//''
##prendiamo il resto ''//CN=netasq,OU=super utente,OU=utenti speciali//'' e lo copiamo nel campo ''//ID//'' in modo da ottenere questa situazione<br><html><img src="img/AD_semplice2.jpg" border="0" alt="Foto"></html>
#ora possiamo terminare il wizard inserendo anche la password dell'utente e l'indirizzo ip del server AD.
Una volta configurata la vpn utilizzando il ''//Mode config//'' potremmo avere la necessità che chi si collega, con iPhone/iPad oppure con il Netasq VPN client o compatibile, utilizzi i DNS configurati sul FW nella sezione ''//SYSTEM//'' → ''//Configuration//'' → nel tab ''//NETWORK SETTINGS//'' oppure un altro dns per poter risolvere determinati domini.
Per fare questo abbiamo due possibilità:
#Andare sotto ''//VPN//'' → ''//IPSEC VPN//'' → selezionare il tab ''//ENCRYPTION POLICY - TUNNEL//'' → all'interno di questo tab selezionare il tab ''//ANONYMOUS - MOBILE USERS//'' ed espandere il menù chiamato ''//VPN client parameters (Config Mode)//''.<br>All'interno di questo menù potremmo configurare il ''//dns o un gruppo di dns//'' e i ''//domini//'' per cui vogliamo utitlizzare il dns configurato sopra, qui sotto troviamo un esempio:<br><html><img src="img/dns_iphone.jpg" border="0" alt="Foto"></html>
#Andare sotto ''//SYSTEM//'' → ''//CLI//'' e digitare questi comandi :
##''//CONFIG IPSEC UPDATE SLOT=01 ~CFG_DOMAIN=netasq.com,netasq.local//''
##''//CONFIG IPSEC UPDATE SLOT=01 ~CFG_DNS=dns_for_ipsec//''
##''//CONFIG IPSEC ACTIVATE//''
##''//CONFIG SLOT ACTIVATE type=vpn slot=01//''
__In questo esempio i due domini per i quali voglio utilizzare i DNS(dns_for_ipsec) sono netasq.com e netasq.local e il mio slot della vpn è lo 01, ovviamente se abbiamo più domini non dobbiamo far altro che aggiungerli separandoli da una virgola.__
__Come valori nel campo ''//~CFG_DNS//'' possiamo mettere si il nome di un oggetto(come in questo caso) oppure un gruppo contenente più oggetti, l'importante è che inseriamo un oggetto o un gruppo configurato sul FW.__
Come abbiamo visto in [[questo articolo|Spiegazione del flusso di una richiesta all'interno del proxy SSL]] il FW controlla che il certificato inviato dal server sia stato generato da una CA trusted.
Se noi dobbiamo andare su un sito HTTPS dove il certificato è stato generato da una CA non trusted dobbiamo scaricarci la CA che ha generato questo certificato e dobbiamo importarla nel FW seguendo questi passi
#andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//''
#clicco ''//Add//'' e selezionare ''//Import a file//''
#a questo punto parte il wizard che ci permetterà di importare la CA)
Una volta importata la CA nel FW la dobbiamo aggiungere nella configurazione del proxy SSL andando sotto ''//APLLICATION PROTECTION//'' → ''//Protocols and application//'' → ''//SSL//'' cliccare su ''//Go to global configuration//'' (lo trovate in alto a destra nella schermata).
Una volta entrati nella configurazione globale del protocollo ''//SSL//'' devo andare sotto il tab ''//CUSTOMIZED CERTIFICATE AUTHORITIES//'' cliccare su ''//Add//'' e selezionare la CA che abbiamo importato prima.
Da questo momento la navigazione verso il nostro server WEB con certificato generato da questa CA non verrà più bloccata.
Dalla versione ''//9.0.2//'' per poter permettere il passaggio di una connessione PPTP da un client presente nella ''//network internal//'' verso un server in ''//Internet//'' dobbiamo creare queste due regole di filtro:
# la prima regola di filtro deve permettere il passaggio della porta ''//pptp//'' (1723) dalla ''//network internal//'' verso ''//Internet//''
# la seconda regola di filtro deve permettere il protocollo ''//GRE//'' dalla ''//network internal//'' verso ''//Internet//''<br>Quando creiamo questa regola dobbiamo ricordarci did mettere il flag su ''//Stateful tracking//'' quando andiamo a selezionare ''//GRE//'' come nella foto qui sotto<br><html><img src="img/stateful_tracking.jpg" border="0" alt="Foto"></html><br>__Questa opzione serve per dire al Netasq di gestire in maniera stateful il protocollo ''//GRE//''__
Le nostre regole di filtro per permettere la ''//VPN PPTP//'' dalla ''//network internal//'' verso ''//Internet//'' saranno quindi così:
<html><img src="img/security_policy_PPTP.jpg" border="0" alt="Foto"></html>
In questo articolo andremo a vedere come modificare il portale di auth.
Si possono fare varie modifiche che vado ad elencare qui:
* __Eliminare il banner Netasq(quello che si trova in alto nel portale di auth)__
##per eliminare il banner bisogna andare sotto ''//USERS//'' → ''//Authentication//''
##selezionare il tab ''//GENERAL//''
##andare nelle ''//Advanced properties//'' e nella finestra relativa al ''//Captive Portal//'' mettere un flag su ''//Hide the NETASQ logo//'' e salvare
##ora andiamo sul portale di auth e vedremo che il banner netasq non ci sarà più.<br><html><img src="img/auth_senza_banner_netasq.jpg" border="0" alt="Foto"></html>
* __Sostituire il Banner netasq con quello della propria azienda__
##per sostituire il banner Netasq con il banner della propria azienda dobbiamo procurarci un banner in formato ''//jpg//'' che abbia queste dimensioni ''//800x50 pixels//''
##rinominiamo quindi il file del banner che vogliamo inserire chiamandolo ''//index-logo.jpg//''
## copiamo il file ''//index-logo.jpg//'' nella cartella ''///Firewall/~ConfigFiles/www//'' se la cartella ''//www//'' non esiste crearla con il comando ''//mkdir /Firewall/~ConfigFiles/www//''
##lanicare il comando ''//ensl//'' per attivare le modifiche
##ora non dobbiamo far altro che ricaricare il portale di auth per vedere il nuovo banner
*__Pubblicare un file utilizzando il FW come file server__
##copiare il file che vogliamo pubblicare nella cartella ''///data/~FileServer///''
##cocllegarsi in ssh al FW e lanciare il comando ''///Firewall/~ConfigFiles/auth Config fileserver 1//''
##lanicare il comando ''//ensl//'' per attivare le modifiche
##a questo punto apriamo il browser e lanciamo questa URL https://IP_FW/files/nomefile_che_abbiamo_copiato_al_punto_a
Per verificare lo stato della sincronizzazione del mio FW con il server NTP devo digitare da ssh questo comando ''//ntpq -p 127.0.0.1//''
Come output di questo comando otterremo:
<html><img src="img/ntp1.jpg" border="0" alt="Foto"></html>
Andiamo ora ad analizzare ogni singola colonna:
# la prima è la colonna senza titolo ed è ''//composta da un carattere//''
## * significa che il FW si sta sincronizzando con quel server
## + significa che questo NTP server è considerato buono e viene tenuto come server di backup
## - significa che la qualità del server non è buona
## x significa che questo server distribuisce un tempo inesatto.
# ''//remote//'' sta ad indicare l'ip o l'hostname del server NTP
# ''//refid//'' identifica la sorgente con la quale la macchina remota è sincronizzata a sua volta(es. orologio oppure un server NTP )
# ''//st//'' lo stratum della macchina remota.16 è il valore peggiore e significa che non è sincornizzata mentre 0 è il valore migliore e significa che la macchina remota è sincornizzata con un orologio.
# ''//when//'' indica quanti secondi sono passati dall'ultima volta che il FW ha fatto il pool sui server remoti
# ''//poll//'' il valore del polling in secondi
# ''//reach//'' indica il numero di query andate a buon fine la sequenza di questo campo è sempre ''//0, 1, 3, 7, 17, 37, 77, 177, 377//''. <br>377 indica che le ultime 8 query sono andate a buon fine
# ''//delay//'' indica il tempo, in millesecondi, impiegato per la comunicazione tra il FW e il server
# ''//offset//'' la diffirenza in millisecondi tra il tempo del FW e quello del server
# ''//jitter//'' la differenza in millisecondi tra le varie query che il FW fa al server
Per poter raggiungere un pc in remote desktop situato nella Network_in non dobbiamo far altro che utilizzare il tunnel SSH.
Il tunnel ssh non è altro che una funzionalità del protocollo ssh che ci permette di incanalare richieste verso altri server all'interno della connessione ssh.
<html><img src="img/ssh_tunnel_network_schema.jpg" border="0" alt="Foto"></html>
Vediamo ora come possiamo utilizzare questa funzionalità con i vari client ssh:
*''Putty''
##aprire putty e inserire l'indirizzo ip del FW a cui ci dobbiamo collegare
##spostiamoci sezione ''//Connection//'' → ''//SSH//'' → ''//Tunnels//''
##come prima cosa definiamo su che porta locale andremo a collegarci per raggiungere il pc in RDP nella sezione ''//Source port//''
##definiamo ora la destinazione e la porta che saranno l'indirizzo ip del pc all'interno della network_in e la porta del RDP nella sezione ''//Destination//''<br>Dovremmo avere una schermata simile a questa<br><html><img src="img/putty_tunnel.jpg" border="0" alt="Foto"></html>
##ora clicchiamo su ''//Add//'' per aggiungere questo tunnel ssh alla nostra connessione
##apriamo la connessione ssh e autentichiamoci al FW
##a questo punto lanciamo l'RDP client e come indirizzo inseriamo ''//127.0.0.1:3333//''
##grazie al tunnel ssh la connessione indirizzata verso l'''//ip 127.0.0.1 alla porta 3333//'' verrà girata all'''//ip 192.168.16.10 sulla port 3389//'' permettendoci così di raggiungere in rdp il pc situato nella network_in del FW
*''~SecureCRT''
##apire ~SecureCRT e inserire l'indirizzo ip del FW a cui ci dobbiamo collegare
##spostiamoci nella sezione ''//Connection//'' → ''//Port Forwarding//''
##clicchiamo su Add
##inserire il nome che vogliamo dare a questo tunnel ssh nel campo ''//Name//''
##mettiamo il flag su ''//Manually select local IP address on which to allow connection//''
##settiamo come ''//IP address://'' 127.0.0.1
##settiamo come ''//Port://'' 3333
##mettiamo il flag su ''//Destination host is different from the SSH server.//''
##settiamo come ''//Hostname://'' 192.168.16.10
##settiamo come ''//Port://'' 3389
##ora dovremmo avere una situazione come quella nell'immaggine qui sotto quindi premiamo ''//OK//'':<br><html><img src="img/secureCRT_tunnel.jpg" border="0" alt="Foto"></html>
##apriamo la connessione ssh e autentichiamoci al FW
##a questo punto lanciamo l'RDP client e come indirizzo inseriamo ''//127.0.0.1:3333//''
##grazie al tunnel ssh la connessione indirizzata verso l'''//ip 127.0.0.1 alla porta 3333//'' verrà girata all'''//ip 192.168.16.10 sulla port 3389//'' permettendoci così di raggiungere in rdp il pc situato nella network_in del FW
*''Dal terminale ssh di una macchina linux''
##aprire il terminale e lanciare questo comando ''//ssh admin@ip_address_FW -L 3333:192.168.16.10:3389//'' (''//3333//'' è la porta locale sulla quale dovremmo instaurare la connession RDP mentre ''//192.168.16.10//'' è l'ip del pc interno della Network_in e ''//3389//'' è la porta del remote desktop server presente sul pc)
##autenticarsi al FW
##aprire il remote desktop verso ''//127.0.0.1:3333//''
Per poter tracciare ''//data,ora e utente//'' relativi alle connessioni PPTP effettuate dobbiamo andare a guardare il log chiamato ''//System//''.
Per fare questo possiamo usare il ''//Reporter//'' cliccando su ''//Services//'' → ''//System//''(nello screenshot qui sotto l'utente che si è connesso è //america// mentre il suo ip di provienenza è 192.168.2.103).
<html><img src="img/pptp_login_logout.jpg" border="0" alt="Foto"></html>
Ovviamente in caso avessimo un U30/U70 dovremmo far inviare dal syslog il log ''//system//'' per poter avere queste informazioni sul reporter.
Se invece abbiamo un FW con HDD possiamo anche collegarci direttamente in ssh e guardare il file ''//l_system//'' che si trova sotto ''///log//''
In questa sezione potete trovare le procedure per poter collegare il Netasq a DB esterni
* [[Integrazione trasparente tra Netasq e AD|Integrazione trasparente tra Netasq e AD]]
* [[Come ottenere le info da inserire nel FW per poterci connettere su AD|Come ottenere le info da inserire nel FW per poterci connettere su AD]]
* [[Integrazione FW Netasq con server RADIUS|Integrazione FW Netasq con server RADIUS]]
* [[Installazione LDAP interno|Installazione LDAP interno]]
Per configurare la ''//VPN PPTP//'' dobbiamo andare sotto ''//VPN//'' → ''//PPTP Server//'' e abilitare la PPTP mettendo la spunta su ''//Enable PPTP server//''.
A questo punto possiamo configurare:
#''//IP addresses of PPTP clients(object)//'' → l'oggetto di tipo range che contiene il pool di indirizzi ip che assegnamo ai client che si collegheranno in PPTP(questo range deve essere parte della Network_in).
#il ''//DNS//''(opzionale) → il dns server che vogliamo assegnare ai client pptp che si collegheranno.
#''//il WINS//''(opzionale) → il wins server che vogliamo assegnare ai clienti pptp che si collegheranno
Nella sezione ''//Advanced properties//'' possiamo configurare il metodo con il quale vogliamo criptare il traffico(di default per pptp con sistemi windows possiamo lasciare il metodo di criptazione configurato di default).
Se vogliamo fare una VPN PPTP con iPhone cliccare [[qui|Configurazione VPN PPTP per iPhone]] per vedere che metodo di criptazione dobbiamo abilitare.
Una volta configurata la VPN PPTP dobbiamo creare username e password in modo che gli utenti possano autenticarsi.
Andare sotto ''//USERS//'' → ''//Access privileges//'' → andare sotto il tab ''//PPTP server//'' cliccare su ''//Add//'' e inserire username e password.
La username non deve essere necessariamente presente all'interno del database perchè la username e password vengono registrate separatamente.
__A fine configurazione ricordarsi di riattivare le regole di filtro per abilitare le regole implicite che permettono la connessione in VPN PPTP__
Una volta configurata la VPN PPT seguendo questa [[procedura|Configurazione VPN PPTP]] dobbiamo andare sotto ''//SYSTEM//'' → ''//CLI//'' e lanciare questi comandi in modo da abilitare il metodo di criptazione necessario per permettere la VPN PPTP su iPhone:
#''//config pptp method allowed=mppe40,mppe56,mppe128,mppesl//''
#''//config pptp activate//''
Dobbiamo lanciare questa configurazione da CLI perchè la GUI non è possibile abilititare il metodo di autenticazione ''//mppesl//''
In caso sul vostro FW vi troviate ad avere due linee internet diverse, attestate su due interfacce differenti del FW, potete rendere disponibile la connessione ''//PPTP//'' su entrambe le linee seguendo questa procedura.
# ''//SECURITY POLICY//'' → ''//Implicit rules//'' e disabilitare ''//Allow access to the PPTP server//''
# a questo punto abbiamo disabilitato le regole implicite che permettono la connessione in PPTP al FW quindi dobbiamo ''//creare delle regole esplcite//'' in modo da poter gestire le richieste provenienti dalle due linee internet:
##andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' e creare delle regole come quelle mostrate sotto:<br><html><img src="img/pptp_due_gateway.JPG" border="0" alt="Foto"></html><br>come potete vedere in questo esempio abbiamo due linee internet(Fastweb e NGI) attestate una sull'interfaccia ''//out(NGI)//'' e l'altra sull'interfaccia ''//out2(Fastweb)//''
##una volta create queste regole assicuriamoci che nelle due regole relative al protocollo GRE sia stato messo il flag su ''//Stateful tracking//'' come mostrato in figura<br><html><img src="img/pptp_due_gateway_GRE.JPG" border="0" alt="Foto"></html><br>__per verificare la presenza del flag dobbiamo fare doppio click sulla parola gre(sotto la colonna protocol)__
[[Come abilito il portale di autenticazione|Come abilito il portale di autenticazione]]
[[Gestione dell'enrolment automatico degli utenti|Gestione dell'enrolment automatico degli utenti]]
[[Generazione di certificato personalizzato per firewall Netasq con la CA interna del FW|Generazione di certificato personalizzato per firewall Netasq con la CA interna del FW]]
[[Autenticazione mediante certificati|Autenticazione mediante certificati]]
[[Generazione di certificato personalizzato per firewall Netasq con Microsoft IIS e CA di un dominio Microsoft|Generazione di certificato personalizzato per firewall Netasq con Microsoft IIS e CA di un dominio Microsoft]]
In caso dovessimo configurare più di un server NTP il FW non farà altro che ''//sare il server migliore per la sincornizzazione//'' e terrà gli altri come server di backup.
Per capire quale server sta usando il FW dobbiamo ocllegarci in ssh e digitare ''//ntpq -p -n 127.0.0.1//'' che ci darà un output simile a questo
<html><img src="img/ntp2.jpg" border="0" alt="Foto"></html>
Come potete vedere all'inzizo di ogni riga c'e' un simbolo ed è quello che ci permette di capire quale server NTP il FW sta utilizzando:
# ''//*//'' significa che attualmente il FW si sta sincronizzando con questo server(nel nostro esempio il server ha ip 10.0.0.124)
# ''//+//'' significa che il server è buono e che e quindi verrà utilizzato come server di backup
Per sapere il significato degli altri valori riportati nell'ouptut del comando ''//ntpq -p 127.0.0.1//'' cliccate [[qui|Come posso verificare lo stato della sincornizzazione NTP del mio FW?]]
Sul FW è possibile abilitare sia il ''//DHCP SERVER//'' che il ''//DHCP RELAY//'' andando sotto il menu ''//NETWORK//'' → ''//DHCP//''
!!!DHCP SERVER
* [[Qual'è il numero massimo di IP che posso distribuire con il DHCP server del FW?|Qual'è il numero massimo di IP che posso distribuire con il DHCP server del FW?]]
* [[Come avere informazioni sugli apparati che hanno ottenuto l'ip dal dhcp server del FW|Come avere informazioni sugli apparati che hanno ottenuto l'ip dal dhcp server del FW]]
!!!DHCP RELAY
* [[Come configurare il dhcp relay|Come configurare il dhcp relay]]
Per ogni singola regola di filtro è possibile definitre il livello di Security Inspection scegliendo tra tre livelli:
# ''//IPS//'' → con questo livello di ''//Inspection//'' il traffico che genera un allarme configurato a block verrà bloccati
# ''//IDS//'' → con questo livello di ''//Inspection//'' il traffico che genera un allarme configurato a block non verrà bloccato e sul monitor l'allarme verrà segnalato a pass anche se nella configuraizone è settato a block.<br>Generalmente questo livello si può usare quando bisogna fare un audit del traffico
# ''//Firewall//'' → con questo livello di ''//Inspection//'' i pacchetti vengono solo filtrati in base alla porta permessa nella regola di filtro ma non verrà fatta nessuna analisi a livello applicativo quindi la configurazione degli allarmi del Netasq non è presa in considerazione quando si applica questo livello.
__ATTENZIONE: In base al livello di Inspection che scegliete il FW genererà più o meno log.<br>Ad esempio il log dei plugin non verrà generato quando abbiamo attivo il Firewall mode perchè come detto sopra non viene fatta analisi applicativa sul traffico.__
Andiamo a vedere come generare un certificato utilizzando la CA di Microsoft
Installazione di IIS e CA per la gestione del certificato (se non sono già presenti nel Dominio Microsoft sul Domain Controller o altro server dedicato):
Andare in ''//Pannello di controllo//'' del server → ''//Installazione applicazioni//'' → ''//Installazione componenti di windows//''
Selezionare la voce “Server applicazioni” e “Servizi certificati”.
Eseguire i relativi wizard completando con le informazioni richieste:
#Andare su IIS e selezionare con il tasto desto “proprietà ” del “Default WEB site”
#Andare sul tab “directory security” e cliccare su server certificate, partirà un wizard:
#Scegliere “Create new certificate” (tradurre se il server IIS è in lingua italiana) e “send the request immediatel”
#Fare “next” e specificare il nome della richiesta del certificato, organization e “organizational unit” (quello che si desidera, non è importante)
#Inserire il “Common Name” che *deve* corrispondere al “SYSTEM NAME” del firewall
#Inserire paese, provincia, città
#Confermare la porta 443
#Confermare la CA
#Confermare il riepilogo delle impostazioni scelte e finire il wizard
#Scegliere “view certificate”
#Andare sul TAB “deatils”
#Scegliere “Copy to file” ed eseguire il wizard lasciando tutto di default ma esportando la chiave privata, specificare una password che sar� usata al momento di importare questo certificato nel firewall.
Collegarsi al FW e andare sotto ''//OBJECT//'' → ''//Certificate and PKI//'' → cliccare su ''//Add//'' → ''//Import a file//'' e seguire il wizard
Una volta importato il certificato nel FW andare sotto ''//USERS//'' → ''//Authentication//'' → ''//General//'' e nella finestra ''//Captive portal: SSL access//'', al termine otterrete una immagine simile a quella sottostante:
<html><img src="img/Captive_portal_SSL.jpg" border="0" alt="Foto"></html>
Con questa procedura andiamo a descrivere la creazione di un ''//Server certificate//'' utilizzando una CA presente all'interno del FW.
Andare sotto ''//OBJECTS//'' → ''//Certificate and PKI//'' cliccare sul bottone ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA.
Una volta creata la root CA sempre cliccando su ''//Add//'' scelgo ''//Add a Server Certificate//'' e creo un certificato mettendo come CN il nome del FW<br>
In caso il nome del FW ''//non sia un FQDN//'' (ad esempio: firewall.netwhat.org) ma sia un nome semplice(ad esempio firewall) non possiamo creare il certificato tramite il wizard ''//OBJECTS//'' → ''//Certificate and PKI//'' → ''//Add//'' → ''//Add a Server Certificate//'' ma dobbiamo crearlo tramite CLI in modo da poter inserire il nome del FW tra i nomi alternativi.
Per fare questo andiamo sotto il menu ''//SYSTEM//'' → ''//CLI//'' e digitando i seguenti comandi:
#''//PKI CA LIST//'' questo comando ci dà la lista di tutte le ''//CA//'' presenti sul FW, __segnamoci il nome della CA che volgiamo usare per creare il certificato di tipo server__. Qui sotto vediamo un esempio di output:<br><html><img src="img/pkicalist.jpg" border="0" alt="Foto"></html>
#la CA che vogliamo usare nel nostro caso è netwhat.org quindi digitiamo questo comando per creare il certificato di tipo server:<br>''//PKI CERT CREATE type=Server CN=firewall.netwhat.org caname=netwhat.org passphrase=netwhat.org shortname="Certificato per auth spnego" nbdays=3650 ALTNAMES=firewall//''<br>Andiamo ora a descrivere i campi più imporanti del comando sopra:
##''//CN//'' è il nome principale che andiamo a dare al certificato
##''//passphrase//'' è la password che abbiamo usato nel momento in cui abbiamo creato la CA e in questo caso la password è uguale al nome della CA cioè netwhat.org
##''//shortname//'' è il nome che visualizzeremo per questo certificato nella webgui quando andremo sotto il menù ''//OBJECTS//'' → ''//Certificate and PKI//''
##''//nbdays//'' è il numero di giorni per cui sarà valido il certificato che stiamo andando a creare
##''//ALTNAMES//'' è la lista dei nomi alternativi che possiamo dare al certificato, questo campo è importante perchè ci permette di inserire il nome che ha il FW.<br>Ecco qui un esempio di cosa vedremo a video quando il certificato di tipo server viene creato:<br><html><img src="img/PKICERTCREATE.jpg" border="0" alt="Foto"></html>
Una volta creata la root CA e il Server Certificate dobbiamo esportare la root CA e distriburila su tutti i PC magari utilizzando le policy di //Active directory// mentre per quanto riguarda il Server Certificate basta andare sotto ''//USERS//'' → ''//Authentication//'' → ''//General//'' e nella finestra ''//Captive portal: SSL access//'' cliccare sulla lente d'ingrandimento e selezionare il server certificare che abbiamo creato prima.
Dovremmo ottenere una schermata simile a questa:
<html><img src="img/Captive_portal_SSL.jpg" border="0" alt="Foto"></html>
Abilitando l'opzione ''//User enrolment//'' (vedi [[qui|Come abilito il portale di autenticazione]] per maggiori dettagli) ho la possibilità di definire il comportamento del mio FW nel momento in cui un utente effettua la registrazione sul portale di enrolment.
Per fare questo andiamo sotto ''//USERS//'' → ''//Enrolment//'' dove troviamo una tabella in cui possiamo accettare, rifiutare, oppure ignorare una richiesta di enrolment che è stata fatta da un utente. Se accettiamo la richiesta l'utente diventa come qualsiasi altro utente presente nell'LDAP interno del FW.
Nella sezione ''//Advanced properties//'' invece abbiamo una serie di possibilità :
#''//Automatically approve certificate requests//'' permette di accettare automaticamente tutte le richieste di autenticazione che arrivano al FW
#''//User idetnifier format for empty ID fields//'' permette di definire la login dell'utente decidendo se usare la prima lettere del nome . tutto il cognome (%f1.%l) oppure tutto il nome.cognome(%f.%l) e così via.
#''//E-mail notification//'' possiamo scegliere se inviare email all'utente in base all'azione che abbiamo scelto.
To get started with this blank ~TiddlyWiki, you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
You'll also need to enter your username for signing your edits: <<option txtUserName>>
* [[Quality|Quality]]
* [[A cosa serve il peso(Weight) delle interfacce?|A cosa serve il peso(Weight) delle interfacce?]]
Questo allarme significa che il FW ha ricevuto un pacchetto con ''//ip sorgente uguale all'ip associato ad una delle sue interfacce//''.
In alcuni casi questo tipo di allarme non è per forza di cose generato da un apparato esterno che ha lo stesso ip del FW ma può essere generato da un particolare tipo di configurazione sul FW stesso.
Per capire se il problema è ''//un apparato esterno con lo stesso IP//'' o la ''//configurazione della macchina//'' dobbiamo prendere un tracciato sull'interfaccia dove lo spoofing viene riportato e andare a vedere il ''//mac address//'' sorgente del pacchetto che genera lo spoofing.
Se il ''//mac address sorgente//'' non è __nessuna delle interfacce del FW__ allora dobbiamo identificare a chi appartiene il mac address per risolvere il probelma, se invece __appartiene all'ìinterfaccia del FW__ molto probabilmente abbiamo una regola di NAT come questa:<br><html><img src="img/spoofing_type3_nat_rule.jpg" border="0" alt="Foto"></html>
E uno schema di rete come questo o simile a questo:<br><html><a href="<img src=img/schema_spoofing_type3.jpg" border="0" alt="Foto"></html>
#questa regola di NAT serve per pubblicare il nostro server https(presente nella nostra Network_in) in internet su un'ip diverso da quello della Firewall_out(in questo caso ~FirewallVirtual)
#all'ip in questione(''//~FirewallVirtual//'') abbiamo associato l'FQDN ''//www.mioserverhttps.it//''
#un client presente nella ''//network_in//'' cerca di raggiungere il sito ''//www.mioserverhttps.it//'' e il dns risponde con l'''//ip pubblico del server//''(~FirewallVirtual)
#a questo punto il client invia la richiesta verso il server e la normale regola di NAT modifica l'ip sorgente del pacchetto quindi la richiesta diventerà ''//sorgente=Firewall_out dst=~FirewallVirtual//''
#ara il firewall vedrà un pacchetto con ip sorgente ''//Firewall_out//'' che cerca di raggiungere l'ip ''//~FirewallVirtual//'' e per questo motivo genererà dello spoofing.
__Per ''//risolvere//'' questo problema abbiamo 2 possibilità:__
#se abbiamo un ''//dns interno//'', dobbiamo far sì che il dns interno ''//risolva www.mioserverhttps.it con l'ip privato del server//'' e non con quello pubblico
#se non abbiamo un dns interno dobbiamo creare una regola come questa e posizionarla al primo posto nelle regole di NAT:<br><html><img src="img/spoofing_type3_nat_rule2.jpg" border="0" alt="Foto"></html><br>in questo modo la richiesta che proviene dalla ''//Network_in//'' verso ''//www.mioserverhttps.it//'' verrà girata subito all'''//indirizzo privato//'' del server e come ip sorgente ci sarà la Firewall_in.
!!In questa sezione troviamo due paragrafi che spiegano i nuovi ''//INSPECTION PROFILE//'' della versione 9
* [[ASQ profile nella versione 8|ASQ profile nella versione 8]]
* [[ASQ profile in V9 – Dalla V9 si chiameranno Inspection Profile|ASQ profile in V9 – Dalla V9 si chiameranno Inspection Profile]]
!!Come bloccare determinati servizi/applicazioni
* [[Differenze tra IPS,IDS e Firewall mode|Differenze tra IPS,IDS e Firewall mode]]
* [[Come bloccare facebook|Come bloccare facebook]]
!!Timeout
* [[Come aumentare o diminuire il timeout delle sessioni TCP (ad esempio per AS400)|Come aumentare o diminuire il timeout delle sessioni TCP (ad esempio per AS400)]]
!!Allarmi
* [[Ho molti allarmi di IP address spoofing (type=3)|Ho molti allarmi di IP address spoofing (type=3)]]
Se vogliamo utilizzare il database LDAP interno del FW non dobbiamo far altro che seguire questi passi:
# Andare sotto ''//USERS//'' → ''//Directory configuration//''
# Selezionare ''//Connect to an internal LDAP directory//'' e cliccare ''//Next//'' (se abbiamo già un database configurato cliccare in alto a destra sull'icona della bacchetta magica, sotto il tasto logout, per rilanciare il wizard e cancellare il db esistente)
#nella seconda pagina inserire i seguenti dati:
##''//Organization//'' organizzazione relativa a questo DB
##''//Domain//'' dominio degli utenti
##''//Password//'' per l'accesso all'ldap
##''//Confirm//'' conferma della password inserita al punto precedente poi cliccare ''//next//''
#ora ci viene chiesto se vogliamo abilitare alcune opzioni che solitamente si lasciano disabilitate salvo esigenze particolari.<br>Vediamo comunque il significato di queste opzioni:
##''//Allow access to the LDAP database//'' permette di abilitare l'accesso dall'esterno, ad esempio se questo è il FW della sede centrare possiamo far sì che il FW della sede remota si colleghi a questo LDAP
##''//Allow access to the captive portal from protected networks (internal interfaces)//'' abilita il captive portal(il portale di autenticazione) solo sulle interfacce interne
##''//Enable user enrolment through the web portal//'' abilita la possibilità di crearsi il proprio utente andando direttamente sul portale di autenticazione del FW. L'utente verrà creato ma poi sarà l'amministratore a decidere se attivare questo utente oppure no
#ora clicchiamo su ''//Finish//'' e il nostro LDAP è creato quindi possiamo andare sotto ''//USERS//'' → ''//Users//'' e creare gli utenti e i gruppi di cui abbiamo bisogno.
In questa procedura vedremo come installare un semplicissimo server syslog su una macchina windows per poter collezionare i syslog inviati dal FW.
* Sul pc windows dove vogliamo installare il syslog server
#scaricare il ''//syslog-win32.exe//'' da [[qui|http://sourceforge.net/projects/syslog-win32/files/syslog-win32/0.1/syslog-win32-0.1.exe/download]] sulla nostra macchian windows
#una volta scaricato il file lanciare l'installazione e portarla a termine
#ad installazione terminata se andiamo nei servizi della nostra macchina windows troveremo un servizio chiamato ''//syslogd//''
#stoppiamo il servizio
#andiamo sotto la cartella ''//C:\Program Files (x86)\syslog\etc//'' (ho fatto il test su una macchina con Windows7)
#scarichiamo il file syslog_conf.zip da [[qui|http://netwhat.altervista.org/syslog_conf.zip]]
#estraiamo il file ''//syslog.conf//'' e sovrascriviamo il file ''//syslog.conf//'' presente sotto ''//C:\Program Files (x86)\syslog\etc//''
#a questo punto facciamo partire il servizio ''//syslogd//''
#ora possiamo configurare il nostro FW mettendo come syslog server l'ip dove abbiamo appena installato il ''//syslog-win32//''
#controllare che non ci sia FW di windows che blocchi la porta 514 udp
#sotto la direcotry ''//C:\Program Files (x86)\syslog\log//'' troveremo un file chiamato fw_syslog_DDMMYYYY.log dove (DD=giorno,MM=mese, YYYY=anno) in questo modo avremmo un file per ogni giorno.
* Configurazione del ''//Reporter//''
#aprire il ''//Reporter//'' e andiamo sotto ''//File//'' → ''//Options...//'' selezionare il tab ''//Log//'' e selezionare la stessa cartella che abbiamo configurato nel file ''//syslog.conf//'' <br>(nell'esempio che stiamo facendo ''//C:\Program Files (x86)\syslog\log//'')
#ora andiamo sotto ''//Tools//'' → ''//Unix syslog...//'' ed eseguiamo il wizard per effettuare la conversione.
#terminata la conversione selezionando ''//Sylog//'' come sorgente per i file di log saremo in grado di vedere i log del nostro FW.
In questa procedura vedremo come installare un server syslog che effettua anche la parsificazione in automatico in modo che i log siano leggibili direttamente sul ''//Reporter//'' senza bisogno di utilizzare il tool di conversione.
Questa procedura, eseguita su __W2008 R2__, consiste nell'installare un server syslog all'interno di cygwin, vediamo comunque per passi come dobbiamo procedere:
#installare cygwin (http://www.cygwin.com) copiando il file ''//setup.exe//'' sotto una cartella (es. ''//C:\cygwin_packages//''), lanciare il file di setup e lasciare le impostazioni a defautl
##''//install from interner//''
##''//Root directory//'' C:\cygwin
##''//Local Package Directory//'' è la posizione dove verranno salvati i pacchetti di installazione.<br> Di default viene proposta la cartella nella quale risiede il setup di cygwin (es. C:\cygwin_packages)
##''//Select Your internet connection//'' dipende dalla connettività che si sta usando (a meno di situazioni particolari lasciare di default a //direct connection//)
##selezionare un sito di download (ad esempio http://cygwin.mirrors.hoobly.com)
##appare un ''//Setup Alert//'' che si può ignorare se è la prima installazione
##selezionare i pacchetti desiderat:
###''//syslog-ng//'' si trova sotto la sezione //Admin//.
###''//cygrunsrv//'' che permetterà di lanciare il syslog come servizio
##terminata la selezione dei software da includere (nel nostro caso syslog-ng) proseguire e lasciare attivo il flag ''//Select required package//'' nel menu ''//Resolving Dependencies//''
##procede con l’installazione che impiegherà alcuni minuti
##se selezionate le relative opzioni il cygwin creerà un link sul Desktop e un link nel menu di Avvio, quest'ultimo vi permetterà di avviare il terminale (scegliere di avviarlo come Amministratore)
#una volta lanciata la shell(run as Admin) di ''//cygwin//'' lanciare al suo interno il comando : ''///bin/syslog-ng-config//'' che installerà il ''//syslog-ng//'' creando una cartella sotto ''//C:\cygwin\etc\syslog-ng//''
#aprire la porta ''//udp 514//'' sul firewall windows ed eventualmente su altri FW
#identificare una cartella del server nella quale vogliamo che siano salvati i log (es. ''//c:\log_netasq//'')
#aprire in modifica il file ''//syslog-ng.conf//'' che potete trovare [[qui|http://netwhat.altervista.org/syslog-ng.zip]] in formato zip.
#la cartella di default per il salvataggio dei file di log è ''///cygdrive/f/tmp/syslog//'' che corrisponde a ''//F:\tmp\syslog//'', moodificarla in ''///cygdrive/c/log_netasq//''
#salvare il file ''//syslog-ng.conf//'' e copiarlo in ''//C:\cygwin\etc\syslog-ng//''
#in una shell windows lanciare ''//net start syslog-ng//''
#configurare il FW per inviare i log all'ip della macchina windows dove abbiamo installato cygwin(è possibile inviare syslog solo in formato plain, senza password di criptazione).
#aprire il ''//Reporter//'' e andare sotto ''//File//'' → ''//Options...//'' selezionare il tab ''//Log//'' e selezionare la stessa cartella che abbiamo configurato nel file ''//syslog-ng.conf//'' al punto 6
#ora apriamo il ''//Reporter//'' selezioniamo ''//Sylog//'' come sorgente dei log e possiamo vedere i nostri log.
''__Se state utilizzando la versione 9.0.1 del //Reporter// non potrete vedere i log del giorno corrente perchè c'e' un baco che verrà risolto nella versione 9.0.2 dell'Adminstration suite__''
Per effettuare l'integrazione di un server RADIUS con un Firewall Netasq seguire questi passi:
#''//USERS//''→ ''//Authentication//'' → selezionare il tab ''//AVAILABLE METHOD//''
#cliccare su ''//Add an authentication method//'' e selezionare ''//Radius//''
##cliccare sul metodo appena aggiunto e abilitare le interfacce dove vogliamo che questo metodo di auth sia disponibile(Internal, External o entrambe)
##nella parte sinistra dello schermo inserire:
###l'oggetto corrispondente al server RADIUS
###la porta sulla quale contattare il server radius, di default è ''//radius//''
###la preshared-key configurata sul server radius
###in questa sezione possiamo configurare anche un server Radius di backup
##a questo punto non dobbiamo far altro che andare sotto ''//USERS//'' → ''//Access privileges//'' e definire i miei criteri di autenticazione per il singolo utente, per il gruppo di utenti(''//ACCESS POLICY//'') e a livello globale(''//DEFAULT ACCESS//'')
Per effettuare l'integrazione con Active directory con un Firewall Netasq seguire questi passi:
#Aprire la GUI e andare sotto ''//USERS//'' → ''//Directory Configuration//''
#Selezionare ''//Connect to a Microsoft Active Directory//'' e cliccare ''//Next//'' (se abbiamo già un database configurato cliccare in alto a destra sull'icona della bacchetta magica, sotto il tasto logout, per rilanciare il wizard e cancellare il db esistente)
#nella seconda pagina inserire i seguenti dati:
##l'oggetto relativo al server AD
##modificare la porta in caso il server AD non usi ''//ldap//'' (porta già presente di default)
##inserire il Root base DN(__[[clicca qui se non sai come recuperare questa info da AD|Come ottenere le info da inserire nel FW per poterci connettere su AD]]__) nel seguente formato ''//dc=netasq,dc=local//'' (in questo esempio il domino del mio server AD è //netasq.local//).
##inserire l'ID(__[[clicca qui se non sai come recuperare questa info da AD|Come ottenere le info da inserire nel FW per poterci connettere su AD]]__) nel seguente formato ''//cn=Administrator,cn=users//'' (in questo esempio Administrator è l'utente admin di AD)
##nel campo password inserire la password dell'utente Administrator inserito nel punto precendente e cliccare ''//next//''
#alla schemata successiva abilitare l'opzione ''//Allow access to the captive portal from protected networks (internal interfaces)//'' se vogliamo abilitare l'autenticazione sulle interfacce protette(questa abilitazione si può fare anche in un secondo tempo andando sotto ''//USERS//'' → ''//Authentication//'' e cliccare ''//Finish//''
#se tutti i parametri inseriti sono corretti e il server AD è raggiungibile il wizard terminerà senza errori
Una volta connessi ad AD dobbiamo abilitare l'opzione Kerberos in modo da poterci autenticare sul FW utilizzando le credenziali presenti in AD.
#andiamo su ''//USERS//'' → ''//Authentication//''
#selezioniamo il tab ''//AVAILABLE METHOD//''
##cliccare su ''//Add an authentication method//'' e selezionare ''//Kerberos//''
##cliccare sul metodo appena aggiunto e abilitare le interfacce dove vogliamo che questo metodo di auth sia disponibile
##nella parte sinistra dello schermo inserire:
###il campo ''//Domain name (FQDN)//''(ad esempio se il dominio di AD è netasq.local inserire NETASQ.LOCAL)
###l'oggetto relativo al server AD
###la porta usata per collegarsi al server AD, di default è ''//kerberos_udp//''
### in questa sezione possiamo configurare anche un server AD di backup
#a questo punto non dobbiamo far altro che andare sotto ''//USERS//'' → ''//Access privileges//'' e definire i miei criteri di autenticazione per il singolo utente, per il gruppo di utenti(''//ACCESS POLICY//'') oppure a livello globale(''//DEFAULT ACCESS//'')
__Collegarsi al portale di autenticazione del FW e verificare che l'autenticazione vada a buon fine ''facendo attenzione che la data, l'ora e il timezone del FW e dell'AD siano sincronizzati tra loro''__
!!!!Per la configurazione della VPN da IPHONE fare riferimento a [[Netasq VPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)]])
!!!!Per la connessione da Android è necessario una release 4.0.1. (~IceCream Sandwich) o superiore.
La procedura per connettersi in VPN da Android è la stessa utilizzata per connettersi da IPHONE, ma occorre realizzare 2 nuovi proposal
#Andare sotto ''//VPN//'' → ''//~IPSec VPN//'' → ''//ENCRYPTION PROFILES//'' cliccare su ''//ADD//'' e selezionare ''//Phase 1 (IKE) profile//'' con i seguenti parametri:
##DH:Group 2 (Modp 1024)
##Maximum lifetime:28800
##Proposals:
###md5 128 des 64
###sha1 160 des 64
###md5 128 3des 192
###sha1 160 3des 192
#cliccare ''//APPLY//''
#Andare sotto ''//VPN//'' → ''//~IPSec VPN//'' → ''//ENCRYPTION PROFILES//'' cliccare su ''//ADD//'' e selezionare ''//Phase 2 (~IPSec) profile//'' con i seguenti parametri:
##Phase2:
###PFS:none
###Lifetime:28800
##Auth proposals:
###hmac_sha1 160
###hmac_md5 128
##Encryption Proposals:
###aes 256
###aes 128
###3des 192
#creare una vpn seguendo il wizard relativo a [[Netasq VPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)]]
#Selezionare i profili sopra definiti al posto di quelli di default
#Selezionare ALL come traffic endpoint (vedi [[Come configurare più di una rete nella Local Network quando abilitiamo il Mode Config]])
#Sul dispositivo Android configurare la vpn secondo i seguenti parametri (Ovviamente utilizzando il FQDN,certificati e username corretti)
<html><img src="img/Android.png" border="0" alt="Foto"></html>
Molto spesso, dopo aver configurato la vpn tra due sedi, ci troviamo ad affrontare un problema relativo al fatto che i __client di una sede non riescono a raggiungere le diretory presenti su un server dell'altra oppure le raggiungono ma poi non riescono a copiare file di grosse dimensioni__.
Questo "problema" è causato dal fatto che l'''//MSS//'' del pacchetto deve per forza di cose essere più piccolo per lasciare spazio alle informazioni che il modulo ipsec deve aggiungere al pacchetto per far sì che venga criptato e spedito verso l'altro peer in maniera sicura.
Qui possiamo vedere un esempio di un pacchetto IPSEC, l'MSS fa riferimento alla parte ''//DATA//''
<html><img src="img/ipsec_pacchetto.jpg" border="0" alt="Foto"></html>
Per risolvere questo problema abbiamo quindi la necessità di configrare il FW in modo che diminuisca la dimensione dedicata all'MSS all'interno del pacchetto.
Per fare questo possiamo seguire questi passi([[cliccate qui se non sapete bene come funzionano gli Inspection profile e gli Application profile|ASQ profile in V9 – Dalla V9 si chiameranno Inspection Profile]]):
# andare sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and applications//''
# cliccare su ''//~TCP-UPD//''
# selezionare il profilo linkato all'''//Inspection profile//'' di outgoing e copiarlo su un ''//application profile//'' non utilizzato
#rinominiamo l'''//application profile//'' appena copiato con un nome a nostro piacimento(ad esempio ''//~MSS1300//'')
#ora andiamo all'interno dell'''//application profile//'' appena rinominato e:
##mettiamo il flag su ''//Impose MSS limit//''
##settiamo ''//MSS limit (in bytes) ://'' a ''//1300//'' in modo da avere l'''//application profile ~TCP-UDP//'' configurato così:<br><html><img src="img/MSS1300.jpg" border="0" alt="Foto"></html>
#andiamo sotto ''//Inspection profile//'' → e clicchiamo su ''//Go to global configuration//''
#selezioniamo l'''//Inspection profile//'' di outgoing e copiamolo su un ''//Inspection profile//'' non utilizzato
#andiamo sull'''//Inspection profile//'' appena copiato e rinominiamolo con un nome a nostro piacere(ad esempio ''//~IPSEC_profile//'')
#selezioniamo la riga relativa all'''//application profile//'' ''//~TCP-UDP//'' e impostiamo l'application profile creato in precedenza ''//~MSS1300//'' in modo da ottenere un inspection profile simile a questo<br><html><img src="img/IPSEC_profile.jpg" border="0" alt="Foto"></html>
#il nostro nuovo ''//Inspection profile//'' è ora pronto per essere applicato alle regole di filtro che permettono il traffico tra la network della sede locale e la network della sede remota come in questo esempio<br><html><img src="img/ipsec_filter_rule_profile1300.jpg" border="0" alt="Foto"></html>
@@__Questa procedura è da fare su entrambi i FW__@@
@@__In caso il traffico dovesse risultare ancora lento provate a diminuire ancora un pò il valore dell'MSS__@@
Per limitare la banda utilizzata da una regola di filtraggio occorre creare una regola di CBQ
Andare sotto ''//SECURITY POLICY//'' → ''//QOS//'' → ''//ADD A QUEUE//'' e sezionare ''//Class Based Queue (CBQ)//''
Specificare il nome della coda, la banda minima garantita e massima consentita, sia in upload che in download (senso opposto alla regola)
<html><img src="img/cbq.jpg" border="0" alt="immagine"></html>
''//N.B.://'' nel caso si debba limitare il traffico http, generalmente bisogna operare in senso inverso rispetto alla regola, in quanto si vuole limitare il download e non l'upload.
Occorre ora assegnare la coda alle regole come abbiamo fatto in [[Assegnare una priorità ad una regola di filtraggio]]
[[Benvenuti]]
[[Autoupdate]]
[[Backup e Restore]]
[[Configurazione DB esterni o interno]]
[[Configurazione portale di autenticazione]]
[[Metodi di connessione al FW]]
[[DHCP|DHCP]]
[[HA]]
[[Inspection Profile]]
[[NTP]]
[[Proxy]]
[[Regole di NAT - FILTRO]]
[[QOS]]
[[Syslog]]
[[Verbose]]
[[VPN IPSEC]]
[[VPN SSL]]
[[VPN PPTP]]
[[RSS]]
In questa sezione potrete trovare una serie di articoli per poter usare nel migliore dei modi la connessione ssh e https verso il FW.
!!!!SSH
* [[Uso linux e mi connetto in SSH a molti firewall, come posso gestirli tutti centralmente con una sola password|Uso linux e mi connetto in SSH a molti firewall, come posso gestirli tutti centralmente con una sola password]]
*[[Uso windows e mi connetto in SSH a molti firewall con putty, come posso gestirli tutti centralmente con una sola password|Uso windows e mi connetto in SSH a molti firewall con putty, come posso gestirli tutti centralmente con una sola password]]
*[[Uso windows e mi connetto in SSH a molti firewall con SecureCRT, come posso gestirli tutti centralmente con una sola password|Uso windows e mi connetto in SSH a molti firewall con SecureCRT, come posso gestirli tutti centralmente con una sola password]]
*[[Come raggiungere in RDP da internet, un pc all'interno della rete senza fare regole di NAT e FILTRO|Come raggiungere in RDP da internet, un pc all'interno della rete senza fare regole di NAT e FILTRO]]
!!!! HTTPS
* [[Come abilitare per Any l'accesso alla WEBGUI|Come abilitare per Any l'accesso alla WEBGUI]]
* [[Come connettersi al firewall in https con i certificati|Come connettersi al firewall in https con i certificati]]
* [[Come modificare la porta su cui raggiungere il FW sulla WEBGUI|Come modificare la porta su cui raggiungere il FW sulla WEBGUI]]
Per monitorare la banda utilizzata da una regola di filtraggio occorre creare una regola di MONITOR
Andare sotto ''//SECURITY POLICY//'' → ''//QOS//'' → ''//ADD A QUEUE//'' e sezionare ''//Monitoring Queue (MONQ)//''
e specificare il nome della coda. Tale coda non limiterà la banda ne modificherà le priorità, semplicemente si occuperà di analizzare il traffico passante nella coda per la creazione di un grafico consultabile tramite Real Time Monitor
Occorre ora assegnare la coda alle regole come abbiamo fatto in [[Assegnare una priorità ad una regola di filtraggio]]
Per configurare il FW in modo che tenga sincronizzato data e ora con un server NTP dobbiamo andare sotto ''//SYSTEM//'' → ''//Confgiuration//'' andare nel tab ''//GENERAL CONFIGURATION//''.
A questo punto assicuriamoci che ''//data//'', ''//ora//'' e ''//timezone del FW//'' siano corretti quindi andiamo nella finestra ''//LIST OF NTP SERVER//'', clicchiamo su ''//Add//'', e aggiungiamo il o i server NTP.
* [[Come posso verificare lo stato della sincornizzazione NTP del mio FW?|Come posso verificare lo stato della sincornizzazione NTP del mio FW?]]
* [[Cosa succede se configuro più di un server NTP?|Cosa succede se configuro più di un server NTP?]]
!!!!Collegarsi al FW ed effettuare la seguente procedura (diamo per scontato che l'integrazione con AD sia già stata fatta, se non è così cliccare [[qui|Integrazione trasparente tra Netasq e AD]])
#Aprire la GUI
#Andare sotto ''//Users//'' → ''//Directory configuration//'' on ''//Structure tab//'' rimuovere la spunta su ''//You are accessing the directory in read-only mode. The creation of users and groups is not allowed//''
#Andare sotto ''//Objects//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto 4
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##come metodo di auth selezioniamo ''//Hybrd//''
##Selezionare il certificato(dopo aver cliccato sulla lente di ingrandimento apparirà una finestra vuota,cliccare sulla X per poter visualizzare la lista dei certificati e poi selezionare quello creato nel punto 5)
## Terminare il wizard cliccando su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//ACCESS POLICY//'' e aggiungere una regola che permette all'utente o al gruppo di utenti di:
##autenticarsi sul FW con il metodo ''//Kerberos//''
##e di instaurare un tunnel IPSEC settando ''//Allow//'' sotto l'apposita colonna
!!!!Sul PC con installato il client VPN Netasq:
#Scaricare e installare il Netasq VPN Client dal sito http://vpn.netasq.com inserendo come Serial la parola demo che vi da diritto di scaricare il cliente in versione demo per 30 giorni
#Aprire il pannello di configurazione del Netasq VPN Client
#Cliccare con il tasto destro su ''//VPN Configuration//'' e selezionare ''//New Phase 1//''
##nel tab ''//Authentication//''selezionare:
###Gateway Remoto(l'ip pubblico della Firewall_out),
###il certificato (scaricare dal FW il certificato di tipo server)
###settare i parametri IKE come quelli selezionati sul FW(nel test fatto da me ho usato ''//~GoodEncryption//'')
##sopostarsi sul secondo tab e mettere il flag su:
###''//Mode Config//''
###''//~X-Auth Popup//''
###''//Hybrid Mode//''
#Cliccare con il tasto destro sulla fase 1 e aggiungere una nuova fase 2
#Selezionare la rete remota (nel mio test ho messo Network_in)
#Selezionare gli algoritmi ESP come quelli configurati sul FW (nel mio test ho usato ''//~GoodEncryption//'')
#Salvare
#Doppio click sulla fase 2 e selezionare open tunnel
#Inserire login/password nel popup
#ora il tunnel dovrebbe essere up
!!!!Collegarsi al FW ed effettuare la seguente procedura (diamo per scontato che l'integrazione con RADIUS sia gi� stata fatta, se non è così cliccare [[qui|Integrazione FW Netasq con server RADIUS]])
#Aprire la GUI
#Andare sotto ''//Objects//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto 4
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##come metodo di auth selezioniamo ''//Hybrd//''
##Selezionare il certificato(dopo aver cliccato sulla lente di ingrandimento apparirà una finestra vuota,cliccare sulla X per poter visualizzare la lista dei certificati e poi selezionare quello creato nel punto 5)
## Terminare il wizard cliccando su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//ACCESS POLICY//'' e aggiungere una regola che permette all'utente o al gruppo di utenti di:
##autenticarsi sul FW con il metodo ''//Radius//''
##e di instaurare un tunnel IPSEC settando ''//Allow//'' sotto l'apposita colonna
!!!!Sul PC con installato il client VPN Netasq:
#Scaricare e installare il Netasq VPN Client dal sito http://vpn.netasq.com inserendo come Serial la parola demo che vi da diritto di scaricare il cliente in versione demo per 30 giorni
#Aprire il pannello di configurazione del Netasq VPN Client
#Cliccare con il tasto destro su ''//VPN Configuration//'' e selezionare ''//New Phase 1//''
##nel tab ''//Authentication//''selezionare:
###Gateway Remoto(l'ip pubblico della Firewall_out),
###il certificato (scaricare dal FW il certificato di tipo server)
###settare i parametri IKE come quelli selezionati sul FW(nel test fatto da me ho usato ''//~GoodEncryption//'')
##sopostarsi sul secondo tab e mettere il flag su:
###''//Mode Config//''
###''//~X-Auth Popup//''
###''//Hybrid Mode//''
#Cliccare con il tasto destro sulla fase 1 e aggiungere una nuova fase 2
#Selezionare la rete remota (nel mio test ho messo Network_in)
#Selezionare gli algoritmi ESP come quelli configurati sul FW (nel mio test ho usato ''//~GoodEncryption//'')
#Salvare
#Doppio click sulla fase 2 e selezionare open tunnel
#Inserire login/password nel popup
#ora il tunnel dovrebbe essere up
!!!!Collegarsi al FW ed effettuare la seguente procedura (diamo per scontato che l'integrazione con AD sia già stata fatta, se non è così cliccare [[qui|Integrazione trasparente tra Netasq e AD]])
#Aprire la GUI
#Andare sotto ''//USERS//'' → ''//Directory configuration//'' → nel tab ''//Structure//'' tab rimuovere il flag su ''//You are accessing
the directory in read-only mode. The creation of users and groups is not allowed.//''
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.(nella prima pagina del wizard dobbiamo inserire due campi, l'FQDN che andiamo ad inserire in questi due campi dovrà essere lo stesso che andremo a configurare come gateway nell'iPhone)<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto 4 (il nome del server certificate dovrà essere lo stesso FQDN che andremo a configurare come gateway nell'iPhone)
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##selezionare come metodo di autenticazione ''//Certificate and ~XAuth(iPhone)//''
##selezionare il certificato(dopo aver cliccato sulla lente di ingrandimento apparirà una finestra vuota,cliccare sulla X per poter visualizzare la lista dei certificati e poi selezionare quello creato nel punto 5)
##terminare il wizard cliccando su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Come profilo di encryption selezionare iPhoneEncryption
#Applicare la configurazione
#Andare nel tab ''//IDENTIFICATION//'' e aggiungere il la root CA creata al punto 4
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//DEFAULT//'' e abilitare la vpn ipsec
!!!!Creare e scaricare il certificati
#Aprire la GUI
#Andare sotto ''//USERS//'' → ''//Users//'' e selezionare l'utente per il quale vogliamo abilitare la vpn ipsec
#Selezionare il tab ''//CERTIFICARE//'' e crearlo
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//'' e
##scaricare in formato DER (cliccando sul tasto ''//Download//'') la CA che abbiamo usato per generare i certificati
##scaricare in formato P12(cliccando sul tasto ''//Download//'') il certificato di tipo utente
!!!!Sul pc windows dove installeremo il NETASQ VPN CLIENT
#Installare la CA scaricata dal FW in modo da rendere trusted il .p12 che andremo ad installare nel punto 4
#Scaricare e installare il Netasq VPN Client dal sito http://vpn.netasq.com inserendo come Serial la parola demo che vi da diritto di scaricare il cliente in versione demo per 30 giorni
#Aprire il pannello di configurazione del Netasq VPN Client
#Cliccare con il tasto destro su ''//VPN Configuration//'' e selezionare ''//New Phase 1//''
##nel tab ''//Authentication//''selezionare:
###Gateway Remoto(l'ip pubblico della Firewall_out),
###selezionare certificato e importare il certificato di tipo utente scaricato dal FW in formato P12
###settare i parametri IKE come quelli selezionati sul FW(nel test fatto da me ho usato ''//~GoodEncryption//'')
##sopostarsi sul secondo tab e mettere il flag su:
###''//Mode Config//''
###''//~X-Auth Popup//''
###come ''//Local ID//'' selezionare ''//Email//'' e inserire l'email
#Cliccare con il tasto destro sulla fase 1 e aggiungere una nuova fase 2
#Selezionare la rete remota (nel mio test ho messo Network_in)
#Selezionare gli algoritmi ESP come quelli configurati sul FW (nel mio test ho usato ''//iPhoneEncryption//'')
#Salvare
#Doppio click sulla fase 2 e selezionare open tunnel
#Inserire login/password nel popup
#ora il tunnel dovrebbe essere up
!!!!Su iPhone
#installare la CA che ha generato i certificati (file .der)
#installare il certificato di tipo utente (file .p12)
#andare sotto ''//Impostazioni//'' → ''//VPN//'' → ''//Aggiungi config. VPN...//'' → selezionare ''//~IPSec//'' e configurare i seguenti parametri:
##''//Descrizione//'': il nome della vostra VPN
##''//Server//'': deve essere lo stesso FQDN che abbiamo usato per creare il certificato di tipo server
##''//Account//'': deve essere la login dell'utente
##''//Password//'': Chiedi ogni volta
##''//Usa certificato//'': settare questo parametro a 1
##''//Certificato//'': selezionare il certificato che abbiamo importato nell'iPhone al punto 1
Qui sotto uno screenshot preso dall'iPhone:
<html><img src="img/iPhone.png" border="0" alt="Foto"></html>
!!!!Per poter conifgurare la vpn in modo da utilizzare come metodo di autenticazione la presharedkey dobbiamo seguire questi passi
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##come metodo di auth selezioniamo ''//Pre-shared key (PSK)//''
##in questa schermata dovremmo aggiungere l'''//indirizzo email//'' e la ''//presharedkey//'' che l'utente configurerà sul cilent VPN Netasq poi clicchiamo ''//next//''<br>@@__ATTENZIONE PERCHE' L'EMAIL DEVE ESSERE PRESENTE NELLA CONFIGURAZIONE DI UN UTENTE NEL FW(sia che il FW abbia un LDAP interno oppure sia connesso ad AD o LDAP esterno)__@@
##apparirà quindi la schermata di riepilogo quindi clicchiamo su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//ACCESS POLICY//'' e aggiungere una regola che permette all'utente o al gruppo di utenti di instaurare un tunnel IPSEC settando ''//Allow//'' sotto l'apposita colonna
!!!!Sul PC con installato il client VPN Netasq:
#Scaricare e installare il Netasq VPN Client dal sito http://vpn.netasq.com inserendo come Serial la parola demo che vi da diritto di scaricare il cliente in versione demo per 30 giorni
#Aprire il pannello di configurazione del Netasq VPN Client
#Cliccare con il tasto destro su ''//VPN Configuration//'' e selezionare ''//New Phase 1//''
##nel tab ''//Authentication//''selezionare:
###Gateway Remoto(l'ip pubblico della Firewall_out),
###inserire la Preshared key
###settare i parametri IKE come quelli selezionati sul FW(nel test fatto da me ho usato ''//~GoodEncryption//'')
##sopostarsi sul secondo tab e mettere il flag su:
###''//Mode Config//''
###''//Mode Aggressive//''
###come ''//ID locale//'' selezioniamo email e inseriamo l'email alla quale abbiamo associato la presharedkey mentre nell'''//ID remoto//'' lasciamo pure vuoto
#Cliccare con il tasto destro sulla fase 1 e aggiungere una nuova fase 2
#Selezionare la rete remota (nel mio test ho messo Network_in)
#Selezionare gli algoritmi ESP come quelli configurati sul FW (nel mio test ho usato ''//~GoodEncryption//'')
#Salvare
#Doppio click sulla fase 2 oppure cliccare con il tasto destro sulla fase due e selezionare open tunnel
#ora il tunnel dovrebbe essere up
Una volta abilitata la VPN PPTP e testata con successo la connessione potremmo incontrare problemi nel raggiungere determinati servizi all'interno della nostra rete:
*remote desktop
*sfogliare la rete di Windows
*copiare file su cartelle presenti su NAS o server interni
*etc....
In caso dovessimo avere questo tipo di problemi come prima cosa ''//verifichiamo che ci sia una regola di filtro che permetta al range assegnato alla VPN PPTP di effettuare il traffico//'' che stiamo cercando di fare.
Se le regole sono corrette il problema potrebbe essere ricondotto alla dimensione dei pacchetti che supera il valore massimo a causa dell'aggiunta dell'header del protocollo GRE.
Per risolvere quindi il problema non dobbiamo far altro che creare un [[profilo specifico di ASQ|Inspection Profile]] all'interno del quale andiamo ad imporre un MSS più basso in modo da lasciare spazio per l'header del protocollo GRE.
#andare sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and Applications//''
#selezionare ''//~TCP-UDP//'' e scegliere il profilo che vogliamo utilizzare all'interno dell'''//Inspection Profile//'' che useremo per la nostra regola di filtro
#per il ''//~TCP-UDP//'' abbiamo un solo tab chiamato ''//IPS - CONNECTION//''
#nella sezione denominata ''//Inspection//'' mettiamo il flag su ''//Impose MSS limit//'' e settiamo il valore a 1300(se il problema dovesse persistere abbassiamo ancora un pò l'MSS)
Abilitando il proxy SSL potremmo incontrare problemi nella visualizzazione di alcuni siti che potrebbero essere visualizzati in questo modo:
<html><img src="img/facebook1.jpg" border="0" alt="Foto"></html><br>
Per risolvere questo problema non dobbiamo far altro che importare nei nostri browser la CA che il FW usa per generare i certificati fasulli
Per sapere come fare andate a vedere [[questo articolo|Come eliminare l'errore del certificato quando abilitiamo il proxy SSL]]
__Fate attenzione che se importiamo la CA usata dal FW solo su Internet Explorer continueremo ad avere il problema su Firefox fino a che non importeremo la CA anche lì.
Per quanto riguarda Chrome invece basta importare la CA in Explorer perchè Chrome usa gli stessi certificati.__
!!!In questa sezione possiamo trovare una serie di documenti che spiegano come configurare ed utilizzare i proxy nella V9<br>
!!!!Redirect verso proxy/server esterni o interni
* [[Come effettuare un redirect ad un proxy esterno|Come effettuare un redirect ad un proxy esterno]]
* [[Analisi antispam sulle mail in ingresso|Analisi antispam sulle mail in ingresso]]
!!!!Configurazione proxy trasparente e proxy HTTP explicito
* [[Come configurare il proxy trasparente|Come configurare il proxy trasparente]]
* [[Come configurare il proxy http esplicito|Come configurare il proxy http esplicito]]
* [[Come creare un file WPAD|Come creare un file WPAD]]
* [[Come distribuire il file WPAD sui client|Come distribuire il file WPAD sui client]]
!!!!Autneticazione sul proxy HTTP esplicito e trasparente
* [[Come configurare l'autenticazione sul proxy http|Come configurare l'autenticazione sul proxy http]]
* [[Come configurare l'autenticazione sul proxy http esplicito|Come configurare l'autenticazione sul proxy http esplicito]]
* [[Come abilitare l'autenticazione SPNEGO|Come abilitare l'autenticazione SPNEGO]]
!!!!URL Filtering, SSL Filtering e pagina di blocco
* [[Aggiungere delle categorie personalizzate all'URLFilter|Aggiungere delle categorie personalizzate all'URLFilter]]
* [[Aggiungere delle categorie personalizzate all'SSLFilter|Aggiungere delle categorie personalizzate all'SSLFilter]]
* [[Come creare una pagina di blocco personalizzata|Come creare una pagina di blocco personalizzata]]
!!!!Proxy SSL
* [[Spiegazione del flusso di una richiesta all'interno del proxy SSL|Spiegazione del flusso di una richiesta all'interno del proxy SSL]]
* [[Come eliminare l'errore del certificato quando abilitiamo il proxy SSL|Come eliminare l'errore del certificato quando abilitiamo il proxy SSL]]
* [[Come permettere la connessione verso un server SSL che ha un certificato generato da una CA non trusted|Come permettere la connessione verso un server SSL che ha un certificato generato da una CA non trusted]]
* [[Come funziona l'SSL Filtering|Come funziona l'SSL Filtering]]
* [[Come applicare URL Filtering sul traffico decriptato dal proxy SSL|Come applicare URL Filtering sul traffico decriptato dal proxy SSL]]
* [[Come configurare l'autenticazione sul proxy SSL|Come configurare l'autenticazione sul proxy SSL]]
* [[Problema visualizzazione di alcuni siti(facebook, gmail, yahoo) quando abilito il proxy SSL|Problema visualizzazione di alcuni siti(facebook, gmail, yahoo) quando abilito il proxy SSL]]
!!!!Come creare le code di QOS
* [[Assegnare una priorità ad una regola di filtraggio]]
* [[Limitare la banda utilizzata da una regola di filtraggio]]
* [[Monitorare la banda utilizzata da una regola di filtraggio]]
Il numero massimo di IP che posso distribuire con il FW dipende dal modello.
Qui sotto una tabella in cui possiamo trovare il numero massimo in base al modello.
|!Model|!Number of IP delive by DHCP server|
|S(~U30-U70)|256|
|M(~U120-U450)|4096|
|~U1100-U1500 and ~NG1000|8192|
|U6000 and ~NG5000|16384|
__Questo numero non è modificabile perchè è hardcoded nel firmware del FW.__
Il ''//quality//'' è un valore espresso in ''//%//'' che ci indica quante interfacce (non tiene conto delle interfacce non configurate) sono funzionanti su un FW.
Il calcolo del ''//quality//'' viene fatto dal FW in base ai [[pesi|A cosa serve il peso(Weight) delle interfacce?]] configurati per ogni singola interfaccia.
Per sapere quindi quale percentuale verrà assegnata dal FW in base ai pesi che andiamo a configurare possiamo scaricare il folgio excel da questo [[link|http://netwhat.altervista.org/Ha_quality_calculation.zip]]
Il calcolo che il FW fa per ottenere il ''//quality//'' di ogni singola interfaccia è __(peso assegnato all'interfaccia/totale dei pesi)*(100*stato dell'interfaccia 1=up 0=down)__
Il ''//quality//'' totale sarà quindi dato dalla somma dei ''//quality//'' assegnati ad ogni interfaccia.
Per poter vedere il ''//quality//'' di due FW in HA abbiamo due possibilità:
#Collegarsi al FW in ssh e lanciare il comando ''//hainfo//''. <br><html><img src="img/quality1.jpg" border="0" alt="Foto"></html>
#Collegarsi al FW con il ''//Real Time Monitor//'' e andare nella sezione ''//Hardware//'' dove possiamo trovare il ''//quality//'' e altre info sullo stato dell'HA.<br><html><img src="img/quality2.jpg" border="0" alt="Foto"></html>
Cliccare [[qui|http://netwhat.altervista.org/index.xml]] per registrarsi all'RSS feed di questo sito
La regola di NAT dinamico permette ad una rete privata di navigare in Internet.<br>
In questo tipo di regola l'interfaccia più importante da configurare e quella relativa all'''//outgoing interface//'' altrimenti:
#corriamo il rischio che questa regola venga usata anche per tradurre traffico in uscita da un'interfaccia dove magari non vogliamo applicare il NAT
#potremmo incontrare mailfunzionamenti quando attivando il proxy (HTTP,SMTP,FTP,~POP3,SSL)
Ecco un esempio di come creare una corretta regola per il NAT dinamico:
<html><img src="img/NAT_dinamico.jpg" border="0" alt="Foto"></html>
La regola di NAT dinamico permette ad una rete privata di navigare in Internet.<br>
In questo tipo di regola l'interfaccia più importante da configurare e quella relativa all'''//outgoing interface//'' altrimenti:
#corriamo il rischio che questa regola venga usata anche per tradurre traffico in uscita da un'interfaccia dove magari non vogliamo applicare il NAT
#potremmo incontrare mailfunzionamenti quando attivando il proxy (HTTP,SMTP,FTP,~POP3,SSL)
#__non riuscremmo ad effettuare nat correttamente usando 2 o più gateway__
Ecco un esempio di come creare due regole di NAT dinamico quando si hanno due gateway verso internet:
<html><img src="img/NAT_dinamico_2_gateway.jpg" border="0" alt="Foto"></html>
La regola di NAT statico per posta consiste in una regola che permettere di raggiungere un server interno, ad esempio un server web.
In questo tipo di regola è molto importante specificare l'''//incoming interface//''.<br>
Ecco un esempio di come creare una corretta regola di NAT statico per porta:
<html><img src="img/NAT_statico_per_porta1.jpg" border="0" alt="Foto"></html>
__Una volta fatta questa regola di NAT dobbiamo ricordarci di fare anche una regola di filtro che permetta il traffico http verso la Firewall_out.__
La regola di NAT statico per posta consiste in una regola che permettere di raggiungere un server interno, ad esempio un server web.
In questo esempio vedremo che accorgimenti prendere quando questa pubblicazione deve essere fatta su un ip virtuale
In questo tipo di regola è molto importante specificare l'''//incoming interface//'' e la ''//pubblicazione dell'ARP//''
Per abilitare l'ARP dobbiamo:
#andare nella sezione ''//Traffic after translation//''
#fare doppio click sotto la colonna ''//Destination//'' (praticamente dove abbiamo messo l'oggetto srv_web nell'esempio sotto )
#si aprirà una finestra quindi andiamo nel tab ''//ADVANCED PROPERTIES//'' e mettiamo il flag su ''//ARP publication//''
Ecco un esempio di come creare una corretta regola di NAT statico per porta con ip virtuale:
<html><img src="img/NAT_statico_per_porta_virtuale.jpg" border="0" alt="Foto"></html>
__Una volta fatta questa regola di NAT dobbiamo ricordarci di fare anche una regola di filtro che permetta il traffico http verso la ~FirewallVIRTUAL1.__
La regola di NAT statico è quella che mi permette di assegnare ad un server della rete interna un IP pubblcio completamente dedicato.
In questo tipo di regola solitamente si usa un IP diverso dalla Firewall_out quindi è molto importante l'opzione per pubblicare l'ARP.
Questa opzione serve per far sì che il FW pubblichi in maniera permanente l'IP virtuale con lo stesso mac address della Firewall_out in questo modo l'apparato che sta dopo il FW sa che quell'ip risponde a quel mac address(nella versione 8 questo non serviva perchè il vecchio modulo di NAT pubblicava in automatico l'arp)
__Per creare questa regola possiamo utilizzare il wizard cliccando su ''//New rule//'' e poi selezionando ''//Static NAT rule(bimap)//''__
Ecco un esempio di come creare una corretta regola di NAT statico:
<html><img src="img/NAT_statico1.jpg" border="0" alt="Foto"></html>
Quando scriviamo una regola di filtro con PBR dobbiamo porre particolare attenzione alla configurazione dell'''//interfaccia di outgoing//''
Prendiamo come esempio una normale regola di filtro in cui dobbiamo ruotare il traffico verso un gateway secondario:
<html><img src="img/PBR_with_incoming_outgoing1.jpg" border="0" alt="Foto"></html>
''__QUESTA REGOLA E' ERRATA__''
Il Netasq per capire verso che interfaccia deve indirizzare un pacchetto guarda la sua tabella di routing che possiamo trovare sotto ''//Network//'' → ''//Routing//''.
All'interno di questa tabella troviamo il ''//default gateway//'' che nel nostro esempio è connesso all'interfaccia ''//out//'' quindi quando il FW riceverà un pacchetto con sorgente ''//win_~XP_virtual//'' e come destinazione ''//151.1.1.1//'' l'interfaccia di outgoing sarà la ''//out//'' e non la ''//out2//''.
__Per questo motivo la regola fatta sopra non verrà matchata e il traffico non verrà instradato verso il gateway secondario.__
Il modo corretto di scrivere questa regola quindi è il seguente:
<html><img src=img/PBR_with_only_incoming1.jpg border="0" alt="Foto"></a></html>
Per permettere l'accesso alla WEBGUI quando si hanno più interfacce esterne dobbiamo seguire questi passi
#Andare sotto ''//SECURITY POLICY//'' → ''//Implicit rules//'' e disabilitare ''//Allow external (unprotected) interfaces (Authd_ext) to access the authentication portal and the VPN SSL//''
#una volta disabilitato questa ''//Implicit rules//'' andiamo sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' e creiamo delle regole di filtro che permettono il traffico ''//https//'' verso le due interfacce pubbliche avendo cura di specificare l'''//incoming interface//'' e il ''//gateway//'' realtivo a quella interfaccia.
Qui sotto un esempio dove:
#''//U70_router//'' è il gateway connesso all'interfaccia ''//Firewall_out//''
#''//gateway_secondario//'' è quello connesso all'interfaccia ''//Firewall_out2//''
<html><img src="img/accesso_https_da_pi_gateway.jpg" border="0" alt="Foto"></html>
Ovviamente se abbiamo più di due gateway non dobbiamo far altro che creare altre regole di filtro.
Per permettere l'accesso in ssh quando si hanno più interfacce esterne dobbiamo seguire questi passi
#andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' e creare delle regole di filtro che permettono il traffico ''//ssh//'' verso le due interfacce pubbliche avendo cura di specificare l'''//incoming interface//'' e il ''//gateway//'' realtivo a quella interfaccia.
Qui sotto un esempio dove:
#''//U70_router//'' è il gateway connesso all'interfaccia ''//Firewall_out//''
#''//gateway_secondario//'' è quello connesso all'interfaccia ''//Firewall_out2//''
<html><img src="img/accesso_ssh_da_pi_gateway.jpg" border="0" alt="Foto"></html>
Ovviamente se abbiamo più di due gateway non dobbiamo far altro che creare altre regole di filtro.
Per pemettere l'accesso al nostro server WEB quando abbiamo due connessioni ad internet non basta fare le regole di filtro e le regole di NAT ma nella regola di filtro dobbiamo inserire anche il ''//router//''.
Vediamo quindi come devono essere create le regole:
<html><a href="http://s1217.Foto.com/albums/dd387/netwhat/?action=view&current=filtro_pubblicazione_server_web_con_due_connessioni.jpg" target="_blank"><img src="http://i1217.Foto.com/albums/dd387/netwhat/filtro_pubblicazione_server_web_con_due_connessioni.jpg" border="0" alt="Foto"></a></html>
Come potete vedere nelle regole di filtro che permettono la connessione in http sulle due interfacce pubbliche del firewall è stato messo il ''//router//'' relativo alle due interfacce in modo che il FW sappia dove inviare i pacchetti di risposta.
!!!!Come scrivere le regole di NAT
* [[Regola di NAT dinamico|Regola di NAT dinamico]]
* [[Regola di NAT dinamico con 2 o più gateway|Regola di NAT dinamico con 2 o più gateway]]
* [[Regola di NAT statico per porta utilizzando l'ip della Firewall_out|Regola di NAT statico per porta utilizzando l'ip della Firewall_out]]
* [[Regola di NAT statico per porta utilizzando un ip virtuale|Regola di NAT statico per porta utilizzando un ip virtuale]]
* [[Regola di NAT statico utilizzando un ip virtuale|Regola di NAT statico utilizzando un ip virtuale]]
* [[Come abilitare il NAT before VPN|Come abilitare il NAT before VPN]]
!!!!Come scrivere le regole di filtro
* [[Regola di filtro per permettere accesso al FW in ssh quando si hanno due connessioni ad internet|Regola di filtro per permettere accesso al FW in ssh quando si hanno due connessioni ad internet]]
* [[Regola di filtro per permettere accesso al FW in https quando si hanno due connessioni ad internet|Regola di filtro per permettere accesso al FW in https quando si hanno due connessioni ad internet]]
* [[Regola di filtro per permettere accesso al server web quando si hanno due connessioni ad internet|Regola di filtro per permettere accesso al server web quando si hanno due connessioni ad internet]]
* [[Regola di filtro con PBR e outgoing interface|Regola di filtro con PBR e outgoing interface]]
* [[Regole di filtro per permettere il traffico all'interno del tunnel IPSEC|Regole di filtro per permettere il traffico all'interno del tunnel IPSEC]]
* [[Come permettere una PPTP passante nel FW|Come permettere una PPTP passante nel FW]]
Per permettere il traffico all'interno del tunnel IPSEC dobbiamo utilizzare il token ''//via ~IPSec VPN tunnel//''.
Questo token va usato solo per permettere il traffico in arrivo dal tunnel vpn mentre per il traffico che dalla rete locale va verso una rete raggiungibile tramite il tunnel IPSEC dobbiamo fare una normale regola di filtro.
Andiamo a spiegare nel dettaglio come creare una regola di filtro per permettere il traffico in arrivo dal tunnel IPSEC:
#andare sotto ''//SECURITY POLICY//'' → ''//Filter - NAT//'' e creare una regole di filtro che permette il traffico dalla ''//net_vpn//'' verso la ''//Network_in//''
#quando stiamo creando questa regola e stiamo configurando la colonna ''//Source//'' dobbiamo fare doppio click in modo che si apra questa schermata:<html><br><img src="img/Regola_di_filtro_ipsec_1.jpg" border="0" alt="Foto"></html>
#una volta che si è aperta la schermata che abbiamo visto al punto precedente cliccare sul tab ''//ADVANCED PROPERTIES//'' e settiamo il parametro ''//Via//'' con il valore ''//~IPSec VPN tunnel//''(come possiamo vedere nell'immagine qui sotto) a questo punto clicchiamo su ''//OK//''<html><br><img src="img/Regola_di_filtro_ipsec_2.jpg" border="0" alt="Foto"></html>
#abbiamo quindi ottenuto la nostra regola di filtro che permetterà il traffico in arrivo dal tunnel IPSEC<html><br><img src="img/Regola_di_filtro_ipsec_3.jpg" border="0" alt="Foto"></html>
Se invece volgiamo creare una regola per permettere il traffico dalla ''//Network_in//'' verso la ''//net_vpn//'' dobbiamo creare una regola così:
<html><br><img src="img/Regola_di_filtro_ipsec_4.jpg" border="0" alt="Foto"></html>
Andiamo sotto ''//VPN//'' → ''//VPN SSL//'' e ci spostiamo sul tab ''//APPLICATION SERVERS//''
A questo punto siamo nella schermata di configurazione quindi per aggiungere un nuovo ''//APPLICATION SERVER//'' dobbiamo:
#cliccare su ''//Add//'' e scegliere che tipo di ''//APPLICATION SERVERS//'' vogliamo aggiungere:
##''//Application server//''
##''//Citrix server//''
#scegliendo uno di questi 2 tipi ci verrà proposta una piccola finestra in cui inserire il nome dell'application server che vogliamo aggiungere(in questo esempio lo chiameremo ''//terminal server//''), inseriamo quindi il nome e premiamo ''//OK//''
#a questo punto ci verrà presentata la schermata in cui possiamo andare a configurare l'accesso che abbiamo appena creato
##''//Destination server://'' è l'oggetto che corrisponde all'indirizzo privato del nostro terminal server(rdp)
##''//Port://'' è la porta sulla quale il nostro server è in ascolto, nel nostro esempio visto che parliamo di terminal server mettermo ''//microsoft-ts//''(3389)
##nel riquadrino ''//User workstation setting//'' andremo ad inserire ip e porta che verrà utilizzata sul client quando dovrà raggiungere il terminal server dall'esterno
###''//Listening IP address (local) ://'' solidi default si usa 127.0.0.1 che è l'interfaccia di loopback del client sulla quale il software java creerà il tunnel sicuro
###''//Port://'' di default abbiamo ''//11220//'' solitamente si usano porte alte per evitare conflitti
##nella sezione ''//Advanced configuration//'' abiamo due campi
###''//Enable Citrix compatibility//'' da utilizzare solo quando vogliamo collegarci ad un citrix
###''//Command executed at startup ://'' questo serve per generare un tasto(Launch) sul portale di auth del FW in modo che, dopo averci cliccato sopra, verrà lanciato sul client il comando da eseguire per raggiungere il server. <br>Nel nostro caso vogliamo lanciare la connessione in remote desktop quindi il comando sarà : ''//start "vpnssl shell" mstsc /v:127.0.0.1:11220//'' <br>Praticamente questo comando lancerà una connessione in terminal server verso 127.0.0.1 sulla porta 11220 che grazie alla config fatta prima ci permetterà di raggiungere il nostro server con una connessione rdp.
Qui sotto potete vedere un'immagine del portale del FW con il tasto ''//Launch//'' e dove potete notare che l'applet java ha creato una connessione su ''//127.0.0.1:11220//'' che ci permetterà di raggiungere il terminal server sfruttando la connessione in https tra il client e il FW.
<html><img src="img/VPN_SSL_full1_new.jpg" border="0" alt="Foto"></html>
Andiamo sotto ''//VPN//'' → ''//VPN SSL//'' e ci spostiamo sul tab ''//WEB SERVERS//''
A questo punto siamo nella schermata di configurazione quindi per aggiungere un nuovo ''//WEB SERVER//'' dobbiamo:
#cliccare su ''//Add//'' e scegliere che tipo di ''//WEB SERVER//'' vogliamo aggiungere:
##''//Web Server//''
##''//OWA 2003 Premium mode web server//''
##''//OWA 2007-2010 Premium mode web server//''
##''//Lotus Domino web server//''
#scegliendo uno di questi 4 tipi ci verrà proposta una piccola finestra in cui inserire il nome del web server che vogliamo aggiungere(in questo esempio lo chiameremo ''//intranet aziendale//''), inseriamo quindi il nome e premiamo ''//OK//''
#a questo punto ci verrò presentata la schermata in cui possiamo andare a configurare l'accesso che abbiamo appena creato
##''//Destination Server://'' è l'oggetto che corrisponde all'indirizzo ip privato del nostro server web
##''//Port://'' di default viene messo http ma possiamo mettere qualsiasi altra porta basta che il protocollo sia HTTP (__non è possibile pubblicare server web che rispondono sulla porta HTTPS__)
##''//URL: access path ://'' nell'esempio ho messo ''//intranet//'' perchè il mio server web mi fornisce la pagina della intranet solo se vado all'indirizzo http://srv_web/intranet
##nella sezione ''//Advanced configuration//'' troviamo una serie di opzioni per le quali vi rimando all'''//online help//'' che potete trovare cliccando su <html><img src="img//online_help.jpg" border="0" alt="Foto"></html> <br>(lo trovate in alto a destra quando siete connessi al vostro FW tramite la WEBGUI)
##a questo punto una volta che abbiamo configurato il nostro ''//WEB SERVER//'' non dobbiamo far altro che clicca su ''//Apply//'' per salvare la configurazione fatta
##da questo momento il nostro server sarà raggiungibile anche dall'esterno dopo esserci autenticati sul portale di autenticazione del FW.
!!!!Collegarsi al FW ed effettuare la seguente procedura (diamo per scontato che l'integrazione con AD sia già stata fatta, se non è così cliccare [[qui|Integrazione trasparente tra Netasq e AD]])
#Aprire la GUI
#Andare sotto ''//Users//'' → ''//Directory configuration//'' on ''//Structure tab//'' rimuovere la spunta su ''//You are accessing the directory in read-only mode. The creation of users and groups is not allowed//''
#Andare sotto ''//Objects//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto 4
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##come metodo di auth selezioniamo ''//Hybrd//''
##Selezionare il certificato(dopo aver cliccato sulla lente di ingrandimento apparirà una finestra vuota,cliccare sulla X per poter visualizzare la lista dei certificati e poi selezionare quello creato nel punto 5)
## Terminare il wizard cliccando su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//ACCESS POLICY//'' e aggiungere una regola che permette all'utente o al gruppo di utenti di:
##autenticarsi sul FW con il metodo ''//Kerberos//''
##e di instaurare un tunnel IPSEC settando ''//Allow//'' sotto l'apposita colonna
!!!!Sul PC dove installeremo Shrew VPN Client:
#Scaricare e installare Shrew VPN Client
#Cliccare su ''//Add//'' per aggiungere una nuova vpn
#nel tab ''//General//'' settare:
##l'ip address o l'FQDN del FW e lasciare il resto a default
#nel tab ''//Client//''
## lasciare tutto a default tranne l'opzione ''//Enable Client Login Banner//'' che va disabilitata (il Netasq non invia nessun banner)
#nel tab ''//Name Resolution//''
##settare dns o wins se eventualmente li vogliamo usare
#nel tab ''//Authentication//''
##settare ''//Hybrid RSA + Xauth//''
##nella sezione ''//Local Identity//'' lasciare vuoto
##nella sezione ''//Remote Identity//'' lasciare vuoto
##nella sezione ''//Credentials//'' selezionare il certificato di tipo server che dobbiamo esportare dal FW
#nel tab ''//Phase1//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase 1 sul FW ponendo particolare attenzione al campo ''//Exchange Mode//'' che dovrà essere settato a ''//Main//''
#nel tab della ''//Phase2//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase2 sul FW
#nel tab ''//Policy//'':
##come ''//Policy Generation Level//'' settare ''//require//''
##se presente, togliere il flag da ''//Maintain Persistent Security Associations//''
##mettere il flag su ''//Obtain Topology Automatically or Tunnel All//''
#lanciate il tunnel, inserite le credenziali e a questo punto il tunnel dovrebbe essere up
!!!!Per poter conifgurare la vpn in modo da utilizzare come metodo di autenticazione la presharedkey dobbiamo seguire questi passi
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##come metodo di auth selezioniamo ''//Pre-shared key (PSK)//''
##in questa schermata dovremmo aggiungere l'''//indirizzo email//'' e la ''//presharedkey//'' che l'utente configurerà sul cilent VPN Netasq poi clicchiamo ''//next//''<br>@@__ATTENZIONE PERCHE' L'EMAIL DEVE ESSERE PRESENTE NELLA CONFIGURAZIONE DI UN UTENTE NEL FW(sia che il FW abbia un LDAP interno oppure sia connesso ad AD o LDAP esterno)__@@
##apparirà quindi la schermata di riepilogo quindi clicchiamo su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//ACCESS POLICY//'' e aggiungere una regola che permette all'utente o al gruppo di utenti di instaurare un tunnel IPSEC settando ''//Allow//'' sotto l'apposita colonna
!!!!Sul pc windows dove installeremo il client Shrew
#Scaricare e installare Shrew VPN Client
#Cliccare su ''//Add//'' per aggiungere una nuova vpn
#nel tab ''//General//'' settare:
##l'ip address o l'FQDN del FW e lasciare il resto a default
#nel tab ''//Client//''
## lasciare tutto a default tranne l'opzione ''//Enable Client Login Banner//'' che va disabilitata (il Netasq non invia nessun banner)
#nel tab ''//Name Resolution//''
##settare dns o wins se eventualmente li vogliamo usare
#nel tab ''//Authentication//''
##settare ''//Mutual PSK//''
##nella sezione ''//Local Identity//'' mettere ''//User Fully Qualified Domain Name//'' e l'email address dello user
##nella sezione ''//Remote Identity//'' lasciare vuoto
##nella sezione ''//Credentials//'' settare la presharedkey
#nel tab ''//Phase1//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase 1 sul FW ponendo particolare attenzione al campo ''//Exchange Mode//'' che dovrà essere settato ad ''//Aggressive//''
#nel tab della ''//Phase2//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase2 sul FW
#nel tab ''//Policy//'':
##come ''//Policy Generation Level//'' settare ''//require//''
##se presente, togliere il flag da ''//Maintain Persistent Security Associations//''
##mettere il flag su ''//Obtain Topology Automatically or Tunnel All//''
#salvate il tutto e lanciate il tunnel
!!!!Collegarsi al FW ed effettuare la seguente procedura (diamo per scontato che l'integrazione con AD sia già stata fatta, se non è così cliccare [[qui|Integrazione trasparente tra Netasq e AD]])
#Aprire la GUI
#Andare sotto ''//USERS//'' → ''//Directory configuration//'' → nel tab ''//Structure//'' tab rimuovere il flag su ''//You are accessing
the directory in read-only mode. The creation of users and groups is not allowed.//''
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//''
#Cliccare su ''//Add//'' e selezionare ''//Add a root CA//'' e seguire il wizard per la creazione della CA
#Cliccare ancora su ''//Add//'' scegliere ''//Add a server certificate//''.(nella prima pagina del wizard dobbiamo inserire due campi, l'FQDN che andiamo ad inserire in questi due campi dovrà essere lo stesso che andremo a configurare come gateway nell'iPhone)<br>Durante il wizard verrà chiesto di scegliere quale CA usare per questo certificato quindi selezionare la CA creata al punto 4 (il nome del server certificate dovrà essere lo stesso FQDN che andremo a configurare come gateway nell'iPhone)
#Andare sotto ''//VPN//'' → ''//Ipsec VPN//''
#Selezionare uno slot libero
#Nel tab ''//PEER//'' selezionare ''//Add//'' e poi ''//New anonymous (mobile) peer//'' a questo punto partirà un wizard:
##inserire il nome che vogliamo dare al PEER
##selezionare come metodo di autenticazione ''//Certificate and ~XAuth(iPhone)//''
##selezionare il certificato(dopo aver cliccato sulla lente di ingrandimento apparirà una finestra vuota,cliccare sulla X per poter visualizzare la lista dei certificati e poi selezionare quello creato nel punto 5)
##terminare il wizard cliccando su ''//Finish//''
#Andare ora nel tab ''//ENCRYPTION POLICY – TUNNEL//'' → ''//ANONYMOUS – MOBILE USERS //'' e cliccare su ''//Add a new policy//''
#Selezionare l'anonymous peer creato al punto 8
#Aggiungere la ''//Network_in//'' nelle local resources oppure ''//All//'' se vogliamo raggiungere tutto tramite la VPN
#Aggiungere una network o un range nella ''//Remote Netwok//'' (verrà utilizzata per il mode config)
#Attivare il mode config
#Come profilo di encryption selezionare ''//iPhoneEncryption//''
#Applicare la configurazione
#Andare nel tab ''//IDENTIFICATION//'' e aggiungere il la root CA creata al punto 4
#Salvare la configurazione e attivare lo slot
#Andare sotto ''//USERS//'' → ''//Access privileges//'' → nel tab ''//DEFAULT//'' e abilitare la vpn ipsec
!!!!Creare e scaricare il certificati
#Aprire la GUI
#Andare sotto ''//USERS//'' → ''//Users//'' e selezionare l'utente per il quale vogliamo abilitare la vpn ipsec
#Selezionare il tab ''//CERTIFICARE//'' e crearlo
#Andare sotto ''//OBJECTS//'' → ''//Certificates and PKI//'' e
##scaricare in formato P12(cliccando sul tasto ''//Download//'') il certificato di tipo utente
##scaricare in formato DER (cliccando sul tasto Download) la CA che abbiamo usato per generare i certificati
##scaricare in formato PEM (cliccando sul tasto ''//Download//'') il certificato di tipo server
!!!!Su un PC windows che useremo solo per prepare i certificati per il client Shrew eseguire questa procedura
#Scaricare ''//openssl.exe//'' da questo [[sito|http://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_WIN32.zip&can=2&q=]]
#Una volta che abbiamo scaricato ''//openssl-0.9.8k_~WIN32.zip//'' estrarlo in una direcotry a nostro piacimento(io ho usato ''//c:\tmp//'')
#Fare doppio click sul certificato di tipo user (.p12) e cliccare su next selezionado ''//Mark this key exportable//'' proseguire il wizard lasciando il resto a default
#Aprire internet explorer e andare sotto le opzioni selezionando il tab ''//Contenuto//'' poi selezionare ''//Certificati//'' e scegliare il certificato importato al punto precedente
#cliccare il tasto ''//esporta//'' per esportare questo certificato e selezionare ''//esporta anche la chiave privata//'', cliccare next 2 volte e salvare il certificato in formato pfx(in questo esempio useremo test.pfx) sotto ''//c:\tmp\openssl-0.9.8k_~WIN32\bin//''
#Aprire il prompt dei comandi e andare sotto la cartella ''//c:\tmp\openssl-0.9.8k_~WIN32\bin//'' e lanciare questi comandi:
##openssl.exe pkcs12 -in test.pfx -nocerts -out privateKey.pem
##openssl.exe pkcs12 -in test.pfx -clcerts -nokeys -out publicCert.pem
!!!!Sul pc windows dove installeremo il client Shrew
#Scaricare e installare Shrew VPN Client
#Cliccare su ''//Add//'' per aggiungere una nuova vpn
#nel tab ''//General//'' settare:
##l'ip address o l'FQDN del FW e lasciare il resto a default
#nel tab ''//Client//''
## lasciare tutto a default tranne l'opzione ''//Enable Client Login Banner//'' che va disabilitata (il Netasq non invia nessun banner)
#nel tab ''//Name Resolution//''
##settare dns o wins se eventualmente li vogliamo usare
#nel tab ''//Authentication//''
##settare ''//Mutual RSA + Xauth//''
##nella sezione ''//Local Identity//'' mettere ''//User Fully Qualified Domain Name//'' e l'email address dello user
##nella sezione ''//Remote Identity//'' lasciare vuoto
##nella sezione ''//Credentials//''
##su ''//Server Certificate Authority File//'' mettere il certificato di tipo server che abbiamo esportato dal FW
##su ''//Client Certificate File//'' mettere ''//publicCert.pem//''
##su ''//Client Private Key File//'' mettere ''//privateKey.pem//''
#nel tab ''//Phase1//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase 1 sul FW ponendo particolare attenzione al campo ''//Exchange Mode//'' che dovrà essere settato a ''//Main//''
#nel tab della ''//Phase2//''
##selezionare i parametri in modo che siano uguali a quelli impostati nella fase2 sul FW
#nel tab ''//Policy//'':
##come ''//Policy Generation Level//'' settare ''//require//''
##se presente, togliere il flag da ''//Maintain Persistent Security Associations//''
##mettere il flag su ''//Obtain Topology Automatically or Tunnel All//''
#lanciate il tunnel, inserire username e password di AD e in seguito inserire anche la password per permettere a shrew di usare il certificato
!!!!Su iPhone
#installare la CA che ha generato i certificati (file.der)
#installare il certificato di tipo utente (file .p12)
#andare sotto ''//Impostazioni//'' → ''//VPN//'' → ''//Aggiungi config. VPN...//'' → selezionare ''//~IPSec//'' e configurare i seguenti parametri:
##''//Descrizione//'': il nome della vostra VPN
##''//Server//'': deve essere lo stesso FQDN che abbiamo usato per creare il certificato di tipo server
##''//Account//'': deve essere la login dell'utente
##''//Password//'': Chiedi ogni volta
##''//Usa certificato//'': settare questo parametro a 1
##''//Certificato//'': selezionare il certificato che abbiamo importato nell'iPhone al punto 1
Qui sotto uno screenshot preso dall'iPhone:
<html><img src="img/iPhone.png" border="0" alt="Foto"></html>
Qui sotto trovate un'immagine che spiega il flusso di una richiesta SSL con una breve spiegazione di tutti i passaggi:
<html><img src="img/ProxySSL_1.jpg" border="0" alt="Foto"></html>
# l'ASQ effettua una redirezione all'interfaccia di loopback del FW ed effettua una query DNS per risolvere l'FQDN del server SSL
# Il proxy SSL effettua una negoziazione SSL scaricando il certificato che viene inviato dal server SSL e blocca la connessione:
##se il server non propone nessuna informazione SSL
##se il certificato è self-signed (questa funzione può essere modificata)
##se il certificato proposto dal server non è approvato da nessuna CA presente sul FW (questa funzione può essere modificata)
##se il certificato è scaduto (questa funzione può essere modificata)
##se il certificato è stato revocato (questa funzione può essere modificata)
##se il server richiede l'autenticazione
# una volta che la negoziazione è stata validata il proxy SSL analizza il CN ed effettua un confronto con le regole di ''//SSL filtering//'' all'interno delle quali possiamo settare 3 diversi comportamenti:
##Decrypt
##Block wihtout decrypt
##Pass without decrypt
# a negoziazione terminata il proxy genererà un certificato //fasullo// usando la CA configurata sotto ''//APPLICATION PROTECTION//'' → ''//Protocols and applications//'' → ''//SSL//'' →''//Go to global configuration//''
#il FW proporrà il certificato //fasullo// al client ed è per questo motivo che il client deve avere la CA, che usiamo sul FW per generarare questo certificato, come trusted altrimenti darà il warning.
#come ultimo passaggio abbiamo lo scambio di dati che avverrà
##in maniera criptata tra il client e il FW usando il certificato //fasullo//
##i dati passano decriptati all'interno dei proxy del FW che permetteranno di fare antivirus, antispam, mail filtering e URL filtering
##tra il FW e il web server i dati vengono criptati con il certificato fornito dal server
Con l'arrivo della versione 9 il server syslog che veniva installato in maniera automatica sul FW con l'''//Administration Suite//'' è stato rimosso ma possiamo comunque continuare ad utilizzare un qualsiasi server syslog per raccogliere i log dal FW.
La comodità del syslog Netasq stava nel fatto che i log venivano automaticamente parsificati in un formato che permetteva al ''//Reporter//'' di leggerli senza problemi.
Ora non avendo più questo syslog dobbiamo fare la parsificazione in maniera manuale andando sul ''//Reporter//'' sotto ''//Tools//'' → ''//Unix syslog...//'' ed eseguire il wizard per effettuare la conversione.
Dobbiamo però ricordare che il reporter è un tool che server per poter leggere lo storico dei log in un formato tabellare mentre per l'analisi dei problemi dobbiamo uare il ''//Monitor//'' che ci dà la possibilità di vedere gli utlimi eventi presenti sul FW e quindi ci dà la possibilità di analizzare i log in tempo reale.
Attualmente gli unici log non visualizzabili sul ''//Real Time Monitor//'' sono quelli relativi alla ''//VPN IPSEC//'' ma possiamo vederli da connessione ssh usando il comando ''//sfct -T//''
Vediamo ora due esempi di syslog che possiamo utilizzare:
* [[Installazione di un semplice server sylog|Installazione di un semplice server sylog]]
* [[Installazione di un server syslog su cygwin con la parsificazione automatica(praticamente avremmo le stesse funzionalità del server syslog che veniva installato con l'Admin suite in V8)|Installazione di un server syslog su cygwin con la parsificazione automatica(praticamente avremmo le stesse funzionalità del server syslog che veniva installato con l'Admin suite in V8)]]
Per potersi collegare in ssh a tutti i FW che gestiamo __utilizzando un'unica password per tutti__ dobbiamo seguire questi passi:
# verificare che su tutti i miei FW sia attivo l'accesso SSH tramite certificato andando sotto ''//SYSTEM//'' → ''//Configuration//'' → andare nel tab ''//FIREWALL ADMINISTRATION//'' mettere il flag sull'opzione ''//Enable SSH access//'' nella sezione ''//Remote SSH access//''
#sulla mia macchina linux generare un certificato con il comando ''//ssh-keygen//'', qui sotto potete trovare un esempio di quello che vedrete a video:<br><html><img src=img/ssh-keygen_linux1.jpg" border="0" alt="Foto"></html>
#copiamo il certificato, creato sul pc linux, sui FW da noi gestiti lanciando questo comando ''//ssh-copy-id admin@<ip del firewall>//''. <br>Ecco qui cosa dovremmo vedere lanciando questo comando:<br><html><img src="img/ssh-copy_linux3.jpg" border="0" alt="Foto"></html>
#a questo punto lanciando la connessione ssh verso il FW (ssh admin@ip del fw) il nostro pc linux ci presenterà questa schermata:<br><html><img src="img/ssh-copy_linux4.jpg" border="0" alt="Foto"></html>
#inseriamo la password che abbiamo utilizzato al punto 2 e la connessione verso il nostro FW è stabilita
Per potersi collegare in ssh a tutti i FW che gestiamo utilizzando un'unica password per tutti dobbiamo seguire questi passi:
#verificare che su tutti i miei FW sia attivo l'accesso SSH tramite certificato andando sotto ''//SYSTEM//'' → ''//Configuration//'' → andare nel tab ''//FIREWALL ADMINISTRATION//'' mettere il flag sull'opzione ''//Enable SSH access//'' nella sezione ''//Remote SSH access//''
#sul pc windows scaricare ''//puttygen.exe//''
#eseguire ''//puttygen.exe//''
#cliccare su ''//Generate//'' e muovere il mouse un maniera causale all'interno della finestra di puttygen(questo fa sì che la chiave venga generata in base ai muoviminti del mouse rendendola di fatto unica
#una volta terminata la generazione della chiave inseriamo:
##un ''//commento//'' che ci permetterà di identificare questa chiave
##la ''//password//'' digitandola due volte in modo che la la chiave privata potrà essere usata solo da noi
#cliccare su ''//Save public key//'' e salvare il file in formato testo chiamadola chiave_pubblica.txt
#cliccare su ''//Save private Key//'' e salvare il file in formato ppk chiamandola chiave_privata.ppk
#apriamo con un notepad il file ''//chiave_pubblica.txt//'' e copiamo solo la sequenza di lettere/numeri e simboli come nell'esempio qui sotto(__la sequenza deve essere tutta su un'unica riga quindi assicuriamoci che il nostro notepad non inserisca degli a capo__)<br><html><img src="img/putty1.jpg" border="0" alt="Foto"></html>
#colleghiamoci al fw e lanciamo il comando che possiamo vedere qui sotto(la parte evidenziata è il copia che abbiamo fatto nel punto precendete)<br><html><img src="img/putty_copy.png" border="0" alt="Foto"></html><br>Per poter fare copia incolla riporto qui il comando ''//echo ssh-rsa stringa_copiata_al_punto_precedente >> .ssh/authorized_keys//''
#ora arpiamo ~SecureCRT creiamo la nostra connessione ssh e poi andiamo sotto ''//Connection//'' → ''//SSH//'' → nella sezione '''//Authentication//'' (sulla sinistra) clicchiamo su PublilcKey e poi ''//Properties//'' e configuriamo la nostra chiave_privata.ppk<br><html><img src="img/SecureCRT.jpg" border="0" alt="Foto"></html>
#a questo punto apriamo la connessione ssh ed eccoci connessi al FW
Per potersi collegare in ssh a tutti i FW che gestiamo utilizzando un'unica password per tutti dobbiamo seguire questi passi:
#verificare che su tutti i miei FW sia attivo l'accesso SSH tramite certificato andando sotto ''//SYSTEM//'' → ''//Configuration//'' → andare nel tab ''//FIREWALL ADMINISTRATION//'' mettere il flag sull'opzione ''//Enable SSH access//'' nella sezione ''//Remote SSH access//''
#sul pc windows scaricare ''//puttygen.exe//''
#eseguire ''//puttygen.exe//''
#cliccare su ''//Generate//'' e muovere il mouse un maniera causale all'interno della finestra di puttygen(questo fa sì che la chiave venga generata in base ai muoviminti del mouse rendendola di fatto unica
#una volta terminata la generazione della chiave inseriamo:
##un ''//commento//'' che ci permetterà di identificare questa chiave
##la ''//password//'' digitandola due volte in modo che la la chiave privata potrà essere usata solo da noi
#cliccare su ''//Save public key//'' e salvare il file in formato testo chiamadola chiave_pubblica.txt
#cliccare su ''//Save private Key//'' e salvare il file in formato ppk chiamandola chiave_privata.ppk
#apriamo con un notepad il file ''//chiave_pubblica.txt//'' e copiamo solo la sequenza di lettere/numeri e simboli come nell'esempio qui sotto(__la sequenza deve essere tutta su un'unica riga quindi assicuriamoci che il nostro notepad non inserisca degli a capo__)<br><html><img src="img/putty1.jpg" border="0" alt="Foto"></html>
#colleghiamoci al fw e lanciamo il comando che possiamo vedere qui sotto(la parte evidenziata è il copia che abbiamo fatto nel punto precendete)<br><html><img src="img/putty_copy.png" border="0" alt="Foto"></html><br>Per poter fare copia incolla riporto qui il comando ''//echo ssh-rsa stringa_copiata_al_punto_precedente >> .ssh/authorized_keys//''
#ora apriamo putty sul nostro pc creiamo una nuova connessione ssh e andando sotto ''//Connection//'' → ''//SSH//'' → ''//Auth//'' importiamo la nostra chiave_privata.ppk<br><html><img src="img/putty_auth.jpg" border="0" alt="Foto"></html>
#ora lanciamo la connessione ssh da putty, inseriamo la username del FW e vedremo che putty ci chiederà la password della nostra chiave privata, inseriamo anche quella ed eccoci connessi al FW<br><html><img src="img/putty_login.jpg" border="0" alt="Foto"></html>
In questa sezione possiamo trovare una serie di documenti che spiegano come configurare la vpn ipsec con le varie modalità disponibili sulla V9
!!!! VPN FAILOVER
* [[2 link nella sede centrale e 1 link nella sede remota|2 link nella sede centrale e 1 link nella sede remota]]
* [[2 link nella sede centrale e 2 link nella sede remota|2 link nella sede centrale e 2 link nella sede remota]]
!!!!Netasq e connessione con VPN IPSEC client nomadi
* [[Netasq VPN Client con presharedkey|Netasq VPN Client con presharedkey]]
* [[Netasq VPN Client con metodo di autenticazione Hybrid e AD|Netasq VPN Client con metodo di autenticazione Hybrid e AD]]
* [[Netasq VPN Client con metodo di autenticazione Hybrid e RADIUS|Netasq VPN Client con metodo di autenticazione Hybrid e RADIUS]]
* [[Netasq VPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)|Netasq VPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)]]
* [[Iphone e Android|Iphone e Android]]
* [[Shrew VPN Client con presharedkey|Shrew VPN Client con presharedkey]]
* [[Shrew VPN Client con metodo di autenticazione Hybrid e AD|Shrew VPN Client con metodo di autenticazione Hybrid e AD]]
* [[Shrew VPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)|ShrewVPN Client con metodo di autenticazione con Certificato e X-Auth(iPhone)]]
* [[Come configurare più di una rete nella Local Network quando abilitiamo il Mode Config|Come configurare più di una rete nella Local Network quando abilitiamo il Mode Config]]
* [[Come passare i DNS all'iPhone o iPad o ad altro client mobile|Come passare i DNS all'iPhone o iPad o ad altro client mobile]]
!!!!Instaurare una VPN su una connessione diversa dalla principale
* [[Come instaurare una VPN ipsec mobile su una connessione dove non c'e' il default gateway]]
* [[Come instaurare una VPN ipsec site-to-site su una connessione dove non c'e' il default gateway]]
!!!!Come creare le regole di filtro e NAT per permettere il traffico all'interno del tunnel IPSEC:
* [[Regole di filtro per permettere il traffico all'interno del tunnel IPSEC|Regole di filtro per permettere il traffico all'interno del tunnel IPSEC]]
* [[Come abilitare il NAT before VPN|Come abilitare il NAT before VPN]]
* [[La copia di dati all'interno del tunnel ipsec fallisce oppure va molto piano|La copia di dati all'interno del tunnel ipsec fallisce oppure va molto piano]]
* [[Come instaurare un tunnel IPSEC tra due sedi con la stessa Network_in|Come instaurare un tunnel IPSEC tra due sedi con la stessa Network_in]]
!!!!IPSEC site to site
* [[Come abilitare il keep alive|Come abilitare il keep alive]]
* [[Configurazione VPN PPTP|Configurazione VPN PPTP]]
* [[Configurazione VPN PPTP su due linee internet|Configurazione VPN PPTP su due linee internet]]
* [[Configurazione VPN PPTP per iPhone|Configurazione VPN PPTP per iPhone]]
* [[Come tenere traccia delle connessioni PPTP|Come tenere traccia delle connessioni PPTP]]
* [[Non riesco a raggiungere determinati servizi presenti nella mia Network_in dalla connessione in PPTP|Non riesco a raggiungere determinati servizi presenti nella mia Network_in dalla connessione in PPTP]]
* [[Come permettere una PPTP passante nel FW|Come permettere una PPTP passante nel FW]]
Prima di iniziare la configurazione della VPN SSL dobbiamo assicurarci di aver confiigurato un ''//DB//'' (vedi capitolo [[Configurazione DB esterni o interno|Configurazione DB esterni o interno]]) e il ''//portale di autenticazione//''.
Per configurare la ''//VPN SSL//'' dobbiamo seguire questi passi ma come prima cosa dobbiamo aver configurato un DB con gli uter:
#andare sotto ''//VPN//'' → ''//VPN SSL//''
#mettere la spunta su ''//Enable VPN SSL//'' e scegliere quale modalità di ''//VPN SSL//'' vogliamo abilitare:
##''//access only to web servers//'' da abilitare se dobbiamo configurare solo ''//WEB SERVERS//'' cioè servizi raggiungibili solo tramite protocollo ''//http//''
##''//access only to application servers//'' da abilitare se dobbiamo configurare solo ''//APPLICATION SERVERS//'' ad esempio il ''//remote desktop//''
##''//access to both web and application servers//'' da abilitare se dobbiamo configurare sia ''//WEB SERVERS//'' che ''//APPLICATION SERVERS//''
Una volta che abbiamo deciso quale modalità di ''//VPN SSL//'' usare non dobbiamo far altro che seguire queste due procedure:
* [[SSL VPN - WEB SERVERS]]
* [[SSL VPN - APPLICATION SERVERS]]
* [[Come abilitare l'accesso al portale di auth quando si hanno più interfacce esterne|Come abilitare l'accesso al portale di auth quando si hanno più interfacce esterne]]
* [[Come personalizzare il portale di auth|Come personalizzare il portale di auth]]
In questa sezione possiamo trovare le varie procedure per abilitare il verbose sui moduli del FW:
* [[Abilitazione verbose del modulo della VPN IPSEC|Abilitazione verbose del modulo della VPN IPSEC]]
* [[Abilitazione verbose del modulo della VPN PPTP|Abilitazione verbose del module della VPN PPTP]]
* [[Abilitazione verbose del modulo del PROXY|Abilitazione verbose del modulo del PROXY]]
* [[Abilitazione verbose del modulo di ROUTING|Abilitazione verbose del modulo di ROUTING]]
* [[Abilitazione verbose del modulo di AUTENTICAZIONE|Abilitazione verbose del modulo di AUTENTICAZIONE]]
* [[Abilitazione verbose del modulo di SSL VPN|Abilitazione verbose del modulo di SSL VPN]]
* [[Abilitazione verbose dell'ASQ|Abilitazione verbose dell'ASQ]]
In questa sezione possiamo trovare istruzioni su come leggere i verbose:
* [[Analisi del verbose della VPN IPSEC|Analisi del verbose della VPN IPSEC]]