Upload
mario-rossano
View
414
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete. Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama. Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com. Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Citation preview
Programma Il Futuro: una scelta open source
di
Marco Ferrigno Mario RossanoSysAdmin & IT Security Manager Web and Software Engineering
Declaimer: attualmente lo stato del progetto è da definirsi in beta pubblica, pertanto gli autori si riservano dal rivelare attuali dettagli critici e future implementazioni
il pensiero computazionale
Il pensiero computazionale è un processo mentale per cui tramite competenze logiche si acquisisce la capacità di risolvere
problemi in modo creativo ed efficiente.
Programma Il Futuro: una scelta open source
uno strumento per domarli tutti:programmailfuturo.it
Nasce come piattaforma di supporto alla versione italiana del portale code.org, progetto – quest'ultimo – made in USA che ha visto nel 2013 la partecipazione di circa 40 milioni di studenti e insegnanti di tutto il mondo.
Dal portale sono fruibili i seguenti servizi:
Indicazioni sulla finalità del progetto Iscrizione come insegnante di scuola statale Iscrizione come insegnante di scuola paritaria Iscrizione per studenti Iscrizione per altre tipologie di utenti Lezioni interattive Lezioni “senza rete” Forum di supporto
Programma Il Futuro: una scelta open source
programmailfuturo.it- ipotesi di carico -
Al di là del fine e prima ancora della tecnica, giusto qualche specifica dimensionale:
~7.000.000 di studenti ~650.000 insegnanti ~400.000 accessi distribuiti (ipotesi di picco nella settimana Hour of Code, 8-14 dicembre 2014) … ~60.000.000 di abitanti
Programma Il Futuro: una scelta open source
programmailfuturo.it in cloud server
L'infrastruttura cloud server è realizzata su macchine multiprocessore multicore ridondate N+1, con SAN ad alta disponibilità . L'elevato tasso di scalabilità permette di aggiungere server di varia potenza e natura ed assemblare delle infrastrutture complesse e dinamiche, anche stand-alone: web server, db server, load balancer, firewall etc ...
Programma Il Futuro: una scelta open source
il cloud server su carta
server farm
virtual Infrastructure
vm
os
app
vm
os
app
virtual machine
operating system
application
users users users
n+1
cloud server: i dettagli sono importanti
Server farm e virtual infrastructure – punti di forza:
KVM (Kernel-based Virtual Machine) SAN in multipath Firewall ridondante Switch in fault-tolerance e load-balancing
Programma Il Futuro: una scelta open source
cloud server: i dettagli sono importanti
Programma Il Futuro: una scelta open source
vm
os
app
users
guest os
quemu
host os kvm
user space
kernel space
MVCobject user
Debian GNU/Linux | basic services
(L)AMP2
#Linux
Apache
MySQL
PHP
Perl
Joomla
Kunena
CMS
Security layer
Monitoringservices
layer
Intrusion detection system
Monitor and backup
configuration layer
Smtp serverBug tracking
system
Backup system
Crypt::FNA
Object usercontroller
operating system layers
Programma Il Futuro: una scelta open source
Debian GNU/Linux | basic services
Strumenti di compilazione e sviluppo: gcc, make, libc6 ... ntp, ntpdate
ssh ftp / sftp
I am root
(l)amp layer
Programma Il Futuro: una scelta open source
2
(L)AMP2
#Linux
Apache
MySQL
PHP
Perl
libapache2-mod-php5
...
phpmyadmin (via https con .htaccess)
Data::DumperTry::TinyFastCGINet::SMTPNet::SMTP:SSLWWW::MechanizeLWP::UserAgentCrypt::FNA
security layer
Programma Il Futuro: una scelta open source
Security layer
IDS
Backup
Monitor and backup
configuration layer
cosa c'è di più comodo di un antivirusopensource messo in cron ed eseguibile,
magari per una diversa esigenza, stand-aloneda riga di comando?
Una serie di layers a correlazione stretta!
Lynis: scanner di vulnerabilità Rkhunter: anti rootkitClamAV
intrusion detection system layer
Programma Il Futuro: una scelta open source
- un po' di letteratura informatica: ids~=ips (intrusion prevention system) -
Fail2ban: è un software per la prevenzione delle intrusioni scritto in Python. E’ in grado di girare su sistemi POSIX che hanno un interfaccia ed un sistema di controllodei pacchetti o firewall installato localmente (per esempio, iptables o TCP Wrapper).
La funzione principale di Fail2ban è quella di bloccare gli indirizzi IP selezionati che potrebbero appartenere a dei computers che stanno tentando di violare la sicurezza del sistema. Determina i server che devono essere bloccati da un controllo dei file di log (per esempio /var/log/pwdfail, /var/log/auth.log, etc) e proibisce l’accesso dagli IP degli host che hanno troppi tentativi di accesso indesiderato o esegue altre azioni in un arco di tempo definito dall’amministratore.
Portsentry: è un attack detection tool il cui compito consiste nella rilevazione di scansioni e nella risposta a tali scansioni.ATTENZIONE: effettua un bind verso ogni porta che monitorizza e di conseguenza offre la visione ad un attaccante che vi sia una moltitudine di open ports disponibili ad un exploit sulla macchina vittima.
Snort: è un software opensource con funzione di ids.Si pone come efficiente contromisura ad attività di footprinting e scansione da parte di un attacker,identificando quindi accessi non autorizzati.
monitoring & co
Programma Il Futuro: una scelta open source
Security layer
IDS
Backup
Monitor and backup
configuration layer
Backup configuration layer
etckeeperQuesto software e’ una collezione di script bash che consentono di tenere sotto controllo tramite un sistema di revisione distribuito la nostra directory /etc, dove sono appunto presenti i file di configurazione della maggior parte dei nostri servizi in Linux.
bzrun software di controllo versione a cui etckeeper si appoggia
monitoring & co
Programma Il Futuro: una scelta open source
Monitoring services layer
muninerogatore di grafici e statistiche tramite interfaccia web
monitè un programma gratuito e open source per la gestione e il monitoraggio di processi, file, directory e file system su un sistema UNIX. Monit effettua la manutenzione e la riparazione automatica e può eseguire azioni significative in situazioni di errore.
logcheckè una semplice utility che è progettata per consentire ad un amministratore di sistema di visualizzare i file di log che si realizzano su macchine sotto il proprio controllo.Lo fa, attraverso una sintesi dei log mandati tramite email, filtrando prima le voci “normali” presenti nei log.
Monitoringservices
layer
….
….
sistema di registrazione utenti
Programma Il Futuro: una scelta open source
Preventiva importazione dati MIUR nel database MySQL
Step 1
Form di registrazione con struttura a nodi - logica condizionalePopolamento select scuole statali tramite AJAXControllo inserimento dati con jQuery
Invio dati all'object user del CMS
Hook nel controller dell'object userSalvataggio password utente tramite Crypt::FNA su MySQL
Invio mail all'utente con token di autenticazione
Programma Il Futuro: una scelta open source
Preventiva importazione dati MIUR nel database MySQL
Step 2
Utente riceve mail con url (token di autenticazione)Passaggio token all'object user del CMS
Hook nel controller dell'object userVerifica tokenRecupero password utente tramite Crypt::FNA su MySQLInvocazione bridge in Perl verso Code.org ed HourOfCode.com
sistema di registrazione utenti
il bridge verso code.org ed hourofcode.com
Programma Il Futuro: una scelta open source
Joomla
CMS
Crypt::FNA
Object usercontroller
Ed ora un po' di code...
Programma Il Futuro: una scelta open source
PHP - Javascript AJAX System - part ONE → http://pastebin.com/KLG2CNkH
PHP - Javascript AJAX System - part TWO → http://pastebin.com/rNgCg8Sz
PHP - Javascript AJAX System - part THREE → http://pastebin.com/y4uDc1EY
Perl Import XLSX data into MySQL→ http://pastebin.com/6RxQHeMu
PHP hack Controller Object User → http://pastebin.com/j47eP3CM
Perl signUp bridge to Code.org → http://pastebin.com/2yke0TE2
Perl Crypt::FNA service → http://pastebin.com/qygfZzRf
programmailfuturo.it: security alert
Programma Il Futuro: una scelta open source
shellshock (23 settembre 2014)un bug di sicurezza trovato in bash, un programma di shell di comando comunemente utilizzato su sistemi UNIX-like.Il bug in questione è una vulnerabilità legata all’esecuzione di codice in modalità remota, o RCE.L’attaccante è in grado di ingannare bash e “forzarlo” ad eseguire codice arbitrario sulla macchina target. Ufficialmente, il bug è documentato come CVE20146271 e CVE20147169.
poodle (13 ottobre 2014)(Padding Oracle On Downgraded Legacy Encryption) è un tipo di attacco alle connessioni https in grado di rubare informazioni sensibili, incluse, teoricamente, le password degli account.L’attacco si basa su una vulnerabilità di SSLv3, RFC6101, un protocollo del novembre 1996 poco sicuro che fa parte del gruppo di protocolli di scambio dati previsti da https e da tutti i protocolli che usano TLS, come IMAPS, POP3S, SMTP con STARTTLS, etc ...
… che forse ci avrebbero creato qualche problema ...
un passo indietro ...
Programma Il Futuro: una scelta open source
siege -b -c 300 -r 3 <<url>>Transactions: 4300 hitsAvailability: 99.08 %Elapsed time: 57.81 secsData transferred: 1.42 MBResponse time: 2.75 secsTransaction rate: 74.38 trans/secThroughput: 0.02 MB/secConcurrency: 204.26Successful transactions: 4354Failed transactions: 40Longest transaction: 31.46Shortest transaction: 0.08
siege -b -c 1023 -r 3 <<url>>siege aborted due to excessive socket failure; youcan change the failure threshold in $HOME/.siegercTransactions: 1500 hitsAvailability: 45.29 %Elapsed time: 94.60 secsData transferred: 0.86 MBResponse time: 11.47 secsTransaction rate: 15.86 trans/secThroughput: 0.01 MB/secConcurrency: 181.90Successful transactions: 2629Failed transactions: 1812Longest transaction: 40.05Shortest transaction: 0.00
ringraziamenti
Programma Il Futuro: una scelta open source
programmailfuturo.it
direzione didattica:- Prof. Giorgio Ventre | CINI - Università degli Studi di Napoli Federico II
direzione dei lavori:- Prof. Enrico Nardelli | CINI - Università degli Studi di Roma Tor Vergata
Comitato tecnico-scientifico MIUR
Linux Day Napoli 2014
- INAF OACN- NaLUG team
contatti
Programma Il Futuro: una scelta open source
Marco Ferrigno @marco_ferrigno
- Researcher and consultant in computer security and systems engineering
- ICTFF (International Cyber Threat Task Force) Member
- NaLUG (Napoli Linux Users Group) Member
- Developer of the Italian Debian GNU/Linux HowTos
- http://marcoferrigno.wordpress.com/ - [email protected]
Mario Rossano @anakthewolf
- Cryptographic research
- CPAN (Comprehensive Perl Archive Network) Author
- Perl.it Member
- NaLUG (Napoli Linux Users Group) Member
- Application dev/Analyst
- CEO Netlogica
- anak@cpan-org