cybersecurity_linux.md 6.4 KB


title: Cybersecurity con sistemi GNU/Linux subtitle: Programma del corso author: Andrea Fazzi data: 17.01.202

urlcolor: blue

Presentazione

Il corso ha lo scopo di fornire una comprensione approfondita di Arch Linux, configurandolo opportunamente per utilizzarlo nel campo della sicurezza informatica e del penetration testing. Il corso copre una vasta gamma di argomenti, tra cui l'installazione di Arch Linux, l'analisi delle informazioni pubbliche e lo scanning di reti, le tecniche e le problematiche di sniffing, la sicurezza dei servizi come posta, DNS, web e SSH, l'hardening di Arch Linux, la prevenzione da tecniche di hacking comuni, e infine l'uso del bash scripting per la cybersecurity. Attraverso una combinazione di lezioni teoriche e pratiche, gli studenti avranno l'opportunità di acquisire competenze pratiche nel campo della sicurezza informatica.

Obiettivi

  • Fornire una comprensione delle caratteristiche e dei vantaggi di Arch Linux.
  • Insegnare le tecniche di raccolta di informazioni e di scanning di reti.
  • Spiegare le tecniche e le problematiche di sniffing e come proteggersi.
  • Fornire una comprensione della sicurezza dei servizi di posta, DNS, web e SSH.
  • Insegnare come rafforzare un sistema Arch Linux attraverso l'hardening.
  • Fornire una comprensione delle tecniche di hacking comuni e come prevenirle.
  • Insegnare l'uso del bash scripting per automatizzare le attività di sicurezza e migliorare la cybersecurity.

Metodologie

Le lezioni saranno dialogiche e partecipate. Gli studenti verranno condotti verso la costruzione delle conoscenze e competenze attraverso esempi, compiti di realtà, attività di problem solving.

Mezzi e strumenti

Ciascuno studente avrà a disposizione un'installazione di Arch Linux GNU/Linux predisposta all'interno di una macchina virtuale.

Articolazione dei contenuti (40 ore)

Installazione di Arch Linux

  • Caratteristiche della distribuzione: Arch Linux è una distribuzione Linux basata su Debian che è stata progettata specificamente per il penetration testing e la sicurezza informatica. Include numerose utility preinstallate per l'hacking etico, come Wireshark, Nmap, Metasploit e altre.
  • Installazione su macchina laptop: l'installazione di Arch Linux su un laptop comporta il download dell'immagine ISO dal sito ufficiale, la creazione di una chiavetta USB avviabile, il boot da questa chiavetta e infine la configurazione dell'installazione. Durante l'installazione, è possibile selezionare le utility specifiche che si desidera installare.

Analisi delle Informazioni pubbliche e network scanning

  • Tecniche di raccolta di informazioni: utilizzo di strumenti come Whois, Nslookup e Dig per ottenere informazioni su un dominio o un indirizzo IP.
  • Utilizzo di scanner di rete: utilizzo di strumenti come Nmap per identificare i dispositivi sulla rete e le porte aperte su questi dispositivi.
  • Analisi delle vulnerabilità: utilizzo di strumenti come Nessus o OpenVAS per identificare le vulnerabilità nei dispositivi e nei servizi di rete.
  • Metodi di mitigazione: implementazione di patch e aggiornamenti, configurazione di firewall e IDS, utilizzo di VPN e crittografia.

Tecniche e problematiche di sniffing

  • Cos'è lo sniffing e come funziona: lo sniffing è una tecnica utilizzata per intercettare e leggere il traffico di rete. Può essere fatto utilizzando strumenti come Wireshark o Tcpdump.
  • Tecniche di sniffing: sniffing passivo, sniffing attivo, sniffing diretto, sniffing indiretto.
  • Protezione da sniffing: utilizzo di protocolli crittografati come HTTPS e SSH, configurazione di VPN, utilizzo di firewall e IDS.

Sicurezza dei servizi: posta, dns, web, ssh

  • Sicurezza del servizio di posta elettronica: configurazione di protocolli sicuri come SMTPS, POP3S e IMAPS, implementazione di SPF, DKIM e DMARC.
  • Sicurezza del servizio DNS: implementazione di DNSSEC, configurazione di firewall per limitare le query DNS, monitoraggio del traffico DNS per rilevare attività sospette.
  • Sicurezza del servizio web: configurazione di HTTPS, implementazione di HSTS, utilizzo di WAF, attuazione di politiche di sicurezza del contenuto.
  • Sicurezza del servizio SSH: disabilitazione dell'accesso root, limitazione degli utenti che possono utilizzare SSH, configurazione di chiavi SSH, utilizzo di Fail2ban.

Hardening di Arch Linux

  • Cosa significa hardening: l'hardening è il processo di rafforzamento di un sistema informatico per ridurre la sua superficie di attacco.
  • Passaggi per l'hardening di un sistema Arch Linux: aggiornamento del sistema, rimozione di servizi non necessari, configurazione di firewall e IDS, implementazione di politiche di sicurezza avanzate.
  • Strumenti e tecniche per l'hardening: utilizzo di strumenti come Lynis per l'hardening automatizzato, implementazione di SELinux o AppArmor, configurazione di auditd.

Prevenzione da tecniche di hacking comuni

  • Tipi comuni di attacchi hacking: attacchi brute force, attacchi DDoS, phishing, SQL injection, cross-site scripting.
  • Tecniche di prevenzione: utilizzo di password complesse, limitazione del numero di tentativi di login, configurazione di firewall e IDS, aggiornamento e patching del sistema e delle applicazioni, formazione degli utenti.
  • Strumenti di monitoraggio e rilevamento degli attacchi: utilizzo di strumenti come Snort, Wireshark, Syslog, ELK Stack.

Bash Scripting e Cybersecurity

  • Introduzione al bash scripting: cos'è lo scripting bash, perché è utile, come scrivere script bash di base.
  • Utilizzo di script bash per automatizzare le attività di sicurezza: creazione di script per l'automazione di attività come il monitoraggio del sistema, la scansione di rete, l'hardening del sistema.
  • Esempi di script bash utili per la cybersecurity: script per l'analisi dei log, script per l'automazione di Nmap o Wireshark, script per la generazione di report di sicurezza.
  • Best practices per la scrittura di script bash sicuri: utilizzo di variabili non modificabili, controllo degli input, gestione degli errori, limitazione dei privilegi.

Verifiche e valutazione

Le verifiche saranno somministrate nella forma di test strutturati a risposta chiusa (4 risposte di cui solo una corretta). All'inizio del corso verrà proposto agli studenti un test per verificare le loro competenze iniziali. Al termine del corso verrà proposto una simulazione di test utile alla preparazione dell'esame conclusivo.