DOC - Sicurezza su reti 2

March 20, 2018 | Author: Anonymous | Category: Ingegneria, Informatica, Databases
Share Embed


Short Description

Download DOC - Sicurezza su reti 2...

Description

Corso di Sicurezza su reti II Anno accademico 2006-2007 Prof. A. De Santis

Simulazione della rete Internet:

Versione finale

Sommario Parte prima: Informazioni generali ....................................................................................... 4 Parte seconda: Scheda tecnica ........................................................................................... 5 Descrizione dei servizi: ..................................................................................................... 5 Manuale d’uso: ................................................................................................................. 5 Implementazione: ............................................................................................................. 6 Parte terza: Fase di setup .................................................................................................... 7 Organizzazione:................................................................................................................ 7 Risorse hardware: ............................................................................................................ 7 Strumenti software:........................................................................................................... 7 Installazione software: ...................................................................................................... 8 Software installato e Motivazioni ................................................................................... 8 Sicurezza: ....................................................................................................................... 12 Parte quarta: Fase di tuning............................................................................................... 14 Parte quinta: La commessa ............................................................................................... 15 Descrizione della commessa .......................................................................................... 15 Breve descrizione dei requisiti ........................................................................................ 15 Specifiche .................................................................................................................... 15 Esempio di utilizzo .......................................................................................................... 15 Aquirente ..................................................................................................................... 15 Amministratore ............................................................................................................ 16 Applicazione realizzata ................................................................................................... 16 Homepage ................................................................................................................... 16 Catalogo ...................................................................................................................... 17 Carrello ........................................................................................................................ 18 Pannello amministratore.............................................................................................. 18 Suddivisione del lavoro ................................................................................................... 19 2

Misure di sicurezza ......................................................................................................... 20 Difficoltà riscontrate ........................................................................................................ 21 Difficoltà con la distribuzione del carico del database ................................................. 21 Difficoltà riscontrate nella fase di integrazione ............................................................ 21 Fonti bibliografiche: ............................................................................................................ 23

3

Parte prima: Informazioni generali NOME DEL GRUPPO

g3isp

DENOMINAZIONE

ISP3

COMPONENTI

Bruno Andrea - 0521000495 Di Perna Francesco - 0521000442 Granato Francesco - 0521000383

OBBIETTIVO

Implementazione di un portale web commerciale che offra servizi di web authoring e web hosting, registrazione domini e spazio web a terzi.

PROGETTO

Questo documento ha lo scopo di illustrare e definire i compiti ed il lavoro svolto dal gruppo ISP3 all’interno della simulazione.

4

Parte seconda: Scheda tecnica Descrizione dei servizi: Un Internet Service Provider (ISP) è una struttura commerciale o un'organizzazione che offre agli utenti (residenziali o imprese) accesso a Internet con i relativi servizi. In italiano è detto anche fornitore d'accesso. Per estensione, si usa il termine ISP anche per fornitori di servizi Internet diversi dall'accesso. La scelta dell'ISP è fondamentale. Ogni giorno appaiono sul mercato nuovi provider di servizi. Esistono ISP locali e nazionali, i quali offrono opzioni e modalità di pagamento diverse. Il provider deve vantare soprattutto un tempo di connessione eccellente, caratterizzato da pochissime ore di interruzione (meno di due o tre interruzioni negli ultimi 3 mesi). Dopo tutto, ogni volta che qualcuno non riesce ad accedere al sito Web della società o a inviare un messaggio, l'azienda può subire delle perdite. In particolare l’ ISP offre servizi avanzati di sviluppo e gestione delle pagine Web. La realizzazione di questi servizi richiede ampie conoscenze tecniche e l'integrazione dei sistemi informatici.

Manuale d’uso: Gli utenti per poter richiedere dei servizi devono contattare l’Internet Service Provider e richiedere il rilascio di username e password. Una volta ottenute l’utente potrà accedere ai servizi attivati. Tra i servizi attivabili vi sono: registrazioni di domini, sviluppo e pubblicazione di siti web. Inoltre gli utenti possono far uso di un server ftp per effettuare l’upload sullo spazio da loro richiesto ed assegnato. Le scelte tecnologiche si fondano principalmente su versioni aggiornate, sicure e free. Si intendono fornire servizi che rispecchiano tali caratteristiche, che siano in primo luogo sicuri e che non consentano “ospiti inattesi”, dunque la sicurezza prima di tutto, ma anche il rispetto dell’utente nell’offrirgli un sistema stabile, in grado di rispondere ad ogni sua esigenza e che offra servizi efficienti. Servizi dunque on-line, rispondenti ai requisiti proposti e la possibilità si far viaggiare sicure le informazioni, quali login, password, numero di carta di credito e cosi via. Gli scopi che ci siamo prefissati di realizzare sono sviluppati con l’ausilio di: Apache, Php e MySql. La sicurezza sui vari provider sarà garantita tramite firewall, ssl (aggiornato alla versione 0.9.8c ) e https. La simulazione per funzionare ha bisogno di attraversare 5 stadi fondamentali:     

5

Documentazione su Internet e sulle tesine del corso di sicurezza su reti. Installazione del sistema operativo e dei software utili ai fini lavorativi. Realizzazione provider internet commerciale che offra servizi su Internet (web hosting, web authoring registrazione di domini, applicazioni on-line). Realizzazione di commesse. Simulazione della rete.

Implementazione: Il gruppo ISP3 è composto da 3 persone e si è cercato di suddividere il carico di lavoro in maniera equa sfruttando le conoscenze pregresse dei vari componenti del gruppo. In particolare:

COMPONENTE

LAVORO SVOLTO

BRUNO ANDREA

Selezione software da installare, installazione S.O., gestione politiche di sicurezza (guardog) e attivazione nuovi account (webmin)

FRANCESCO GRANATO

Selezione software da installare, installazione Web Server Apache e installazione altri software

FRANCESCO PERNA

6

DI Selezione software da installazione altri software

installare,

installazione

MySQL

e

Parte terza: Fase di setup Organizzazione: Tutti i componenti del gruppo hanno preso parte all’installazione del sistema operativo, alla scelta dei prodotti software da installare, alla ricerca di materiale su internet per la fase di documentazione e scelta delle distribuzioni. La prima fase di cui il gruppo si è occupata è stata la scelta della macchina sulla quale iniziare l’attività. Successivamente i componenti si sono accertati del completo funzionamento di tutte le parti hardware per non compromettere la riuscita della fase di setup e dell’intera simulazione.

Risorse hardware: 1 PC assemblato con le seguenti caratteristiche: PROCESSORE

Intel© Pentium 3 800 Mhz (L1 cache: 256KB)

MEMORIA RAM

128 MB

SCHEDA VIDEO

Matrox mga G400

HARD DISK

Quantum Fireball 20 GB

LETTORE CD

Creative 52X

SCHEDA DI RETE

Realtek RTL8139

SCHEDA AUDIO

Ensoniq 5880 audiopci

Con queste caratteristiche questa risulta essere un delle macchine più potenti all’interno della rete della nostra simulazione.

Strumenti software: CATEGORIA

SOFTWARE

VERSIONE

SISTEMA OPERATIVO

Ubuntu

7.04 server edition x86

SERVER WEB

Apache

2.2.3

DBMS

MySQL

5.0.38

SERVER SIDE LANGUAGE

SCRIPTING Php

LIBRERIE SSL PANNELLO REMOTO

7

DI

CONTROLLO

5.2.1

Openssl

0.9.8c

Webmin

1.340

PANNELLO

Wirtualmin

3.39

SERVER FTP

ProFtpd

1.3.0a

CONFIGURAZIONE FIREWALL

Guarddog

2.5.0

Webalizer

2.01-10

DI

CONTROLLO

VHOST

GESTIONE

STATISTICHE

SITI

WEB

Installazione software: Software installato e Motivazioni Ubuntu 7.04 – server edition x86 Abbiamo scelto ubuntu come distribuzione linux in quanto tra le distribuzioni server completamente libere e gratuite di linux era quella che garantiva una maggiore presenza di pacchetti precompilati ed un miglior supporto della comunità di utenti tramite forum. La versione di ubuntu presa in considerazione è l’ultima realizzata. E’ stata scelta perchè include già le versioni più recenti e sicure. Tra queste abbiamo riscontrato Apache2, Mysql e php. Ubuntu 7.04 prende il posto della versione 6.10 "Edgy Eft" e, come quest'ultima, arriva nell'edizione desktop e server. Al suo cuore c'è il kernel di Linux 2.6.20 e le interfacce grafiche KDE 3.5.6, GNOME 2.18 e Xfce 4.4. In fase di installazione è stato migliorato il riconoscimento dell'hardware, soprattutto per quanto riguarda i notebook. In Ubuntu 7.04 fa capolino l'Easy-to-install codec wizard, un programma grafico che semplifica l'installazione di codec multimediali aggiuntivi: nel caso in cui non si riesca a riprodurre un file, il tool suggerisce automaticamente il download del codec più adatto. Il tool Restricted Drivers manager permette invece di installare drive grafici o WiFi proprietari. Gli sviluppatori di Ubuntu hanno poi migliorato l’Help Center, un sistema di aiuto centralizzato di cui è stata limata l'interfaccia e sono stati aggiunti molti argomenti. Il gruppo di volontari italiani che si occupa della traduzione di Ubuntu ha per altro già tradotto quasi tutta la nuova distribuzione. Dal punto di vista grafico, Feisty Fawn include un tema ampiamente rivisitato e permette di attivare effetti 3D per il desktop. In Ubuntu 7.04 è stato infine incluso il modulo Kernel Virtual Machine (KVM), che permette di far girare più sistemi operativi sullo stesso PC, ed il supporto alle estensioni hardware Intel VT o AMD-V e a VMI, che ottimizza le performance di VMware. Al debutto anche Jetpipe, una nuova architettura per la stampa dedicata ai thin client.

8

La distribuzione installata, dato l’ hardware messo a disposizione, è stata la alternate perché questa consente di gestire al meglio sistemi che hanno meno di 256Mb di ram. Inoltre l’interfaccia grafica è Xfce 4.4 dato che non si doveva appesantire il sistema. In fase di installazione abbiamo scelto di partizionare il nostro Hard Disk nel seguente modo:   

300MB per partizione Swap 7GB per il Sistema Operativo 13.5 GB per la cartella Home con attivati i flag per la gestione della quota disco per singolo utente o gruppi

Apache 2.2.3 Il web server Apache è uno dei più riusciti progetti open source al mondo, infatti può vantare una quota di mercato pari al 54% a luglio 2007 secondo quanto affermato da netcraft. Inoltre la documentazione relativa a questo popolare web server è molto copiosa e ben realizzata. Se a questo si aggiunge che è completamente gratuito ed Open Source, si può facilmente vedere come questa sia stata quasi una scelta obbligata per il nostro gruppo. Questo, come tutti gli altri software della simulazione è stato installato tramite il tool Synaptic della distribuzione ubuntu e i pacchetti precompilati specifici di questa distribuzione. Apache 2 è la più recente e migliore versione del server Apache, la cui architettura contiene significativi miglioramenti rispetto alla serie 1.3, tra cui possiamo menzionare:  

Moduli multiprocesso, grazie ai quali Apache può essere configurato come un server basato su processi Moduli di protocollo, rendono possibile la scrittura di moduli per protocolli diversi da HTTP, quali POP3 per la posta o FTP per il trasferimento di file.

Apache 2 conserva l'architettura modulare di 1.3 con l'aggiunta di un ulteriore meccanismo di estensione rappresentato dai filtri. La versione 2.2.3 introduce diverse interessanti novità sul fronte delle autorizzazioni basate sul modulo mod_authn_alias, del caching per le memorie, un sistema di bilanciamento del carico, una nuova gestione delle Api, un nuovo supporto per file di dimensioni superiori a 2Gb. Inoltre, il nuovo modulo mod_proxy_ajp supporta il protocollo Apache JServ utilizzato da Tomcat in Java Servlet e JavaServer Pages. Mysql 5.0.38 Il software MySQL 5.0.38 costituisce la versione più affidabile, sicura ed aggiornata del database open source più famoso al mondo, che consente di realizzare economicamente applicazioni di E-commerce, Online Transaction Processing (OLTP) e Data Warehousing da molti terabyte. È un database completamente integrato, transaction-safe e conforme ad ACID (per realizzare applicazioni business critical affidabili e sicure), con eccezionali capacità di commit, rollback, crash recovery e locking a livello di riga. MySQL garantisce la

9

facilità d’impiego, la scalabilità e le prestazioni che hanno reso MySQL il database open source più famoso al mondo. Php 5.2.1 PHP è un linguaggio di scripting interpretato, con licenza open source, originariamente concepito per la realizzazione di pagine web dinamiche. Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere script a linea di comando o applicazioni standalone con interfaccia grafica. La versione 5.2.1 contiene una serie di bugfix ed aggiornamenti per la sicurezza. Oltre ai bugfix sono state apportate alcune migliorie alle performance, modificato il driver di PDO per l'accesso tramite MySQL in modo che utilizzi le query bufferizzate di default ed emuli i prepared statement ove necessario ed aggiornate le estensioni zip e filter. OpenSSL 0.9.8c OpenSSL è un'implementazione open source dei protocolli SSL e TLS. Le librerie di base (scritte in linguaggio C) eseguono le funzioni crittografiche principali. Nei diversi linguaggi di programmazione sono disponibili procedure che permettono di accedere alle funzioni della libreria OpenSSL. VirtualMin 3.39 e WebMin 1.340 Virtualmin è la più diffusa gestione di sistema di hosting Open-Source virtuale del mondo progettata per rendere hosting virtuale rapido, affidabile e sicuro. Virtualmin, è anche facile installare, professionalmente supportato e in modo aggressivo mirato alla risposta a delle necessità di fornitori di web hosting. Il professionista Virtualmin aggiunge strumenti di creazione template-based website, sostegno per analytics come Google Analytics e QuantCast forniti da terze parti, installazione automatica di dozzine di applicazioni, accesso mobile completo con monitoraggio e con allarmi e molto di più. Il professionista Virtualmin è il più completo sistema di amministrazione di hosting virtuale disponibile. Webmin è uno strumento di configurazione di sistema per sistemi Unix-like. Ha un interfaccia desktop basata sul web in un ambiente indipendente, per configurare alcuni degli internals del sistema operativo. Webmin è basato in gran parte su Perl ed è in esecuzione come il proprio processo e server web. Di solito utilizza porta 10000 TCP per la comunicazione e può essere configurato per utilizzare SSL se OpenSSL è installato. Costruito intorno a moduli, che hanno un'interfaccia verso i file di configurazione e un'interfaccia verso il server webmin. Questo rende facile aggiungere le nuove funzionalità, senza troppo lavoro. E a causa della progettazione modulare di Webmin, sarebbe possibile, per chiunque è interessato, per scrivere plugins per configurazione desktop. Webmin permette anche più avanti di controllare molte macchine attraverso una singola interfaccia, o senza limitazioni login molto altri host webmin nella stessa LAN. Chi si è trovato a fornire soluzioni di hosting su piattaforma GNU/Linux, è a conoscenza del fatto di come spesso sia difficile, specie se il numero di utenti è alto, integrare i sistemi 10

di creazione e gestione dei diversi servizi necessari, dallo spazio web, alla posta elettronica fino alla configurazione dei database SQL. Esistono ottimi prodotti che permettono di fare questo, ma spesso hanno costi davvero sostenuti e funzionalità non sempre trasparenti. Esiste comunque un’alternativa a questi prodotti, completamente gratuita, si tratta di Webmin (http//:www.webmin.com), la famosa e diffusissima interfaccia per la gestione via Web dei sistemi GNU/Linux, a cui va aggiunto il modulo Virtualmin. Maggiori e più dettagliate informazioni sono reperibili seguendo il link: http://www.sistemistiindipendenti.org/pdf/virtualmin.pdf Webalizer 2.01-10 Il programma genera statistiche d'utilizzo in formato HTML consultabili mediante un qualsiasi browser. Fornisce dati annuali, mensili, giornalieri ed orari, dati d'accesso per sito, per URL, per referer, user agent e paese, ovviamente se tali informazioni sono state registrate nei file di log. Il programma presenta le seguenti caratteristiche:        

è scritto in C per essere maggiormente veloce e portabile; è distribuito sia in formato sorgente che binario per varie piattaforme (Linux, Windows, Mac OS X); supporta svariate lingue tra cui l'italiano; analizza log in Common Log Format e Combined Log Format (non solo); può essere personalizzato mediante l'utilizzo di un semplice file di configurazione; è possibile utilizzare più file di configurazione uno per ciascun sito; può essere utilizzato anche in presenza di un sistema di rotazione dei log; è gratuito e distribuito con licenza GNU General Public License.

Proftpd 1.3.0 Abbiamo scelto questo server ftp per il compromesso tra semplicità di utilizzo e sicurezza offerta. ProFTPD è un server ftp molto performante, con obiettivo primario il tenerlo il più semplice possibile, il piu sicuro possibile e con una configurazione completa e facile, Naturalmente proftpd è usato da alcuni dei più grandi siti su internet. Ha una configurazione che è molto simile a quella di apache nella sintassi, nei moduli e per la personalizzazione. Include il supporto per server FTP virtuali, per il login di utenti anonimi e per la permission-based directory visibility. Guarddog 2.5.0 Utility per la configurazione del firewall in sistemi Unix-like. Può essere utilizzato da diversi gruppi di utenti, dagli utenti novizi e intermedi che non hanno conoscenza del networking TCP/IP e delle questioni di sicurezza a quelli più esperti che però non amano avere a che fare con criptici script di shell e con i parametri di iptables.

11

Sicurezza: Al fine di garantire la sicurezza del sistema si è configurato, tramite guarddog, il firewall iptables al fine di ridurre al minimo gli accessi al sistema lasciando aperte aperte solo le porte strettamente indispensabili ai servizi da fornire, infatti sonno aperte solo le porte 80 e 443, per essere utilizzate da http e https, la porta 21 per l’uso con ftp e la port 10000 per l’utilizzo del pannello di controllo di virtualmin. È stato inoltre impedita la risposta del server ai pacchetti ICMP al fine di ridurre le informazioni rilasciate ad eventuali attaccanti a proposito del sistema. Sempre in quest’ottica si è modificato il file di configurazione di Apache per fornire la minor quantità di informazioni nella sua signature. La modifica effettuata nel file apache2.conf per ottenere questo risultato consiste nell’inserire la seguente direttiva: ServerTokens Major

Come risultato di questo commando avremo che la signature di apache sarà: Server: Apache/2 Inoltre abbiamo effetuato una modifica nel file di configurazione dell’host virtuale di informatica-granata.it al fine di trasferire tutte le connessioni al server su protocollo https. Il codice da aggiungere è il seguente: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} order allow,deny

Da una semplice scansione delle porte si può facilmente verificare quello che abbiamo appena detto, notiamo inoltre che anche se la porta 21 non è filtrata dal firewall, al momento no c’è nessun demone pronto a rispondere, infatti tale porta risulta closed, questo perché non ci è stata effettuata nessuna richiesta che richiedesse l’accesso ftp alla macchina in questione e pertanto al momento, pur avendolo installato, abbiamo deciso di non avviare il demone ProFtpd.

12

# nmap –T4 –A –p 1-65535 192.168.0.4 Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-07-16 14:14 CEST Interesting ports on informatica-granata.it (192.168.0.4): Not shown: 65532 filtered ports PORT STATE SERVICE VERSION 21/tcp closed ftp 80/tcp open http Apache httpd 2 443/tcp open ssl/http Apache httpd 2 MAC Address: 00:E0:4C:39:11:F4 (Realtek Semiconductor) Device type: firewall|general purpose Running: Checkpoint Windows NT/2K/XP, Linux 2.4.X OS details: Checkpoint SecurePlatform NG FP3, Linux 2.4.20 Nmap finished: 1 IP address (1 host up) scanned in 864.258 seconds

13

Parte quarta: Fase di tuning SERVIZI RICHIESTI

Per il corretto e regolare svolgimento della nostra attività abbiamo bisogno di un certificato intestato alla nostra società per poter gestire le connessioni sicure sul nostro sito web. Inoltre avremo bisogno di certificati intestati ad ognuno dei nostri clienti per poter permettere loro connessioni sicure. Inoltre abbiamo bisogno di registrare i nomi di dominio per conto nostro e dei nostri clienti.

RICHIESTE EFFETUATE

Sono state effettuate richieste specifiche al NIC per avere assegnato l’indirizzo IP 192.168.0.4 ed alla Certification Authority per avere un certificato digitale riconosciuto da tutti i gruppi partecipanti alla simulazione.

RICHIESTE RICEVUTE

Nessuna richiesta ricevuta

14

Parte quinta: La commessa Descrizione della commessa Realizzazione del sito “www.informatica-granata.it” che implementi un sito di e-commerce di materiale informatico che si appoggia per i pagamenti ad un ufficiale pagatore realizzato dagli altri gruppi partecipanti alla simulazione.

Breve descrizione dei requisiti Il sito comprende alcune pagine esplicative, un catalogo navigabile e, per gli utenti registrati, il listino prezzi, il carrello per la spesa e la possibilità di acquisto on-line, tramite il sistema implementato da “UfficialePagatore.com”. Specifiche Si richiede l'implementazione del sito Informatica Granata e piu' precisamente: 1. 2. 3. 4. 5. 6.

Gestione anagrafica clienti Gestione catalogo e listino (con apposito pannello amministratori) Gestione utenti amministratori Carrello della spesa Interfaccia col sistema di pagamento U.P. Si richiede la registrazione di almeno 30 utenti ed un catalogo di almeno 20 prodotti di diversa prezzatura.

Esempio di utilizzo Aquirente L’utente Francesco vuole acquistare un portatile su “www.informatica-granata.it” . Per fare questo dovrà innanzitutto registrarsi su informatica-granata inserendo  Nome e Cognome  Codice fiscale  Indirizzo  Username  Password Una volta registrato potrà sfruttare lo username e la password creati per accedere al catalogo, selezionare il portatile che vuole acquistare, quindi accedere al carrello e confermare l’acquisto. A questo punto l’utente verrà rediretto verso il sito “UfficialePagatore.com” per effettuare il pagamento dello merce. Una volta ricevuta conferma dal’ufficiale pagatore dell’avvenuto pagamento il negozio metterà in spedizione la merce richiesta. Per effettuare il pagamento l’utente ha a disposizione 5 minuti.

15

Amministratore L’utente Andrea, con permessi di amministratore può accedere al pannello di amministratore dopo aver effettuato il login. Da qui può gestire l’anagrafica cliente (modificandone i dati, eliminandone alcuni, promuovendo nuovi amministratori o degradando altri amministratori al ruolo di utenti) oppure getire il catalogo, aggiungendo ad esempio prodotti o modificando le caratteristiche dei prodotti esistenti.

Applicazione realizzata Homepage

Figura 1 Screenshot della homepage prima di aver effettuato il login

La homepage di informatica granata permette ai visitatori del sito di avere una conoscenza della nostra società. Permette inoltre di accedere al catalogo ed al carrello e di effettuare il login per gli utenti registrati o di accedere alla pagina di registrazione.

16

Figura 2 Screenshot della homepage dopo aver effettuato il login come amministratore

Se si effettua il login nella barra laterale sarà possibile accedere al pannello di modifica dei dati utente dal quale un utente può modificare i propri dati. Infine se si effettua il login come amministratore apparirà anche nel footer un link al pannello di amministrazione Catalogo In questa pagina è possibile selezionare gli oggetti che si desidera acquistare e quindi passare al carrello per completare l’acquisto.

Figura 3 Screenshot del catalogo

17

Carrello Da questa pagina l’utente può confermare i suoi acquisti e passare alla fase di pagamento.

Figura 4 Screenshot del carrello

Pannello amministratore Un utente che ha effettuato il login e a cui sono riconosciuti i permessi di amministratore può accedere a questa pagina dalla quale, tramite il pannello posto nella barra laterale sinistra, può gestire il catalogo e gli utenti del sito.

Figura 5 Screenshot del pannello amministratore 18

Figura 6 Screenshot del pannello di gestione catalogo

Figura 7 Screenshot del pannello di gestione utenti

Suddivisione del lavoro Il sito di informatica granata nasce dalla collaborazione tra gli ISP gruppo 2 e 3, pertanto tra di noi è stato facile effettuare una prima divisione logica del lavoro, ovvero il gruppo 2 si è occupato dello sviluppo del database e delle API php per l’accesso al database, invece il gruppo 3 si è occupato dello sviluppo del sito vero e proprio. Inoltre abbiamo valutato col gruppo di Ufficiale Pagatore di suddividere anche il lavoro di sviluppo delle API php per l’implementazione del protocollo di interazione in quanto noi eravamo meglio a conoscenza di quali fossero i bisogni del negozio in merito all’interazione con queste API e potevamo inoltre in questo modo velocizzare lo sviluppo di tutta l’applicazione, pertanto noi abbiamo sviluppato la parte client delle suddette API. La suddivisione del lavoro è stata la seguente: COMPONENTE

GRUPPO

LAVORO SVOLTO

IVO BARONE

ISP gruppo 2

Progettazione e realizzazione del database

DOMENICO LAURINO

ISP gruppo 2

Sviluppo API database

BRUNO ANDREA

ISP gruppo 3

Sviluppo API protocollo lato client e integrazione del sito

FRANCESCO GRANATO

ISP gruppo 3

Sviluppo catalogo e carrello

19

FRANCESCO PERNA

DI ISP gruppo 3

Sviluppo pannello amministratore e homepage

Misure di sicurezza Quando si realizza un sito web di e-commerce è molto importante l’aspetto della sicurezza sia per evitare attacchi che causano perdite economiche al gestore del negozio, sia attacchi volti a ottenere dati dei clienti. A tal fine abbiamo messo in atto alcune misure utili a rendere più difficile la vita di un eventuale attaccante. Innanzitutto a tutti gli input del sito, sia che essi vengano da un utente comune che da un amministratore, vengono applicate le funzioni addslashes, in fase di memorizzazione nel database che fa si che quanto inserito non venga interpretato come comando sql causando una sql injection, e htmlentities prima di visualizzare una stringa presa dal database che trasforma la suddetta stringa sostituendo tutti i caratteri html con le rispettive entitites (ad es. “
View more...

Comments

Copyright © 2017 DOCUMEN Inc.