SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Programma Il Futuro: una scelta open source
di
Marco Ferrigno Mario Rossano
SysAdmin & 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
MVC
object user
Debian GNU/Linux | basic services
(L)AMP
2
#Linux
Apache
MySQL
PHP
Perl
Joomla
Kunena
CMS
Security
layer
Monitoring
services
layer
Intrusion detection system
Monitor and
backup
configuration
layer
Smtp server
Bug tracking
system
Backup system
Crypt::FNA
Object user
controller
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)AMP
2
#Linux
Apache
MySQL
PHP
Perl
libapache2-mod-php5
...
phpmyadmin (via https con .htaccess)
Data::Dumper
Try::Tiny
FastCGI
Net::SMTP
Net::SMTP:SSL
WWW::Mechanize
LWP::UserAgent
Crypt::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 antivirus
opensource messo in cron ed eseguibile,
magari per una diversa esigenza, stand-alone
da riga di comando?
Una serie di layers a correlazione stretta!
Lynis: scanner di vulnerabilità
Rkhunter: anti rootkit
ClamAV
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 controllo
dei 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
etckeeper
Questo 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.
bzr
un software di controllo versione a cui
etckeeper si appoggia
monitoring & co
Programma Il Futuro: una scelta open source
Monitoring services layer
munin
erogatore 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.
Monitoring
services
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 condizionale
Popolamento select scuole statali tramite AJAX
Controllo inserimento dati con jQuery
Invio dati all'object user del CMS
Hook nel controller dell'object user
Salvataggio 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 user
Verifica token
Recupero password utente tramite Crypt::FNA su MySQL
Invocazione 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 user
controller
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 CVE­2014­6271 e CVE­2014­7169.
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 hits
Availability: 99.08 %
Elapsed time: 57.81 secs
Data transferred: 1.42 MB
Response time: 2.75 secs
Transaction rate: 74.38 trans/sec
Throughput: 0.02 MB/sec
Concurrency: 204.26
Successful transactions: 4354
Failed transactions: 40
Longest transaction: 31.46
Shortest transaction: 0.08
siege -b -c 1023 -r 3 <<url>>
siege aborted due to excessive socket failure; you
can change the failure threshold in $HOME/.siegerc
Transactions: 1500 hits
Availability: 45.29 %
Elapsed time: 94.60 secs
Data transferred: 0.86 MB
Response time: 11.47 secs
Transaction rate: 15.86 trans/sec
Throughput: 0.01 MB/sec
Concurrency: 181.90
Successful transactions: 2629
Failed transactions: 1812
Longest transaction: 40.05
Shortest 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/
- marcoferrigno@cryptolab.net
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
- software@netlogica.it
- anak@cpan-org

Mais conteúdo relacionado

Semelhante a Programma il futuro : una scelta Open Source

OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLVincenzo Calabrò
 
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfTutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfHelpRansomware
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceClaudio Cardinali
 
Presentazione Suite Nethesis
Presentazione Suite NethesisPresentazione Suite Nethesis
Presentazione Suite NethesisNethesis
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilitàraffaele_forte
 
BackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFBackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFAndrea Draghetti
 
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Studio Fiorenzi Security & Forensics
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
La complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppoLa complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppoMarco Ferrigno
 
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza ...
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza  ...Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza  ...
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza ...Massimiliano Cristarella
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...Marco Ferrigno
 
Hardening
HardeningHardening
HardeningNaLUG
 
Il Software Libero nella PPAA - LD09
Il Software Libero nella PPAA - LD09Il Software Libero nella PPAA - LD09
Il Software Libero nella PPAA - LD09Ruggero Tonelli
 
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)Andrea Grandi
 
Network_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptxNetwork_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptxManlioSantonastaso
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDLeonardoSimonini
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4raffaele_forte
 

Semelhante a Programma il futuro : una scelta Open Source (20)

OpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSLOpenID Connect 1.0: verifica formale del protocollo in HLPSL
OpenID Connect 1.0: verifica formale del protocollo in HLPSL
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfTutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
Presentazione Suite Nethesis
Presentazione Suite NethesisPresentazione Suite Nethesis
Presentazione Suite Nethesis
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilità
 
BackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFBackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTF
 
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
Enterprise digital forensics e sicurezza con strumenti open Automatizzare Aud...
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
La complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppoLa complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppo
 
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza ...
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza  ...Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza  ...
Porte aperte nelle app android scoperta diagnosi e valutazione di sicurezza ...
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...
 
Hardening
HardeningHardening
Hardening
 
Il Software Libero nella PPAA - LD09
Il Software Libero nella PPAA - LD09Il Software Libero nella PPAA - LD09
Il Software Libero nella PPAA - LD09
 
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)
Linux e il mondo della scuola - LinuxDay 2010 (Pistoia)
 
Network_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptxNetwork_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptx
 
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPIDAnalisi delle dipendenze architetturali dei servizi di autenticazione SPID
Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4
 

Mais de NaLUG

Grid System
Grid SystemGrid System
Grid SystemNaLUG
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber ForensicNaLUG
 
Digital Divide
Digital DivideDigital Divide
Digital DivideNaLUG
 
Drupal
DrupalDrupal
DrupalNaLUG
 
Digital Forensic
Digital ForensicDigital Forensic
Digital ForensicNaLUG
 
Open Source: strumento per l'e-democracy
Open Source: strumento per l'e-democracyOpen Source: strumento per l'e-democracy
Open Source: strumento per l'e-democracyNaLUG
 
OpenHardware : Arduino
OpenHardware : ArduinoOpenHardware : Arduino
OpenHardware : ArduinoNaLUG
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding LinuxNaLUG
 
Net Neutrality: HoBBIT
Net Neutrality: HoBBITNet Neutrality: HoBBIT
Net Neutrality: HoBBITNaLUG
 
Opensource per un Sistema Informativo Territoriale
Opensource per un Sistema Informativo TerritorialeOpensource per un Sistema Informativo Territoriale
Opensource per un Sistema Informativo TerritorialeNaLUG
 
Knomos
Knomos Knomos
Knomos NaLUG
 
App comunicazione comune di Napoli
App comunicazione comune di NapoliApp comunicazione comune di Napoli
App comunicazione comune di NapoliNaLUG
 
BISmark : the broadband internet service benchmark
BISmark : the broadband internet service benchmarkBISmark : the broadband internet service benchmark
BISmark : the broadband internet service benchmarkNaLUG
 
ClearOS
ClearOSClearOS
ClearOSNaLUG
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking EngineeringNaLUG
 
Software libero at ENEA
Software libero at ENEASoftware libero at ENEA
Software libero at ENEANaLUG
 
Una nuova crittografia frattale: Crypt fna
Una nuova crittografia frattale: Crypt fnaUna nuova crittografia frattale: Crypt fna
Una nuova crittografia frattale: Crypt fnaNaLUG
 
ROS@Unina
ROS@Unina   ROS@Unina
ROS@Unina NaLUG
 
Python@Unina - Exercises
Python@Unina - ExercisesPython@Unina - Exercises
Python@Unina - ExercisesNaLUG
 
Python@Unina - Theory
Python@Unina - TheoryPython@Unina - Theory
Python@Unina - TheoryNaLUG
 

Mais de NaLUG (20)

Grid System
Grid SystemGrid System
Grid System
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber Forensic
 
Digital Divide
Digital DivideDigital Divide
Digital Divide
 
Drupal
DrupalDrupal
Drupal
 
Digital Forensic
Digital ForensicDigital Forensic
Digital Forensic
 
Open Source: strumento per l'e-democracy
Open Source: strumento per l'e-democracyOpen Source: strumento per l'e-democracy
Open Source: strumento per l'e-democracy
 
OpenHardware : Arduino
OpenHardware : ArduinoOpenHardware : Arduino
OpenHardware : Arduino
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
 
Net Neutrality: HoBBIT
Net Neutrality: HoBBITNet Neutrality: HoBBIT
Net Neutrality: HoBBIT
 
Opensource per un Sistema Informativo Territoriale
Opensource per un Sistema Informativo TerritorialeOpensource per un Sistema Informativo Territoriale
Opensource per un Sistema Informativo Territoriale
 
Knomos
Knomos Knomos
Knomos
 
App comunicazione comune di Napoli
App comunicazione comune di NapoliApp comunicazione comune di Napoli
App comunicazione comune di Napoli
 
BISmark : the broadband internet service benchmark
BISmark : the broadband internet service benchmarkBISmark : the broadband internet service benchmark
BISmark : the broadband internet service benchmark
 
ClearOS
ClearOSClearOS
ClearOS
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking Engineering
 
Software libero at ENEA
Software libero at ENEASoftware libero at ENEA
Software libero at ENEA
 
Una nuova crittografia frattale: Crypt fna
Una nuova crittografia frattale: Crypt fnaUna nuova crittografia frattale: Crypt fna
Una nuova crittografia frattale: Crypt fna
 
ROS@Unina
ROS@Unina   ROS@Unina
ROS@Unina
 
Python@Unina - Exercises
Python@Unina - ExercisesPython@Unina - Exercises
Python@Unina - Exercises
 
Python@Unina - Theory
Python@Unina - TheoryPython@Unina - Theory
Python@Unina - Theory
 

Programma il futuro : una scelta Open Source

  • 1. Programma Il Futuro: una scelta open source di Marco Ferrigno Mario Rossano SysAdmin & 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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 MVC object user
  • 9. Debian GNU/Linux | basic services (L)AMP 2 #Linux Apache MySQL PHP Perl Joomla Kunena CMS Security layer Monitoring services layer Intrusion detection system Monitor and backup configuration layer Smtp server Bug tracking system Backup system Crypt::FNA Object user controller
  • 10. 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
  • 11. (l)amp layer Programma Il Futuro: una scelta open source 2 (L)AMP 2 #Linux Apache MySQL PHP Perl libapache2-mod-php5 ... phpmyadmin (via https con .htaccess) Data::Dumper Try::Tiny FastCGI Net::SMTP Net::SMTP:SSL WWW::Mechanize LWP::UserAgent Crypt::FNA
  • 12. 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 antivirus opensource messo in cron ed eseguibile, magari per una diversa esigenza, stand-alone da riga di comando? Una serie di layers a correlazione stretta! Lynis: scanner di vulnerabilità Rkhunter: anti rootkit ClamAV
  • 13. 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 controllo dei 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.
  • 14. monitoring & co Programma Il Futuro: una scelta open source Security layer IDS Backup Monitor and backup configuration layer Backup configuration layer etckeeper Questo 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. bzr un software di controllo versione a cui etckeeper si appoggia
  • 15. monitoring & co Programma Il Futuro: una scelta open source Monitoring services layer munin erogatore 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. Monitoring services layer …. ….
  • 16. 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 condizionale Popolamento select scuole statali tramite AJAX Controllo inserimento dati con jQuery Invio dati all'object user del CMS Hook nel controller dell'object user Salvataggio password utente tramite Crypt::FNA su MySQL Invio mail all'utente con token di autenticazione
  • 17. 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 user Verifica token Recupero password utente tramite Crypt::FNA su MySQL Invocazione bridge in Perl verso Code.org ed HourOfCode.com sistema di registrazione utenti
  • 18. il bridge verso code.org ed hourofcode.com Programma Il Futuro: una scelta open source Joomla CMS Crypt::FNA Object user controller
  • 19. 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
  • 20. 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 CVE­2014­6271 e CVE­2014­7169. 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 ...
  • 21. un passo indietro ... Programma Il Futuro: una scelta open source siege -b -c 300 -r 3 <<url>> Transactions: 4300 hits Availability: 99.08 % Elapsed time: 57.81 secs Data transferred: 1.42 MB Response time: 2.75 secs Transaction rate: 74.38 trans/sec Throughput: 0.02 MB/sec Concurrency: 204.26 Successful transactions: 4354 Failed transactions: 40 Longest transaction: 31.46 Shortest transaction: 0.08 siege -b -c 1023 -r 3 <<url>> siege aborted due to excessive socket failure; you can change the failure threshold in $HOME/.siegerc Transactions: 1500 hits Availability: 45.29 % Elapsed time: 94.60 secs Data transferred: 0.86 MB Response time: 11.47 secs Transaction rate: 15.86 trans/sec Throughput: 0.01 MB/sec Concurrency: 181.90 Successful transactions: 2629 Failed transactions: 1812 Longest transaction: 40.05 Shortest transaction: 0.00
  • 22. 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
  • 23. 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/ - marcoferrigno@cryptolab.net 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 - software@netlogica.it - anak@cpan-org