Capitolo 6. Modulo WEB

Sommario

Info
Avanzate
Server
Regole di accesso
Visualizzatore Log

Il modulo WEB viene utilizzato per consentire agli utenti di navigare e allo stesso tempo per imporre loro eventuali politiche restrittive. Se si desidera un'introduzione al funzionamento del modulo WEB vedere Capitolo 5, Funzionamento del modulo WEB.

Info

La sezione Info presenta un riepilogo dello stato del modulo:

  • Stato: Lo stato del modulo può essere: Disabilitato, Fermo, Avviato o In avvio.

  • Data di avvio: Ultima volta che il modulo è stato avviato.

  • Dimensioni file di log: Spazio occupato su disco dal file di log (estensione .log).

  • Dimensioni file comandi processati: Spazio occupato su disco dal file comandi (estensione .lcd).

  • Dimensioni file di debug: Spazio occupato su disco dal file con le informazioni di debug (estensione .err).

Ogni modulo, quando avviato, registra le informazioni relative al proprio funzionamento su tre file che portano il nome del modulo stesso ed estensioni (.log, .lcd e .err) dipendenti dal tipo di dati che raccolgono. Ogni giorno, ad un orario stabilito (che può essere variato a piacere) i file vengono rinominati e viene aggiunta la data corrente nel nome del file e poi viene creato un nuovo file senza data per il nuovo giorno. In questo modo i file si accumulano giorno per giorno e possono essere facilmente identificati dalla data che hanno nel nome stesso. Per default la rotazione avviene alle 23.58, quindi il file rinominato avrà la data corrente e tutte le informazioni relative a quel giorno (almeno fino alle 23:58) e gli ultimi 2 minuti del giorno precedente. In questo modo si otterranno dei file con riportata nel nome una data e all'interno di essi tutti i log relativi alla data indicata nel nome.

Nella parte inferiore della sezione è possibile accedere alle statistiche del modulo nell'ultima ora, giorno e settimana. Viene fornito un riassunto grafico delle attività del modulo, in modo da riconoscere immediatamente eventuali picchi di traffico, oltre al valore minimo, massimo e medio dell'attività visualizzata. "Tipo" specifica la caratteristica del modulo che si vuole visualizzare e "Intervallo" l'intervallo temporale che si desidera considerare nella statistica. "Visualizza statistiche" mostra le statistiche desiderate.

Avanzate

Significato dei parametri disponibili:

  • Durata massima di una connessione: durata massima in secondi di una connessione. Un valore pari a 0 indica un tempo infinito.

  • Durata massima di una connessione inattiva: tempo massimo in secondi dopo il quale una connessione viene terminata se non vengono ricevuti dei dati.

  • Livello di debug: regola la quantità di informazioni che viene generata dal modulo e salvata nel file di debug (estensione .err). Più piccolo è tale valore, minori sono le informazioni registrate. Tipicamente si incrementa il livello di debug in fase di diagnostica per determinare la causa di eventuali problemi.

  • Consenti host per cui non esiste il nome: può capitare che eXtensiveControl® debba eseguire una query DNS inversa da indirizzo IP a nome per applicare la politica di accesso definita nella sezione "Regole di accesso". Questo accade ad esempio se si imposta una politica basata sui nomi delle macchine piuttosto che sui loro indirizzi IP. Se la conversione fallisce la connessione viene rifiutata a meno che questo flag non venga impostato.

  • Utilizza il Server Proxy: consente di collegare eXtensiveControl® in cascata un altro server proxy. Viene solitamente impiegato quando per accedere alla rete esterna bisogna passare per un altro proxy HTTP.

  • Username per il Server Proxy: nome utente utilizzato per l'autenticazione al Server Proxy.

  • Password per il Server Proxy: password utilizzata per l'autenticazione al Server Proxy.

  • Tempo di cache per autenticazione utente: Quando nelle regole di accesso si abilita l'autenticazione utente, viene creata un'associazione computer/utente in modo che eventuali richieste provenienti da un host siano considerate come effettuate dall'utente che ha effettuato la prima autenticazione. Questo funzionamento permette di utilizzare anche applicazioni che non supportano l'accesso tramite proxy con richiesta di autenticazione e inoltre evita che l'utente debba inserire username e password ogni volta che esegue un nuovo programma che utilizza il proxy Web. L'associazione computer/utente viene mantenuta per il tempo indicato da questo parametro. Il valore 0 disabilita l'associazione computer/utente.

  • Estensioni proibite: vengono negati i download dei file aventi le estensioni elencate nel relativo box. Le estensioni vengono inserite senza wildcard e sono separate da uno spazio (es. zip rar exe com).

  • Blocca i siti non categorizzati (sconosciuti): se è abilitata la categorizzazione degli URL e un sito non è presente nel database prescelto, l'accesso è controllato dal valore di questo flag.

Dopo avere cambiato la configurazione per salvare le modifiche è necessario premere il pulsante "Salva". Il pulsante "Annulla le modifiche" effettua una rilettura della configurazione presente su disco cancellando così le modifiche inserite e non ancora salvate.

Dalla versione 1.2 il prodotto è dotato di un servizio a parte chiamato cf_catmanager con il quale il modulo WEB si interfaccia per gestire la categorizzazione dei siti. Operativamente questo significa che la gestione dei database Symbolic, BluePrint Data® e SurfControl®, nonchè la pianificiazione degli aggiornamenti avverrà in una sezione a parte chiamata Categorizzatore Web (nel menu Sistema) e non più nella sezione Avanzate del proxy HTTP. Per ulteriori informazioni vedere: la sezione chiamata «Categorizzazione WEB»

Server

I server vengono utilizzati per associare ad un dato modulo uno o più indirizzi e porte di ascolto. Quando un client deve utilizzare un modulo per accedere ad un dato servizio deve infatti conoscere l'indirizzo e la porta TCP a cui connettersi per inviare le richieste. Tali parametri vengono configurati in questa sezione e sono specifici per ogni modulo. È importante fare attenzione all'utilizzo delle porte sulla macchina, poiché non è possibile permettere a due o più applicazioni di condividere la stessa coppia indirizzo/porta di ascolto. In particolare i moduli possono presentare dei malfunzionamenti qualora la coppia indirizzo/porta specificata come server sia già in uso da qualche altro processo. Se questo accade occorre cambiare i parametri associati al modulo, oppure le impostazioni dell'altro processo. Tipicamente il problema si risolve cambiando uno dei parametri in questione e riconfigurando i client che utilizzano quel servizio in modo da aggiornarli al cambiamento. Se è necessario cambiare un indirizzo IP ma la macchina ha una sola scheda di rete con un solo indirizzo IP associato, bisognerà aggiungere altri indirizzi alla scheda (e quindi alla macchina) attraverso le impostazioni di rete di Windows (sezione avanzate).

Il menu server presenta le seguenti azioni:

  • Modifica: Permette di alterare una voce già inserita nella lista.

  • Inserisci: Permette di aggiungere una voce alla lista dei server. Ogni voce consiste in un indirizzo IP di ascolto e di una porta.

  • Rimuovi: Permette di eliminare una voce dalla lista.

  • Rimuovi tutto: Permette di eliminare tutte le voci dalla lista.

Regole di accesso

La regole di accesso, note anche come ACL (Access Control List), vengono impiegate per stabilire i permessi sugli utenti/macchine che utilizzano il servizio. In particolare è possibile stabilire, per quel che riguarda il modulo WEB, chi può navigare, quali siti può visitare e in quale fascia oraria della giornata.

Le regole di accesso sono liste di voci ognuna delle quali è una coppia (condizione, azione). Quando la condizione viene verificata (match) l'azione associata viene eseguita. Esempi di condizioni possono essere: uno o più indirizzi IP di client che si collegano, siti a cui gli utenti si vogliono collegare definiti attraverso un qualche criterio, un particolare intervallo temporale nell'arco della giornata o anche combinazioni più complesse.

Le azioni associate invece possono essere solo "Permetti" o "Blocca". Quando un particolare client si collega al modulo per richiedere un servizio, la lista delle voci viene scorsa dalla prima in avanti e se una di esse ha una condizione che risulta verificata l'azione associata viene eseguita. Il risultato ottenuto è quello di avere la richiesta del client accettata (e quindi il modulo procede a fornire quanto richiesto) oppure rifiutata: in tal caso il client ottiene come risposta un messaggio di errore che lo informa che la richiesta non può essere soddisfatta.

L'ordine con cui vengono inserite le voci è importante poiché la prima condizione verificata è quella che stabilisce se la richiesta del client può essere o meno soddisfatta.

Se nessuna delle voci della lista è applicabile esiste un'ultima voce implicita la cui condizione assorbe tutto, che ha come regola associata un "Blocca". In altre parole, se non vi è nessun match nelle condizioni definite dall'utente, la risposta è un rifiuto. Se si desidera invertire il comportamento ed avere un default "Permetti", cioè accettare tutto ciò che non viene esplicitamente vietato, è sufficiente inserire una voce in ultima posizione la cui condizione assorbe tutto e la cui azione associata è un "Permetti".

Se si desidera passare ad esempi pratici di impiego delle regole si puo vedere la sezione chiamata «Regole di accesso per il WEB».

Inizialmente la tabella contiene una sola voce che permette tutto. Selezionando tale voce, cliccando sopra la linea, si evidenzierà (sfondo giallo) e a quel punto sarà possibile modificarne i valori (tasto Modifica sul bordo superiore) oppure impartire altri comandi. È possibile duplicare una riga usando Duplica e poi modificare la nuova voce per creare una regola basata su una presesistente.

Le voci sul bordo superiore "Inserisci sopra", "Inserisci sotto", "Sposta sopra" e "Sposta sotto" vengono utilizzate per inserire o cambiare l'ordine delle voci nella tabella.

Affinchè i cambiamenti vengano posti in essere, è necessario riavviare il modulo (in quanto solo all'avvio i file di configurazione vengono letti).

Attraverso la voce Modifica o Inserisci sopra/Inserisci sotto è possibile accedere al pannello di editing delle voci della tabella.

Il pannello per l'editing della voce si divide in 6 sezioni. Le sezioni "Sorgente", "Destinazione", "Intervalli temporali" e "Utenti" definiscono la condizione relativa a quella particolare voce della tabella. La voce "Azione", come dice il nome stesso, definisce invece l'azione associata. Utilizzare la voce "Commento" per inserire una nota esplicativa della regola.

  • Abilitazione o disabilitazione di una regola. È possibile abilitare o disabilitare una regola senza rimuoverla dall'elenco. Una regola abilitata è contrassegnata da una spunta verde mentre una disabilitata è indicata da una croce rossa. Cliccando sul simbolo è possibile cambiarne lo stato.

    Sorgente: Definisce l'insieme dei client che possono connettersi al modulo. È possibile definire l'insieme dei client attraverso il loro indirizzo IP, definendoli singolarmente come un insieme di 4 interi fra 0 e 255, oppure mediante una subnet cioè un insieme di indirizzi IP. La subnet si può definire mediante l'uso del carattere '*' che indica un valore qualunque compreso tra 0 e 255 in numero tale da formare un indirizzo IP valido: ad esempio 10.1.* indica un qualunque indirizzo IP avente come primi due numeri 10 e 1. Un insieme di indirizzi IP può essere rappresentato anche come intervallo, quindi è possibile scrivere 10.1.1.3-8 indicando così gli indirizzi 10.1.1.3, 10.1.1.4, 10.1.1.5, 10.1.1.6, 10.1.1.7 e 10.1.1.8. Oppure è possibile adottare la notazione NSC; ad esempio per indicare tutti gli indirizzi aventi come primi due numeri 10 e 1 si scriverà 10.1.0.0/16, dove il numero successivo al carattere "/" indica il numero di bit a 1 della subnet mask a partire da quello più significativo. Quindi se la subnet mask fosse 255.0.0.0 sarà 8; con 255.255.0.0 sarà 16; con 255.255.255.0 sarà 24 e con 255.255.255.255 sarà 32 (quindi l'indirizzo esatto che precede il carattere di "/"). Siccome ogni host oltre all'indirizzo IP può avere associato un nome, è possibile creare regole basaste su questo. Utilizzando una simple expression o una più complessa regular expression è possibile riconoscere nomi aventi determinate caratteristiche (ad esempio *.example.com identifica un qualunque nome nel dominio example.com). Per avere maggiori informazioni riguardo simple expression e regular expression vedere Capitolo 9, Pattern matching. Se non si desidera imporre vincoli sulla sorgente, lasciare indicato "Tutti" nel box a fianco. Oltre all'host è possibile anche definire una porta, che sarà la porta utilizzata dal client per connettersi (solitamente i client utilizzano delle porte sorgenti sempre diverse, per questo motivo questa impostazione viene raramente utilizzata).

  • Destinazione: Analogamente alla sorgente, la destinazione consente di imporre vincoli sui server che il client può contattare attraverso il modulo utilizzando un'analoga struttura.

    Inoltre per il modulo WEB è disponibile una ulteriore voce (Categorizzazione) che consente di imporre vincoli anche sulla natura del sito che viene contattato e non solo quindi in base al nome o all'indirizzo IP.

    Se si desiderano ulteriori informazioni sul categorizzatore e in particolare su come utilizzare le categorie definibili dall'utente (Userdef01, ..., Userdef10 sotto Sistema/Categorizzatore Web) vedere la sezione chiamata «DB Utente».

  • Azione: L'azione definisce cosa fare nel caso le condizioni vengano tutte quante verificate. Le scelte sono due: "Blocca" o "Permetti".

  • Intervalli temporali: Permette di definire una fascia oraria in cui la condizione sarà valida. Il pannello sulla destra indica quale tipo di intervallo inserire e il pannello sulla sinistra indica la lista degli intervalli considerati dalla regola.

  • Utente: È possibile richiedere l'autenticazione utente. È possibile eseguire l'autenticazione usando il database utenti di un WorkGroup, di un Dominio NT o di un dominio Active Directory (Windows 2000/2003). Se si seleziona di utilizzare un dominio o workgroup, verranno visualizzati tutti i domini e workgroup raggiungibili. Con un doppio click sarà possibile selezionare l'utente o il gruppo desiderato da inserire nella regola. Può capitare che ad un certo punto eXtensiveControl® necessiti delle credenziali di un utente autorizzato a sfogliare le risorse del domain controller. Quando questo accade verrà visualizzato un box ove sono richiesti questi dati. Scegliendo invece come tipo di autenticazione il valore "Locale", è possibile utilizzare un'autenticazione per l'appunto locale, quindi specificata all'interno del prodotto. Nella sezione "Sistema" è presente una sotto-sezione "Utenti locali" dove è possibile specificare localmente all'interno di eXtensiveControl® gli utenti e i gruppi da utilizzare all'interno del software. A differenza dell'autenticazione tramite dominio o workgroup in questo caso è possibile inserire solamente gruppi.

  • Commento: In questo spazio l'utente può inserire un commento.

Quando si termina l'editing della voce è possibile confermare il tutto con il tasto "Conferma" sul bordo inferiore del pannello, oppure annullare l'inserimento/modifica con "Annulla".

Visualizzatore Log

La sezione Visualizzatore Log è divisa in 3 sotto sezioni che hanno funzionamento analogo fra loro, cioè quella di permettere la visualizzazione dei dati registrati nei 3 diversi file di log generati.

  • Log: mostra il contenuto del file di log dove vengono registrate le attività dei proxy, in particolare essi tengono traccia delle azioni svolte dai client. Il formato segue lo standard Welf, pertanto suddetti file possono essere utilizzati per compilare report non solo dal motore interno di eXtensiveControl® ma anche da programmi di terze parti che supportano il formato Welf.

  • Comandi: questa sezione mostra il contenuto del file comandi; nel file comandi vengono registrate informazioni aggiuntive rispetto al file di log, che per motivi di compatibilità col formato Welf non possono essere inserite direttamente nel file di log.

  • Debug: mostra il contenuto del file di debug. Questo file risulta particolarmente indicato per diagnosticare eventuali problemi di funzionamento del modulo. La quantità di informazioni registrate nel file dipende dal livello di debug impostato nel menu Avanzate. Più il livello di debug è alto, maggiori saranno le informazioni registrate nel file (ma anche lo spazio occupato su disco, mentre le prestazioni del sistema tendono invece a calare). Solitamente si alza il livello di debug quando si presentano problemi di funzionamento e il numero di informazioni con il livello di default risulta essere insufficiente.

Tutti e tre i pannelli presentano la medesima interfaccia che si compone di tre voci:

  • Punto di inizio della lettura: Permette di stabilire da quale punto del file iniziare la visualizzazione. È possibile visualizzare il contenuto dall'inizio del file, dalla fine o a partire da una linea specificata dall'utente.

  • Numeri di linee: Numero di linee che l'utente intende visualizzare. Ad esempio impostando tale valore a 10 e la visualizzazione a partire dalla fine del file, si otterranno le ultime 10 linee del file. Tipicamente questa è la scelta più comune in quanto spesso si vogliono visualizzare le linee in prossimità di un errore appena avvenuto e che si trova dunque alla fine del file.

  • Risoluzione dei nomi: Con questa impostazione gli indirizzi IP vengono risolti in hostname in modo da essere più esplicativi. Ad esempio l'amministratore potrebbe voler sapere su quali siti navigano i suoi utenti (e non accontentarsi degli indirizzi IP). Non sempre è possibile risalire al nome di un host conoscendone l'indirizzo IP.