SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
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 
users users users 
application 
operating system 
virtual Infrastructure 
server farm 
app 
os 
vm 
app 
os 
vm 
virtual machine 
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 
users 
app 
os 
vm 
Programma Il Futuro: una scelta open source 
guest os 
quemu 
host os kvm 
user space 
kernel space 
MVC 
object user
Debian GNU/Linux | basic services 
(L)AMP2 
#Linux 
Apache 
MySQL 
PHP 
Perl 
CMS 
Joomla 
Object user 
controller 
Crypt::FNA 
Kunena 
Security 
layer 
Monitoring 
services 
layer 
Intrusion detection system 
Monitor and 
backup 
configuration 
layer 
Smtp server 
Bug tracking 
system 
Backup system
operating system layers 
Debian GNU/Linux | basic services 
Strumenti di compilazione e sviluppo: gcc, make, libc6 ... 
ntp, ntpdate 
ssh 
ftp / sftp 
Programma Il Futuro: una scelta open source 
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::Dumper 
Try::Tiny 
FastCGI 
Net::SMTP 
Net::SMTP:SSL 
WWW::Mechanize 
LWP::UserAgent 
Crypt::FNA
security layer 
Security 
layer 
IDS 
Backup 
Programma Il Futuro: una scelta open source 
Monitor and 
backup 
configuration 
layer 
Lynis: scanner di vulnerabilità 
Rkhunter: anti rootkit 
ClamAV 
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!
intrusion detection system layer 
- 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. 
Programma Il Futuro: una scelta open source
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 
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
sistema di registrazione utenti 
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 
Programma Il Futuro: una scelta open source
il bridge verso code.org ed 
hourofcode.com 
CMS 
Joomla 
Object user 
controller 
Crypt::FNA 
Programma Il Futuro: una scelta open source
Ed ora un po' di code... 
Perl Import XLSX data into MySQL→ http://pastebin.com/6RxQHeMu 
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 
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 
Programma Il Futuro: una scelta open source
programmailfuturo.it: security alert 
… che forse ci avrebbero creato qualche problema ... 
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 ... 
Programma Il Futuro: una scelta open source
un passo indietro ... 
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 
Programma Il Futuro: una scelta open source
ringraziamenti 
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 
Programma Il Futuro: una scelta open source
contatti 
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 
Programma Il Futuro: una scelta open source 
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

Contenu connexe

Tendances

Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Marco Ferrigno
 
Data Hiding
Data HidingData Hiding
Data HidingNaLUG
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberryOrazio Sarno
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber ForensicNaLUG
 
Introduzione all'Information Gathering
Introduzione all'Information GatheringIntroduzione all'Information Gathering
Introduzione all'Information GatheringSalvatore Lentini
 
Scacco matto ai crytpo malware (milano)
Scacco matto ai crytpo malware (milano)Scacco matto ai crytpo malware (milano)
Scacco matto ai crytpo malware (milano)Gianfranco Tonello
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaMarco Ferrigno
 
BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!Alfredo Morresi
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11bAlfredo Morresi
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
 
Simulazione di un Penetration Test
Simulazione di un Penetration TestSimulazione di un Penetration Test
Simulazione di un Penetration TestSalvatore Lentini
 
introduzione_a_pfSense
introduzione_a_pfSenseintroduzione_a_pfSense
introduzione_a_pfSenseMassimo Giaimo
 
Digital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaDigital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaMarco Ferrigno
 

Tendances (17)

Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...
 
Data Hiding
Data HidingData Hiding
Data Hiding
 
Attacchi e difese
Attacchi e difeseAttacchi e difese
Attacchi e difese
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberry
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber Forensic
 
Heartbleed - OpenSSL Bug
Heartbleed - OpenSSL BugHeartbleed - OpenSSL Bug
Heartbleed - OpenSSL Bug
 
Introduzione all'Information Gathering
Introduzione all'Information GatheringIntroduzione all'Information Gathering
Introduzione all'Information Gathering
 
Malware
MalwareMalware
Malware
 
Scacco matto ai crytpo malware (milano)
Scacco matto ai crytpo malware (milano)Scacco matto ai crytpo malware (milano)
Scacco matto ai crytpo malware (milano)
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnica
 
BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b
 
Pc piu sicuro
Pc piu sicuroPc piu sicuro
Pc piu sicuro
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Simulazione di un Penetration Test
Simulazione di un Penetration TestSimulazione di un Penetration Test
Simulazione di un Penetration Test
 
introduzione_a_pfSense
introduzione_a_pfSenseintroduzione_a_pfSense
introduzione_a_pfSense
 
Digital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaformaDigital Forensics: metodologie analisi multipiattaforma
Digital Forensics: metodologie analisi multipiattaforma
 

Similaire à Programma il futuro: una scelta open source

Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceNaLUG
 
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
 
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniBackdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniSalvatore Lentini
 
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
 
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
 
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
 
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ò
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
J2Me Il Micro Mondo Java
J2Me Il Micro Mondo JavaJ2Me Il Micro Mondo Java
J2Me Il Micro Mondo JavaAntonio Terreno
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
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
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Andrea Marchetti
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Andrea Marchetti
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Andrea Tosato
 

Similaire à Programma il futuro: una scelta open source (20)

Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta 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à
 
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniBackdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
 
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
 
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...
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
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
 
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
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
J2Me Il Micro Mondo Java
J2Me Il Micro Mondo JavaJ2Me Il Micro Mondo Java
J2Me Il Micro Mondo Java
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Automotive Security
Automotive SecurityAutomotive Security
Automotive Security
 
The Missing Link
The Missing LinkThe Missing Link
The Missing Link
 
Owasp parte1-rel1.1
Owasp parte1-rel1.1Owasp parte1-rel1.1
Owasp parte1-rel1.1
 
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
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
 
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
 

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 users users users application operating system virtual Infrastructure server farm app os vm app os vm virtual machine 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 users app os vm Programma Il Futuro: una scelta open source guest os quemu host os kvm user space kernel space MVC object user
  • 9. Debian GNU/Linux | basic services (L)AMP2 #Linux Apache MySQL PHP Perl CMS Joomla Object user controller Crypt::FNA Kunena Security layer Monitoring services layer Intrusion detection system Monitor and backup configuration layer Smtp server Bug tracking system Backup system
  • 10. operating system layers Debian GNU/Linux | basic services Strumenti di compilazione e sviluppo: gcc, make, libc6 ... ntp, ntpdate ssh ftp / sftp Programma Il Futuro: una scelta open source I am root
  • 11. (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::Dumper Try::Tiny FastCGI Net::SMTP Net::SMTP:SSL WWW::Mechanize LWP::UserAgent Crypt::FNA
  • 12. security layer Security layer IDS Backup Programma Il Futuro: una scelta open source Monitor and backup configuration layer Lynis: scanner di vulnerabilità Rkhunter: anti rootkit ClamAV 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!
  • 13. intrusion detection system layer - 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. Programma Il Futuro: una scelta open source
  • 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 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
  • 17. sistema di registrazione utenti 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 Programma Il Futuro: una scelta open source
  • 18. il bridge verso code.org ed hourofcode.com CMS Joomla Object user controller Crypt::FNA Programma Il Futuro: una scelta open source
  • 19. Ed ora un po' di code... Perl Import XLSX data into MySQL→ http://pastebin.com/6RxQHeMu 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 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 Programma Il Futuro: una scelta open source
  • 20. programmailfuturo.it: security alert … che forse ci avrebbero creato qualche problema ... 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 ... Programma Il Futuro: una scelta open source
  • 21. un passo indietro ... 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 Programma Il Futuro: una scelta open source
  • 22. ringraziamenti 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 Programma Il Futuro: una scelta open source
  • 23. contatti 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 Programma Il Futuro: una scelta open source 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