LABORATORIO DI AMMINISTRAZIONE DI SISTEMI T - A.A. 2017/2018

Raccolta di prove d'esame assegnate in passato


Sui siti ufficiali dell'Ateneo sono disponibili i dettagli del programma e delle modalità d'esame, nonché l'orario aggiornato con eventuali modifiche rispetto allo standard settimanale, che prevede:
  • il martedì in LAB4 dalle 14 alle 18
  • il mercoledì in aula 5.7 dalle 13 alle 16

Si ricorda di portare in laboratorio una memoria USB da 4GB o superiore, più una seconda su cui effettuare regolari backup della prima.

Queste pagine verranno aggiornate durante il corso in parallelo allo svolgimento delle lezioni. Si può fare riferimento al sito dell'A.A. 2016/2017 per informazioni generali e materiale didattico
.

Gli studenti sono pregati di consultare con regolarità gli avvisi (feed RSS disponibile).

Per qualsiasi informazione e per fissare un colloquio (senza vincoli prefissati di orario di ricevimento)
  • docente ing. Marco Prandini
    • marco.prandini@unibo.it
    • (05120) 93867
    • ufficio al primo piano del blocco nuovo, oltre l'aula 5.7
  • tutor Dott. Andrea Melis
    • a.melis@unibo.it



   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

Lezione

Materiale utilizzato

Materiale aggiuntivo
27 febbraio

introduzione al corso
Predisposizione del laboratorio

Qualche definizione e link interessanti su Wikipedia
Guida dettagliata alla configurazione di VirtualBox
L'appliance della macchina virtuale di base [832 MB]
28 febbraio
Hardening di base e controllo dell'accesso
notare i comandi evidenziati in rosso:
vanno studiati in preparazione dell'esercitazione successiva

Approfondimenti sui modelli avanzati di controllo dell'accesso in Linux

Firmare driver e altri file perchè vengano riconosciuti dal secure boot
6 marzo

Principi di funzionamento della shell

Tracce di semplici esercitazioni su utenti, permessi, shell expansion
Soluzione esercizio aree condivise

Pagine man in italiano (la traduzione è incompleta), su Pluto (uno dei principali gruppi di utenti Linux italiani), link per qualunque necessità di approfondimento su Linux, e Tutorial dell'editor vim (prontuario in italiano)
7 marzo

Cenni di crittografia

Approfondimenti disponibili sul sito del corso di Sicurezza dell'Informazione M
Documentazione sul sito di OpenSSH
Collisioni di MD5
Analisi sulla debolezza di alcune chiavi RSA
Articolo di Matt Blaze sui problemi del lato "fiduciario" di SSL
Solo qualche esempio di quant'è difficile implementare bene la crittografia
Un pezzo di storia fondamentale: la decifrazione del cifrario nazista
13 marzo

Filtri e richiami di scripting
(saranno utilizzati anche in seguito, verificare eventuali correzioni)

Tracce degli esercizi proposti

Soluzioni degli esercizi su ssh e filtri:

sshnum.sh, sshload.sh, sshsort.sh

Learn the shell, write scripts: LinuxCommand.org

Usare efficacemente il terminale, soprattutto per gestire molte VM: Tmux (shortcuts and cheatsheet)
14 marzo

Vulnerabilità dei sistemi

In preparazione alle prossime esercitazioni: regular expression e filtri avanzati

SANS reading room - quasi 2000 saggi in materia di sicurezza
SecurityFocus - mailing lists, annunci di vulnerabilità, articoli (Infocus)
Corsi di scrittura di codice sicuro gratuiti @safecode
Hardware security: Rowhammer, o come diventare root un elettrone alla volta, Spectre e Meltdown, un eccesso di efficienza delle CPU
20 marzo

Tracce degli esercizi proposti

Esempi di uso dei filtri di testo: individuazione e conteggio delle estensioni.

Soluzione degli esercizi proposti: slide 7 (read e IFS), slide 9 (con ciclo, con awk base, con script awk), slide 10/1 (estensioni limitate a elenco), slide 10/2 (azioni su utenti con lettura da terminale)

Note sui device files di Linux
21 marzo

Monitoraggio e intrusion detection
(include strumenti di laboratorio per monitoraggio e automazione task)

Una breve panoramica di piattaforme di monitoraggio open source
Nagios, Cacti, Munin, OpenNMS, Zabbix
27 marzo

Tracce degli esercizi proposti

Script realizzati in laboratorio: writer.sh, logrotate.sh, syslog remoto, niceexec.sh

(base, da espandere come da tracce)

Soluzioni alle proposte di estensione:

logrotate.sh, niceexec.sh


28 marzo

Installazione di software e gestione dei servizi

Un articolo su opensource.com riassume bene il processo di boot di Linux dal BIOS a systemd
Approfondimenti su systemd: 
sito ufficiale - "Demystifying systemd", un talk di uno degli autori [video, slide]
4 aprile

Sicurezza delle reti: vulnerabilità, contromisure, VPN.

Configurazione di base della rete in Linux - per approfondimenti si veda i
l corso di Laboratorio di Reti di Telecomunicazioni in particolare le slide #3

Il sito di Wireshark ed in particolare un buon tutorial+podcast
Guide e cheatsheet per la suite iproute2.
Aspetti amministrativi:
IANA (gestione domini, assegnazione numeri standard dei protocolli di rete)
Il sistema di assegnazione degli indirizzi IP
10 aprile

Configurazione istantanea e persistente di una rete client-router-server, analisi e diagnostica del traffico

Configurazione di una VPN (emulata sulla rete delle VM) con OpenVPN.

Piccolo prontuario wireshark, tcpdump, openssl 

Copia locale del pacchetto bridge-utils
File
bridge config e
client config per il server "road warrior"
17 aprile

Tracce degli esercizi su processi, segnali e array

Soluzioni: logwatch, parallenne con due array, parallenne che usa i PID come indici non consecutivi di un solo array e realizza le estensioni proposte


18 aprile

Introduzione ai firewall

Filtraggio del traffico in Linux con iptables: volume 7, slide 23-41 del corso di Lab. Reti TLC

Homepage del progetto iptables/netfilter, l'ottimo tutorial di Oskar Andreasson ed un'eccellente raccolta di link su LinuxGuruz


24 aprile

Esempi di base di configurazione di iptables: default deny, nat su router

Tracce degli esercizi proposti

Soluzioni con iptables: netmon.sh, connection_monitor.sh, traffic_monitor.sh, log_user.sh

Soluzioni con tcpdump:
netmon.sh, connection_monitor.sh, traffic_monitor.sh, log_user.sh

Schema complessivo di Netfilter [png, eps] da tenere sempre sotto mano!
2 maggio

SNMP

In prepara
zione al laboratorio: man pages
snmpcmd, snmpget, snmpset, snmpwalk, snmp.conf, snmpd.conf

Una panoramica sui sistemi di management open source Nagios, Cacti, Munin, OpenNMS, Zabbix
Siti utili per il lookup di OID:
http://www.oid-info.com/index.htm
http://www.alvestrand.no/objectid/index.html
8 maggio

Tracce degli esercizi proposti

sshnum.sh rifatto con snmp
log_user.sh rifatto con snmp

Mirror locali (per l'esame)
- Gerarchia UCD-SNMP (per leggere i parametri di sistema e l'output dei check proc, disk, load)
- Gerarchia NET-SNMP-EXTEND-MIB (per l'output di extend)
9 maggio

LDAP

In preparazione al laboratorio: man pages ldapadd, ldapdelete, ldapmodify, ldapsearch

Qualche guida per usare LDAP come sistema di autenticazione su Linux: Arch, RedHat, Tecmint.

Integrazione di LDAP con Microsoft Active Directory: Arch, Microsoft, RedHat.
15 maggio

Tracce degli esercizi su configurazione server LDAP e manipolazione di entry

Soluzioni: filesystem.ldif, ldap-fs-store.sh, ldap-fs-sumspace.sh, ldap-fs-purge.sh

Soluzioni estensioni:
filesystem-perm.ldif, ldap-fs-store-perm.sh, ldap-fs-purge-perm.sh

Brevi note all'uso di ldap sulle macchine virtuali del corso, corredate di link alla documentazione essenziale.
In evidenza: un ottimo 
prontuario delle diverse sintassi da usare in LDIF per aggiungere, rinominare, modificare entry

16 maggio

Alta disponibilità parte 1: storage affidabile e flessibile

I data center di Google (visita virtuale), Fibertown,Microsoft, e i molti modi per metterli KO.
Link utili a proposito di RAID: Wikipedia, La matematica del RAID6 (PDF, inglese), Guerra ai livelli 3, 4 e 5!
Sull'utilità della ridondanza solo se associata a verifiche periodiche

22 maggio

Proposta la correzione degli esercizi netmon-iptabes
Traccia dell'esercizio di riepilogo


23 maggio

Alta disponibilità parte 2: filesystem distribuiti

Cluster filesystems GPFS (IBM), GFS (RedHat) - Distributed filesystems: Hadoop, Coda (storico ma comodo per le situazioni di connettività intermittente)
29 maggio

Proposta la correzione delle estensioni di ldap-fs-purge
Prosegue l'esercitazione iniziata il 22 maggio - soluzioni:
toctoc.sh
routerconf.sh
serverconf.sh
avanti.sh
timeout.sh
openclose.sh
snmpd.conf
count.schema.ldif


30 maggio

Alta disponibilità parte 3: cluster e cloud

In preparazione all'ultima giornata di laboratorio:
studiare le  man page tar, gzip, find (v. anche slide sui filtri) e rsync

Per sperimentare il cloud pubblico: AWS free tier, GCP free tier, sconti e accesso ad altre piattaforme attraverso GitHub Education

Gestione delle configurazioni e disastri sul cloud
5 giugno

Configurazione di un NAS affidabile: partizionamento dei dischi, definizione di un RAID software, formattazione, configurazione per il restart automatico, esportazione via NFS.
traccia dei comandi


6 giugno

Alta disponibilità parte 4: backup

Discussione delle prove d'esame proposte

Sistemi custom e innovazione spinta da utenti eccezionali: cold storage su disco @Facebook, @Microsoft esperimenti Blu Ray mai del tutto confermati

Practical recovery on Linux