Post on 25-Jan-2020
transcript
1
Corso di Laurea in Informatica
Prof.Mario CannataroIng. Giuseppe Pirrò
Reti e Sicurezza InformaticaEsercitazione 1
Sommario
Introduzione alla sicurezzaI firewall (Windows e Linux)Introduzione ai Web ServicesInstallazione di TomcatLe librerie AXISInstallazione di AXIS su TomcatAmbiente di sviluppo di Web Services
2
La sicurezza informatica
Problematiche inerenti il controllo degli accessi ai propri dati da parte di utenti “esterni”.Fattori che hanno amplificato il problema:
- Disponibilità di connessioni di tipo xDSL- Abbattimento dei costi- Enorme diffusione di Internet
I firewall
Firewall: E’ un dispositivo Hardware/Software che si occupa di collegare due tronconi di rete
“Modo per controllare lo scambio dati tra Internet e la rete interna”
Firewall
RouterIntranet
3
Posizione dei firewall
Tra reti LAN e reti esterneAi “gateways” di sottoreti “sensibili” all’internodi una LAN organizzativaSulle macchine utente
“Personal firewall”Microsoft’s Internet Connection Firewall (ICF) diventa standard con Windows XP
Tipi di firewall
Packet-type- Agiscono sui dati dell’header IP - Non sono in grado di individuare virus
Application-type- Agiscono sull’informazione contenuta nei dati
che il pacchetto trasporta- Sono tipicamente implementati via software- Sono poco performanti
4
Limiti dei firewall
Cosa può fare:– Concentrare le decisioni sulla politica di sicurezza– Controllare e filtrare il traffico Internet/rete– Limitare l’esposizione e separare la rete internaCosa NON può fare
– Proteggere da attacchi dall’interno– Proteggere da attacchi “Social Engineering”– Controllare i files infetti da virus
Come è fatto un firewall
Tipicamente è un componente costituito da: - Due o più schede di rete.- Ambiente operativo che analizza e gestisce il
traffico in base alla configurazione stabilita dall’amministratore.
5
Operazione che effettua un firewall
ControlloModificaMonitoraggioQuesto grazie alla capacità di “aprire” i pacchetti IP e leggere le informazioni presenti sull’header.
Alcuni Firewall
Il firewall di Microsoft WindowsZone AllarmIl firewall di Linux
6
Il firewall di Microsoft WindowsSe è in esecuzione Windows XP Service Pack 2 (SP2), Windows Firewall è attivato per impostazione predefinita.
Zone Alarm
E’ firewall windows gratuito e facile da usare per tenere al riparo il sistema da hacker o semplici intrusi che possono rubare informazioni personali.Perché Zone Alarm:
- SEMPLICE- INTUITIVO- GRATUTITO
7
Zone Alarm
Tutto quello che serve per configurare e utilizzare il programma è incluso nella finestra a cui si può accedere facendo doppio clic sulla piccola icona che si crea sulla TRAYBAR.
Finestra principale
Queste barreVisualizzano in tempo reale il
flusso di dati in entrata e uscita
Icone dei programmi che trasferiscono
dati da e verso la nostra macchina
Questo tasto consente in
maniera istantanea di chiudere le
comunicazioni di rete
Qui viene visualizzato lo stato delle reti LAN o
remota.In questo caso il PC fa
parte di una LAN ritenuta attendibile(dall’utente )
8
Stato del sistema
LINUX E I FIREWALL
9
Le porte
Ogni software che abbia necessità di comunicare con la rete apre una porta di accesso al nostro calcolatorePorte 1…65536
–1…1024 privilegi di sistemaAssegnate in modo standard a particolari servizi21 = ftp; 25 = smtp; 80 = www; 110 = pop3; molto pericolose
Altre sono porte “non privileggiate”Possono essere aperte dinamicamente da altri software o da quelli sopra citati
Come vengo sfruttati questi software
Se il software di rete è ben costruito è quasi impossibile fare breccia attraverso essoSoftware fatti da esseri umani…quindi non esenti da errori.Sono gli errori dei software di rete ad essere utilizzati per l’accesso non autorizzatoL’esigenza di un software di rete esente da errori èPRIMARIA!!!Gli errori si correggono solo se si hanno i sorgentiMicrosoft non ce li da !!!Modello Open Source è inequivocabilmente più sicuro
10
Il modello Open source
Un modello filosofico di sviluppo, di diffusione e di cooperazione nel campo della I.T.
Libertà (0) di eseguire il programma per qualunque scopo senza vincoli sul suo utilizzo.Libertà (1) di studiare il funzionamento del programma e di adattarlo alle proprie esigenzeLibertà (2) di ridistribuire copie del programmaLibertà (3) di migliorare il programma e distribuire i miglioramenti
Linux vs Windows
Linux è OpenSource QUINDI è più sicuro!!!Windows ha usualmente attivi molti meno software di reteLe due regole dell’amministratore di rete
Mai usare Microsoft Internet Information serverSe proprio devi
Preparati a passare ogni giorno per Windows Update…Preparati a pregare che il problema sia già stato risolto
11
Introduzione a Iptables
Soluzione completa di firewall su LinuxImplementata a livello di kernel dalla versione 2.4.0
- VantaggiGira da un 486 in suFile di configurazione testualeManipolazione dei pacchetti in diversi momenti del processo di trasferimento del pacchetto da una scheda ad un’altraCateneValido contro i DOS (Denial of service)
Iptables
Consente di controllare il traffico di rete in diversi momenti del processo di trasferimento tramite l’applicazione di regole.PreroutingInputForwardOutputPostrouting
12
Iptables concetti fondamentali
E’ costituito da 3 catene fondamentali:INPUT (pacchetti in entrata)OUTPUT (pacchetti in uscita)FORWARD (pacchetti in transito)Inserendo le regole in queste catene saremo in grado di controllare i dati
Iptables concetti fondamentali
Per ogni regola ci sarà un TARGET:- ACCEPT (lascia passare il pacchetti)- DROP (scarta il pacchetto)- QUEUE (passa il pacchetto all’userspace)- RETURN (blocca la catena e ritorna alla
catena chiamante)
13
Iptables comandi di base
-L “catena” – lista di regole in quella catena-F “catena” – ripulisce la catena dalle regole-Z “catena” – azzera i contatori di tutte le reg.-A “catena” – appende una nuova regola-I “catena” “num. regola”- ins. la reg. al num.-D “catena” “num. regola” – cancella la regola-v –informazioni sul comando invocato-j “target” – se matcha la regola salta al target indicato
Iptables Le regole
Una regola è una espressione del tipo:“parametri regola” “opzioni”I principali parametri sono i seguenti:-p [tcp,udp,icmp,all] – Protocollo (def. all)-s “source address/mask”-Indirizzo sorgente-d “destination address/mask”-Indirizzo dest.-sport –Porta di origine o intervallo -dport –Porta di destinazione o intervallo
14
Iptables Salvataggio e ripristino
Iptables –save- iptables-save >/tmp/rules.txt
Iptables- restore- iptables-restore </tmp/rules.txt
Esempio 1
Supponiamo di voler consentire l’accesso alla porta 80 locale:
- Iptables –t filter –I INPUT –p tcp –dport 80 –jACCEPT
- -t filter (indica che ci stiamo riferendo alla tabella filter che è anche quella di default)
- Tabella nat (attività di natting)- Tabella nangle (interviene sulle alterazioni di
pacchetti)
15
Esempio 2
Supponiamo di voler consentire ad un pacchetto con IP 10.0.0.0.4 di raggiungere il server 192.168.0.1 attraverso il firewall:
- Iptables –I FORWARD –s 10.0.0.4 –d192.168.0.1 –j ACCEPT
Tracking con Iptables
Consente di gestire il traffico in base sulla base dei flussi dati e delle connessioni dei protocolli usati.Ciò viene realizzato attraverso il comando ip_conntrack.La gestione del traffico viene effettuata richiamando il modulo state che permette di dividere il traffico secondo diversi stati.
16
Stati del traffico
NEW – primo pacchetto relativo ad una nuova connessione.ESTABLISHED –pacchetti relativi a connessioni già stabilite.RELATED – pacchetti correlati a connessioni esistenti established.INVALID – pacchetti che non rientrano in nessuno dei precedenti stati, di solito vengono scartati.
Esempio
Supponiamo di voler permettere ad un host in uscita tutto e in entrata solo ciò che ècorrelato a quanto uscito:
-iptables –I INPUT –m STATE –stateESTABLISHED,RELATED –jACCEPT
-iptables –I OUTPUT –m state –stateNEW,ESTABLISHED,RELATED –j ACCEPT
17
Guarddog Linux Firewall
18
19
I WEB SERVICES
I Web Services
Un Servizio Web (Web Service) èun’applicazione on-line Consente l’interoperabilità di sistemi eterogeneiConsente di sfruttare risorse che non sono localmente disponibili
20
Web Server
È il processo che tipicamente viene utilizzato da una macchina server per rendere disponibile un insieme di risorse tra le quali si collocano anche i Servizi Web
Apache Tomcat
Tomcat è un Servlet/JSP engine.Esso può essere usato da solo (principalmente utile agli sviluppatori per testing e debugging) o in congiunzione con uno tra i più diffusi web server (per le applicazioni real world), tra i quali: - Apache, versione 1.3 o successiva- Microsoft Internet Information Server
21
Requisiti
Tomcat richiede per il suo funzionamento un Java Runtime Enviroment JRE 1.1 o successivo.E’ possibile scaricare l'archivio nel formato più adatto al proprio sistema operativo da http://java.sun.com/j2se/1.5.0/download.jsp
Installazione di Tomcat
Prelevare il file di installazione direttamente dal sito web delprogetto (http://tomcat.apache.org/)Tomcat di default resta in ascolto sulla porta 8080. Se sul vostro sistema tale porta è già in uso, aprite il file server.xmlcontenuto nella directory /web/tomcat/conf e cambiatela ad esempio in 10080, come illustrato sotto:<ConnectorclassName="org.apache.tomcat.service.PoolTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.http.HttpConnectionHandler"/> <Parameter name="port" value="10080"/> </Connector>Settare in /etc/profile le relative variabili d'ambiente:A questo punto aprite il browser preferito e digitate: http://nomemacchina:10080/. Se il browser visualizza la pagina di default di Tomcat, l'installazione è andata a buon fine.
22
Avvio e arresto di Tomcat
Per avviare Tomcat usare lo script o il file batch che si trovano nella directory TOMCAT_HOME/bin.- Su UNIX utilizzare % startup.sh
- Su Windows utilizzare C:\TOMCAT_HOME\bin>startup
Per arrestare Tomcat, ci sono due comandi che si trovano nella stessa directory dei comandi di avvio.- Su UNIX utilizzare % shutdown.sh
- Su Windows utilizzare C:\TOMCAT_HOME\bin>shutdown
Da Windows è possibile l’arresto e l’avvio dall’elenco dei servizi
Struttura delle directory di Tomcat
23
Le classi contenute nelle sue sotto-directory sono disponibili sia a Tomcat che a tutte le web-application in esecuzione sotto Tomcatcommon
è la cartella predefinita da Tomcat in cui vengono inserite tutte le web-application (tutto ciò che viene copiato qui è automaticamente deployed)
webappsDirectory utilizzata per i file di loglogs
Contiene diversi file jar usati da Tomcat . Su UNIX ogni file in
questa directory viene appeso al classpath.lib
Contiene vari documenti riguardanti Tomcatdoc
Contiene i file di configurazione tra cui server.xml che è il principale file di configurazione di Tomcat, e web.xml che serve a settare i valori di default per le varie applicazioni gestite da Tomcat
conf
Contiene gli script/batch per lo startup-shutdowndbin
Descrizione Nome della directory
AXIS
Axis è il motore open source più famoso per la creazione di WebServices in Java. E’ un progetto dell'Apache Software Foundation e deriva da SOAP4J della IBMIn combinazione con Tomcat rappresenta uno strumento molto diffuso per la realizzazione di web services.
24
RequisitiServer Web (tomcat)Dopo averlo installato dobbiamo scaricare Axisdal sito di apache, http://ws.apache.org/axis/.Unzippiamo questo zip e copiamo iltutto nella cartella TOMCAT_HOME/webapps(TOMCAT_HOME è dove abbiamo installato Tomcat). Dopo averlo copiato dovete avviare Tomcat e puntare il browser all'indirizzo http://localhost:8080/axis. In questa pagina troverete lo stato dell'installazione di Axis.Se manca qualche libreria vi verrà indicato e voi dovrete copiarle dentro la cartella TOMCAT_HOME/webapps/axis/WEB-INF/lib. Una volta che non viene indicato più nessun errore abbiamo completato la corretta installazione di Axis e possiamo anche vedere i primi esempi di WebServices.