diff --git a/Chapters/1.Introduction.tex b/Chapters/1.Introduction.tex index 228392a..d57ea1d 100644 --- a/Chapters/1.Introduction.tex +++ b/Chapters/1.Introduction.tex @@ -19,7 +19,7 @@ AWS (Amazon Web Services). Η AWS άρχισε να προσφέρει υπηρεσίες νεφο-υπολογιστικής (Cloud Computing Services) και συγκεκριμένα, την EC2 (Elastic Compute Cloud), μια υπηρεσία τύπου IaaS (Infrastructure as a Service) -\emph{(Υποδομή ως Υπηρεσία)}. Πρόκειται για την πρώτη υπηρεσία ενοικίασης +(Υποδομή ως Υπηρεσία). Πρόκειται για την πρώτη υπηρεσία ενοικίασης υπολογιστικών πόρων προς αξιοποίηση από οργανισμούς και επιχειρήσεις προκειμένου να επιταχυνθεί η διαδικασία διάθεσης των δικών τους υπηρεσιών. Αυτό το μοντέλο λειτουργίας παρέχει πολλά πλεονεκτήματα, όπως το μικρότερο κόστος diff --git a/Chapters/2.Background.tex b/Chapters/2.Background.tex index 4cb323e..0d346e0 100644 --- a/Chapters/2.Background.tex +++ b/Chapters/2.Background.tex @@ -21,32 +21,31 @@ παράδοσης υπολογιστικών πόρων κατά παραγγελία από μια επιχείρηση προς τους καταναλωτές της. Οι υπηρεσίες που προσφέρει ένα υπολογιστικό νέφος χωρίζονται σε τρεις κατηγορίες - αυτές οι κατηγορίες αναφέρονται και ως μοντέλα παράδοσης -του νέφους. Η πρώτη, SaaS (Software as a Service) \emph{(Λογισμικό ως -Υπηρεσία)}, αναφέρεται στην απομακρυσμένη διάθεση λογισμικού, του οποίου η -συμμόρφωση με τις λειτουργικές και μη λειτουργικές του ικανότητες που -διαφημίζονται προς τους πελάτες αποτελεί ευθύνη του παρόχου του. Η κατηγορία -PaaS (Platform as a Service) \emph{(Πλατφόρμα ως Υπηρεσία)} ορίζεται ως η -διάθεση απομακρυσμένης πλατφόρμας με την οποία μια ομάδα έργου μπορεί να -αναπτύξει συνεργατικά και να εκτελέσει λογισμικό. Τέλος, η κατηγορία IaaS -(Infrastructure as a Service) μεταφράζεται ως η προσφορά απομακρυσμένων -(εικονικών και φυσικών) διακομιστών τους οποίους μια επιχείρηση μπορεί να -αξιοποιήσει αναλόγως τις ανάγκες της \emph{(π.χ. ως προς την φιλοξενία -κατάλληλων φόρτων εργασίας)} ακολουθώντας φυσικά τους όρους και προϋποθέσεις -του παρόχου. Τα πλεονεκτήματα που παρέχει η νεφο-υπολογιστική σε σχέση με την -παραδοσιακή μέθοδο διάθεσης υπηρεσιών είναι αρκετά αλλά αυτά που ξεχωρίζουν από -μεριάς των πελατών είναι η απόλυτη απαλλαγή ευθύνης των υποδομών νέφους, η -απαράμιλλη ταχύτητα διάθεσης και κλιμάκωσης των υπηρεσιών και η εξάλειψη -περιττού κόστους λόγω του ευέλικτου μοντέλου χρέωσης όπου προσμετρώνται μόνο οι -πόροι που χρησιμοποιήθηκαν. +του νέφους. Η πρώτη, SaaS (Software as a Service) (Λογισμικό ως Υπηρεσία), +αναφέρεται στην απομακρυσμένη διάθεση λογισμικού, του οποίου η συμμόρφωση με +τις λειτουργικές και μη λειτουργικές του ικανότητες που διαφημίζονται προς τους +πελάτες αποτελεί ευθύνη του παρόχου του. Η κατηγορία PaaS (Platform as a +Service) (Πλατφόρμα ως Υπηρεσία) ορίζεται ως η διάθεση απομακρυσμένης +πλατφόρμας με την οποία μια ομάδα έργου μπορεί να αναπτύξει συνεργατικά και να +εκτελέσει λογισμικό. Τέλος, η κατηγορία IaaS (Infrastructure as a Service) +μεταφράζεται ως η προσφορά απομακρυσμένων (εικονικών και φυσικών) διακομιστών +τους οποίους μια επιχείρηση μπορεί να αξιοποιήσει αναλόγως τις ανάγκες της +(π.χ. ως προς την φιλοξενία κατάλληλων φόρτων εργασίας) ακολουθώντας φυσικά +τους όρους και προϋποθέσεις του παρόχου. Τα πλεονεκτήματα που παρέχει η +νεφο-υπολογιστική σε σχέση με την παραδοσιακή μέθοδο διάθεσης υπηρεσιών είναι +αρκετά αλλά αυτά που ξεχωρίζουν από μεριάς των πελατών είναι η απόλυτη απαλλαγή +ευθύνης των υποδομών νέφους, η απαράμιλλη ταχύτητα διάθεσης και κλιμάκωσης των +υπηρεσιών και η εξάλειψη περιττού κόστους λόγω του ευέλικτου μοντέλου χρέωσης +όπου προσμετρώνται μόνο οι πόροι που χρησιμοποιήθηκαν. Σημαντικό ρόλο στην ευρεία αποδοχή των υπηρεσιών που προσφέρονται μέσω της νεφο-υπολογιστικής έχει η ευκολία αλλά και ευελιξία των μεθόδων διάθεσης και μετέπειτα διαχείρισής τους. Σε κάθε περίπτωση γίνεται χρήση ενός API -(Application Programming Interface) \emph{(Προγραμματιστική Διεπαφή -Εφαρμογής)}, το οποίο είναι προσπελάσιμο έμμεσα μέσω ενός γραφικού -περιβάλλοντος (self-service portal) ή ενός εργαλείου γραμμής εντολών (command -line tool) ή άμεσα με προγραμματιστικό τρόπο (π.χ. με τη χρήση SDKs (Software -Development Kits) \emph{(Κιτ Ανάπτυξης Λογισμικού)}). +(Application Programming Interface) (Προγραμματιστική Διεπαφή Εφαρμογής), το +οποίο είναι προσπελάσιμο έμμεσα μέσω ενός γραφικού περιβάλλοντος (self-service +portal) ή ενός εργαλείου γραμμής εντολών (command line tool) ή άμεσα με +προγραμματιστικό τρόπο (π.χ. με τη χρήση SDKs (Software Development Kits) (Κιτ +Ανάπτυξης Λογισμικού)). \subsection{Ορισμός Νεφο-Υπολογιστικής} \label{cloudComputingDefinition} @@ -109,9 +108,9 @@ Development Kits) \emph{(Κιτ Ανάπτυξης Λογισμικού)}). Τα συστήματα νέφους ελέγχουν και βελτιστοποιούν αυτόματα τη χρήση των πόρων, αξιοποιώντας δυνατότητες μέτρησης/παρακολούθησης κατάλληλες για - τον τύπο της υπηρεσίας \emph{(π.χ. αποθήκευση, επεξεργασία, εύρος - ζώνης)}. Η χρήση των πόρων μπορεί να παρακολουθείται, να ελέγχεται και - να καταγράφεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο και στον + τον τύπο της υπηρεσίας (π.χ. αποθήκευση, επεξεργασία, εύρος ζώνης). Η + χρήση των πόρων μπορεί να παρακολουθείται, να ελέγχεται και να + καταγράφεται, παρέχοντας διαφάνεια τόσο στον πάροχο όσο και στον καταναλωτή της υπηρεσίας που χρησιμοποιείται. Η καταγραφόμενη χρήση έπειτα χρησιμοποιείται για την χρέωση του καταναλωτή ανάλογα με το μοντέλο χρέωσης που σχετίζεται με την χρησιμοποιούμενη υπηρεσία. @@ -195,20 +194,20 @@ Development Kits) \emph{(Κιτ Ανάπτυξης Λογισμικού)}). \item \textbf{Ιδιωτικό νέφος (Private Cloud)}: Το ιδιωτικό νέφος είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό - αποτελούμενο από πολλαπλούς καταναλωτές \emph{(π.χ. επιχειρησιακές - μονάδες ή τμήματα)}. Ενδεχομένως να ανήκει, να διαχειρίζεται και να - λειτουργεί από τον ίδιο τον οργανισμό, από μια τρίτη οντότητα, ή έναν - συνδυασμό των δύο. Το νέφος αυτό μπορεί να βρίσκεται εντός ή εκτός του - οργανισμού \emph{(π.χ. στην περίπτωση που λειτουργεί από τρίτη - οντότητα)}. Παρέχει πλήρη έλεγχο στον τρόπο με τον οποίο μοιράζονται - και αποθηκεύονται τα δεδομένα και διασφαλίζει την συμμόρφωση με τυχόν - κανονισμούς, τους οποίους καλείται ένας οργανισμός να ακολουθήσει. - Επιπλέον, λόγω της αποκλειστικής αφιέρωσής του σε έναν μόνο οργανισμό, - εξασφαλίζεται η διαθεσιμότητα των δεδομένων κατά παραγγελία, όπως - επίσης και η αξιοπιστία του για κρίσιμους φόρτους εργασίας. Τέλος, λόγω - του πλήρους ελέγχου, μπορεί να εγκαθιδρυθεί ένα υψηλό επίπεδο - ασφαλείας, υψηλότερο σε σχέση με αυτό που μπορεί να επιτευχθεί από άλλα - μοντέλα ανάπτυξης (νέφους). + αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες ή + τμήματα). Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί από + τον ίδιο τον οργανισμό, από μια τρίτη οντότητα, ή έναν συνδυασμό των + δύο. Το νέφος αυτό μπορεί να βρίσκεται εντός ή εκτός του οργανισμού + (π.χ. στην περίπτωση που λειτουργεί από τρίτη οντότητα). Παρέχει πλήρη + έλεγχο στον τρόπο με τον οποίο μοιράζονται και αποθηκεύονται τα + δεδομένα και διασφαλίζει την συμμόρφωση με τυχόν κανονισμούς, τους + οποίους καλείται ένας οργανισμός να ακολουθήσει. Επιπλέον, λόγω της + αποκλειστικής αφιέρωσής του σε έναν μόνο οργανισμό, εξασφαλίζεται η + διαθεσιμότητα των δεδομένων κατά παραγγελία, όπως επίσης και η + αξιοπιστία του για κρίσιμους φόρτους εργασίας. Τέλος, λόγω του πλήρους + ελέγχου, μπορεί να εγκαθιδρυθεί ένα υψηλό επίπεδο ασφαλείας, υψηλότερο + σε σχέση με αυτό που μπορεί να επιτευχθεί από άλλα μοντέλα ανάπτυξης + (νέφους). \clearpage @@ -542,9 +541,9 @@ Development Kits) \emph{(Κιτ Ανάπτυξης Λογισμικού)}). πολλαπλές συσκευές αποθήκευσης σε μια φαινομενικά ενιαία, εικονική συσκευή \cite{ubackupStorageVirtualization}. Παρομοίως με την εικονικοποίηση μνήμης, αυτό είναι κάτι που θα επιτρέψει την υψηλότερη αξιοποίηση ενός πόρου. -Συγκεκριμένα, του αποθηκευτικού χώρου \emph{(π.χ. ενός δίσκου)}. Με την χρήση -της έρχονται πολλά πλεονεκτήματα. Αρχικά, επιφέρει μεγαλύτερη ευελιξία στον -τομέα της αποθήκευσης. Επιπλέον, εγγυάται υψηλή διαθεσιμότητα και ευκολία στην +Συγκεκριμένα, του αποθηκευτικού χώρου (π.χ. ενός δίσκου). Με την χρήση της +έρχονται πολλά πλεονεκτήματα. Αρχικά, επιφέρει μεγαλύτερη ευελιξία στον τομέα +της αποθήκευσης. Επιπλέον, εγγυάται υψηλή διαθεσιμότητα και ευκολία στην δημιουργία αντιγράφων ασφαλείας. Χρήσιμη λειτουργία που παρέχεται μέσω της εικονικοποίησης αποθήκευσης αποτελεί και η αφαίρεση ή το κρύψιμο ετερογένειας αποθηκευτικών συσκευών που εικονικοποιούνται, οι οποίες μπορεί να προέρχονται @@ -851,10 +850,10 @@ Development Kits) \emph{(Κιτ Ανάπτυξης Λογισμικού)}). μηχανές του ίδιου φυσικού μηχανήματος) όταν αυτό είναι απαραίτητο. Η εικονικοποίηση καθιστά δυνατή τη δημιουργία χρήσιμων υπηρεσιών ΤΠ -\emph{(Τεχνολογίας Πληροφοριών)} χρησιμοποιώντας πόρους στους οποίους -παραδοσιακά μπορούσαμε να έχουμε πρόσβαση μονάχα με την ιδιοκτησία φυσικών -μηχανημάτων. Μας επιτρέπει να αξιοποιήσουμε όλες τις δυνατότητες ενός φυσικού -μηχανήματος διανέμοντάς τις σε πολλούς χρήστες και περιβάλλοντα. Με άλλα λόγια, +(Τεχνολογίας Πληροφοριών) χρησιμοποιώντας πόρους στους οποίους παραδοσιακά +μπορούσαμε να έχουμε πρόσβαση μονάχα με την ιδιοκτησία φυσικών μηχανημάτων. Μας +επιτρέπει να αξιοποιήσουμε όλες τις δυνατότητες ενός φυσικού μηχανήματος +διανέμοντάς τις σε πολλούς χρήστες και περιβάλλοντα. Με άλλα λόγια, υποστηρίζεται η πολλαπλή μίσθωση ανά φυσικό μηχάνημα με τη μορφή εικονικών μηχανών καθώς και η αυξημένη χρήση πόρων των φυσικών μηχανών (στα κέντρα δεδομένων του νέφους). @@ -1785,12 +1784,12 @@ Container Runtimes υψηλού επιπέδου \cite{containerRuntime}. του εξειδικευμένου σκοπού ύπαρξής τους δεν είχαν υιοθετηθεί ευρέως. Όλα τα παραπάνω οδήγησαν στην δημιουργία του Docker το 2013, με την έλευση του οποίου η τεχνολογία των δοχείων εκτοξεύτηκε. Το Docker είναι ένα σύνολο προϊόντων PaaS -(Platform as a Service) \emph{(Πλατφόρμα ως Υπηρεσία)} και μέσω αυτού, -παρέχεται μια πλατφόρμα με μηχανισμούς για συναρμολόγηση, θέση σε λειτουργία, -εκτέλεση, ενημέρωση και διαχείριση προγραμμάτων σε μορφή δοχείων. Σε αντίθεση -με το LXC, το Docker αποτελεί μια μηχανή δοχείων υψηλού επιπέδου με κύριο στόχο -την δοχειοποίηση εφαρμογών. Εκτός από τον διαχωρισμό ανάμεσα στον πηγαίο -κώδικα, τις βιβλιοθήκες και εξαρτήσεις ενός λογισμικού από το κύριο σύστημα +(Platform as a Service) (Πλατφόρμα ως Υπηρεσία) και μέσω αυτού, παρέχεται μια +πλατφόρμα με μηχανισμούς για συναρμολόγηση, θέση σε λειτουργία, εκτέλεση, +ενημέρωση και διαχείριση προγραμμάτων σε μορφή δοχείων. Σε αντίθεση με το LXC, +το Docker αποτελεί μια μηχανή δοχείων υψηλού επιπέδου με κύριο στόχο την +δοχειοποίηση εφαρμογών. Εκτός από τον διαχωρισμό ανάμεσα στον πηγαίο κώδικα, +τις βιβλιοθήκες και εξαρτήσεις ενός λογισμικού από το κύριο σύστημα (φιλοξενίας), παρέχει και δυνατότητες επικοινωνίας με αποθετήρια εικόνων δοχείων, όπως είναι το Docker Hub \footfullcite{dockerhub}, το επίσημο αποθετήριο του Docker, το Quay \footfullcite{quay}, ένα εναλλακτικό αποθετήριο @@ -1847,8 +1846,8 @@ Container Runtimes υψηλού επιπέδου \cite{containerRuntime}. \cite{devops} όπου οι ομάδες υπεύθυνες για την ανάπτυξη και λειτουργία μιας εφαρμογής επικοινωνούν στενά με σκοπό να υπάρχει μια συνεχής ροή παραγωγής και παράδοσης λογισμικού. Αυτό επιτυγχάνεται με μια πρακτική του DevOps, το CI/CD -(Continuous Integration/Continuous Delivery) \emph{(Συνεχής Ενοποίηση/Συνεχής -Παράδοση)} \cite{cicd}. Κατά το μοντέλο αυτό, δημιουργούνται αυτοματοποιημένες +(Continuous Integration/Continuous Delivery) (Συνεχής Ενοποίηση/Συνεχής +Παράδοση) \cite{cicd}. Κατά το μοντέλο αυτό, δημιουργούνται αυτοματοποιημένες διαδικασίες που εκτελούνται κατά την διάρκεια της ανάπτυξης και παράδοσης μιας εφαρμογής προκειμένου να πραγματοποιείται έλεγχος της ποιότητας του κώδικα, να εντοπίζονται σφάλματα και να παράγονται εκτελέσιμα πακέτα τα οποία έπειτα @@ -1889,8 +1888,8 @@ Container Runtimes υψηλού επιπέδου \cite{containerRuntime}. εγκατάσταση δοχείων σε εικονικές μηχανές και η εγκατάσταση δοχείων έμμεσα σε πόρους χωρίς την ανάγκη δημιουργίας εικονικής μηχανής. Η δεύτερη περίπτωση χρήσης εντάσσεται στην κατηγορία υπηρεσιών CaaS \cite{caas} (Container as a -Service) \emph{(Δοχείο ως Υπηρεσία)}, όπως η ECS (Elastic Container Service) -της Amazon. Μια υπηρεσία όπου ένας πάροχος νέφους αντί να παρέχει πρόσβαση σε +Service) (Δοχείο ως Υπηρεσία), όπως η ECS (Elastic Container Service) της +Amazon. Μια υπηρεσία όπου ένας πάροχος νέφους αντί να παρέχει πρόσβαση σε υπολογιστικούς πόρους γενικού σκοπού, παρέχει μια ευέλικτη υποδομή, κατάλληλα ρυθμισμένη για την εκτέλεση δοχείων \cite{caasVsIaas}. @@ -1938,9 +1937,9 @@ Docker Swarm \cite{dockerSwarm}, που παρέχουν αυτή την δυν κορυφαία επιλογή για επιχειρήσεις που επιλέγουν να ακολουθήσουν την στρατηγική πολλαπλών νεφών (multi-cloud computing) κατά την κατασκευή εφαρμογών. Δηλαδή να μην βασίζονται αποκλειστικά σε έναν πάροχο νέφους για όλες τις λειτουργίες μιας -εφαρμογής \cite{multiCloud} αλλά να εκμεταλλεύονται τα οφέλη \emph{(π.χ. -περισσότερη ασφάλεια, ποιότητα και αυξημένη διαθεσιμότητα)} χρήσης υπηρεσιών -από πολλούς παρόχους με γνώμονα τις ανάγκες τους. +εφαρμογής \cite{multiCloud} αλλά να εκμεταλλεύονται τα οφέλη (π.χ. περισσότερη +ασφάλεια, ποιότητα και αυξημένη διαθεσιμότητα) χρήσης υπηρεσιών από πολλούς +παρόχους με γνώμονα τις ανάγκες τους. \subsection{Πλεονεκτήματα δοχείων έναντι εικονικών μηχανών} \label{containerAdvantages} diff --git a/Chapters/3.RelevantWork.tex b/Chapters/3.RelevantWork.tex index 8fc8492..1b653f1 100644 --- a/Chapters/3.RelevantWork.tex +++ b/Chapters/3.RelevantWork.tex @@ -8,8 +8,8 @@ IaaS, έχει ελαφρύνει τον φόρτο εργασίας όσον α αυτών, αφού πλέον υπάρχουν πολλά εργαλεία στα οποία γίνεται καθορισμός τους. Πέραν από εργαλεία στα οποία δηλώνονται οι προδιαγραφές μιας εικονικής μηχανής σε πραγματικό χρόνο με την χρήση παραμέτρων, υπάρχουν και άλλα που ανήκουν στην -οικογένεια εργαλείων IaC (Infrastructure as Code - \emph{Υποδομή ως Κώδικας}). -Σε αυτού του είδους τα εργαλεία, όλα τα χαρακτηριστικά μιας εικονικής μηχανής +οικογένεια εργαλείων IaC (Infrastructure as Code) (Υποδομή ως Κώδικας). Σε +αυτού του είδους τα εργαλεία, όλα τα χαρακτηριστικά μιας εικονικής μηχανής δηλώνονται σε ένα αρχείο κειμένου και με βάση αυτό, ξεκινάει η διαδικασία δημιουργίας τους. Η αυτοματοποίηση της ασφάλισης αυτών των εικονικών μηχανών όμως, είναι ακόμα σε πρώιμο στάδιο. Οι περισσότερες υπηρεσίες που διατίθενται @@ -79,7 +79,7 @@ Docker. Στην ενότητα αυτή θα γίνει αναφορά σε ε χρήση, του οποίου ο χρήστης καθορίζει τα χαρακτηριστικά της υποδομής που θέλει να δημιουργήσει σε ένα αρχείο που ακολουθεί συγκεκριμένη σύνταξη. Αυτό το χαρακτηριστικό, εντάσσει το Terraform στην κατηγορία - εργαλείων \textquote{υποδομή ως κώδικας (Infrastructure as Code - IaC)} + εργαλείων \textquote{Υποδομή ως Κώδικας (Infrastructure as Code - IaC)} και χρησιμοποιείται για τον καθορισμό των υποδομών που θα χρησιμοποιηθούν για την στέγαση εφαρμογών. Το Terraform υποστηρίζει πολλούς παρόχους νέφους και επιτρέπει την αυτοματοποίηση της diff --git a/Chapters/4.ProjectDevelopment.tex b/Chapters/4.ProjectDevelopment.tex index 7dcc10e..ce80788 100644 --- a/Chapters/4.ProjectDevelopment.tex +++ b/Chapters/4.ProjectDevelopment.tex @@ -367,8 +367,8 @@ SecDep: εργαλείου γραμμής εντολών, ή άμεσα μέσω της βιβλιοθήκης που παρέχει ο ίδιος. Η libcloud αποτελεί μια προσπάθεια δημιουργίας ενός ενιαίου API, το οποίο χρησιμοποιώντας τις ίδιες μεθόδους, επιχειρεί να προσκομίσει πανομοιότυπα -αποτελέσματα \emph{(π.χ. δημιουργία εικονικής μηχανής με συγκεκριμένα -χαρακτηριστικά)} ανεξαρτήτως του παρόχου νέφους που στοχεύει. +αποτελέσματα (π.χ. δημιουργία εικονικής μηχανής με συγκεκριμένα χαρακτηριστικά) +ανεξαρτήτως του παρόχου νέφους που στοχεύει. Παρ' όλη την προσπάθεια που καταβλήθηκε από την libcloud όμως, για την ενοποίηση αυτή, οι διαφορές στους τρόπους λειτουργίας του κάθε παρόχου αρχίζουν diff --git a/Chapters/6.Experimentation.tex b/Chapters/6.Experimentation.tex index e86d969..67bdfa6 100644 --- a/Chapters/6.Experimentation.tex +++ b/Chapters/6.Experimentation.tex @@ -190,10 +190,10 @@ Security) \footfullcite{CIS}, καθώς και άλλα πλαίσια και \end{itemize} Οι εντολές που χρησιμοποιήθηκαν για την δημιουργία των εικονικών μηχανών, έχουν -την παρακάτω μορφή \emph{(π.χ. δείτε Εντολή} \ref{lst:secdep-aws-creation}) -διότι έχει εισαχθεί το εκτελέσιμο αρχείο secdep.py στο PATH του συστήματος και -έχει δηλωθεί ως alias του το secdep. Στην περίπτωση που αυτά τα βήματα δεν -έχουν ληφθεί θα πρέπει οι εντολές να είναι της μορφής: +την παρακάτω μορφή (π.χ. δείτε Εντολή \ref{lst:secdep-aws-creation}) διότι έχει +εισαχθεί το εκτελέσιμο αρχείο secdep.py στο PATH του συστήματος και έχει +δηλωθεί ως alias του το secdep. Στην περίπτωση που αυτά τα βήματα δεν έχουν +ληφθεί θα πρέπει οι εντολές να είναι της μορφής: \begin{bashcode} python3 secdep.py <παράμετροι χρήστη> @@ -683,7 +683,15 @@ cd lunar εντοπίστηκαν, έχει ασφαλιστεί κατά 26.615\%. Επιπροσθέτως, με βάση τα γραφήματα που παρήχθησαν από το VulsRepo, μπορούμε να διακρίνουμε μια άμεση πτώση των ευπαθειών με βάση την κατηγορία σοβαρότητάς τους στο Σχήμα -\ref{fig:vuls-cvss-severity-table}. +\ref{fig:vuls-cvss-severity-table}. Στα Σχήματα +\ref{fig:vuls-cvss-severity-table} έως και +\ref{fig:vuls-physical-vulnerabilities-drop}, ο αριθμός των CVEs παρουσιάζεται +ως μεγαλύτερος σε σχέση με τα παραπάνω δεδομένα. Αυτό οφείλεται στο γεγονός ότι +ενώ το Vuls συγκεντρώνει τον αριθμό των CVEs που περιλαμβάνονται σε έναν +διακομιστή, το VulsRepo υπολογίζει κάθε πακέτο που σχετίζονται με ένα CVE ως +ξεχωριστές περιπτώσεις ευπάθειας. Επομένως, για κάθε CVE που εντοπίζεται, ο +αριθμός των ευπαθειών αυξάνεται όχι μόνο κατά ένα, αλλά και κατά τον αριθμό των +πακέτων που σχετίζονται με αυτό. \begin{center} \begin{figure}[!ht] diff --git a/Chapters/7.Conclusions.tex b/Chapters/7.Conclusions.tex index 56f84ac..b383a26 100644 --- a/Chapters/7.Conclusions.tex +++ b/Chapters/7.Conclusions.tex @@ -54,19 +54,19 @@ SecDep, είναι ικανό να δημιουργήσει εικονικές δυνατότητες όπως η ρύθμιση DNS, εξωτερικής αποθήκευσης δεδομένων και εξισορρόπησης φόρτου εργασιών. -Τα παραπάνω αφορούν την επέκταση ενός από τα δύο εκτελέσιμα αρχεία του SecDep, -αυτού για την διαχείριση και δημιουργία εικονικών μηχανών. Το δεύτερο, το οποίο -επικεντρώνεται στην σκλήρυνση του συστήματος και του Docker, θα μπορούσε και -αυτό να επεκταθεί, προσθέτοντάς του νέες λειτουργίες. Μια από αυτές θα μπορούσε -να είναι η επιλογή του χρήστη για εφαρμογή συγκεκριμένων ρυθμίσεων ασφαλείας. -Επίσης, θα μπορούσε να χωριστεί σε δύο ανεξάρτητα εκτελέσιμα αρχεία, το ένα -υπεύθυνο για την σκλήρυνση του συστήματος και το άλλο για την εγκατάσταση και -σκλήρυνση του δαίμονα του Docker. Με αυτόν τον τρόπο, ο χρήστης θα μπορούσε να -επιλέξει να εγκαταστήσει μια σκληρυμένη έκδοση του Docker σε ένα σύστημα που -έχει ήδη σκληρύνει, χωρίς να χρειάζεται να χρησιμοποιήσει το πρώτο εκτελέσιμο -αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η διαδικασία σκλήρυνσης ακολουθώντας -τις συμβουλές που αναφέρθηκαν στις Ενότητες \ref{lynisResults} και -\ref{lunarResults}. Τα αποτελέσματα είναι ήδη ικανοποιητικά, ωστόσο πάντα -υπάρχουν περιθώρια βελτίωσης. +Τα παραπάνω αφορούν την επέκταση ενός από τα δύο εκτελέσιμα αρχεία του SecDep +(secdep.py), αυτού για την διαχείριση και δημιουργία εικονικών μηχανών. Το +δεύτερο (harden), το οποίο επικεντρώνεται στην σκλήρυνση του συστήματος και του +Docker, θα μπορούσε και αυτό να επεκταθεί, προσθέτοντάς του νέες λειτουργίες. +Μια από αυτές θα μπορούσε να είναι η επιλογή του χρήστη για εφαρμογή +συγκεκριμένων ρυθμίσεων ασφαλείας. Επίσης, θα μπορούσε να χωριστεί σε δύο +ανεξάρτητα εκτελέσιμα αρχεία, το ένα υπεύθυνο για την σκλήρυνση του συστήματος +και το άλλο για την εγκατάσταση και σκλήρυνση του δαίμονα του Docker. Με αυτόν +τον τρόπο, ο χρήστης θα μπορούσε να επιλέξει να εγκαταστήσει μια σκληρυμένη +έκδοση του Docker σε ένα σύστημα που έχει ήδη σκληρύνει, χωρίς να χρειάζεται να +χρησιμοποιήσει το πρώτο εκτελέσιμο αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η +διαδικασία σκλήρυνσης ακολουθώντας τις συμβουλές που αναφέρθηκαν στις Ενότητες +\ref{lynisResults} και \ref{lunarResults}. Τα αποτελέσματα είναι ήδη +ικανοποιητικά, ωστόσο πάντα υπάρχουν περιθώρια βελτίωσης. \clearpage % Needed to reset header