Reti e Sicurezza Informatica Esercitazione 1

Transcript

Reti e Sicurezza Informatica Esercitazione 1
Corso di Laurea in Informatica
Reti e Sicurezza Informatica
Esercitazione 1
Prof.Mario Cannataro
Ing. Giuseppe Pirrò
Sommario
„
„
„
„
„
„
„
Introduzione alla sicurezza
I firewall (Windows e Linux)
Introduzione ai Web Services
Installazione di Tomcat
Le librerie AXIS
Installazione di AXIS su Tomcat
Ambiente di sviluppo di Web Services
1
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
Firewall
Intranet
„
Router
“Modo per controllare lo scambio dati tra
Internet e la rete interna”
2
Posizione dei firewall
„
„
„
Tra reti LAN e reti esterne
Ai “gateways” di sottoreti “sensibili” all’interno
di una LAN organizzativa
Sulle 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
„
3
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 interna
Cosa 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.
„
4
Operazione che effettua un firewall
„
„
„
„
Controllo
Modifica
Monitoraggio
Questo grazie alla capacità di “aprire” i
pacchetti IP e leggere le informazioni presenti
sull’header.
Alcuni Firewall
„
„
„
Il firewall di Microsoft Windows
Zone Allarm
Il firewall di Linux
5
Il firewall di Microsoft Windows
„
Se è 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
„
6
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 barre
Questo tasto
Visualizzano in Qui viene visualizzato lo
consente in
tempo reale il stato delle reti LAN o
maniera
flusso di dati in
remota.
istantanea di
entrata e uscita In questo caso il PC fa
chiudere le
parte di una LAN ritenuta
comunicazioni
attendibile(dall’utente )
di rete
Icone dei
programmi che
trasferiscono
dati da e verso
la nostra
macchina
7
Stato del sistema
LINUX E I FIREWALL
8
Le porte
„
„
Ogni software che abbia necessità di comunicare
con la rete apre una porta di accesso al nostro
calcolatore
Porte 1…65536
‰
–1…1024
„
„
„
„
‰
privilegi di sistema
Assegnate in modo standard a particolari servizi
21 = 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 esso
Software fatti da esseri umani…quindi non esenti da
errori.
Sono gli errori dei software di rete ad essere utilizzati
per l’accesso non autorizzato
L’esigenza di un software di rete esente da errori è
PRIMARIA!!!
Gli errori si correggono solo se si hanno i sorgenti
Microsoft non ce li da !!!
Modello Open Source è inequivocabilmente più sicuro
9
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 esigenze
Libertà (2) di ridistribuire copie del programma
Libertà (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 rete
Le due regole dell’amministratore di rete
‰
‰
Mai usare Microsoft Internet Information server
Se proprio devi
„ Preparati a passare ogni giorno per Windows Update…
„ Preparati a pregare che il problema sia già stato risolto
10
Introduzione a Iptables
Soluzione completa di firewall su Linux
„ Implementata a livello di kernel dalla versione 2.4.0
- Vantaggi
„ Gira da un 486 in su
„ File di configurazione testuale
„ Manipolazione dei pacchetti in diversi momenti del
processo di trasferimento del pacchetto da una
scheda ad un’altra
„ Catene
„ Valido 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.
Prerouting
Input
Forward
Output
Postrouting
11
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)
„
12
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
13
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 –j
ACCEPT
-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)
-
-
14
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 –d
192.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.
15
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 –state
ESTABLISHED,RELATED –jACCEPT
-iptables –I OUTPUT –m state –state
NEW,ESTABLISHED,RELATED –j ACCEPT
„
16
Guarddog Linux Firewall
17
18
I WEB SERVICES
I Web Services
„
„
„
Un Servizio Web (Web Service) è
un’applicazione on-line
Consente l’interoperabilità di sistemi
eterogenei
Consente di sfruttare risorse che non sono
localmente disponibili
19
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
20
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 del
progetto (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.xml
contenuto nella directory /web/tomcat/conf e cambiatela ad
esempio in 10080, come illustrato sotto:
<Connector
className="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.
21
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
22
Nome della
directory
Descrizione
bin
Contiene gli script/batch per lo startup-shutdownd
common
Le classi contenute nelle sue sotto-directory sono disponibili sia a
Tomcat che a tutte le web-application in esecuzione sotto Tomcat
conf
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
doc
lib
Contiene vari documenti riguardanti Tomcat
Contiene diversi file jar usati da Tomcat . Su UNIX ogni file in
questa directory viene appeso al classpath.
logs
webapps
Directory utilizzata per i file di log
è la cartella predefinita da Tomcat in cui vengono inserite tutte le
web-application (tutto ciò che viene copiato qui è automaticamente
deployed)
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 IBM
In combinazione con Tomcat rappresenta
uno strumento molto diffuso per la
realizzazione di web services.
23
Requisiti
„
„
„
„
„
„
Server Web (tomcat)
Dopo averlo installato dobbiamo scaricare Axis
dal sito di apache, http://ws.apache.org/axis/.
Unzippiamo questo zip e copiamo il
tutto 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.
24