Files
Thesis/Chapters/7.Conclusions.tex

73 lines
7.8 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\chapter{Συμπεράσματα \& Προτάσεις για Μελλοντική Έρευνα} \label{conclusions}
\noindent Σήμερα, η τεχνολογία της εικονικοποίησης χρησιμοποιείται ευρέως σε
πολλούς τομείς της πληροφορικής. Πρακτικά, όλες οι μεγάλες εταιρείες παροχής
υπηρεσιών, σε παγκόσμιο επίπεδο, χρησιμοποιούν εικονικές μηχανές για την παροχή
των υπηρεσιών τους. Επιπλέον, η τεχνολογία των δοχείων, έχει αποτελέσει μια από
τις μεγαλύτερες επαναστατικές εξελίξεις της τελευταίας δεκαετίας, δίνοντας την
δυνατότητα στους προγραμματιστές να αναπτύσσουν και να εκτελούν εφαρμογές σε
οποιοδήποτε περιβάλλον, χωρίς να χρειάζεται να ανησυχούν για τα χαρακτηριστικά
του συστήματος στο οποίο θα εκτελούνται. Ωστόσο, η χρήση των παραπάνω
τεχνολογιών, όπως και οποιασδήποτε άλλης τεχνολογίας, προϋποθέτει την υπακοή σε
κάποιους κανόνες και πρωτόκολλα, προκειμένου να επιτευχθεί η αποδοτικότερη και
ασφαλέστερη λειτουργία τους.
Στην παρούσα διπλωματική εργασία, παρουσιάστηκαν διάφορα ζητήματα ασφαλείας που
αφορούν περιβάλλοντα εικονικών μηχανών και δοχείων. Με γνώμονα τα ζητήματα
αυτά, πραγματοποιήθηκε η ανάπτυξη ενός εργαλείου, το οποίο ικανοποιώντας όλες
τις απαιτήσεις που ορίσθηκαν στην Ενότητα \ref{toolRequirements}, μπορεί με
αυτοματοποιημένο τρόπο να δημιουργεί εικονικές μηχανές στις οποίες θα
εγκατασταθούν δοχεία Docker, αντιμετωπίζοντας ταυτόχρονα τα προαναφερθέντα
ζητήματα ασφαλείας. Το εργαλείο αυτό, ονομάζεται SecDep και αποτελείται από δύο
εκτελέσιμα αρχεία, τα οποία μπορούν να εκτελεστούν και ως αυτοτελείς εφαρμογές.
Το πρώτο, υπεύθυνο για την δημιουργία και διαχείριση των εικονικών μηχανών και
το δεύτερο, για την σκλήρυνση του συστήματος και την εγκατάσταση/σκλήρυνση του
δαίμονα Docker.
\section{Συμπεράσματα}
Με βάση τα αποτελέσματα των πειραμάτων που πραγματοποιήθηκαν στο Κεφάλαιο
\ref{experimentationANDresults}, μπορούμε να συμπεράνουμε ότι το εργαλείο
SecDep, είναι ικανό να δημιουργήσει εικονικές μηχανές που έχουν σκληρύνει σε
ικανοποιητικό βαθμό, χωρίς περαιτέρω παρέμβαση από τον χρήστη. Μπορεί λοιπόν να
αποτελέσει ένα χρήσιμο εργαλείο για την αυτοματοποιημένη δημιουργία και
διαμόρφωση ενός ασφαλούς κατανεμημένου περιβάλλοντος, έτοιμο να υποδεχτεί
δοχεία Docker για την στέγαση εφαρμογών μικρο-υπηρεσιών. Μιας αρχιτεκτονικής
που έχει αρχίσει να αποκτά ιδιαίτερη δημοτικότητα τα τελευταία χρόνια.
Επιπλέον, το SecDep μπορεί να αποτελέσει ένα χρήσιμο εργαλείο για την
εκπαίδευση σε θέματα ασφάλειας, καθώς ο χρήστης έχει την δυνατότητα να
μελετήσει τον πηγαίο κώδικά του και να προσθέσει τις δικές του λειτουργίες,
προκειμένου να επεκτείνει την λειτουργικότητά του. Το εργαλείο διανέμεται με
την άδεια χρήσης \href{https://www.gnu.org/licenses/gpl-3.0.html}{GPLv3}, η
οποία παρέχει το δικαίωμα στον χρήστη να το χρησιμοποιήσει, να το μελετήσει, να
το τροποποιήσει και να το διανείμει ελεύθερα.
\section{Προτάσεις για Μελλοντική Έρευνα}
Παρ' όλο που το SecDep, είναι ένα πλήρες και λειτουργικό εργαλείο, υπάρχουν
πολλές ευκαιρίες για την επέκτασή του. Αρχικά, θα μπορούσε να επεκταθεί η
λειτουργικότητά του, ώστε να υποστηρίζει και άλλους παρόχους νέφους. Αυτό
βέβαια εξαρτάται άμεσα και από το εύρος της υποστήριξης συγκεκριμένων
συναρτήσεων από την βιβλιοθήκη libcloud. Επιπλέον, θα μπορούσε να επεκταθεί με
σκοπό την υποστήριξη παραπάνω μεθόδων της βιβλιοθήκης, δίνοντας στον χρήστη
δυνατότητες όπως η ρύθμιση DNS, εξωτερικής αποθήκευσης δεδομένων και
εξισορρόπησης φόρτου εργασιών.
Τα παραπάνω αφορούν την επέκταση ενός από τα δύο εκτελέσιμα αρχεία του SecDep
(secdep.py), αυτού για την διαχείριση και δημιουργία εικονικών μηχανών. Το
δεύτερο (harden), το οποίο επικεντρώνεται στην σκλήρυνση του συστήματος και του
Docker, θα μπορούσε και αυτό να επεκταθεί, προσθέτοντάς του νέες λειτουργίες.
Μια από αυτές θα μπορούσε να είναι η επιλογή του χρήστη για εφαρμογή
συγκεκριμένων ρυθμίσεων ασφαλείας. Επίσης, θα μπορούσε να χωριστεί σε δύο
ανεξάρτητα εκτελέσιμα αρχεία, το ένα υπεύθυνο για την σκλήρυνση του συστήματος
και το άλλο για την εγκατάσταση και σκλήρυνση του δαίμονα του Docker. Με αυτόν
τον τρόπο, ο χρήστης θα μπορούσε να επιλέξει να εγκαταστήσει μια σκληρυμένη
έκδοση του Docker σε ένα σύστημα που έχει ήδη σκληρύνει, χωρίς να χρειάζεται να
χρησιμοποιήσει το πρώτο εκτελέσιμο αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η
διαδικασία σκλήρυνσης ακολουθώντας τις συμβουλές που αναφέρθηκαν στις Ενότητες
\ref{lynisResults} και \ref{lunarResults}. Τα αποτελέσματα είναι ήδη
ικανοποιητικά, ωστόσο πάντα υπάρχουν περιθώρια βελτίωσης.
\clearpage % Needed to reset header