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