Sei sulla pagina 1di 12

ISTITUTO TECNICO – SETTORE TECNOLOGICO

INDIRIZZO: INFORMATICA E TELECOMUNICAZIONI


ARTICOLAZIONE: INFORMATICA
ESAMI DI STATO 2019/2020
Classe 5B
Candidato: STELLA Alessandro

Elaborato di cui all’articolo 17 comma 1 a) dell’Ordinanza Ministeriale


n. 10/2020 relativo all’argomento:

Un consorzio di gestori di lidi balneari mette a disposizione dei propri associati un servizio
in cloud attraverso il quale gli utenti finali possono, attraverso un portale WEB ed una
semplice registrazione, accedere, tramite un link, alle videocamere di ciascun stabilimento
balneare ubicate sull'arenile per controllarne le condizioni meteo e possono inoltre inviare
una richiesta di prenotazione allo stabilimento balneare prescelto a cui risponderà tramite
mail lo stabilimento interessato. Ogni stabilimento sarà dotato di rete privata
comprendente postazioni fisse (amministrazione, casse, ecc...), access point wireless per
l'accesso ad internet dei clienti, telecamere IP wireless di videosorveglianza puntate sui
punti nevralgici della struttura (casse, ingressi, ecc..) ed altre telecamere IP wireless ubicate
sull'arenile per controllarne le condizioni meteo. Fatte le opportune ipotesi preliminari:

 si proponga un progetto anche grafico dell’infrastruttura di rete del generico


stabilimento balneare e si specifichino le modalità di comunicazione col servizio
cloud;
 si descrivano le possibili tecniche di protezione della rete locale dello stabilimento
dagli accessi esterni;
 si realizzi un modello concettuale e logico della porzione del database di ciascun
stabilimento necessaria alla gestione delle prenotazioni.

Si crea la rete privata per gli stabilimenti facenti parte del consorzio “Stella Marina del Salento”. Se ne
realizzerà una singola rete e gli stabilimenti seguiranno la stessa topologia logica e fisica. Vengono quindi
formulate le seguenti ipotesi preliminari:

 Lo stabilimento si estende in un area di larghezza 100m e di profondità 100m. Le distanze tra le


varie apparecchiature sono comunque inferiori ai 100m;
 Si creeranno sei sotto-reti: una per l’amministrazione, una per le telecamere di sicurezza e quindi
accessibile solo dalla rete amministrativa, una rete wireless per tutti i dipendenti, una rete wireless
per le telecamere per il controllo del meteo e accessibile anche dall’esterno e la rete per i clienti;
 Alla rete amministrativa sono collegate le casse e un calcolatore che verrà utilizzato dal responsabile
del lido e che servirà per l’aggiornamento delle casse. Vi è inoltre una stampante non professionale
collegata via cavo USB al calcolatore e il database per la gestione delle prenotazioni;
 Gli ombrelloni dello stabilimento sono 200;
 Per partecipare agli eventi mattutini bisogna essere possessori di almeno un ombrellone mentre,
durante gli eventi serali, non si da l’accesso alla rete;
 Per una politica utilizzata da tutti gli stabilimenti facenti parte del consorzio, può esserci solo un
dispositivo collegato per l’utente prenotante.

I collegamenti via cavo sono realizzati mediante cavo UDP di categoria 5. Il collegamento tra il router e
Internet è realizzato in fibra ottica FTTH. Le connessioni tra i dispositivi e lo switch sono connessioni Fast
Ethernet a 100 Mbps mentre le connessioni tra gli switch e il router sono connessioni Gigabit Ethernet a
1Gbit/s; anche la connessione ad Internet sarà ad 1Gbit/s. Gli switch utilizzati sono tutti switch a 4 porte,
fatta eccezione per la rete amministrativa che utilizza uno switch a 8 porte. Il router è a 8 porte. La banda
utilizzata dalle reti wireless è di 2,4 GHz.

Per quanto riguarda l’indirizzamento, si decide di non minimizzare gli indirizzi. Per le reti wireless di
dipendenti e clienti, si decide di realizzare un indirizzamento dinamico mentre, per la sola rete cablata
amministrativa e per le reti delle telecamere, si realizza un indirizzamento statico. Si realizza quindi il
seguente piano di indirizzamento:

Indirizzo interfaccia ad Internet: 8.36.0.25/8


RETE AMMINISTRATIVA: 4 host – 7 indirizzi
Indirizzo di rete: 192.168.0.0/24
Indirizzo broadcast: 192.168.0.255/24
Subnet mask: 255.255.255.0
Range d’indirizzi: 192.168.0.1 – 192.168.0.254
Gateway di default:192.168.0.254/24
Indirizzo della base dati: 192.168.0.253/24
RETE WIRELESS DIPENDENTI:
indirizzo di rete: 192.168.1.0/24
indirizzo broadcast: 192.168.1.255/24
Subnet mask: 255.255.255.0
Range d’indirizzi: 192.168.1.1 – 192.168.1.254
Gateway di default: 192.168.1.254/24
Indirizzo del DHCP: 192.168.1.253/24
RETE TELECAMERE METEO:
Indirizzo di rete: 192.168.2.0/24
Indirizzo di broadcast: 192.168.2.255/24
Subnet mask: 255.255.255.0
Range d’indirizzi: 192.168.2.1 – 192.168.2.254
Gateway di default: 192.168.2.254/24
RETE WIRELESS CLIENTI:
Indirizzo di rete: 192.168.3.0/24
Indirizzo di broadcast: 192.168.3.255/24
Subnet mask: 255.255.255.0
Range d’indirizzi: 192.168.3.1 – 192.168.3.254
Gateway di default: 192.168.3.254/24
Indirizzo del DHCP: 192.168.3.253/24
RETE WIRELESS TELECAMERE DI SICUREZZA:
Indirizzo di rete: 192.168.4.0/24
Indirizzo di broadcast: 192.168.4.255/24
Subnet mask: 255.255.255.0
Range d’indirizzi: 192.168.4.1 – 192.168.4.254
Gateway di default: 192.168.4.254/24
RETE DATABASE PRENOTAZIONI:
Indirizzo di rete: 192.168.5.0/24
Indirizzo di broadcast: 192.168.5.255/24
Subnet mask: 255.255.255.0
Range indirizzi: 192.168.5.1 – 192.168.5.254
Gateway di default: 192.168.5.254/24
Indirizzo database: 192.168.5.1/24

Va notato come, per i server DHCP e la base di dati, venga assegnato un indirizzo statico. Tutti i server
devono possedere un indirizzo statico perché devono essere sempre disponibili ed è più facile riconoscere il
dispositivo all’interno della rete privata e in Internet. Si tenga in considerazione, però, che i server degli
stabilimenti non verranno mai chiamati in causa da Internet. L’interfaccia che si collega con Internet ha un
indirizzo pubblico a differenza delle reti interne che posseggono indirizzi privati. Ogni dispositivo infatti,
possiede un indirizzo privato che il router non può inoltrare nella rete. Viene affidato al protocollo NAT il
compito di tradurre gli indirizzi privati in indirizzi pubblici. Il NAT ha la funzione di offrire ad ogni host la
possibilità di accedere ad ogni indirizzo di Internet utilizzando un numero limitato di indirizzi pubblici.

L’accesso dei dipendenti alla rete wireless avverrà attraverso il filtraggio del MAC, mentre l’accesso per i
clienti alla rete wireless avverrà tramite server radius alla quale verrà inviata l’iscrizione alla conferma della
prenotazione e che saranno valide solo per la data e per l’ora della prenotazione. Le telecamere si collegano
alle reti wireless tramite il filtraggio del MAC.
Quando si entra nel portale, si è davanti ad una schermata che chiede all’utente di effettuare il login o la
registrazione al portale. Una volta confermata la registrazione o l’accesso, il cliente si troverà una schermata
nella quale compaiono tutti i lidi. In questa schermata, l’utente può effettuare la ricerca di un lido per nome o
per città. Come risultato della ricerca, compariranno il nome del lido, la città, il link per accedere alle
videocamere, un pulsante che mostrerà un’immagine dello stabilimento e uno che gli permetterà di effettuare
la registrazione. La registrazione verrà inviata via e-mail compilando un form nella quale, oltre i dati
anagrafici, il cliente inserirà il numero di persone, di ombrelloni, di sdraio e/o lettini, la data e l’ora e il
servizio prescelto. Oltre che la prenotazione di ombrelloni possono essere anche prenotati gli eventi che il
lido organizza. Gli eventi sono a ingresso limitato con limite che viene posto dal lido. Per gli eventi mattutini
bisogna avere un ombrellone prenotato e quindi si potrà avere anche l’accesso alla rete wireless mentre per
gli eventi serali si può pure non essere utenti del lido per effettuare la prenotazione ma non si avrà l’accesso
alla rete wireless.

Effettuata la prenotazione, la mail arriverà allo stabilimento nella quale, un operatore addetto, può decidere
se confermare o rifiutare la prenotazione. L’esito della prenotazione viene inviato via e-mail al cliente
sempre tramite la compilazione di un form e l’aggiunta di un eventuale messaggio da parte dell’operatore. Lo
stabilimento potrà aggiungere gli eventi e i servizi offerti e richiedere le prenotazioni per uno specifico
giorno.

L’accesso alle telecamere avviene tramite il protocollo Real Time Streaming Protocol che utilizza come
porta di comunicazione la porta 554. Il protocollo serve per stabilire e gestire le connessioni streaming
client/server. I client inviano al server multimediale comandi per controllare in tempo reale la riproduzione.
La trasmissione, in realtà, non viene definita dal protocollo (anche se alcuni produttori preferiscono
implementare protocolli di trasporto brevettati) ma solo la distribuzione dei flussi multimediali.

Bisogna adesso capire adesso come proteggere le informazioni, le risorse più importanti di ogni
organizzazione. Il primo modo per proteggere i dati, sta nel creare delle Access Control List per monitorare il
traffico in ingresso e in uscita dal router dello stabilimento. Le ACL sono delle liste in cui sono gestiti i filtri
da applicare ad ogni pacchetto (firewall di tipo packet filtering router). Per configurare le ACL sul router
dello stabilimento si decide di utilizzare una closed security policy nella quale tutto è vietato e vengono
elencati solo i permessi. Si deve consentire il traffico dalla rete amministrativa verso Internet, verso la rete
dei dipendenti e verso la rete delle telecamere di sicurezza; la rete dei dipendenti può comunicare solo con
Internet e la rete amministrativa; la rete dei clienti può comunicare solo con Internet; alle telecamere si potrà
accedere solo tramite il portale per controllare il meteo; la base dati comunicherà solo con la rete
amministrativa. Si realizza quindi la seguente ACL:

X.Y=192.168 WM= Wildcard Mask

IP IP
Azione IN/OUT IP router Porta WM Porta WM
mittente destinatario
X,Y.0.25
PERMIT IN X.Y.0.0 ANY 0.0.0.255 X.Y.1.0 ANY 0.0.0.255
4
X.Y.0.25
PERMIT IN X.Y.0.0 ANY 0.0.0.255 X.Y.4.0 554 0.0.0.255
4
X.Y.0.25
PERMIT IN X.Y.0.0 ANY 0.0.0.255 X.Y.5.0 ANY 0.0.0.255
4
PERMIT OUT 8.36.0.25 X.Y.0.0 443 0.0.0.255 ANY ANY 0.0.0.0
X.Y.1.25
PERMIT IN X.Y.1.0 ANY 0.0.0.255 X.Y.1.0 ANY 0.0.0.255
4
PERMIT OUT 8.36.0.25 X.Y.1.0 443 0.0.0.255 ANY ANY 0.0.0.255
PERMIT OUT 8.36.0.25 X.Y.2.0 554 0.0.0.255 ANY ANY 0.0.0.0
PERMIT OUT 8.36.0.25 X.Y.3.0 443 0.0.0.255 ANY ANY 0.0.0.0
X.Y.4.25
PERMIT IN X.Y.4.0 554 0.0.0.255 X.Y.0.0 ANY 0.0.0.255
4
X.Y.5.25
PERMIT IN X.Y.5.0 ANY 0.0.0.255 X.Y.0.0 ANY 0.0.0.255
4
DENY IN/OUT ANY ANY ANY 0.0.0.0 ANY ANY 0.0.0.0

1. Consente il traffico dalla rete amministrativa verso la rete dei dipendenti;


2. Consente il traffico dalla rete amministrativa verso la rete delle telecamere di sicurezza;
3. Consente il traffico dalla rete amministrativa verso la base dati;
4. Consente il traffico dalla rete amministrativa verso Internet attraverso il protocollo HTTPS;
5. Consente il traffico dalla rete dei dipendenti verso la rete amministrativa;
6. Consente il traffico dalla rete dei dipendenti verso Internet attraverso il protocollo HTTPS;
7. Consente il traffico dalle telecamere per il controllo del meteo verso Internet con il protocollo RTSP;
8. Consente il traffico dalla rete dei clienti verso Internet attraverso il protocollo HTTPS;
9. Consente il traffico dalle telecamere di sicurezza verso la rete amministrativa con il protocollo
RTSP;
10. Consente il traffico dalla base dati verso la rete amministrativa;
11. Regola della closed security policy.

Il packet filtering router è un particolare tipo di firewall (componenti di rete che servono ad evitare accessi
indesiderati) che analizzano le intestazioni di livello 3 e di livello 4 e decide se accettare o meno il pacchetto
attraverso le filosofie della closed security policy e della open security policy che sono tra di loro opposte.
Per evitare accessi indesiderati nelle reti wireless, come detto in precedenza, viene utilizzato il filtraggio del
MAC per tutte le reti ad eccezione della rete dei clienti nella quale l’identificazione avviene tramite il server
radius che chiede le credenziali di accesso. Si ricorda che le credenziali saranno valide solo per la data e per
l’orario che viene richiesto in fase di registrazione.

Per la sicurezza nella trasmissione dei dati in rete si utilizza il protocollo HTTPS che si ottiene combinando
il protocollo HTTP con SSL/TLS.

Un’ulteriore protezione ai dati viene attuata tramite la previsione delle SQL Injection che consistono
nell’aggiunta di codice SQL nell’input che l’utente fornisce nel browser tramite un form HTML. Per evitare
che qualsiasi hacker possa intrufolarsi nel portale e crei danni alle informazioni o cancelli definitivamente le
prenotazioni.

Sempre lato codice, per proteggere l’accesso alle pagine particolari del portale che manipolano i dati, alla
quale si può accedere solo dopo aver effettuato il login o alla quale possono accedere solo specifici utenti, si
inseriscono le sessioni PHP che permettono di memorizzare i dati sul server e che identificano l’utente in
ogni pagina del portale.

Sempre sotto l’aspetto della sicurezza, il consorzio impone ai lidi di nominare, prima dell’inizio della
stagione balneare che apre il 1 aprile, di nominare tutti i componenti che faranno parte del servizio di
prevenzione e protezione dai rischi e di effettuare la valutazione dei rischi in tutti i locali e luoghi dello
stabilimento e di convocare delle riunioni periodiche per problematiche sulla sicurezza e sull’avanzamento
dei lavori di sicurezza.

Si realizza ora la porzione di database necessaria per la gestione delle prenotazioni. La base dati utilizzata nel
progetto sarà una base dati di tipo relazionale. La stagione balneare apre il 1 aprile e chiude il 31 settembre
per tutti gli stabilimenti facenti parte del consorzio. Per gli utenti si conosce il nome e il cognome, la data di
nascita, il codice fiscale, l’indirizzo e-mail e il sesso; non si memorizzeranno username e password perché
questi dati riguardano il portale e non il lido. I servizi offerti dai lidi sono servizi di ristorazione, ombrelloni,
sdraio e/o lettini e cabine mentre per le attività si vuole sapere se sono mattutini o serali e quindi anche la
data e l’ora e il numero massimo di partecipanti. Come si è detto in precedenza, alle attività mattutine
possono partecipare solo coloro che hanno prenotato un ombrellone o un servizio, mentre alle attività serali
possono partecipare pure i non clienti del lido. Quando si effettua una prenotazione per un servizio, possono
essere prenotate pure più date richiedendo un abbonamento. Gli abbonamenti possono essere di diversa
durata (settimanale, mensile o stagionale). Se viene richiesto un abbonamento, in fase di prenotazione si può
non inserire l’orario. Quindi si crea il seguente modello relazionale tramite l’utilizzo del diagramma E/R
(entità/associazione):

Da quanto detto sopra, si crea l’entità CLIENTE che ha come identificatore univoco il campo codice_fiscale
e come attributi il campo nome, cognome, e-mail, data_nascita e sesso. Il campo sesso è un campo
caratterale che sarà M in caso di sesso maschile ed F in caso di sesso femminile.

L’entità SERVIZIO è composta da un solo campo: il campo id_servizio (che sarà l’identificatore univoco
dell’entità). Per individuare i vari tipi di servizi offerti dallo stabilimento si crea un’associazione IS-A avente
come entità padre SERVIZIO e come entità figlie OMBRELLONE, CABINA e RISTORAZIONE

Tra l’entità SERVIZIO e l’entità CLIENTE si crea un’associazione M-M obbligatoria PRENOTARE dato
che un cliente può prenotare molti servizi e un servizio può essere prenotato da più clienti. L’associazione
possiede degli attributi: data_inizio, data_fine, ora_inizio e ora_fine, n_ombrellone (che non indica il numero
di ombrelloni prenotati ma solo il numero di serie dell’ombrellone), num_sdraio (che indica il numero di
sdraio prenotate) e num_lettini (che indica il numero di lettini prenotati), n_cabina che indica il numero di
serie della singola cabina, il campo n_tavolo (che indica il numero di serie del tavolo) e num_p (che indica il
numero di persone per cui viene effettuata la prenotazione). Va specificato che i numeri di serie non sono
inseriti dai clienti ma dall’addetto alle prenotazioni.

. Se la prenotazione riguarda una sola data, data_inizio e data_fine coincideranno, mentre se il cliente decide
di richiedere un abbonamento una riguarderà la data di inizio dell’abbonamento e l’altra (in base al tipo di
abbonamento richiesto) la data di fine. I campi relativi alle ore saranno compilati solo quando il cliente
prenota per uno specifico giorno. I clienti con l’abbonamento hanno il libero accesso ai servizi prenotati
senza vincoli di orario.

L’entità EVENTO è l’entità che indica gli eventi programmati e creati dallo stabilimento. È composta da
sette attributi: il campo id_evento (che avrà la funzione di identificatore univoco per l’entità), il campo data,
il campo ora, il campo nome (che indica l’eventuale denominazione dell’evento), il campo tipo_evento (che
indica la tipologia dell’evento), descrizione (una breve descrizione riguardante l’evento) e n_max che indica
il numero massimo di persone che possono partecipare all’evento. Non c’è un campo prezzo perché in fase di
prenotazione si riceve solo un posto nell’evento, il pagamento e il prezzo sono fissati in cassa nello
stabilimento.

Tra l’entità CLIENTE e l’entità EVENTO si crea un’associazione M-M facoltativa verso il cliente
PARTECIPARE. La facoltatività nell’associazione da parte del cliente sta nel fatto che nella base dati ci
possono essere clienti che non hanno mai partecipato ad alcun evento organizzato dallo stabilimento.
L’associazione non presenta, inoltre, alcun attributo. Si decide di non aggiungere il campo num_p in questa
associazione perché, per gli eventi mattutini verrà preso dal campo num_p in PRENOTAZIONI mentre per
gli eventi serali, ogni singolo cliente partecipante deve effettuare la propria partecipazione e non potrà
prenotare per più utenti.

Dopo aver realizzato e commentato il modello concettuale, si passa alla creazione del modello logico
attraverso le regole di derivazione.

Nel modello logico, le associazioni M-M diventano anche esse delle tabelle con tutti gli attributi posseduti
nel modello concettuale. La tabella PRENOTAZIONI, avrà come identificatore univoco il campo
id_prenotazione, perché la combinazione del codice del cliente e del codice del servizio prenotato non
saranno univoche ma si potranno ripete più volte nella tabella. Inoltre, la tabella ha come chiavi esterne le
chiavi primarie della tabella SERVIZI e della tabella CLIENTI.
La tabella PARTECIPAZIONI ha come identificatore univoco il campo id_prenotazione e come chiavi
esterne le chiavi primarie della tabella CLIENTI e della tabella EVENTI. La combinazione delle due chiavi
esterne potrebbe fungere da identificatore univoco della partecipazione, ma per facilitare il lavoro si è deciso
di crearne uno utilizzando una variabile autoincrement.

Prima di creare le tabelle, bisogna creare il database in cui verranno inserite le tabelle. Il database viene
creato con il seguente comando SQL:

Dopo aver creato il database, bisogna creare le


tabelle:

Si eseguono le seguenti interrogazioni:

 Tutti gli utenti che hanno un abbonamento mensile:


 Tutti i clienti che hanno prenotato per oggi:

 Tutti i clienti che hanno partecipato all’evento del 2 giugno 2020:

La prima schermata che appare all’utente è una schermata nella quale sceglierà se effettuare l’accesso o
registrarsi nel portale. Quando l’utente effettua l’accesso, i dati presenti nel form passeranno alla pagina
accedi.php nella quale si controlla l’esistenza dell’utente. Se l’utente non esiste, verrà reindirizzato alla
pagina di registrazione, altrimenti si aprirà la pagina nella quale l’utente ricercherà il lido.

Ogni pagina .php contiene il codice sopra descritto che serve a controllare se l’utente è passato per la pagina
di registrazione o di accesso altrimenti reindirizza l’utente ad una pagina di errore che lo inviterà ad eseguire
la registrazione o l’accesso.

Questo codice serve per far eseguire al sito la richiesta al database dell’utente registrato con quell’username
e con quella password. Questo codice viene scritto solo in fase di progettazione, quando si passerà a rendere
attivo il portale su Internet, al posto di localhost va inserito l’indirizzo della base di dati, al posto di root e
delle virgolette successive vanno inserite username e password per differenziare i vari tipi di accesso alla
base di dati. La query viene eseguita dal terzo comando.
Con l’esecuzione di queste istruzioni si passa a controllare l’esistenza dell’utente. Se il numero di tuple
risultanti dall’esecuzione della query è uguale a zero, significa che l’utente non è registrato al portale e
quindi verrà reindirizzato alla pagina di registrazione, altrimenti verrà indirizzato alla pagina
area_riservata.php per ricercare il lido ed effettuare la prenotazione. L’ultima istruzione è la chiusura della
connessione con la base di dati.

La pagina di registrazione si vede in questo modo. Prima di effettuare la registrazione, si controlla l’effettivo
inserimento di tutti i dati e la loro validità tramite dei metodi javascript.

Questo codice controlla la validità


del codice fiscale: controlla la
lunghezza del codice fiscale per
vedere se il codice inserito è
realmente valido. Se la lunghezza
rispetta quella indicata, converte
tutti i caratteri minuscoli in
caratteri maiuscoli ed effettua il
controllo carattere per carattere per
individuarne la validità. Un codice
fiscale valido è del tipo
AAAAAA11A11A111A.

Si controlla anche la sicurezza


della password con controlli sulla
lunghezza e sul formato della
password. Per essere accettata dal
portale, la password deve essere di
almeno 8 caratteri e contenere
almeno una lettera maiuscola, una
minuscola e un numero.
Nell’area riservata, all’utente comparirà una pagina dove sono presenti tutti i lidi facenti parte del consorzio
e nella quale potrà effettuare la ricerca per paese o per denominazione del lido.

Questo è il codice eseguito quando si effettua la ricerca per denominazione mentre, quando si effettuerà la
ricerca per paese, al posto di denominazione comparirà paese e al posto di $denominazione comparirà
$paese. Se non viene trovato alcun lido, si andrà nella pagina nolido.html che comunicherà l’errore all’utente
e lo inviterà ad effettuare di nuovo la ricerca. Quando la ricerca conterrà almeno un risultato, l’utente verrà
reindirizzato alla pagina visualizza.php nella quale potrà controllare le telecamere o effettuare la
prenotazione. La prenotazione viene effettuata compilando un form e inviando i dati via e-mail al lido e li ci
sarà un addetto che accetterà o meno la prenotazione.
L’invio della prenotazione via e-mail avviene tramite questo codice. Si prendono tutti i dati dal form
compilato dal cliente e verrà inviato tutto al lido. Si noti che questo non è il codice specifico della mail che
invierà il cliente, ma è il formato di codice delle pagine che verranno compilate dal cliente e dall’operatore
per la conferma o il rifiuto dell’operazione

Potrebbero piacerti anche