Sviluppo Di Un Prelogonagent Per Il Reset Autonomo Di Password Active Directory Su Piattaforma Macos
Total Page:16
File Type:pdf, Size:1020Kb
Università degli Studi di Padova Dipartimento di Matematica "Tullio Levi-Civita" Corso di Laurea in Informatica Sviluppo di un PreLogonAgent per il reset autonomo di password Active Directory su piattaforma macOS Tesi di laurea triennale Relatore Prof.Claudio Enrico Palazzi Laureando Pardeep Singh Matricola 1143264 ii Anno Accademico 2018-2019 Pardeep Singh: Sviluppo di un PreLogonAgent per il reset autonomo di password Active Directory su piattaforma macOS, Tesi di laurea triennale, c Settembre 2019. Sommario Il presente documento descrive il lavoro svolto durante il periodo di stage, della durata di circa trecentoventi ore, dal laureando Pardeep Singh presso l’azienda NETCOM 1. Lo stage consisteva nel trovare una valida soluzione per poter permettere all’utente finale di accedere al sito (tramite un browser opportunamente limitato) di Hydro- gen[g] direttamente dalla schermata di login di Apple macOS. Gli obiettivi da raggiungere erano molteplici, e sono descritti di seguito. In primo luogo era richiesto lo studio del componente Hydrogen Custom Logon dispo- nibile per il sistema operativo Microsoft Windows e Ubuntu Linux. In secondo luogo era richiesta un’analisi delle problematiche derivanti dalla chiusura del sistema operativo Apple macOS, e delle varie versioni dello stesso. In seguito a ciò, era richiesta l’identificazione e tracciamento dei requisiti che deve possedere il componente software sviluppato. Terzo ed ultimo obiettivo era definire un’architettura ad alto livello e organizzare i componenti, passando infine alla fase di implementazione e test. 1https://www.netcom.it/ v “If you cannot do great things, do small things in a great way” — Napoleon Hill Ringraziamenti Innanzitutto, vorrei esprimere la mia gratitudine al Prof. Claudio Enrico Palazzi, relatore della mia tesi, per l’aiuto e il sostegno fornitomi durante la stesura del lavoro. Vorrei ringraziare tanto anche il tutor Claudio Guarisco di NETCOM 2, che mi ha segui- to con molta disponibilità per tutta la durata del tirocinio fornendomi tanti consigli utili. Desidero ringraziare con affetto i miei genitori per il sostegno, il grande aiuto e per essermi stati vicini in ogni momento durante gli anni di studio. Un grande ringraziamento a mio fratello e mia sorella, che mi hanno insegnato a non arrendersi mai e mi hanno sempre sostenuto. Ho desiderio di ringraziare poi i miei cari amici per tutto il tempo passato insieme in questo percorso di studi. Padova, Settembre 2019 Pardeep Singh 2https://www.netcom.it/ vii Indice 0.1 Organizzazione del testo . .1 1 Descrizione dell’azienda3 1.1 L’azienda . .3 1.2 Organigramma . .4 1.3 I servizi offerti . .5 1.4 Tecnologie . .6 2 Descrizione dello stage9 2.1 Origini del progetto Hydrogen.......................9 2.2 Scopo dello stage . .9 2.3 Obiettivi . 10 2.3.1 Obbligatori . 10 2.3.2 Desiderabili . 10 2.3.3 Facoltativi . 11 2.4 Tecnologie adottate . 11 3 Organizzazione dello stage 13 3.1 Piano di lavoro . 13 3.2 Fasi del progetto . 13 4 Analisi dei requisiti 15 4.1 Analisi delle caratteristiche del prodotto finale . 15 4.1.1 Possibili approcci per lo sviluppo del componente . 15 4.1.2 Criteri di valutazione per la scelta della soluzione da sviluppare 16 4.1.3 Considerazioni sul browser da adottare . 16 4.2 Active Directory su macOS . 17 4.3 Casi d’uso . 17 4.3.1 Caso d’uso principale . 17 4.4 Tracciamento dei requisiti . 17 4.5 Approcci per la creazione del componente . 19 4.5.1 Authorization plug-in . 19 4.5.2 Pre-Logon Agents . 22 5 Progettazione e codifica 25 5.1 Tecnologie e strumenti . 25 5.2 Progettazione . 25 5.2.1 Struttura del progetto . 26 5.2.2 Namespace "MacLogonAgent.Core" . 26 5.2.3 Namespace "MacLogonAgent.Installer.Core" . 29 ix x INDICE 5.2.4 Namespace "MacLogonAgent.Installer.RequestURL" . 30 5.3 Codifica . 30 5.3.1 Installer per l’agent . 31 6 Verifica e validazione 33 6.1 Test . 33 6.1.1 Test di unità . 33 6.1.2 Test di sistema . 34 7 Documentazione 35 7.1 Manuale utente . 35 7.2 Manuale sviluppatore . 35 8 Conclusioni 37 8.1 Raggiungimento degli obiettivi . 37 8.1.1 Obbligatori . 37 8.1.2 Desiderabili . 37 8.1.3 Facoltativi . 37 8.2 Rispetto delle scadenze . 38 8.3 Conoscenze acquisite e valutazione personale . 38 Glossary 41 Acronyms 45 Bibliografia 47 Elenco delle figure 1.1 Logo di NETCOM . .3 1.2 Organigramma di NETCOM . .4 1.3 Panoramica dei servizi offerti da Ivanti Endpoint Manager . .7 1.4 Panoramica del servizio SRS di Snow . .8 3.1 Diagramma di Gantt per il progetto di stage . 13 4.1 Use Case - UC1: Scenario principale . 17 4.2 Diagramma dei package per l’authorization plug-in ........... 19 4.3 Schermata che rappresenta il form di login ottenuto con il plug-in... 21 4.4 Esempio di definizione di un’attività. 24 5.1 Diagramma dei package di MacLogonAgent ............... 26 5.2 Diagramma delle classi del namespace "MacLogonAgent.Core". 27 5.3 Descrizione file MacLogonAgent_Core.plist............... 27 5.4 Pulsante principale che permette di aprire il browser . 28 5.5 Schermata del browser . 29 5.6 Schermata dell’installer grafico . 30 5.7 Script "postInstall.py" . 31 5.8 Script "silentInstall.py" . 32 5.9 Script di disinstallazione "uninstall.py" . 32 5.10 Script di modifica dell’URL “changeURL.py” . 32 7.1 Schermata del manuale utente in italiano . 35 7.2 Schermata del manuale sviluppatore in italiano . 36 8.1 Consuntivo delle ore per fase di progetto . 38 xi xii ELENCO DELLE TABELLE Elenco delle tabelle 4.1 Tabella del tracciamento dei requisti funzionali . 18 4.2 Tabella del tracciamento dei requisiti di vincolo . 18 4.3 Tabella che illustra i percorsi interpretati da Launchd......... 23 0.1. ORGANIZZAZIONE DEL TESTO 1 0.1 Organizzazione del testo Il primo capitolo descrive in breve quello che è la mission dell’azienda NETCOM 3 citando anche alcuni degli strumenti utilizzati. Il secondo capitolo descrive le origini del progetto di stage, elencando anche tutti gli obiettivi da raggiungere. Il terzo capitolo approfondisce le varie attività inerenti il progetto di stage. Il quarto capitolo approfondisce l’attività di Analisi dei requisiti. Il quinto capitolo approfondisce le fasi di progettazione e implementazione del progetto di stage. Il sesto capitolo descrive il modo in cui ci si è assicurati di produrre codice funzio- nante. Inoltre, si parla anche della documentazione del progetto. Nel settimo capitolo vengono descritti gli obiettivi che sono stati raggiunti a fine stage, e le conoscenze acquisite dallo stagista. Riguardo la stesura del testo, relativamente al documento sono state adottate le seguenti convenzioni tipografiche: • gli acronimi, le abbreviazioni e i termini ambigui o di uso non comune menzionati vengono definiti nel glossario, situato alla fine del presente documento. • per la prima occorrenza dei termini riportati nel glossario viene utilizzata la seguente nomenclatura: parola[g] . • i termini in lingua straniera o facenti parte del gergo tecnico sono evidenziati con il carattere corsivo. • alcuni termini importanti sono riportati in grassetto. • alcuni termini (ad esempio il nome di un metodo) sono riportati con sottolineatura. 3https://www.netcom.it/ Capitolo 1 Descrizione dell’azienda Il presente capitolo si occupa di definire il contesto aziendale nel quale si è svolto lo stage. Viene presentata l’azienda NETCOM spiegando di cosa si occupa, i servizi offerti, e l’ambito d’innovazione in cui si inserisce. Mentre il secondo capitolo si occupa di fornire un’introduzione al progetto di stage spiegando anche gli obiettivi da raggiungere. 1.1 L’azienda Figura 1.1: Logo di NETCOM NETCOM nasce nel 1999 con l’obiettivo di proporre sul mercato soluzioni e servizi per l’IT Life Cycle Management e l’IT Governance, e si rivolge alle aziende che vogliono migliorare l’efficienza dei sistemi IT, attraverso una corretta gestione dei software, ottenendo importanti risultati e risparmi in termini di investimenti, tempi e costi di gestione. L’IT Life Cycle Management è reso possibile da un insieme di processi, procedure, strumenti e conoscenze che puntano alla gestione di un sistema informativo durante tutto il suo ciclo di vita. L’obiettivo finale è ottimizzare l’intero sistema di un’organiz- zazione riducendo i costi, i rischi e producendo un generale aumento della qualità. Entrando più in dettaglio, l’IT Life Cycle Management si compone di due aspetti: • Gestione di Endpoint[g] con approccio UEM Riguarda la gestione degli Endpoint che compongono il sistema, tramite l’ap- proccio Unified Endpoint Management(UEM). Si occupa della risoluzione dei problemi che possono eventualmente verificarsi, ma anche tutte le altre attività 3 4 CAPITOLO 1. DESCRIZIONE DELL’AZIENDA di cadenza regolare, quali ad esempio l’aggiornamento del pacchetto software, la distribuzione di patch di sicurezza o l’assistenza tecnica. • Ottimizzazione degli investimenti software Riguarda la gestione degli Asset software. Infatti una corretta gestione di questi asset porta all’ottimizzazione dei loro costi (licenze), e aumenta l’efficienza operativa; inoltre si migliora la pianificazione del budget e soprattutto si gestiscono i rischi legati all’utilizzo improprio del software, come ad esempio: rischi legali, spese non pianificate, danni d’immagine ed interruzione del servizio. Tutto questo è reso possibile grazie all’adozione dell’approccio Software asset management (SAM). È quindi evidente che, per la natura dell’ambito in cui opera, il cliente tipo è un’a- zienda di dimensioni medio-grandi che possiede un sistema informativo composto da un numero di Endpoint compreso tra le 250 e le 10000 unità. Attualmente il portfolio clienti conta più di 150 società italiane sia pubbliche che private operanti nei settori: fashion, manufacturing, sanità, pubblica amministrazione locale e centrale, università e settore bancario. Il valore aggiunto di NETCOM, rispetto ai competitors è sicuramente il riconoscimento certificato della gestione dei processi aziendali sulla base di procedure standard.