This commit is contained in:
2024-01-22 00:58:29 +02:00
parent 3834027f08
commit 957ab81b66
7 changed files with 388 additions and 400 deletions

View File

@@ -294,7 +294,7 @@ Docker) όπου μάλιστα η ταχύτητα δημιουργίας το
\subsection{Εργαλεία διαχείρισης δοχείων και έλευση του Docker} \label{containerManagement} \subsection{Εργαλεία διαχείρισης δοχείων και έλευση του Docker} \label{containerManagement}
Στις μέρες μας, η δημοτικότητα του Docker έχει συνταυτίσει τους όρους Docker Στις μέρες μας, η δημοτικότητα του Docker έχει συνταυτίσει τους όρους Docker
και Container (δοχείο) αν και είναι διαφορετικοί. Παρόλα αυτά, η ιδέα της και Container (δοχείο) αν και είναι διαφορετικοί. Παρ' όλα αυτά, η ιδέα της
δημιουργίας απομονωμένων περιβαλλόντων εκτέλεσης λογισμικού υπήρχε προτού βγει δημιουργίας απομονωμένων περιβαλλόντων εκτέλεσης λογισμικού υπήρχε προτού βγει
το Docker στην αγορά. Ιστορικά, οι πρώτες τεχνολογίες περί δοχείων έκαναν την το Docker στην αγορά. Ιστορικά, οι πρώτες τεχνολογίες περί δοχείων έκαναν την
είσοδο τους από το 1979, όταν εισήχθη το chroot \footfullcite{chrootCommand} είσοδο τους από το 1979, όταν εισήχθη το chroot \footfullcite{chrootCommand}
@@ -318,7 +318,7 @@ Docker) όπου μάλιστα η ταχύτητα δημιουργίας το
εκτέλεση πολλαπλών λειτουργικών συστημάτων Linux στο ίδιο μηχάνημα. εκτέλεση πολλαπλών λειτουργικών συστημάτων Linux στο ίδιο μηχάνημα.
Χρησιμοποιώντας μηχανισμούς που προσέφερε το λειτουργικό σύστημα επέτρεπε πλήρη Χρησιμοποιώντας μηχανισμούς που προσέφερε το λειτουργικό σύστημα επέτρεπε πλήρη
εικονικοποίηση ενός στιγμιότυπου Linux σε μορφή δοχείου και παρείχε αρκετές εικονικοποίηση ενός στιγμιότυπου Linux σε μορφή δοχείου και παρείχε αρκετές
λειτουργίες όπως η δημιουργία, η εκκίνηση και η διαγραφή LXC δοχείων. Παρόλα λειτουργίες όπως η δημιουργία, η εκκίνηση και η διαγραφή LXC δοχείων. Παρ' όλα
αυτά, επικεντρωνόταν στην δοχειοποίηση λειτουργικών συστημάτων και όχι αυτά, επικεντρωνόταν στην δοχειοποίηση λειτουργικών συστημάτων και όχι
εφαρμογών \footfullcite{LXCvsDocker}, καθιστώντας δύσκολη και περίπλοκη την εφαρμογών \footfullcite{LXCvsDocker}, καθιστώντας δύσκολη και περίπλοκη την
χρήση του όταν η κύρια ανάγκη ήταν η απομόνωση εφαρμογών. χρήση του όταν η κύρια ανάγκη ήταν η απομόνωση εφαρμογών.

View File

@@ -37,10 +37,10 @@ Service) μεταφράζεται ως προσφορά απομακρυσμέν
Σημαντικό ρόλο στην ευρεία αποδοχή των υπηρεσιών που προσφέρονται μέσω της Σημαντικό ρόλο στην ευρεία αποδοχή των υπηρεσιών που προσφέρονται μέσω της
νεφο-υπολογιστικής είχε η ευκολία αλλά και ευελιξία των μεθόδων διάθεσης και νεφο-υπολογιστικής είχε η ευκολία αλλά και ευελιξία των μεθόδων διάθεσης και
μετέπειτα διαχείρισης τους. Σε κάθε περίπτωση γίνεται χρήση ενός API το οποίο μετέπειτα διαχείρισής τους. Σε κάθε περίπτωση γίνεται χρήση ενός API το οποίο
είναι προσπελάσιμο έμμεσα μέσω ενός γραφικού περιβάλλοντος (self-service είναι προσπελάσιμο έμμεσα μέσω ενός γραφικού περιβάλλοντος (self-service
portal), εργαλείου γραμμής εντολών ή με προγραμματιστικό τρόπο (πχ. με τη χρήση portal), εργαλείου γραμμής εντολών ή άμεσα με προγραμματιστικό τρόπο (πχ. με τη
SDKs (Software Development Kits)). χρήση SDKs (Software Development Kits)).
\section{Ορισμός Νεφο-Υπολογιστικής} \label{cloudComputingDefinition} \section{Ορισμός Νεφο-Υπολογιστικής} \label{cloudComputingDefinition}
@@ -51,7 +51,7 @@ SDKs (Software Development Kits)).
αλληλεπίδρασης με τον πάροχο υπηρεσιών. Στους υπολογιστικούς αυτούς πόρους αλληλεπίδρασης με τον πάροχο υπηρεσιών. Στους υπολογιστικούς αυτούς πόρους
περιλαμβάνονται δίκτυα, διακομιστές, χώρος αποθήκευσης, εφαρμογές και περιλαμβάνονται δίκτυα, διακομιστές, χώρος αποθήκευσης, εφαρμογές και
υπηρεσίες. Αυτό το μοντέλο νέφους αποτελείται από πέντε βασικά χαρακτηριστικά, υπηρεσίες. Αυτό το μοντέλο νέφους αποτελείται από πέντε βασικά χαρακτηριστικά,
τρία μοντέλα υπηρεσιών και τέσσερα μοντέλα παράδοσης. τρία μοντέλα υπηρεσιών και τέσσερα μοντέλα ανάπτυξης.
\subsection{Χαρακτηριστικά} \label{cloucComputingCharacteristics} \subsection{Χαρακτηριστικά} \label{cloucComputingCharacteristics}
@@ -136,41 +136,41 @@ SDKs (Software Development Kits)).
\item \textbf{Platform as a Service (PaaS) (Πλατφόρμα ως Υπηρεσία)}: \item \textbf{Platform as a Service (PaaS) (Πλατφόρμα ως Υπηρεσία)}:
Παρέχεται η δυνατότητα ανάπτυξης και εκτέλεσης εφαρμογών σε ένα Παρέχεται η δυνατότητα ανάπτυξης και εκτέλεσης εφαρμογών σε ένα
κατάλληλο περιβάλλον παρεχόμενο από μια πλατφόρμα που υποστηρίζεται από κατάλληλο περιβάλλον παρεχόμενο από μια πλατφόρμα που υποστηρίζεται από
πόρους του υπολογιστικού νέφους. Οι εφαρμογές αυτές αναπτύσσονται από πόρους του υπολογιστικού νέφους. Οι εφαρμογές αυτές αναπτύσσονται από
τον καταναλωτή μέσω της πλατφόρμας χρησιμοποιώντας ένα ολοκληρωμένο τον καταναλωτή μέσω της πλατφόρμας χρησιμοποιώντας ένα ολοκληρωμένο
περιβάλλον ανάπτυξης και εκτέλεσης αποτελούμενο από runtimes γλωσσών περιβάλλον ανάπτυξης και εκτέλεσης αποτελούμενο από runtimes γλωσσών
προγραμματισμού, βιβλιοθήκες, υπηρεσίες και εργαλεία. Ο καταναλωτής δεν προγραμματισμού, βιβλιοθήκες, υπηρεσίες και εργαλεία. Ο καταναλωτής δεν
έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο έχει τον έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο
των εφαρμογών που εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων των εφαρμογών που εκτελούνται σε αυτήν, καθώς και των ρυθμίσεων
διαμόρφωσης τους και του περιβάλλοντος ανάπτυξης/εκτέλεσης τους. διαμόρφωσής τους και του περιβάλλοντος ανάπτυξης/εκτέλεσής τους.
Συνήθως, τα περιβάλλοντα είναι προκαθορισμένα ως προς το περιεχόμενο Συνήθως, τα περιβάλλοντα είναι προκαθορισμένα ως προς το περιεχόμενο
τους αλλά γίνεται προσπάθεια από τους παρόχους των υπηρεσιών PaaS να τους αλλά γίνεται προσπάθεια από τους παρόχους των υπηρεσιών PaaS να
καλύψουν τις ανάγκες όλων των πιθανών ομάδων έργων λογισμικού σε σχέση καλύψουν τις ανάγκες όλων των πιθανών ομάδων έργων λογισμικού σε σχέση
με τα διαφορετικά περιβάλλοντα που προσφέρονται. Το μοντέλο χρέωσης με τα διαφορετικά περιβάλλοντα που προσφέρονται. Το μοντέλο χρέωσης
υπηρεσιών PaaS συνήθως περιλαμβάνει μια σταθερή χρέωση ανά χρονική υπηρεσιών PaaS συνήθως περιλαμβάνει μια σταθερή χρέωση ανά χρονική
περίοδο για κάθε είδος πόρου που χρειάστηκε να χρησιμοποιηθεί από τον περίοδο για κάθε είδος πόρου που χρειάστηκε να χρησιμοποιηθεί από τον
πάροχο για την επίτευξη των απαιτήσεων της εφαρμογής του καταναλωτή πάροχο για την επίτευξη των απαιτήσεων της εφαρμογής του καταναλωτή
μέσω της παρεχόμενης πλατφόρμας \footfullcite{paasPricingModel}. μέσω της παρεχόμενης πλατφόρμας \footfullcite{paasPricingModel}.
Ουσιαστικά, ο καταναλωτής χρεώνεται με βάση την χρήση των πόρων του Ουσιαστικά, ο καταναλωτής χρεώνεται με βάση την χρήση των πόρων του
παρόχου. παρόχου.
\item \textbf{Infrastructure as a Service (IaaS) (Υποδομή ως Υπηρεσία)}: \item \textbf{Infrastructure as a Service (IaaS) (Υποδομή ως Υπηρεσία)}:
Παρέχεται η δυνατότητα χρήσης επεξεργαστικών, αποθηκευτικών, δικτυακών Παρέχεται η δυνατότητα χρήσης επεξεργαστικών, αποθηκευτικών, δικτυακών
και άλλων υπολογιστικών πόρων. Συνήθως, οι πόροι αυτοί συγκροτούνται και άλλων υπολογιστικών πόρων. Συνήθως, οι πόροι αυτοί συγκροτούνται
στην μορφή μιας εικονικής μηχανής, δηλ. ενός απογυμνωμένου στην μορφή μιας εικονικής μηχανής, δηλ. ενός απογυμνωμένου
περιβάλλοντος στο οποίο ο καταναλωτής μπορεί να εγκαταστήσει και να περιβάλλοντος στο οποίο ο καταναλωτής μπορεί να εγκαταστήσει και να
εκτελέσει το λογισμικό της επιλογής του, συμπεριλαμβανομένων εκτελέσει το λογισμικό της επιλογής του, συμπεριλαμβανομένων
λειτουργικών συστημάτων και εφαρμογών. Ο καταναλωτής δεν έχει τον λειτουργικών συστημάτων και εφαρμογών. Ο καταναλωτής δεν έχει τον
έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των έλεγχο της υποκείμενης υποδομής νέφους, αλλά έχει τον έλεγχο των
λειτουργικών συστημάτων, του αποθηκευτικού χώρου, των περιβαλλόντων λειτουργικών συστημάτων, του αποθηκευτικού χώρου, των περιβαλλόντων
ανάπτυξης/εκτέλεσης, των εγκατεστημένων εφαρμογών και των ρυθμίσεων ανάπτυξης/εκτέλεσης, των εγκατεστημένων εφαρμογών και των ρυθμίσεων
διαμόρφωσης τους. Το μοντέλο χρέωσης υπηρεσιών IaaS συνήθως αποτελείται διαμόρφωσής τους. Το μοντέλο χρέωσης υπηρεσιών IaaS συνήθως αποτελείται
από μια συνεχόμενη χρέωση ανά χρονική περίοδο λόγω της ανάθεσης των από μια συνεχόμενη χρέωση ανά χρονική περίοδο λόγω της ανάθεσης των
πόρων στον καταναλωτή, η οποία αυξάνεται μετά την υπέρβαση ενός ορίου πόρων στον καταναλωτή, η οποία αυξάνεται μετά την υπέρβαση ενός ορίου
χρήσης για ορισμένους πόρους όπως το εύρος ζώνης δικτύου. χρήσης για ορισμένους πόρους όπως το εύρος ζώνης δικτύου.
\end{itemize} \end{itemize}
@@ -184,18 +184,18 @@ SDKs (Software Development Kits)).
\item \textbf{Ιδιωτικό νέφος (Private Cloud)}: \item \textbf{Ιδιωτικό νέφος (Private Cloud)}:
Το ιδιωτικό νέφος είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό Το ιδιωτικό νέφος είναι αποκλειστικά αφιερωμένο σε έναν μόνο οργανισμό
αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες ή αποτελούμενο από πολλαπλούς καταναλωτές (π.χ. επιχειρησιακές μονάδες ή
τμήματα). Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί από τμήματα). Ενδεχομένως να ανήκει, να διαχειρίζεται και να λειτουργεί από
τον οργανισμό, από μια τρίτη οντότητα, ή έναν συνδυασμό των δύο. Το τον οργανισμό, από μια τρίτη οντότητα, ή έναν συνδυασμό των δύο. Το
νέφος αυτό μπορεί να βρίσκεται εντός ή εκτός του οργανισμού (πχ. στην νέφος αυτό μπορεί να βρίσκεται εντός ή εκτός του οργανισμού (πχ. στην
περίπτωση που λειτουργεί από τρίτη οντότητα). Παρέχει πλήρη έλεγχο στον περίπτωση που λειτουργεί από τρίτη οντότητα). Παρέχει πλήρη έλεγχο στον
τρόπο με τον οποίο μοιράζονται και αποθηκεύονται τα δεδομένα και τρόπο με τον οποίο μοιράζονται και αποθηκεύονται τα δεδομένα και
διασφαλίζει την συμμόρφωση με τυχόν κανονισμούς τους οποίους καλείται διασφαλίζει την συμμόρφωση με τυχόν κανονισμούς τους οποίους καλείται
μια επιχείρηση να ακολουθήσει. Επιπλέον, λόγω της αποκλειστικής μια επιχείρηση να ακολουθήσει. Επιπλέον, λόγω της αποκλειστικής
αφιέρωσης του σε έναν μόνο οργανισμό, εξασφαλίζεται η διαθεσιμότητα των αφιέρωσής του σε έναν μόνο οργανισμό, εξασφαλίζεται η διαθεσιμότητα των
δεδομένων κατά παραγγελία, όπως επίσης και η αξιοπιστία του για δεδομένων κατά παραγγελία, όπως επίσης και η αξιοπιστία του για
κρίσιμους φόρτους εργασίας. κρίσιμους φόρτους εργασίας.
\clearpage \clearpage
@@ -366,7 +366,7 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
\clearpage \clearpage
Από εκείνο το σημείο και έπειτα, άρχισε να γίνεται εμφανής η ανάγκη της Από εκείνο το σημείο και έπειτα, άρχισε να γίνεται εμφανής η ανάγκη της
εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν εικονικοποίησης και να ανεβαίνει η δημοτικότητά της. Οι εταιρείες μπορούσαν
πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν ακόμα και τις πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν ακόμα και τις
παλαιές τους εφαρμογές σε πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων. παλαιές τους εφαρμογές σε πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων.
Οι διακομιστές άρχισαν να χρησιμοποιούνται πιο αποδοτικά ή και καθόλου, Οι διακομιστές άρχισαν να χρησιμοποιούνται πιο αποδοτικά ή και καθόλου,
@@ -464,6 +464,7 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
συστήματα πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την συστήματα πέραν του ήδη υπάρχοντος, πράγμα που αυξάνει την
παραγωγικότητα του τελικού χρήστη, αφού μπορεί να έχει πρόσβαση σε παραγωγικότητα του τελικού χρήστη, αφού μπορεί να έχει πρόσβαση σε
εργαλεία που δεν υποστηρίζονται στο δικό του (αρχικό/υπάρχον σύστημα). εργαλεία που δεν υποστηρίζονται στο δικό του (αρχικό/υπάρχον σύστημα).
Σε κάθε τύπο υπερ-επόπτη, όταν το φιλοξενούμενο ΛΣ αιτηθεί πρόσβαση Σε κάθε τύπο υπερ-επόπτη, όταν το φιλοξενούμενο ΛΣ αιτηθεί πρόσβαση
στους πόρους υπολογισμού, μνήμης και δικτύου του φυσικού υλικού, όλες στους πόρους υπολογισμού, μνήμης και δικτύου του φυσικού υλικού, όλες
οι προσβάσεις περνάνε πρώτα από αυτόν. Στην περίπτωση όμως υπερ-επόπτη οι προσβάσεις περνάνε πρώτα από αυτόν. Στην περίπτωση όμως υπερ-επόπτη
@@ -492,11 +493,11 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
\item \textbf{Απόδοση}: \item \textbf{Απόδοση}:
Βασικό χαρακτηριστικό ενός υπερ-επόπτη είναι η απόδοση του. Αυτή Βασικό χαρακτηριστικό ενός υπερ-επόπτη είναι η απόδοσή του. Αυτή
διαφέρει από τον ένα υπερ-επόπτη στον άλλο αναλόγως την κατασκευή και διαφέρει από τον ένα υπερ-επόπτη στον άλλο αναλόγως την κατασκευή και
τον τύπο του. Όμως, εν γένει, οι bare-metal υπερ-επόπτες θα πρέπει να τον τύπο του. Όμως, εν γένει, οι υπερ-επόπτες τύπου 1 θα πρέπει να
παρέχουν απόδοση κοντά στην εγγενή λόγω της απουσίας ανάγκης μετάφρασης παρέχουν απόδοση κοντά στην εγγενή λόγω της απουσίας ανάγκης μετάφρασης
των αιτημάτων του φιλοξενούμενου ΛΣ. των αιτημάτων του φιλοξενούμενου ΛΣ.
\item \textbf{Οικοσύστημα}: \item \textbf{Οικοσύστημα}:
@@ -510,12 +511,12 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
\item \textbf{Εργαλεία διαχείρισης}: \item \textbf{Εργαλεία διαχείρισης}:
Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός Η εκτέλεση εικονικών μηχανών δεν αποτελεί το μοναδικό καθήκον ενός
διαχειριστή κατά τη χρήση ενός υπερ-επόπτη. Απαραίτητες πρόσθετες διαχειριστή κατά τη χρήση ενός υπερ-επόπτη. Απαραίτητες πρόσθετες
ενέργειες είναι η συντήρηση και η ανάλυση τους, καθώς και η διαγραφή ενέργειες είναι η συντήρηση και η ανάλυσή τους, καθώς και η διαγραφή
όσων δε χρησιμοποιούνται πλέον. Επομένως, η ύπαρξη εργαλείων που να όσων δε χρησιμοποιούνται πλέον. Επομένως, η ύπαρξη εργαλείων που να
καθιστούν δυνατές αυτές τις ενέργειες αποτελεί σημαντικό παράγοντα κατά καθιστούν δυνατές αυτές τις ενέργειες αποτελεί σημαντικό παράγοντα κατά
την επιλογή λογισμικού υπερ-επόπτη. την επιλογή λογισμικού υπερ-επόπτη.
\item \textbf{Μεταφορά κατά τη λειτουργία}: \item \textbf{Μεταφορά κατά τη λειτουργία}:
@@ -529,11 +530,11 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
\item \textbf{Κόστος}: \item \textbf{Κόστος}:
Το κόστος είναι ένας παράγοντας που πρέπει να ληφθεί υπόψιν κατά την Το κόστος είναι ένας παράγοντας που πρέπει να ληφθεί υπόψιν κατά την
επιλογή ενός υπερ-επόπτη. Οι περισσότεροι είναι δωρεάν αλλά υπάρχουν επιλογή ενός υπερ-επόπτη. Οι περισσότεροι είναι δωρεάν αλλά υπάρχουν
και εμπορικές εκδόσεις που προσφέρουν περισσότερες δυνατότητες. Για και εμπορικές εκδόσεις που προσφέρουν περισσότερες δυνατότητες. Για
παράδειγμα, η ύπαρξη ή μη, λογισμικού διαχείρισης τους που να επιτρέπει παράδειγμα, η ύπαρξη ή μη, λογισμικού διαχείρισής τους που να επιτρέπει
την εύκολη κλιμάκωση με βάση τις απαιτήσεις της επιχείρησης. την εύκολη κλιμάκωση με βάση τις απαιτήσεις της επιχείρησης.
\end{itemize} \end{itemize}
@@ -578,10 +579,10 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
Μετά τη δημιουργία μιας εικονικής μηχανής, οι χρήστες αλληλεπιδρούν με αυτή Μετά τη δημιουργία μιας εικονικής μηχανής, οι χρήστες αλληλεπιδρούν με αυτή
όπως θα αλληλεπιδρούσαν με μια φυσική. Οι εικονικές μηχανές έχουν τη μορφή ενός όπως θα αλληλεπιδρούσαν με μια φυσική. Οι εικονικές μηχανές έχουν τη μορφή ενός
ενιαίου αρχείου, πράγμα που καθιστά εύκολη τη μεταφορά και ανάγνωση τους από ενιαίου αρχείου, πράγμα που καθιστά εύκολη τη μεταφορά και ανάγνωσή τους από
οποιονδήποτε υπολογιστή αναμένοντας τον ίδιο τρόπο λειτουργίας. Κατά την οποιονδήποτε υπολογιστή αναμένοντας τον ίδιο τρόπο λειτουργίας. Κατά την
εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει εκτέλεση του εικονικού περιβάλλοντος, όταν ένας χρήστης ή ένα πρόγραμμα εκδώσει
μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμους του, ο μία εντολή που απαιτεί περισσότερους πόρους από τους διαθέσιμούς του, ο
υπερ-επόπτης είτε αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα είτε πρώτα το υπερ-επόπτης είτε αναμεταδίδει το αίτημα αυτό στο φυσικό σύστημα είτε πρώτα το
μεταφράζει και μεταδίδει το μεταφρασμένο αν είναι υπερ-επόπτης τύπου 2. Έπειτα, μεταφράζει και μεταδίδει το μεταφρασμένο αν είναι υπερ-επόπτης τύπου 2. Έπειτα,
μπορεί να διαθέσει τους απαραίτητους για την εκτέλεση πόρους. Όλα αυτά μπορεί να διαθέσει τους απαραίτητους για την εκτέλεση πόρους. Όλα αυτά
@@ -591,7 +592,7 @@ off). Το τελευταίο είναι χρήσιμο κυρίως όταν η
χρήση ενός υπερ-επόπτη ανοιχτού κώδικα βασισμένου στο KVM (Kernel-based Virtual χρήση ενός υπερ-επόπτη ανοιχτού κώδικα βασισμένου στο KVM (Kernel-based Virtual
Machine), που επιτρέπει στο Linux να συμπεριφέρεται ως ένας υπερ-επόπτης. Αυτό Machine), που επιτρέπει στο Linux να συμπεριφέρεται ως ένας υπερ-επόπτης. Αυτό
συμβαίνει διότι το KVM αποτελεί κομμάτι του πυρήνα του Linux από την έκδοση συμβαίνει διότι το KVM αποτελεί κομμάτι του πυρήνα του Linux από την έκδοση
2.6.20 και έπειτα, επιτρέποντας του να επωφεληθεί από τους διαθέσιμους 2.6.20 και έπειτα, επιτρέποντάς του να επωφεληθεί από τους διαθέσιμους
μηχανισμούς απομόνωσης μέσω αυτού. Επομένως, του προσφέρεται η ικανότητα να μηχανισμούς απομόνωσης μέσω αυτού. Επομένως, του προσφέρεται η ικανότητα να
λάβει αποκλειστικούς πόρους από το φυσικό μηχάνημα \footfullcite{kvm}, κάτι που λάβει αποκλειστικούς πόρους από το φυσικό μηχάνημα \footfullcite{kvm}, κάτι που
εξαλείφει το μειονέκτημα έλλειψης προτεραιότητας των διεργασιών ενός εξαλείφει το μειονέκτημα έλλειψης προτεραιότητας των διεργασιών ενός
@@ -621,19 +622,19 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
\end{itemize} \end{itemize}
Η εικονικοποίηση δεδομένων είναι μια προσέγγιση ενσωμάτωσης δεδομένων Η εικονικοποίηση δεδομένων είναι μια προσέγγιση ενσωμάτωσης δεδομένων
από διαφορετικές πηγές, σε μια ολιστική, λογική προβολή δίχως την από διαφορετικές πηγές, σε μια ολιστική, λογική προβολή δίχως την
ανάγκη της φυσικής μετακίνησης τους \footfullcite{dataVirtualization}. ανάγκη της φυσικής μετακίνησής τους \footfullcite{dataVirtualization}.
Δηλαδή διασκορπισμένα ετερογενή δεδομένα παρεχόμενα από πηγές διαφόρων Δηλαδή διασκορπισμένα ετερογενή δεδομένα παρεχόμενα από πηγές διαφόρων
τοποθεσιών δύναται να συσσωματωθούν σε μοναδικά, λογικά τεμάχια μιας τοποθεσιών δύναται να συσσωματωθούν σε μοναδικά, λογικά τεμάχια μιας
ενιαίας εικονικής πηγής. Με αυτόν τον τρόπο, οι εταιρείες μπορούν από ενιαίας εικονικής πηγής. Με αυτόν τον τρόπο, οι εταιρείες μπορούν από
ένα μόνο μοντέλο διαχείρισης δεδομένων να οργανώσουν και να ένα μόνο μοντέλο διαχείρισης δεδομένων να οργανώσουν και να
επεξεργαστούν διασκορπισμένες πληροφορίες με γνώμονα τις ανάγκες των επεξεργαστούν διασκορπισμένες πληροφορίες με γνώμονα τις ανάγκες των
χρηστών με μεγαλύτερη ευκολία και αποδοτικότητα χωρίς την ανάγκη να χρηστών με μεγαλύτερη ευκολία και αποδοτικότητα χωρίς την ανάγκη να
γνωρίζουν τεχνικές λεπτομέρειες (όπως γλώσσες πρόσβασης, δομές γνωρίζουν τεχνικές λεπτομέρειες (όπως γλώσσες πρόσβασης, δομές
αποθήκευσης κα.). Τομείς οι οποίοι επωφελούνται από την εικονικοποίηση αποθήκευσης κα.). Τομείς οι οποίοι επωφελούνται από την εικονικοποίηση
δεδομένων είναι η λήψη αποφάσεων, η επιχειρηματική αναλυτική και η δεδομένων είναι η λήψη αποφάσεων, η επιχειρηματική αναλυτική και η
αξιολόγηση των κινδύνων. αξιολόγηση των κινδύνων.
\clearpage \clearpage
@@ -653,17 +654,17 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
\end{itemize} \end{itemize}
Με την εικονικοποίηση επιφάνειας εργασίας, δίνεται σε έναν κεντρικό Με την εικονικοποίηση επιφάνειας εργασίας, δίνεται σε έναν κεντρικό
διαχειριστή η ικανότητα διαμοιρασμού προσομοιωμένων περιβαλλόντων διαχειριστή η ικανότητα διαμοιρασμού προσομοιωμένων περιβαλλόντων
εργασίας σε εκατοντάδες φυσικές μηχανές ή συσκευές ταυτοχρόνως. Εν εργασίας σε εκατοντάδες φυσικές μηχανές ή συσκευές ταυτοχρόνως. Εν
αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν αντιθέσει με τα παραδοσιακά περιβάλλοντα εργασίας που χρήζουν
εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η εγκατάστασης, διαμόρφωσης και ενημέρωσης σε κάθε υπολογιστή, η
εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική διαμόρφωση, εικονικοποίηση επιφάνειας εργασίας καθιστά δυνατή τη μαζική διαμόρφωση,
ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά περιβάλλοντα εργασίας ενημέρωση και έλεγχο ασφαλείας σε όλα τα εικονικά περιβάλλοντα εργασίας
που παρέχονται από έναν μόνο διακομιστή. Καθ' αυτόν τον τρόπο, οι που παρέχονται από έναν μόνο διακομιστή. Καθ' αυτόν τον τρόπο, οι
επιχειρήσεις επιτρέπουν στους χρήστες να μπορούν να εργαστούν από επιχειρήσεις επιτρέπουν στους χρήστες να μπορούν να εργαστούν από
οπουδήποτε και με κάθε συσκευή ανεξαρτήτως του είδους ή του οπουδήποτε και με κάθε συσκευή ανεξαρτήτως του είδους ή του
λειτουργικού συστήματος τους \footfullcite{desktopVirtualization}. λειτουργικού συστήματός τους \footfullcite{desktopVirtualization}.
\clearpage \clearpage
@@ -683,21 +684,21 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
\end{itemize} \end{itemize}
Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να Οι διακομιστές είναι υπολογιστές σχεδιασμένοι με σκοπό να
επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων διεργασιών, επεξεργάζονται πολύ καλά έναν μεγάλο όγκο συγκεκριμένων διεργασιών,
ώστε οι κύριοι υπολογιστές μιας επιχείρησης να μπορούν να δίνουν ώστε οι κύριοι υπολογιστές μιας επιχείρησης να μπορούν να δίνουν
προτεραιότητα σε άλλες εργασίες. Με την εικονικοποίηση διακομιστών προτεραιότητα σε άλλες εργασίες. Με την εικονικοποίηση διακομιστών
αναφερόμαστε στην διαδικασία κατά την οποία ένας φυσικός διακομιστής αναφερόμαστε στην διαδικασία κατά την οποία ένας φυσικός διακομιστής
χωρίζεται σε πολλούς μικρότερους εικονικούς διακομιστές, με απώτερο χωρίζεται σε πολλούς μικρότερους εικονικούς διακομιστές, με απώτερο
σκοπό την αποτελεσματικότερη αξιοποίηση των πόρων του. Αυτό είναι σκοπό την αποτελεσματικότερη αξιοποίηση των πόρων του. Αυτό είναι
απαραίτητο διότι προτιμάται για λόγους ευκολίας της διαχείρισης τους, απαραίτητο διότι προτιμάται για λόγους ευκολίας της διαχείρισής τους,
κάθε διακομιστής να είναι υπεύθυνος για μια μόνο διεργασία την φορά. κάθε διακομιστής να είναι υπεύθυνος για μια μόνο διεργασία την φορά.
Μετά την κατάτμησή του, ενώ μπορεί να ακολουθείται η ίδια πρακτική, Μετά την κατάτμησή του, ενώ μπορεί να ακολουθείται η ίδια πρακτική,
παύει το φυσικό μηχάνημα να μένει με αχρησιμοποίητους πόρους και παύει το φυσικό μηχάνημα να μένει με αχρησιμοποίητους πόρους και
πρακτικά μπορεί το σύνολο τον πόρων του να χρησιμοποιηθεί για την πρακτικά μπορεί το σύνολο τον πόρων του να χρησιμοποιηθεί για την
εξυπηρέτηση πολλαπλών λειτουργιών. Ο ορισμός της εικονικοποίησης εξυπηρέτηση πολλαπλών λειτουργιών. Ο ορισμός της εικονικοποίησης
διακομιστών αναλύθηκε πιο λεπτομερώς και στο διακομιστών αναλύθηκε πιο λεπτομερώς και στο
\ref{virtualizationDefinition}. \ref{virtualizationDefinition}.
\clearpage \clearpage
@@ -838,15 +839,15 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
χώρου αποθήκευσης σε σχέση με το παραδοσιακό, όπου κάθε υπολογιστής χώρου αποθήκευσης σε σχέση με το παραδοσιακό, όπου κάθε υπολογιστής
έχει πρόσβαση μονάχα στον δικό του δίσκο. έχει πρόσβαση μονάχα στον δικό του δίσκο.
Προκειμένου να γίνει πράξη, απαιτείται αναλόγως την μέθοδο Προκειμένου να γίνει πράξη, απαιτείται αναλόγως την μέθοδο
εικονικοποίησης και τον τύπος της, είτε να χρησιμοποιηθεί ένας εικονικοποίησης και τον τύπο της, είτε να χρησιμοποιηθεί ένας
αλγόριθμος για να εντοπίσει δυναμικά τα δεδομένα είτε να δημιουργηθεί αλγόριθμος για να εντοπίσει δυναμικά τα δεδομένα είτε να δημιουργηθεί
ένας χάρτης αντιστοίχισης τους χρησιμοποιώντας μεταδεδομένα ένας χάρτης αντιστοίχισής τους χρησιμοποιώντας μεταδεδομένα
\footfullcite{cloudinfraStorageVirtualization}. Αφότου γίνει αυτό, τα \footfullcite{cloudinfraStorageVirtualization}. Αφότου γίνει αυτό, τα
δεδομένα πλέον αποθηκεύονται σε ένα αρχείο και οι συστοιχίες δίσκων δεδομένα πλέον αποθηκεύονται σε ένα αρχείο και οι συστοιχίες δίσκων
τοποθετούνται μέσα σε μια εικονική δεξαμενή. Έπειτα, κάθε αίτημα τοποθετούνται μέσα σε μια εικονική δεξαμενή. Έπειτα, κάθε αίτημα
ανάγνωσης και εγγραφής από τις εφαρμογές φιλτράρεται και δύναται έμμεσα ανάγνωσης και εγγραφής από τις εφαρμογές φιλτράρεται και δύναται έμμεσα
μέσω των αντιστοιχιών η δυνατότητα εύρεσης και αποθήκευσης δεδομένων. μέσω των αντιστοιχιών η δυνατότητα εύρεσης και αποθήκευσης δεδομένων.
\clearpage \clearpage
@@ -905,16 +906,16 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
\item \textbf{Ευκολότερη διαχείριση}: \item \textbf{Ευκολότερη διαχείριση}:
Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες Αντικαθιστώντας φυσικούς υπολογιστές με προγραμματιστικά καθορισμένες
εικονικές μηχανές δύναται η χρήση αυτοματοποιημένων ροών διαχειριστικών εικονικές μηχανές δύναται η χρήση αυτοματοποιημένων ροών διαχειριστικών
εργασιών. Οι διαχειριστές συστημάτων μπορούν να χρησιμοποιούν εργαλεία εργασιών. Οι διαχειριστές συστημάτων μπορούν να χρησιμοποιούν εργαλεία
για τον καθορισμό εικονικών μηχανών χρησιμοποιώντας πρότυπα κατάλληλα για τον καθορισμό εικονικών μηχανών χρησιμοποιώντας πρότυπα κατάλληλα
για την υποδομή κάθε επιχείρησης. Με αυτόν τον τρόπο, η εγκατάσταση και για την υποδομή κάθε επιχείρησης. Με αυτόν τον τρόπο, η εγκατάσταση και
η ρύθμισή τους μπορεί να γίνεται επανειλημμένα με αυτοματοποιημένο η ρύθμισή τους μπορεί να γίνεται επανειλημμένα με αυτοματοποιημένο
τρόπο δίχως το ρίσκο ανθρώπινου λάθους και γλιτώνοντας τον χρόνο τρόπο δίχως το ρίσκο ανθρώπινου λάθους και γλιτώνοντας τον χρόνο
εγκατάστασης και ρύθμισης τους χειροκίνητα. Ένας συνδυασμός εργαλείων εγκατάστασης και ρύθμισής τους χειροκίνητα. Ένας συνδυασμός εργαλείων
που κάνει αυτή τη διαδικασία πραγματικότητα είναι τα Ansible που κάνει αυτή τη διαδικασία πραγματικότητα είναι τα Ansible
\footfullcite{ansible} και Terraform \footfullcite{terraform}. \footfullcite{ansible} και Terraform \footfullcite{terraform}.
\clearpage \clearpage
@@ -983,7 +984,7 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
λειτουργικού συστήματος, η οποία θα του επιτρέπει την υλοποίηση ενός ειδικού λειτουργικού συστήματος, η οποία θα του επιτρέπει την υλοποίηση ενός ειδικού
API, ώστε να μπορεί να κάνει χρήση των υπερ-κλήσεων API, ώστε να μπορεί να κάνει χρήση των υπερ-κλήσεων
\footfullcite{servermaniaParavirtualization}, ενώ επιβάλλεται να υποστηρίζεται \footfullcite{servermaniaParavirtualization}, ενώ επιβάλλεται να υποστηρίζεται
και από τον υπερ-επόπτη η κατανόηση τους. και από τον υπερ-επόπτη η κατανόησή τους.
\clearpage \clearpage
@@ -1001,7 +1002,7 @@ API, ώστε να μπορεί να κάνει χρήση των υπερ-κλ
Στο σχήμα \ref{fig:FullVirtualization} Στο σχήμα \ref{fig:FullVirtualization}
\cite{geeksforgeeksParavirtualizationDefinition} παρουσιάζεται η αρχιτεκτονική \cite{geeksforgeeksParavirtualizationDefinition} παρουσιάζεται η αρχιτεκτονική
της πλήρους εικονικοποίησης όπου το φιλοξενούμενο λειτουργικό σύστημα (της της πλήρους εικονικοποίησης όπου το φιλοξενούμενο λειτουργικό σύστημα (της
εικονικής μηχανής) επιβάλλεται να περάσει τα αιτήματα του (πρόσβασης πόρων) εικονικής μηχανής) επιβάλλεται να περάσει τα αιτήματά του (πρόσβασης πόρων)
μέσω του υπερ-επόπτη. μέσω του υπερ-επόπτη.
\begin{center} \begin{center}
@@ -1248,10 +1249,10 @@ API, ώστε να μπορεί να κάνει χρήση των υπερ-κλ
όμως, παραχωρούν ουσιαστικά πρόσβαση στις εφαρμογές τους και στα ευαίσθητα όμως, παραχωρούν ουσιαστικά πρόσβαση στις εφαρμογές τους και στα ευαίσθητα
δεδομένα αυτών, διότι η ευθύνη προστασίας των υποδομών ανήκει στον ιδιοκτήτη δεδομένα αυτών, διότι η ευθύνη προστασίας των υποδομών ανήκει στον ιδιοκτήτη
των υποδομών αυτών και στην προκειμένη περίπτωση αυτός είναι ο πάροχος νέφους. των υποδομών αυτών και στην προκειμένη περίπτωση αυτός είναι ο πάροχος νέφους.
Έτσι κακόβουλοι εισβολείς θα προσπαθήσουν να βρουν τρωτότητες στη διαδικασία Έτσι, κακόβουλοι εισβολείς θα προσπαθήσουν να βρουν τρωτότητες στη διαδικασία
παράδοσης των υπηρεσιών του παρόχου, τις υπηρεσίες τις ίδιες ή και τις διεπαφές παράδοσης των υπηρεσιών του παρόχου, τις υπηρεσίες τις ίδιες ή και τις διεπαφές
με τις οποίες παρέχονται. Ένας συνηθισμένος τρόπος για να γίνει αυτό είναι με τις οποίες παρέχονται. Ένας συνηθισμένος τρόπος για να γίνει αυτό είναι
εκτελώντας επιθέσεις τύπου Cross site scripting (XSS), έγχυση SQL (SQL εκτελώντας επιθέσεις τύπου Cross site scripting (XSS), έγχυσης SQL (SQL
injection), χειραγώγησης cookies ή εκμετάλλευσης μη ασφαλούς ρύθμισης, θέτοντας injection), χειραγώγησης cookies ή εκμετάλλευσης μη ασφαλούς ρύθμισης, θέτοντας
έτσι σε κίνδυνο ευαίσθητες πληροφορίες και δεδομένα των επιχειρήσεων. Επιπλέον, έτσι σε κίνδυνο ευαίσθητες πληροφορίες και δεδομένα των επιχειρήσεων. Επιπλέον,
επειδή όλα τα δίκτυα είναι επιρρεπή σε επιθέσεις αν δεν έχουν ληφθεί τα επειδή όλα τα δίκτυα είναι επιρρεπή σε επιθέσεις αν δεν έχουν ληφθεί τα
@@ -1267,10 +1268,10 @@ penetration)\cite{arif2015virtualization}.
προστατεύσει τα δεδομένα της, έτσι και ο πάροχος πρέπει να εμπιστεύεται την προστατεύσει τα δεδομένα της, έτσι και ο πάροχος πρέπει να εμπιστεύεται την
επιχείρηση ότι δε θα προσπαθήσει να προκαλέσει ζημιά στις υπηρεσίες του. Αυτό επιχείρηση ότι δε θα προσπαθήσει να προκαλέσει ζημιά στις υπηρεσίες του. Αυτό
μπορεί να πραγματοποιηθεί με την εκτέλεση κακόβουλου λογισμικού στις εικονικές μπορεί να πραγματοποιηθεί με την εκτέλεση κακόβουλου λογισμικού στις εικονικές
μηχανές του παρόχου είτε από την επιχείρηση την ίδια, είτε από έναν μηχανές του παρόχου είτε από την επιχείρηση την ίδια, είτε από έναν επιτιθέμενο
επιτιθέμενου που παραβίασε τις εικονικές μηχανές της. που παραβίασε τις εικονικές μηχανές της.
Ουσιαστικά κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι ευάλωτη Ουσιαστικά, κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι ευάλωτη
σε απειλές όπως δούρειοι ίπποι (Trojans), ιοί και κακόβουλα λογισμικά που σε απειλές όπως δούρειοι ίπποι (Trojans), ιοί και κακόβουλα λογισμικά που
μπορεί να εξαπλωθούν στο σύστημα μεταπηδώντας από μια εικονική μηχανή στον μπορεί να εξαπλωθούν στο σύστημα μεταπηδώντας από μια εικονική μηχανή στον
υπερ-επόπτη και από εκεί είτε να συνεχίσουν στο σύστημα είτε να μολύνουν και υπερ-επόπτη και από εκεί είτε να συνεχίσουν στο σύστημα είτε να μολύνουν και
@@ -1425,22 +1426,22 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
διαθεσιμότητα των δεδομένων της. Αυτά τα τρία στοιχεία αποτελούν την τριάδα της διαθεσιμότητα των δεδομένων της. Αυτά τα τρία στοιχεία αποτελούν την τριάδα της
ασφάλειας \footfullcite{ciaTriad} και η απώλεια οποιουδήποτε από αυτά μπορεί να ασφάλειας \footfullcite{ciaTriad} και η απώλεια οποιουδήποτε από αυτά μπορεί να
έχει σοβαρές επιπτώσεις για την επιχείρηση. Η σημασία του καθενός, καθώς και έχει σοβαρές επιπτώσεις για την επιχείρηση. Η σημασία του καθενός, καθώς και
γενικές ορθές πρακτικές διατήρησης τους περιγράφονται ως εξής: γενικές ορθές πρακτικές διατήρησής τους περιγράφονται ως εξής:
\begin{itemize} \begin{itemize}
\item \textbf{Ακεραιότητα δεδομένων} \label{dataIntegrity} \item \textbf{Ακεραιότητα δεδομένων} \label{dataIntegrity}
Η ακεραιότητα των δεδομένων είναι ένα από τα τρία βασικά στοιχεία της Η ακεραιότητα των δεδομένων είναι ένα από τα τρία βασικά στοιχεία της
ασφάλειας, δίχως την οποία οι επιχειρήσεις δε θα μπορούσαν να ασφάλειας, δίχως την οποία οι επιχειρήσεις δε θα μπορούσαν να
παραμείνουν λειτουργικές. Αναφέρεται στην προστασία των δεδομένων από παραμείνουν λειτουργικές. Αναφέρεται στην προστασία των δεδομένων από
μη εξουσιοδοτημένη αλλοίωση καθ' όλη τη διάρκεια της ύπαρξης τους. μη εξουσιοδοτημένη αλλοίωση καθ' όλη τη διάρκεια της ύπαρξής τους.
Δηλαδή είτε βρίσκονται στο στάδιο της μεταφοράς, είτε της αποθήκευσης. Δηλαδή είτε βρίσκονται στο στάδιο της μεταφοράς, είτε της αποθήκευσης.
Για κάθε επιχείρηση, απαιτείται μεγάλη προσοχή κατά τον σχεδιασμό των Για κάθε επιχείρηση, απαιτείται μεγάλη προσοχή κατά τον σχεδιασμό των
βάσεων δεδομένων και της συντήρησης τους σε περιβάλλοντα νέφους αλλά βάσεων δεδομένων και της συντήρησής τους σε περιβάλλοντα νέφους αλλά
και η χρήση ορθών πρακτικών, όπως ο περιοδικός έλεγχος των δεδομένων και η χρήση ορθών πρακτικών, όπως ο περιοδικός έλεγχος των δεδομένων
για την ανίχνευση πιθανών αλλοιώσεων και η χρήση μηχανισμών αναγνώρισης για την ανίχνευση πιθανών αλλοιώσεων και η χρήση μηχανισμών αναγνώρισης
και αποκατάστασης σφαλμάτων. και αποκατάστασης σφαλμάτων.
\item \textbf{Εμπιστευτικότητα δεδομένων} \label{dataConfidentiality} \item \textbf{Εμπιστευτικότητα δεδομένων} \label{dataConfidentiality}
@@ -1460,21 +1461,21 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
\item \textbf{Διαθεσιμότητα δεδομένων} \label{dataAvailability} \item \textbf{Διαθεσιμότητα δεδομένων} \label{dataAvailability}
Η διαθεσιμότητα των δεδομένων, που ολοκληρώνει την τριάδα της Η διαθεσιμότητα των δεδομένων, που ολοκληρώνει την τριάδα της
ασφάλειας, είναι το στοιχείο που εξασφαλίζει πως μια επιχείρηση θα ασφάλειας, είναι το στοιχείο που εξασφαλίζει πως μια επιχείρηση θα
μπορεί να παρέχει τις υπηρεσίες της στους τελικούς της χρήστες. μπορεί να παρέχει τις υπηρεσίες της στους τελικούς της χρήστες.
Αναφέρεται στην αποφυγή της διακοπής πρόσβασης στα δεδομένα της από Αναφέρεται στην αποφυγή της διακοπής πρόσβασης στα δεδομένα της από
εξουσιοδοτημένους φορείς και εξαρτάται άμεσα από τη συνεχή παροχή εξουσιοδοτημένους φορείς και εξαρτάται άμεσα από τη συνεχή παροχή
υπηρεσιών υποδομών προς την επιχείρηση. Η απώλεια της θα είχε ως υπηρεσιών υποδομών προς την επιχείρηση. Η απώλειά της θα είχε ως
αποτέλεσμα την διακοπή σημαντικών λειτουργιών της και δυνητικά την αποτέλεσμα την διακοπή σημαντικών λειτουργιών της και δυνητικά την
μείωση της αξιοπιστίας της. Για να μπορέσει να διασφαλιστεί, πρέπει μια μείωση της αξιοπιστίας της. Για να μπορέσει να διασφαλιστεί, πρέπει μια
επιχείρηση να έχει προβλέψει για ένα σχέδιο ανάκτησης εφεδρικών επιχείρηση να έχει προβλέψει για ένα σχέδιο ανάκτησης εφεδρικών
αντιγράφων προς αποφυγή της απώλειας σημαντικών δεδομένων της, καθώς αντιγράφων προς αποφυγή της απώλειας σημαντικών δεδομένων της, καθώς
και για ένα σχέδιο επαναφοράς των διαδικασιών παροχής τους ώστε να και για ένα σχέδιο επαναφοράς των διαδικασιών παροχής τους ώστε να
μειώσει στο ελάχιστο την οποιαδήποτε διάρκεια διακοπής των υπηρεσιών μειώσει στο ελάχιστο την οποιαδήποτε διάρκεια διακοπής των υπηρεσιών
της. Τέλος, πρέπει να υπάρχει εμπιστοσύνη προς τον πάροχο νέφους πως της. Τέλος, πρέπει να υπάρχει εμπιστοσύνη προς τον πάροχο νέφους πως
δεν θα υπάρξει από μεριάς του απρόσμενη διακοπή της λειτουργίας δεν θα υπάρξει από μεριάς του απρόσμενη διακοπή της λειτουργίας
υποδομών που μπορεί να είναι απαραίτητες για την επιχείρηση. υποδομών που μπορεί να είναι απαραίτητες για την επιχείρηση.
\end{itemize} \end{itemize}
@@ -1492,12 +1493,12 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
\item \textbf{Συχνή ενημέρωση του υπερ-επόπτη}: \item \textbf{Συχνή ενημέρωση του υπερ-επόπτη}:
Ο υπερ-επόπτης είναι ο πυρήνας του συστήματος εικονικοποίησης και Ο υπερ-επόπτης είναι ο πυρήνας του συστήματος εικονικοποίησης και
επομένως η ασφάλεια του είναι ζωτικής σημασίας. Οι εταιρείες που επομένως η ασφάλειά του είναι ζωτικής σημασίας. Οι εταιρείες που
αναπτύσσουν το λογισμικό του, τον ενημερώνουν συχνά για να διορθώσουν αναπτύσσουν το λογισμικό του, τον ενημερώνουν συχνά για να διορθώσουν
τυχόν ευπάθειες που έχουν ανακαλυφθεί. Επομένως, οι επιχειρήσεις πρέπει τυχόν ευπάθειες που έχουν ανακαλυφθεί. Επομένως, οι επιχειρήσεις πρέπει
να εφαρμόζουν τις ενημερώσεις αυτές το συντομότερο δυνατόν από την να εφαρμόζουν τις ενημερώσεις αυτές το συντομότερο δυνατόν από την
στιγμή που θα είναι διαθέσιμες. στιγμή που θα είναι διαθέσιμες.
\clearpage \clearpage
@@ -1554,12 +1555,12 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
\item \textbf{Ορθή διαχείριση στιγμιοτύπων εικονικών μηχανών}: \item \textbf{Ορθή διαχείριση στιγμιοτύπων εικονικών μηχανών}:
Κάθε στιγμιότυπο μιας εικονικής μηχανής, δύναται να περιέχει ευαίσθητα Κάθε στιγμιότυπο μιας εικονικής μηχανής, δύναται να περιέχει ευαίσθητα
δεδομένα όπως κωδικοί και προσωπικά δεδομένα χρηστών. Συνεπώς, πρέπει δεδομένα όπως κωδικοί και προσωπικά δεδομένα χρηστών. Συνεπώς, πρέπει
κατά την αποθήκευση τους να προστατεύονται έναντι μη εξουσιοδοτημένης κατά την αποθήκευσή τους να προστατεύονται έναντι μη εξουσιοδοτημένης
πρόσβασης, τροποποίησης και αντικατάστασης. Αυτό περιλαμβάνει την ορθή πρόσβασης, τροποποίησης και αντικατάστασης. Αυτό περιλαμβάνει την ορθή
κρυπτογράφηση τους και την διαγραφή όσων στιγμιοτύπων δεν χρειάζονται κρυπτογράφησή τους και την διαγραφή όσων στιγμιοτύπων δεν χρειάζονται
πλέον. πλέον.
\item \textbf{Ασφάλιση του μηχανήματος φιλοξενίας}: \item \textbf{Ασφάλιση του μηχανήματος φιλοξενίας}:
@@ -1635,7 +1636,7 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
Η δοχειοποίηση εφαρμογών αποτελεί εν γένει την πιο δημοφιλή μορφή δοχειοποίησης Η δοχειοποίηση εφαρμογών αποτελεί εν γένει την πιο δημοφιλή μορφή δοχειοποίησης
που χρησιμοποιείται σήμερα. Είθισται να χρησιμοποιείται σε περιπτώσεις χρήσης που χρησιμοποιείται σήμερα. Είθισται να χρησιμοποιείται σε περιπτώσεις χρήσης
μικρο-υπηρεσιών, CI/CD pipelines, επαναλαμβανόμενες διεργασίες και εφαρμογής μικρο-υπηρεσιών, CI/CD pipelines, επαναλαμβανόμενων διεργασιών και εφαρμογής
μεθόδων DevOps \footfullcite{applicationContainerization}. μεθόδων DevOps \footfullcite{applicationContainerization}.
\subsection{Πλεονεκτήματα Δοχειοποίησης} \label{containerizationAdvantages} \subsection{Πλεονεκτήματα Δοχειοποίησης} \label{containerizationAdvantages}
@@ -1687,7 +1688,7 @@ migration and rollback attacks). Από την άλλη, όσον αφορά τ
τεχνικά προβλήματα χωρίς να υπάρχει διακοπή λειτουργίας σε άλλα δοχεία. τεχνικά προβλήματα χωρίς να υπάρχει διακοπή λειτουργίας σε άλλα δοχεία.
Επιπρόσθετα, ο εντοπισμός του προβλήματος είναι εύκολος διότι εστιάζει Επιπρόσθετα, ο εντοπισμός του προβλήματος είναι εύκολος διότι εστιάζει
σε ένα μόνο δοχείο και όχι σε περισσότερα. Αυτό οδηγεί σε πιο γρήγορη σε ένα μόνο δοχείο και όχι σε περισσότερα. Αυτό οδηγεί σε πιο γρήγορη
αποσφαλμάτωση και εν τέλει την πιο γρήγορη ανάπτυξη και συντήρηση αποσφαλμάτωση και εν τέλει στην πιο γρήγορη ανάπτυξη και συντήρηση
προγραμμάτων. προγραμμάτων.
\item \textbf{Αποδοτικότητα}: \item \textbf{Αποδοτικότητα}:
@@ -1795,7 +1796,7 @@ Docker να δουλεύουν ευκολότερα σε διαφορετικέ
\footfullcite{containerdRunc}. Επιπροσθέτως, η απόφαση αυτή κατέστησε το Docker \footfullcite{containerdRunc}. Επιπροσθέτως, η απόφαση αυτή κατέστησε το Docker
πιο διαχειρίσιμο διότι πλέον αποτελούνταν από πολλά μικρότερα εργαλεία, όπου το πιο διαχειρίσιμο διότι πλέον αποτελούνταν από πολλά μικρότερα εργαλεία, όπου το
καθένα από αυτά είχε συγκεκριμένους ρόλους. Αναλυτικότερα, το containerd πλέον καθένα από αυτά είχε συγκεκριμένους ρόλους. Αναλυτικότερα, το containerd πλέον
είναι υπεύθυνο για την απόκτηση εικόνων δοχείων και την διαχείριση τους, προτού είναι υπεύθυνο για την απόκτηση εικόνων δοχείων και την διαχείρισή τους, προτού
τις μεταβιβάσει στο runC, το οποίο είναι το εργαλείο που θα αλληλεπιδράσει με τις μεταβιβάσει στο runC, το οποίο είναι το εργαλείο που θα αλληλεπιδράσει με
τον πυρήνα του Linux προκειμένου να χρησιμοποιήσει χαρακτηριστικά όπως οι τον πυρήνα του Linux προκειμένου να χρησιμοποιήσει χαρακτηριστικά όπως οι
ομάδες ελέγχου (control groups) για να δημιουργήσει δοχεία. ομάδες ελέγχου (control groups) για να δημιουργήσει δοχεία.
@@ -1819,7 +1820,7 @@ Docker να δουλεύουν ευκολότερα σε διαφορετικέ
αντιστοιχούν σε καλούπια μέσω των οποίων παράγονται τα δοχεία της εφαρμογής, η αντιστοιχούν σε καλούπια μέσω των οποίων παράγονται τα δοχεία της εφαρμογής, η
ασφάλεια δεν είναι πάντα εγγυημένη. Αυτό είναι κάτι που συμβαίνει διότι ο ασφάλεια δεν είναι πάντα εγγυημένη. Αυτό είναι κάτι που συμβαίνει διότι ο
καθένας έχει την δυνατότητα να ανεβάσει μια εικόνα δοχείου προς χρήση από καθένας έχει την δυνατότητα να ανεβάσει μια εικόνα δοχείου προς χρήση από
τρίτους. Σε περίπτωση που δεν εξετασθεί το περιεχόμενο της μπορεί είτε να τρίτους. Σε περίπτωση που δεν εξετασθεί το περιεχόμενό της μπορεί είτε να
περιέχει κακόβουλο λογισμικό, είτε να μην ακολουθούνται ορθές πρακτικές περιέχει κακόβουλο λογισμικό, είτε να μην ακολουθούνται ορθές πρακτικές
ασφαλείας με αποτέλεσμα να μένει το σύστημα που την χρησιμοποιεί ευάλωτο σε ασφαλείας με αποτέλεσμα να μένει το σύστημα που την χρησιμοποιεί ευάλωτο σε
επιθέσεις. Συνεπώς, πρέπει να ληφθούν μέτρα προστασίας όπως η χρήση εικόνων επιθέσεις. Συνεπώς, πρέπει να ληφθούν μέτρα προστασίας όπως η χρήση εικόνων
@@ -1846,10 +1847,9 @@ Docker ώστε να μειωθούν οι επιπτώσεις κατά την
Με βάση το μοντέλο που περιγράφει το \cite{reshetova2014security}, όπως Με βάση το μοντέλο που περιγράφει το \cite{reshetova2014security}, όπως
αναφέρεται στο \cite{bui2015analysis}, έχουμε ένα μηχάνημα στο οποίο αναφέρεται στο \cite{bui2015analysis}, έχουμε ένα μηχάνημα στο οποίο
εκτελούνται διάφορα δοχεία, από τα οποία ένα υποσύνολο έχει τεθεί υπό τον εκτελούνται διάφορα δοχεία, από τα οποία ένα υποσύνολο έχει τεθεί υπό τον
έλεγχο ενός κακόβουλου χρήστη. Για να προστατευτούμε από επιθέσεις, όπως έλεγχο ενός κακόβουλου χρήστη. Για να προστατευτούμε από επιθέσεις, όπως άρνηση
άρνησης υπηρεσίας και κλιμάκωσης δικαιωμάτων πρέπει να πραγματοποιηθεί υπηρεσίας και κλιμάκωση δικαιωμάτων, πρέπει να πραγματοποιηθεί απομόνωση των
απομόνωση των διεργασιών, των αρχείων της συσκευής, του IPC, του δικτύου και διεργασιών, των αρχείων της συσκευής, του IPC, του δικτύου και των πόρων.
των πόρων.
Αυτά επιτυγχάνονται κατά σειρά με τη χρήση: Αυτά επιτυγχάνονται κατά σειρά με τη χρήση:
@@ -1866,23 +1866,21 @@ Docker ώστε να μειωθούν οι επιπτώσεις κατά την
μονάχα ανάγνωσης και αποτρέπονται περαιτέρω remountings. μονάχα ανάγνωσης και αποτρέπονται περαιτέρω remountings.
\item \textbf{Device Whitelist Controller}, ενός χαρακτηριστικού των \item \textbf{Device Whitelist Controller}, ενός χαρακτηριστικού των
cgroups για περιορισμό συσκευών, που αναφέρεται στο cgroups που αναφέρεται στο \cite{deviceWhitelistController}
\cite{deviceWhitelistController} \footfullcite{deviceWhitelistController}, για περιορισμό συσκευών, με τη
\footfullcite{deviceWhitelistController}, με τη βοήθεια του οποίου βοήθεια του οποίου περιορίζεται το σύνολο τον συσκευών στις οποίες έχει
περιορίζεται το σύνολο τον συσκευών στις οποίες έχει πρόσβαση ένα πρόσβαση ένα δοχείο και το αποτρέπει από το να δημιουργήσει καινούριες
δοχείο και το αποτρέπει από το να δημιουργήσει καινούριες αναπαραστάσεις συσκευών. Επιπροσθέτως, επειδή τα mount γίνονται με τη χρήση
αναπαραστάσεις συσκευών. Επιπροσθέτως, επειδή τα mount γίνονται με τη της παραμέτρου nodev\footnote{\textgreek{Μια παράμετρος της εντολής mount
χρήση της παραμέτρου nodev\footnote{\textgreek{Μια παράμετρος της κατά την οποία αποτρέπεται η δημιουργία και η πρόσβαση αναπαραστάσεων
εντολής mount κατά την οποία απαγορεύεται η δημιουργία και η συσκευών που βρίσκονται στον φάκελο /dev.}}, στην περίπτωση που μια
πρόσβαση αναπαραστάσεων συσκευών που βρίσκονται στον φάκελο /dev.}}, αναπαράσταση συσκευής είχε δημιουργηθεί σε προηγούμενο χρόνο μέσα στην
στην περίπτωση που μια αναπαράσταση συσκευής είχε δημιουργηθεί σε εικόνα δοχείου που χρησιμοποιήθηκε για να κατασκευαστεί το δοχείο, οι
προηγούμενο χρόνο μέσα στην εικόνα δοχείου που χρησιμοποιήθηκε για να διεργασίες του δοχείου αυτού δε δύνανται να τη χρησιμοποιήσουν για να
κατασκευαστεί το δοχείο, οι διεργασίες του δοχείου αυτού δε δύνανται να επικοινωνήσουν με τον πυρήνα. Επιπλέον, επειδή η προεπιλεγμένη συνθήκη
τη χρησιμοποιήσουν για να επικοινωνήσουν με τον πυρήνα. Επιπλέον, είναι να μη δίνονται εκτεταμένα προνόμια σε ένα δοχείο, δεν υπάρχει
επειδή η προεπιλεγμένη συνθήκη είναι να μη δίνονται εκτεταμένα προνόμια πρόσβαση σε καμία συσκευή παρά μόνο εάν γίνει εκτέλεση δοχείου ως χρήστης
σε ένα δοχείο, δεν υπάρχει πρόσβαση σε καμία συσκευή παρά μόνο εάν με ανώτατα δικαιώματα, όπου τότε υπάρχει πρόσβαση σε όλες (τις συσκευές).
γίνει εκτέλεση δοχείου ως χρήστης με ανώτατα δικαιώματα, όπου τότε
υπάρχει πρόσβαση σε όλες (τις συσκευές).
\item \textbf{IPC namespaces} για περιορισμό IPC, δηλαδή της επικοινωνίας \item \textbf{IPC namespaces} για περιορισμό IPC, δηλαδή της επικοινωνίας
των διεργασιών μεταξύ τους. Τα IPC namespaces καθιστούν δυνατή τη των διεργασιών μεταξύ τους. Τα IPC namespaces καθιστούν δυνατή τη
@@ -1890,14 +1888,14 @@ Docker ώστε να μειωθούν οι επιπτώσεις κατά την
αλλά όχι με άλλες διεργασίες πέραν του υποσυνόλου. αλλά όχι με άλλες διεργασίες πέραν του υποσυνόλου.
\item \textbf{Network namespaces}. Μία από τις σημαντικότερες απομονώσεις \item \textbf{Network namespaces}. Μία από τις σημαντικότερες απομονώσεις
είναι αυτή του δικτύου. Χωρίς δικτυακή απομόνωση υπάρχει κίνδυνος είναι αυτή του δικτύου. Χωρίς δικτυακή απομόνωση υπάρχει κίνδυνος
επιθέσεων, όπως ενδιάμεσου (Man in the middle), ARP, DNS πλαστογράφηση επιθέσεων, όπως ενδιάμεσου (Man in the middle), ARP, DNS πλαστογράφησης
(spoofing) και άλλες. Για να απομονωθεί η κίνηση δικτύου που λαμβάνει (spoofing) και άλλες. Για να απομονωθεί η κίνηση δικτύου που λαμβάνει μέρος
μέρος σε ένα δοχείο από αυτήν των υπολοίπων και του συστήματος πρέπει σε ένα δοχείο από αυτήν των υπολοίπων και του συστήματος πρέπει να γίνει
να γίνει χρήση των network namespaces. Κάθε δοχείο θα έχει δικές του χρήση των network namespaces. Κάθε δοχείο θα έχει δικές του διευθύνσεις IP,
διευθύνσεις IP, συσκευές και ό,τι χρειάζεται, προκειμένου να γίνεται συσκευές και ό,τι χρειάζεται, προκειμένου να γίνεται αλληλεπίδραση μεταξύ
αλληλεπίδραση μεταξύ των δοχείων μέσω της διεπαφής δικτύου του καθενός των δοχείων μέσω της διεπαφής δικτύου του καθενός σαν να είναι εξωτερικές
σαν να είναι εξωτερικές οντότητες. οντότητες.
\item \textbf{Ομάδες ελέγχου (cgroups)}. Επιβάλλεται η οριοθέτηση των \item \textbf{Ομάδες ελέγχου (cgroups)}. Επιβάλλεται η οριοθέτηση των
υπολογιστικών πόρων προκειμένου να αποφευχθεί μια επίθεση τύπου άρνησης υπολογιστικών πόρων προκειμένου να αποφευχθεί μια επίθεση τύπου άρνησης
@@ -1917,15 +1915,15 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
επίπεδο ασφαλείας, αν χρησιμοποιηθούν σωστά, περιορίζοντας τα δικαιώματα των επίπεδο ασφαλείας, αν χρησιμοποιηθούν σωστά, περιορίζοντας τα δικαιώματα των
διεργασιών των δοχείων σε μονάχα όσα χρειάζονται. Το Docker παρέχει αρκετά διεργασιών των δοχείων σε μονάχα όσα χρειάζονται. Το Docker παρέχει αρκετά
υπάρχοντα μέσα άμυνας προκειμένου να προστατευτεί από επιθέσεις ακόμα και χωρίς υπάρχοντα μέσα άμυνας προκειμένου να προστατευτεί από επιθέσεις ακόμα και χωρίς
επιπρόσθετες ρυθμίσεις. Παρ' όλα αυτά, οι αρχικές ρυθμίσεις ασφαλείας είναι πιο επιπρόσθετες ρυθμίσεις. Παρ' όλα αυτά, οι αρχικές ρυθμίσεις ασφαλείας του είναι
ελαστικές απ' όσο χρειάζεται προκειμένου να συνεχίζει να λειτουργεί κανονικά πιο ελαστικές απ' όσο χρειάζεται προκειμένου να συνεχίζει να λειτουργεί
για όλους τους χρήστες, αφήνοντας έτσι τους διαχειριστές ασφαλείας υπεύθυνους κανονικά για όλους τους χρήστες, αφήνοντας έτσι τους διαχειριστές ασφαλείας
να χρησιμοποιήσουν όσες δυνατότητες είναι απαραίτητες προκειμένου να υπεύθυνους να χρησιμοποιήσουν όσες δυνατότητες είναι απαραίτητες προκειμένου να
ανταπεξέλθουν σε κάθε επίθεση ανάλογα το περιβάλλον και τις ανάγκες τους. ανταπεξέλθουν σε κάθε επίθεση ανάλογα με το περιβάλλον και τις ανάγκες τους.
\clearpage \clearpage
\subsubsection{Συχνά είδη επιθέσεων σε δοχεία και μέθοδοι πρόληψης τους} \label{commonAttacksAndPrevention} \subsubsection{Συχνά είδη επιθέσεων σε δοχεία και μέθοδοι πρόληψής τους} \label{commonAttacksAndPrevention}
Μερικά είδη επιθέσεων σε δοχεία με τους τρόπους αντιμετώπισής τους, όπως Μερικά είδη επιθέσεων σε δοχεία με τους τρόπους αντιμετώπισής τους, όπως
αναφέρονται στο \cite{yasrab2018mitigating}, είναι τα εξής: αναφέρονται στο \cite{yasrab2018mitigating}, είναι τα εξής:
@@ -1982,15 +1980,15 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}: \item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
Οι εικόνες δοχείων μπορεί να περιέχουν κακόβουλο λογισμικό ή λογισμικό Οι εικόνες δοχείων μπορεί να περιέχουν κακόβουλο λογισμικό ή λογισμικό
για το οποίο έχουν βρεθεί πλέον ευπάθειες. Ο τωρινός τρόπος ελέγχου για το οποίο έχουν βρεθεί πλέον ευπάθειες. Ο τωρινός τρόπος ελέγχου
εγκυρότητας τους βασίζεται μονάχα στην παρουσία ενός υπογεγραμμένου εγκυρότητάς τους βασίζεται μονάχα στην παρουσία ενός υπογεγραμμένου
manifest αλλά δε γίνεται ποτέ αυθεντικοποίηση του αθροίσματος ελέγχου manifest αλλά δε γίνεται ποτέ αυθεντικοποίηση του αθροίσματος ελέγχου
(checksum) της κάθε εικόνας. Αυτό αφήνει ανοιχτό το ενδεχόμενο ένας (checksum) της κάθε εικόνας. Αυτό αφήνει ανοιχτό το ενδεχόμενο ένας
επιτιθέμενος να διαδώσει οποιαδήποτε εικόνα μαζί με το υπογεγραμμένο επιτιθέμενος να διαδώσει οποιαδήποτε εικόνα μαζί με το υπογεγραμμένο
manifest της. Επιβάλλεται οι χρήστες να κατεβάζουν εικόνες από manifest της. Επιβάλλεται οι χρήστες να κατεβάζουν εικόνες από
εγκεκριμένους προμηθευτές και επιπρόσθετα να τις ελέγχουν με κατάλληλα εγκεκριμένους προμηθευτές και επιπρόσθετα να τις ελέγχουν με κατάλληλα
εργαλεία ανίχνευσης τρωτοτήτων προτού τις χρησιμοποιήσουν. εργαλεία ανίχνευσης τρωτοτήτων προτού τις χρησιμοποιήσουν.
\item \textbf{Απόκτηση μυστικών κωδικών/κλειδιών}: \item \textbf{Απόκτηση μυστικών κωδικών/κλειδιών}:
@@ -2020,31 +2018,31 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
\item \textbf{Πλαστογράφηση ARP (ARP spoofing)}: \item \textbf{Πλαστογράφηση ARP (ARP spoofing)}:
Σε μια Address Resource Protocol (ARP) spoofing επίθεση, ο επιτιθέμενος Σε μια επίθεση πλαστογράφησης Address Resource Protocol (ARP), ο
επιχειρεί να στείλει ψεύτικα ARP μηνύματα σε ένα δίκτυο τοπικής επιτιθέμενος επιχειρεί να στείλει ψεύτικα ARP μηνύματα σε ένα δίκτυο
περιοχής (Local Area Network - LAN). Είναι πιθανό να προσποιηθεί πως η τοπικής περιοχής (Local Area Network - LAN). Είναι πιθανό να
συσκευή του είναι μια από τις συσκευές της επιχείρησης, αλλάζοντας τη προσποιηθεί πως η συσκευή του είναι μια από τις συσκευές της
MAC διεύθυνση του στην IP μιας συσκευής που το σύστημα αναγνωρίζει. επιχείρησης, αλλάζοντας τη MAC διεύθυνσή του στην IP μιας συσκευής που
Επομένως, το σύστημα της επιχείρησης, θα συμπεριφέρεται στην συσκευή το σύστημα αναγνωρίζει. Επομένως, το σύστημα της επιχείρησης, θα
του επιτιθέμενου με τον ίδιο τρόπο που θα συμπεριφερόταν στην αυθεντική συμπεριφέρεται στην συσκευή του επιτιθέμενου με τον ίδιο τρόπο που θα
συσκευή. Δηλαδή, στέλνοντας σε αυτόν όλα τα πακέτα και τα δεδομένα που συμπεριφερόταν στην αυθεντική συσκευή. Δηλαδή, στέλνοντας σε αυτόν όλα
προορίζονταν για εκείνη. Το Docker χρησιμοποιεί το ARP για να κάνει την τα πακέτα και τα δεδομένα που προορίζονταν για εκείνη. Το Docker
αντιστοίχιση IPv4 σε MAC διευθύνσεις, οι οποίες χρησιμοποιούνται από χρησιμοποιεί το ARP για να κάνει την αντιστοίχιση IPv4 σε MAC
την εικονική γέφυρα δικτύου για να διανέμουν σωστά τα πλαίσια (frames) διευθύνσεις, οι οποίες χρησιμοποιούνται από την εικονική γέφυρα δικτύου
Ethernet αφού δεν υπάρχει φίλτρο για τα πακέτα ARP και επομένως κανένας για να διανέμουν σωστά τα πλαίσια (frames) Ethernet αφού δεν υπάρχει
μηχανισμός άμυνας. Γι' αυτό τον λόγο τα δοχεία μπορούν να προσποιηθούν φίλτρο για τα πακέτα ARP και επομένως κανένας μηχανισμός άμυνας. Γι'
ότι είναι άλλα δοχεία ή ακόμα και το κύριο μηχάνημα. Στην περίπτωση αυτό τον λόγο τα δοχεία μπορούν να προσποιηθούν ότι είναι άλλα δοχεία ή
παραβίασης ενός δοχείου, υπάρχει κίνδυνος ο επιτιθέμενος να υποκλέψει ακόμα και το κύριο μηχάνημα. Στην περίπτωση παραβίασης ενός δοχείου,
μυστικά της επιχείρησης ή των τελικών χρηστών της υπηρεσίας που η υπάρχει κίνδυνος ο επιτιθέμενος να υποκλέψει μυστικά της επιχείρησης ή
επιχείρηση προσφέρει. Ένας από τους τρόπους που βοηθάει στην αποφυγή των τελικών χρηστών της υπηρεσίας που η επιχείρηση προσφέρει. Ένας από
τέτοιας επίθεσης είναι η εκτέλεση δοχείων δίχως το NET\_RAW capability, τους τρόπους που βοηθάει στην αποφυγή τέτοιας επίθεσης είναι η εκτέλεση
αφού έτσι τα προγράμματα μέσα στο δοχείο δε θα μπορούν να δημιουργήσουν δοχείων δίχως το NET\_RAW capability, αφού έτσι τα προγράμματα μέσα στο
PF\_PACKET sockets και θα ήταν αδύνατη η διεκπεραίωση της επίθεσης. δοχείο δε θα μπορούν να δημιουργήσουν PF\_PACKET sockets και θα ήταν
Βέβαια, αυτή η μέθοδος έχει μειονεκτήματα αφού μπορεί αυτή η ικανότητα αδύνατη η διεκπεραίωση της επίθεσης. Βέβαια, αυτή η μέθοδος έχει
να ήταν άκρως απαραίτητη για την ορθή λειτουργία της υπηρεσίας. μειονεκτήματα αφού μπορεί αυτή η ικανότητα να ήταν άκρως απαραίτητη για
Επομένως, μια εναλλακτική μέθοδος προστασίας είναι η χρήση την ορθή λειτουργία της υπηρεσίας. Επομένως, μια εναλλακτική μέθοδος
\textquote{ebtables} για φιλτράρισμα πλαισίων Ethernet ούτως ώστε ARP προστασίας είναι η χρήση \textquote{ebtables} για φιλτράρισμα πλαισίων
πακέτα με λάθος πρωτόκολλο αποστολέα ή διεύθυνση MAC να ανιχνεύονται Ethernet ούτως ώστε ARP πακέτα με λάθος πρωτόκολλο αποστολέα ή
εγκαίρως και να απορρίπτονται. διεύθυνση MAC να ανιχνεύονται εγκαίρως και να απορρίπτονται.
\end{itemize} \end{itemize}

View File

@@ -6,10 +6,10 @@
επιχειρήσεων. Η χρήση τεχνολογιών εικονικοποίησης και η άνοδος υπηρεσιών IaaS, επιχειρήσεων. Η χρήση τεχνολογιών εικονικοποίησης και η άνοδος υπηρεσιών IaaS,
έχει ελαφρύνει τον φόρτο εργασίας όσον αφορά το στήσιμο των υποδομών αυτών, έχει ελαφρύνει τον φόρτο εργασίας όσον αφορά το στήσιμο των υποδομών αυτών,
αφού πλέον υπάρχουν πολλά εργαλεία στα οποία γίνεται καθορισμός τους. Η αφού πλέον υπάρχουν πολλά εργαλεία στα οποία γίνεται καθορισμός τους. Η
αυτοματοποίηση της ασφάλισης τους όμως είναι ακόμα σε πρώιμο στάδιο. Οι αυτοματοποίηση της ασφάλισής τους όμως είναι ακόμα σε πρώιμο στάδιο. Οι
περισσότερες υπηρεσίες που διατίθενται στους χρήστες κάνουν χρήση τεχνολογιών περισσότερες υπηρεσίες που διατίθενται στους χρήστες κάνουν χρήση τεχνολογιών
εικονικοποίησης έμμεσα από τον πάροχο νέφους που χρησιμοποιούν και τεχνολογίες εικονικοποίησης έμμεσα από τον πάροχο νέφους που χρησιμοποιούν και τεχνολογίες
δοχείων άμεσα από επιλογή τους λόγω της υπεροχής που παρέχουν στη διαχείριση δοχείων άμεσα από επιλογή τους λόγω της υπεροχής που παρέχουν στη διαχείρισή
τους. Όλες οι υπηρεσίες όμως είναι εν δυνάμει ευάλωτες σε επιθέσεις εάν δε τους. Όλες οι υπηρεσίες όμως είναι εν δυνάμει ευάλωτες σε επιθέσεις εάν δε
ληφθούν τα απαραίτητα μέτρα προστασίας και αφήσουν ανοιχτά σημεία εισόδου στα ληφθούν τα απαραίτητα μέτρα προστασίας και αφήσουν ανοιχτά σημεία εισόδου στα
συστήματά τους. συστήματά τους.
@@ -20,7 +20,7 @@
εγκατάσταση, ασφάλιση και χρήση του Docker για τη διάθεση εφαρμογών που εγκατάσταση, ασφάλιση και χρήση του Docker για τη διάθεση εφαρμογών που
βρίσκονται στο Docker Hub. Το επίσημο αποθετήριο του Docker. Στην ενότητα αυτή βρίσκονται στο Docker Hub. Το επίσημο αποθετήριο του Docker. Στην ενότητα αυτή
θα γίνει αναφορά σε εργαλεία που έχουν αναπτυχθεί για έναν ή παραπάνω από θα γίνει αναφορά σε εργαλεία που έχουν αναπτυχθεί για έναν ή παραπάνω από
αυτούς τους τρεις τομείς και θα πραγματοποιηθεί σύγκριση τους ανάλογα με τον αυτούς τους τρεις τομείς και θα πραγματοποιηθεί σύγκρισή τους ανάλογα με τον
τρόπο λειτουργίας τους και τις δυνατότητες που παρέχουν. τρόπο λειτουργίας τους και τις δυνατότητες που παρέχουν.
\clearpage \clearpage
@@ -41,11 +41,11 @@
\item \textbf{Ευκολία κατά την χρήση}: \item \textbf{Ευκολία κατά την χρήση}:
Το εργαλείο πρέπει να μπορεί να χρησιμοποιηθεί εύκολα από έναν χρήστη Το εργαλείο πρέπει να μπορεί να χρησιμοποιηθεί εύκολα από έναν χρήστη
που έχει χρησιμοποιήσει στο παρελθόν εργαλεία γραμμής εντολών. Οι που έχει χρησιμοποιήσει στο παρελθόν εργαλεία γραμμής εντολών. Οι
παράμετροι του πρέπει να ακολουθούν ένα μοτίβο που θα διευκολύνει την παράμετροί του πρέπει να ακολουθούν ένα μοτίβο που θα διευκολύνει την
κατανόηση της λειτουργίας τους και τον συνδυασμό τους για ένα επιθυμητό κατανόηση της λειτουργίας τους και τον συνδυασμό τους για ένα επιθυμητό
αποτέλεσμα. αποτέλεσμα.
\item \textbf{Υποστήριξη μεγάλων ονομάτων στον κλάδο}: \item \textbf{Υποστήριξη μεγάλων ονομάτων στον κλάδο}:
@@ -55,8 +55,8 @@
\item \textbf{Ευκολία στην επέκταση}: \item \textbf{Ευκολία στην επέκταση}:
Το εργαλείο πρέπει να είναι εύκολο στην επέκταση του, ώστε να μπορεί να Το εργαλείο πρέπει να είναι εύκολο στην επέκτασή του, ώστε να μπορεί να
αυτοματοποιηθεί περισσότερο η διαδικασία δημιουργίας εικονικών μηχανών. αυτοματοποιηθεί περισσότερο η διαδικασία δημιουργίας εικονικών μηχανών.
\end{itemize} \end{itemize}
@@ -107,21 +107,21 @@
\item \textbf{Σύγκριση με Terraform}: \item \textbf{Σύγκριση με Terraform}:
Χρειάζεται την δημιουργία ενός αρχείου πριν την χρήση του και κάθε Χρειάζεται την δημιουργία ενός αρχείου πριν την χρήση του και κάθε
αλλαγή απαιτεί την τροποποίηση του αρχείου αυτού. Αυτό το καθιστά αλλαγή απαιτεί την τροποποίηση του αρχείου αυτού. Αυτό το καθιστά
λιγότερο ευέλικτο σε σχέση με άλλα εργαλεία. Είναι σχετικά εύκολο στην λιγότερο ευέλικτο σε σχέση με άλλα εργαλεία. Είναι σχετικά εύκολο στην
χρήση όπως τα υπόλοιπα και δύναται να χρησιμοποιήσει τα νέφη όλων των χρήση όπως τα υπόλοιπα και δύναται να χρησιμοποιήσει τα νέφη όλων των
μεγάλων παρόχων. Παρόλα αυτά δεν αποτελεί εργαλείο που μπορεί να μεγάλων παρόχων. Παρ' όλα αυτά δεν αποτελεί εργαλείο που μπορεί να
επεκταθεί εύκολα καθώς ο τρόπος λειτουργίας του το καθιστά αυτοτελές. επεκταθεί εύκολα καθώς ο τρόπος λειτουργίας του το καθιστά αυτοτελές.
\item \textbf{Σύγκριση με Libcloud CLI}: \item \textbf{Σύγκριση με Libcloud CLI}:
Το δεύτερο πιο πρόσφατο εργαλείο που κάνει χρήση της βιβλιοθήκης Το δεύτερο πιο πρόσφατο εργαλείο που κάνει χρήση της βιβλιοθήκης
libcloud μετά από αυτό που προτείνει η διπλωματική εργασία. Είναι libcloud μετά από αυτό που προτείνει η διπλωματική εργασία. Είναι
αρκετά ευέλικτο και εύκολο στην χρήση, παρόλα αυτά πλέον υποστηρίζει αρκετά ευέλικτο και εύκολο στην χρήση, παρ' όλα αυτά πλέον υποστηρίζει
μονάχα έναν πάροχο νέφους, ο οποίος δεν αποτελεί δημοφιλή επιλογή μονάχα έναν πάροχο νέφους, ο οποίος δεν αποτελεί δημοφιλή επιλογή
γενικότερα. Θα μπορούσε να επεκταθεί η λειτουργικότητα του αλλά έχει να γενικότερα. Θα μπορούσε να επεκταθεί η λειτουργικότητά του αλλά έχει να
ανανεωθεί από το 2018. ανανεωθεί από το 2018.
\end{itemize} \end{itemize}
@@ -132,7 +132,7 @@
όλες τις καλές πρακτικές ενός εργαλείου γραμμής εντολών όπως ο έλεγχος όλες τις καλές πρακτικές ενός εργαλείου γραμμής εντολών όπως ο έλεγχος
σφαλμάτων κατά την εισαγωγή παραμέτρων. Επιπλέον, μπορεί εύκολα να επεκταθεί η σφαλμάτων κατά την εισαγωγή παραμέτρων. Επιπλέον, μπορεί εύκολα να επεκταθεί η
χρήση του, είτε εισάγοντας έτοιμες εντολές σε αρχεία bash είτε προσθέτοντας χρήση του, είτε εισάγοντας έτοιμες εντολές σε αρχεία bash είτε προσθέτοντας
νέες ενέργειες στον κώδικα του αφού πρόκειται για ένα αρχείο python. νέες ενέργειες στον κώδικά του αφού πρόκειται για ένα αρχείο python.
\clearpage \clearpage
@@ -172,20 +172,20 @@
\item \textbf{JShielder} \footfullcite{jshielder}: \item \textbf{JShielder} \footfullcite{jshielder}:
Το JShielder είναι ένα εργαλείο ανοιχτού κώδικα που αναπτύχθηκε από τον Το JShielder είναι ένα εργαλείο ανοιχτού κώδικα που αναπτύχθηκε από τον
Jason Soto με σκοπό την αυτοματοποίηση σκλήρυνσης λειτουργικών Jason Soto με σκοπό την αυτοματοποίηση σκλήρυνσης λειτουργικών
συστημάτων Linux. Ο πηγαίος κώδικας του βρίσκεται στο GitHub και ο συστημάτων Linux. Ο πηγαίος κώδικάς του βρίσκεται στο GitHub και ο
τρόπος λειτουργίας του είναι η εκτέλεση του ως χρήστης με διαχειριστικά τρόπος λειτουργίας του είναι η εκτέλεσή του ως χρήστης με διαχειριστικά
δικαιώματα στο σύστημα. δικαιώματα στο σύστημα.
\clearpage \clearpage
\item \textbf{nixarmor} \footfullcite{nixarmor}: \item \textbf{nixarmor} \footfullcite{nixarmor}:
Ένα εργαλείο ανοιχτού κώδικα που στεγάζεται στο GitHub και αναπτύχθηκε Ένα εργαλείο ανοιχτού κώδικα που στεγάζεται στο GitHub και αναπτύχθηκε
από τον Emir Ozer. Περιέχει διαφορετικά εκτελέσιμα αρχεία για την από τον Emir Ozer. Περιέχει διαφορετικά εκτελέσιμα αρχεία για την
σκλήρυνση διάφορων διανομών Linux τα οποία μπορούν να εκτελεστούν ως σκλήρυνση διάφορων διανομών Linux, τα οποία μπορούν να εκτελεστούν ως
αυτόνομα προγράμματα από τον χρήστη. αυτόνομα προγράμματα από τον χρήστη.
\end{itemize} \end{itemize}
@@ -198,36 +198,36 @@
\item \textbf{Σύγκριση με JShielder}: \item \textbf{Σύγκριση με JShielder}:
Το JShielder παρέχει ένα ικανοποιητικό εύρος σκλήρυνσης του συστήματος Το JShielder παρέχει ένα ικανοποιητικό εύρος σκλήρυνσης του συστήματος
και η ευκολία στην χρήση του το καθιστά ένα εργαλείο που μπορεί να και η ευκολία στην χρήση του το καθιστά ένα εργαλείο που μπορεί να
χρησιμοποιηθεί από έναν χρήστη με μικρή εμπειρία στον κλάδο. Παρόλα χρησιμοποιηθεί από έναν χρήστη με μικρή εμπειρία στον κλάδο. Παρ' όλα
αυτά, δεν υποστηρίζει πολλές διανομές και οι εκδόσεις των διανομών που αυτά, δεν υποστηρίζει πολλές διανομές και οι εκδόσεις των διανομών που
υποστηρίζονται μέσω αυτού είναι αρκετό καιρό ξεπερασμένες. Θα μπορούσε υποστηρίζονται μέσω αυτού είναι αρκετό καιρό ξεπερασμένες. Θα μπορούσε
να βελτιωθεί με μια ανανέωση του πηγαίου του κώδικα αλλά η ανάπτυξή του να βελτιωθεί με μια ανανέωση του πηγαίου του κώδικα αλλά η ανάπτυξή του
φαίνεται να έχει σταματήσει το 2019. φαίνεται να έχει σταματήσει το 2019.
\item \textbf{Σύγκριση με το nixarmor}: \item \textbf{Σύγκριση με το nixarmor}:
Σε αντίθεση με το JShielder, το nixarmor για να χρησιμοποιηθεί με τον Σε αντίθεση με το JShielder, το nixarmor για να χρησιμοποιηθεί με τον
ίδιο τρόπο που χρησιμοποιούνται τα υπόλοιπα εργαλεία θα πρέπει να ίδιο τρόπο που χρησιμοποιούνται τα υπόλοιπα εργαλεία θα πρέπει να
επεκταθεί με την προσθήκη κώδικα που να του επιτρέπει να ξεχωρίζει ποιο επεκταθεί με την προσθήκη κώδικα που να του επιτρέπει να ξεχωρίζει ποιο
είναι το κατάλληλο εκτελέσιμο για την κάθε διανομή. Στην αντίθετη είναι το κατάλληλο εκτελέσιμο για την κάθε διανομή. Στην αντίθετη
περίπτωση, πάλι η χρήση του είναι εύκολη διότι ο χρήστης μπορεί να περίπτωση, πάλι η χρήση του είναι εύκολη διότι ο χρήστης μπορεί να
επιλέξει και να εκτελέσει χειροκίνητα ένα από τα εκτελέσιμα αρχεία που επιλέξει και να εκτελέσει χειροκίνητα ένα από τα εκτελέσιμα αρχεία που
περιέχει. Η σκλήρυνση που παρέχει καλύπτει πολλούς τομείς μιας διανομής περιέχει. Η σκλήρυνση που παρέχει καλύπτει πολλούς τομείς μιας διανομής
και μπορεί εύκολα να προστεθούν επιπλέον συναρτήσεις στον κώδικα του. και μπορεί εύκολα να προστεθούν επιπλέον συναρτήσεις στον κώδικά του.
Παρόλα αυτά, η ανάπτυξη του έχει παύσει από το 2015 και οι διανομές που Παρ' όλα αυτά, η ανάπτυξή του έχει παύσει από το 2015 και οι διανομές
υποστηρίζει έχουν περιοριστεί σε μονάχα 4. που υποστηρίζει έχουν περιοριστεί σε μονάχα 4.
\end{itemize} \end{itemize}
Συγκριτικά με τα παραπάνω εργαλεία, το harden υποστηρίζει την ικανότητα Συγκριτικά με τα παραπάνω εργαλεία, το harden υποστηρίζει την ικανότητα
αναγνώρισης της διανομής στην οποία εκτελείται και μπορεί δυναμικά να αλλοιώσει αναγνώρισης της διανομής στην οποία εκτελείται και μπορεί δυναμικά να αλλοιώσει
την συμπεριφορά του ανάλογα την διανομή. Οι υποστηριζόμενες διανομές είναι 6 την συμπεριφορά του αναλόγως. Οι υποστηριζόμενες διανομές είναι 6 και οι
και οι λειτουργίες του αν και σύμφωνα με τα αποτελέσματα του κεφαλαίου λειτουργίες του αν και σύμφωνα με τα αποτελέσματα του κεφαλαίου
\ref{experimentationANDresults} είναι ικανοποιητικές, θα μπορούσαν εύκολα να \ref{experimentationANDresults} είναι ικανοποιητικές, θα μπορούσαν εύκολα να
επεκταθούν με την προσθήκη νέων συναρτήσεων. Επιπλέον, αυτό το ένα εκτελέσιμο, επεκταθούν με την προσθήκη νέων συναρτήσεων. Επιπλέον, αυτό το ένα εκτελέσιμο,
παράγει κατά την εκτέλεση του δύο ακόμα, τα οποία θα εκτελούνται περιοδικά με παράγει κατά την εκτέλεσή του δύο ακόμα, τα οποία θα εκτελούνται περιοδικά με
σκοπό την αυτόματη ενημέρωση του συστήματος και το κλείσιμο αχρησιμοποίητων σκοπό την αυτόματη ενημέρωση του συστήματος και το κλείσιμο αχρησιμοποίητων
θυρών. θυρών.
@@ -237,7 +237,7 @@
Μια από τις λειτουργίες του εκτελέσιμου harden πέρα από την σκλήρυνση του Μια από τις λειτουργίες του εκτελέσιμου harden πέρα από την σκλήρυνση του
συστήματος, είναι και η αυτόματη εγκατάσταση και σκλήρυνση του Docker. Αυτό συστήματος, είναι και η αυτόματη εγκατάσταση και σκλήρυνση του Docker. Αυτό
επιτυγχάνεται με την εγκατάσταση μιας τροποποιημένης έκδοσης του, η οποία επιτυγχάνεται με την εγκατάσταση μιας τροποποιημένης έκδοσής του, η οποία
δύναται να εκτελεστεί από οποιονδήποτε χρήστη του συστήματος, δίχως την ανάγκη δύναται να εκτελεστεί από οποιονδήποτε χρήστη του συστήματος, δίχως την ανάγκη
διαχειριστικών δικαιωμάτων. Έπειτα πραγματοποιείται αντικατάσταση του αρχικού διαχειριστικών δικαιωμάτων. Έπειτα πραγματοποιείται αντικατάσταση του αρχικού
container runtime (runC) με το runsc, από το gVisor. Αυτό, αναπτύχθηκε από την container runtime (runC) με το runsc, από το gVisor. Αυτό, αναπτύχθηκε από την
@@ -250,7 +250,7 @@ Google και αποτελεί μια ασφαλέστερη επιλογή απ
Επιπροσθέτως, ρυθμίζεται ο δαίμονας του Docker ώστε να εκτελείται με μεγαλύτερη Επιπροσθέτως, ρυθμίζεται ο δαίμονας του Docker ώστε να εκτελείται με μεγαλύτερη
ασφάλεια. Αυτό επιτυγχάνεται χρησιμοποιώντας παραμέτρους όπως ασφάλεια. Αυτό επιτυγχάνεται χρησιμοποιώντας παραμέτρους όπως
\textquote{no-new-privileges} για να μην μπορεί ένα δοχείο να λάβει περισσότερα \textquote{no-new-privileges} για να μην μπορεί ένα δοχείο να λάβει περισσότερα
δικαιώματα στην συνέχεια της εκτέλεσης του, καθώς και ενεργοποιώντας τις δικαιώματα στην συνέχεια της εκτέλεσής του, καθώς και ενεργοποιώντας τις
δυνατότητες του SELinux εάν αυτό υποστηρίζεται από την εκάστοτε υποκείμενη δυνατότητες του SELinux εάν αυτό υποστηρίζεται από την εκάστοτε υποκείμενη
διανομή του συστήματος. Τέλος, πραγματοποιείται εγκατάσταση της υπηρεσίας σε διανομή του συστήματος. Τέλος, πραγματοποιείται εγκατάσταση της υπηρεσίας σε
μορφή δοχείου ονόματι \textquote{watchtower}, η οποία έχει ως στόχο την μορφή δοχείου ονόματι \textquote{watchtower}, η οποία έχει ως στόχο την

View File

@@ -1,7 +1,7 @@
\chapter{Ανάπτυξη Συστήματος} \label{projectDevelopment} \chapter{Ανάπτυξη Συστήματος} \label{projectDevelopment}
\noindent Στην παρούσα ενότητα θα αναλυθούν οι τεχνολογίες που χρησιμοποιήθηκαν \noindent Στην παρούσα ενότητα θα αναλυθούν οι τεχνολογίες που χρησιμοποιήθηκαν
για την υλοποίηση του συστήματος, οι αποφάσεις που πάρθηκαν κατά την ανάπτυξη για την υλοποίηση του συστήματος, οι αποφάσεις που πάρθηκαν κατά την ανάπτυξή
του και οι σχεδιαστικές επιλογές που έγιναν. Επίσης, θα πραγματοποιηθεί του και οι σχεδιαστικές επιλογές που έγιναν. Επίσης, θα πραγματοποιηθεί
απεικόνιση των συσχετίσεων μεταξύ των συστατικών του συστήματος και θα αναλυθεί απεικόνιση των συσχετίσεων μεταξύ των συστατικών του συστήματος και θα αναλυθεί
περαιτέρω η λειτουργία τους. περαιτέρω η λειτουργία τους.
@@ -23,18 +23,18 @@
εργαλείου και των παρόχων νέφους, οφείλεται στο γεγονός ότι οι πάροχοι νέφους εργαλείου και των παρόχων νέφους, οφείλεται στο γεγονός ότι οι πάροχοι νέφους
δεν διαθέτουν ένα κοινό API για την διαχείριση των υποδομών τους. Απεναντίας, ο δεν διαθέτουν ένα κοινό API για την διαχείριση των υποδομών τους. Απεναντίας, ο
καθένας από αυτούς διαθέτει το δικό του API, το οποίο χρησιμοποιείται έμμεσα καθένας από αυτούς διαθέτει το δικό του API, το οποίο χρησιμοποιείται έμμεσα
μέσω του πίνακα ελέγχου του παρόχου που βρίσκεται στην ιστοσελίδα του, ενός μέσω του πίνακα ελέγχου του, που βρίσκεται στην ιστοσελίδα του, ενός δικού του
δικού του εργαλείου γραμμής εντολών, ή άμεσα μέσω της βιβλιοθήκης που παρέχει ο εργαλείου γραμμής εντολών, ή άμεσα μέσω της βιβλιοθήκης που παρέχει ο ίδιος. Η
ίδιος. Η libcloud αποτελεί μια προσπάθεια δημιουργίας ενός ενιαίου API, το libcloud αποτελεί μια προσπάθεια δημιουργίας ενός ενιαίου API, το οποίο
οποίο χρησιμοποιώντας τις ίδιες συναρτήσεις, επιχειρεί να προσκομίσει ίδια χρησιμοποιώντας τις ίδιες συναρτήσεις, επιχειρεί να προσκομίσει ίδια
αποτελέσματα ανεξαρτήτως του παρόχου νέφους που στοχεύει. αποτελέσματα ανεξαρτήτως του παρόχου νέφους που στοχεύει.
\clearpage \clearpage
Παρ όλη την προσπάθεια που καταβλήθηκε από την libcloud όμως, για την ενοποίηση Παρ' όλη την προσπάθεια που καταβλήθηκε από την libcloud όμως, για την
αυτή, οι διαφορές στους τρόπους λειτουργίας του κάθε παρόχου αρχίζουν να ενοποίηση αυτή, οι διαφορές στους τρόπους λειτουργίας του κάθε παρόχου αρχίζουν
εμφανίζονται σύντομα κατά την ανάπτυξη. Για το εργαλείο που προτείνει η παρούσα να εμφανίζονται σύντομα κατά την ανάπτυξη. Για το εργαλείο που προτείνει η
διπλωματική εργασία, χρειάζεται να γίνει χρήση των λειτουργιών παρούσα διπλωματική εργασία, χρειάζεται να γίνει χρήση των λειτουργιών
\textquote{Compute} της βιβλιοθήκης. Στην αρχική σελίδα της, αναφέρεται \textquote{Compute} της βιβλιοθήκης. Στην αρχική σελίδα της, αναφέρεται
υποστήριξη για πάνω από 50 παρόχους. Κατά την σελίδα τεκμηρίωσης υποστήριξη για πάνω από 50 παρόχους. Κατά την σελίδα τεκμηρίωσης
\footfullcite{libcloudProviders} για τις λειτουργίες \textquote{Compute}, \footfullcite{libcloudProviders} για τις λειτουργίες \textquote{Compute},
@@ -44,7 +44,7 @@
τους και εν γένει όσες λειτουργίες είναι απαραίτητες για την ολοκληρωμένη τους και εν γένει όσες λειτουργίες είναι απαραίτητες για την ολοκληρωμένη
λειτουργία του εργαλείου. Από αυτούς τους 48 παρόχους, οι 25 υποστηρίζουν και λειτουργία του εργαλείου. Από αυτούς τους 48 παρόχους, οι 25 υποστηρίζουν και
τις 9 συναρτήσεις. Ωστόσο, από αυτούς τους 25 έπρεπε να αφαιρεθούν οι 20 για τις 9 συναρτήσεις. Ωστόσο, από αυτούς τους 25 έπρεπε να αφαιρεθούν οι 20 για
λόγους όπως η μη ύπαρξη τεκμηρίωσης χρήσης από την libcloud, η μη συνέχιση λόγους όπως η μη ύπαρξη τεκμηρίωσης χρήσης από την libcloud, η μη συνέχιση της
λειτουργίας τους, η έλλειψη πληροφοριών τιμής ή δοκιμαστικής περιόδου για τις λειτουργίας τους, η έλλειψη πληροφοριών τιμής ή δοκιμαστικής περιόδου για τις
υπηρεσίες τους και η αδυναμία δημιουργίας λογαριασμού στην επίσημη σελίδα τους. υπηρεσίες τους και η αδυναμία δημιουργίας λογαριασμού στην επίσημη σελίδα τους.
Επομένως, υπάρχουν εν τέλει 5 πάροχοι νέφους που δύναται να χρησιμοποιηθούν Επομένως, υπάρχουν εν τέλει 5 πάροχοι νέφους που δύναται να χρησιμοποιηθούν
@@ -58,7 +58,7 @@
Παρακάτω θα διαπιστώσουμε πως ακόμα και με την χρήση της βιβλιοθήκης libcloud Παρακάτω θα διαπιστώσουμε πως ακόμα και με την χρήση της βιβλιοθήκης libcloud
και την επίσημη υποστήριξη όλων των λειτουργιών για κάθε πάροχο, υπήρχε η και την επίσημη υποστήριξη όλων των λειτουργιών για κάθε πάροχο, υπήρχε η
ανάγκη χρήσης της επίσημης βιβλιοθήκης της Azure για την δημιουργία Resource ανάγκη χρήσης της επίσημης βιβλιοθήκης της Azure για την δημιουργία Resource
Group \footfullcite{azure-mgmt-resource}, Virtual Network Group \footfullcite{azure-mgmt-resource} και Virtual Network
\footfullcite{azure-mgmt-network} διότι αυτές οι λειτουργίες δεν υποστηρίζονται \footfullcite{azure-mgmt-network} διότι αυτές οι λειτουργίες δεν υποστηρίζονται
μέσω της libcloud. Επιπροσθέτως, δίχως την υποστήριξη των λειτουργιών αυτών, ο μέσω της libcloud. Επιπροσθέτως, δίχως την υποστήριξη των λειτουργιών αυτών, ο
χρήστης θα ήταν υποχρεωμένος να δημιουργεί αυτούς τους πόρους χειροκίνητα ή να χρήστης θα ήταν υποχρεωμένος να δημιουργεί αυτούς τους πόρους χειροκίνητα ή να
@@ -98,7 +98,7 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
\end{savenotes} \end{savenotes}
Ο λόγος που οι εκδόσεις είναι συγκεκριμένες για τους παρόχους AWS και Azure, Ο λόγος που οι εκδόσεις είναι συγκεκριμένες για τους παρόχους AWS και Azure,
είναι διότι ο αριθμός των διαθέσιμων διανομών και εκδόσεων τους είναι είναι διότι ο αριθμός των διαθέσιμων διανομών και εκδόσεών τους είναι
υπερβολικά μεγάλος και κατά την εκτέλεση της λειτουργίας δημιουργίας λίστας υπερβολικά μεγάλος και κατά την εκτέλεση της λειτουργίας δημιουργίας λίστας
τους ή κατά τον έλεγχο της ορθότητας δεδομένων που εισάγει ο χρήστης, το τους ή κατά τον έλεγχο της ορθότητας δεδομένων που εισάγει ο χρήστης, το
πρόγραμμα θα καθυστερούσε σε τεράστιο βαθμό να ολοκληρωθεί. πρόγραμμα θα καθυστερούσε σε τεράστιο βαθμό να ολοκληρωθεί.
@@ -167,7 +167,7 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
\item \textbf{Το εργαλείο πρέπει να εμφανίζει μηνύματα λάθους σε περίπτωση \item \textbf{Το εργαλείο πρέπει να εμφανίζει μηνύματα λάθους σε περίπτωση
που κάτι πάει στραβά κατά την εκτέλεση} που κάτι πάει στραβά κατά την εκτέλεση}
\item \textbf{το εργαλείο πρέπει να υποστηρίζει την διαδραστική διαμόρφωση \item \textbf{Το εργαλείο πρέπει να υποστηρίζει την διαδραστική διαμόρφωση
του αρχείου ρυθμίσεων του} του αρχείου ρυθμίσεων του}
\item \textbf{Το εργαλείο πρέπει να υποστηρίζει την εκτέλεση εξωτερικού \item \textbf{Το εργαλείο πρέπει να υποστηρίζει την εκτέλεση εξωτερικού
@@ -176,7 +176,7 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
\item \textbf{Το εργαλείο πρέπει να υποστηρίζει την εγκατάσταση δοχείων \item \textbf{Το εργαλείο πρέπει να υποστηρίζει την εγκατάσταση δοχείων
στις εικονικές μηχανές που δημιουργεί, κατά την διάρκεια της στις εικονικές μηχανές που δημιουργεί, κατά την διάρκεια της
σκλήρυνσής τους, μέσω ενός αρχείου docker-compose.yml που θα σκλήρυνσής τους, μέσω ενός αρχείου docker-compose.yml που θα
βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο αρχείο} βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο αρχείο του}
\item \textbf{Το εργαλείο πρέπει να διαθέτει λειτουργία εμφάνισης όλων των \item \textbf{Το εργαλείο πρέπει να διαθέτει λειτουργία εμφάνισης όλων των
διαθέσιμων εντολών του} διαθέσιμων εντολών του}
@@ -210,7 +210,7 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
που έχει χρησιμοποιήσει προγράμματα γραμμής εντολών στο παρελθόν} που έχει χρησιμοποιήσει προγράμματα γραμμής εντολών στο παρελθόν}
\item \textbf{Το εργαλείο πρέπει να δημιουργεί ξεχωριστό αρχείο για τις \item \textbf{Το εργαλείο πρέπει να δημιουργεί ξεχωριστό αρχείο για τις
ρυθμίσεις του στον ίδιο φάκελο που βρίσκεται και το εκτελέσιμο αρχείο} ρυθμίσεις του στον ίδιο φάκελο που βρίσκεται και το εκτελέσιμο αρχείο του}
\item \textbf{Το εργαλείο πρέπει να κρατάει αρχείο των διευθύνσεων \item \textbf{Το εργαλείο πρέπει να κρατάει αρχείο των διευθύνσεων
IP των εικονικών μηχανών που δημιουργεί ώστε να μπορούν να IP των εικονικών μηχανών που δημιουργεί ώστε να μπορούν να
@@ -288,10 +288,11 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
Ουσιαστικά, κατά την πραγματική χρήση του SecDep υπάρχουν πάντοτε δύο οντότητες Ουσιαστικά, κατά την πραγματική χρήση του SecDep υπάρχουν πάντοτε δύο οντότητες
που αλληλεπιδρούν μεταξύ τους. Ο χρήστης και ο πάροχος νέφους. Ο χρήστης μπορεί που αλληλεπιδρούν μεταξύ τους. Ο χρήστης και ο πάροχος νέφους. Ο χρήστης μπορεί
να ζητήσει πληροφορίες για διαθέσιμους πόρους όπως οι εικονικές του μηχανές ή να ζητήσει πληροφορίες για διαθέσιμους πόρους όπως οι εικονικές του μηχανές ή
τα συστατικά που έχει στην διάθεση του για την δημιουργία τους όπως οι τα συστατικά που έχει στην διάθεσή του για την δημιουργία τους όπως οι
διανομές, τα μεγέθη και οι τοποθεσίες τους. Αυτή η αλληλεπίδραση μεταξύ του διανομές, τα μεγέθη και οι τοποθεσίες τους. Αυτή η αλληλεπίδραση μεταξύ του
χρήστη και του παρόχου νέφους, απεικονίζεται στο σχήμα χρήστη και του παρόχου νέφους, απεικονίζεται στο σχήμα
\ref{fig:sequenceDiagram}, το οποίο δημιουργήθηκε με το εργαλείο mermaid. \ref{fig:sequenceDiagram}, το οποίο δημιουργήθηκε με το εργαλείο
\textquote{mermaid}.
\begin{center} \begin{center}
\begin{figure}[!ht] \begin{figure}[!ht]
@@ -368,7 +369,7 @@ pydeps -T png --cluster --include-missing --max-bacon=1 --noshow --reverse --ran
\clearpage \clearpage
\section{Αρχιτεκτονική} \label{architecture} \section{Αρχιτεκτονική Εργαλείου} \label{architecture}
Οι διαθέσιμες συναρτήσεις και μεταβλητές του secdep.py, απεικονίζονται στα Οι διαθέσιμες συναρτήσεις και μεταβλητές του secdep.py, απεικονίζονται στα
σχήματα \ref{fig:secdepFunctions} και \ref{fig:secdepVariables} αντίστοιχα. Η σχήματα \ref{fig:secdepFunctions} και \ref{fig:secdepVariables} αντίστοιχα. Η
@@ -424,7 +425,7 @@ Docker. Το harden, εκτελείται μόνο στις εικονικές
\item \textbf{image} \item \textbf{image}
\item \textbf{confirm}: Για επιβεβαίωση της δημιουργίας της \item \textbf{confirm}: Για επιβεβαίωση της δημιουργίας της
εικονικής μηχανής χωρίς να χρειαστεί επιπλέον επιβεβαίωση από εικονικής μηχανής χωρίς να χρειαστεί χειροκίνητη επιβεβαίωση από
τον χρήστη. τον χρήστη.
\item \textbf{deploy}: Για την εκτέλεση του harden. \item \textbf{deploy}: Για την εκτέλεση του harden.

View File

@@ -214,7 +214,7 @@ IP της και η εντολή που μπορεί να εκτελέσει π
εργαλείο λαμβάνοντας υπόψιν την θύρα που θα χρησιμοποιηθεί (σε περίπτωση που η εργαλείο λαμβάνοντας υπόψιν την θύρα που θα χρησιμοποιηθεί (σε περίπτωση που η
εικονική μηχανή έχει σκληρύνει), το μονοπάτι μέχρι το κλειδί SSH που εικονική μηχανή έχει σκληρύνει), το μονοπάτι μέχρι το κλειδί SSH που
δημιουργήθηκε μαζί με την μηχανή στον ίδιο φάκελο με το εργαλείο και την δημιουργήθηκε μαζί με την μηχανή στον ίδιο φάκελο με το εργαλείο και την
διεύθυνση της. Εάν ο χρήστης δεν διαθέτει πρόγραμμα ικανό να συνδεθεί μέσω SSH διεύθυνσή της. Εάν ο χρήστης δεν διαθέτει πρόγραμμα ικανό να συνδεθεί μέσω SSH
σε έναν απομακρυσμένο διακομιστή, υποστηρίζεται και η παράμετρος σε έναν απομακρυσμένο διακομιστή, υποστηρίζεται και η παράμετρος
\textquote{--ssh}. Χωρίς την παράμετρο \textquote{--yes}, θα ζητηθεί από τον \textquote{--ssh}. Χωρίς την παράμετρο \textquote{--yes}, θα ζητηθεί από τον
χρήστη να επιβεβαιώσει την δημιουργία της εικονικής μηχανής παρέχοντας χρήστη να επιβεβαιώσει την δημιουργία της εικονικής μηχανής παρέχοντας
@@ -222,7 +222,7 @@ IP της και η εντολή που μπορεί να εκτελέσει π
Με την προσθήκη της παραμέτρου \textquote{--deploy}, θα εκτελεστεί η ίδια Με την προσθήκη της παραμέτρου \textquote{--deploy}, θα εκτελεστεί η ίδια
διαδικασία αλλά με την διαφορά πως θα πραγματοποιηθεί εκτέλεση και του αρχείου διαδικασία αλλά με την διαφορά πως θα πραγματοποιηθεί εκτέλεση και του αρχείου
harden στην εικονική μηχανή το οποίο θα σκληρύνει το λειτουργικό της σύστημα harden στην εικονική μηχανή, το οποίο θα σκληρύνει το λειτουργικό της σύστημα
και θα εγκαταστήσει την μηχανή δοχείων Docker την οποία επίσης θα σκληρύνει. και θα εγκαταστήσει την μηχανή δοχείων Docker την οποία επίσης θα σκληρύνει.
\clearpage \clearpage
@@ -333,8 +333,8 @@ python3 secdep.py --provider aws --awsregion us-east-2 --list
Με την παρακάτω εντολή, ο χρήστης λαμβάνει μια λίστα με τις διαθέσιμες Με την παρακάτω εντολή, ο χρήστης λαμβάνει μια λίστα με τις διαθέσιμες
εικονικές μηχανές του παρόχου Amazon που έχουν δημιουργηθεί στην περιοχή εικονικές μηχανές του παρόχου Amazon που έχουν δημιουργηθεί στην περιοχή
\textquote{eu-north-1} και επιλέγει μια από αυτές για να διαγραφεί. Μετά από eu-north-1 και επιλέγει μια από αυτές για διαγραφή. Μετά από επιτυχή διαγραφή,
επιτυχή διαγραφή, λαμβάνει επιβεβαίωση στην οθόνη του. λαμβάνει επιβεβαίωση στην οθόνη του.
\begin{listing}[!ht] \begin{listing}[!ht]
\begin{bashcode} \begin{bashcode}
@@ -348,27 +348,14 @@ python3 secdep.py --provider aws --action delete --awsregion eu-north-1
Εάν ήθελε να διαγράψει όλες τις εικονικές μηχανές της περιοχής, η επιλογή της Εάν ήθελε να διαγράψει όλες τις εικονικές μηχανές της περιοχής, η επιλογή της
παραμέτρου \textquote{--action}, από \textquote{delete} θα έπρεπε να παραμέτρου \textquote{--action}, από \textquote{delete} θα έπρεπε να
αντικατασταθεί σε \textquote{deleteall}. Με παρόμοιο τρόπο υποστηρίζονται και αντικατασταθεί σε \textquote{deleteall}. Με παρόμοιο τρόπο υποστηρίζονται και
εντολές για εκκίνηση, επανεκκίνηση ή διακοπή εικονικών μηχανών. εντολές για εκκίνηση, επανεκκίνηση ή παύση εικονικών μηχανών.
\clearpage \clearpage
Πιο λεπτομερείς οδηγίες χρήσης και εγκατάστασης περιέχονται και στην σελίδα του Πιο λεπτομερείς οδηγίες χρήσης και εγκατάστασης περιέχονται και στην σελίδα του
αποθετηρίου του SecDep \footfullcite{secdep} μέσω του αρχείου αποθετηρίου του SecDep \footfullcite{secdep} μέσω του αρχείου
\textquote{README.md}. Στο σχήμα του λογότυπου του SecDep, περιέχεται \textquote{README.md}. Στην αρχική του σελίδα, εμφανίζονται τα περιεχόμενα του
υπερσύνδεσμος που οδηγεί στο αποθετήριο όπου και εμφανίζονται τα περιεχόμενα αρχείου οδηγιών. Εκεί, ο χρήστης μπορεί να βρει πληροφορίες σχετικά με την
του αρχείου οδηγιών. παραμετροποίηση και των υπόλοιπων παρόχων νέφους, χρήσιμες ρυθμίσεις που
καθιστούν την εκτέλεση του SecDep πιο εύκολη, καθώς και περισσότερες οθόνες
\begin{center} εκτέλεσης.
\begin{figure}[!ht]
\centering
\href{https://git.konsthol.eu/konsthol/SecDep}{
\includegraphics[width = 1.0\textwidth]{Figures/secdep_logo.png}}
\captionof{figure}{Λογότυπο του SecDep}
\label{fig:secdep_logo}
\end{figure}
\vspace*{-30pt}
\end{center}
Εκεί, ο χρήστης μπορεί να βρει πληροφορίες σχετικά με την παραμετροποίηση και
των υπόλοιπων παρόχων νέφους, χρήσιμες ρυθμίσεις που καθιστούν την εκτέλεση του
SecDep πιο εύκολη, καθώς και περισσότερες οθόνες εκτέλεσης.

View File

@@ -1,9 +1,9 @@
\chapter{Πειραματική Αποτίμηση Εργαλείου} \label{experimentationANDresults} \chapter{Πειραματική Αποτίμηση Εργαλείου} \label{experimentationANDresults}
\noindent Το εργαλείο που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας \noindent Το εργαλείο που αναπτύχθηκε στα πλαίσια της διπλωματικής αυτής
αυτής, έχει τρεις βασικούς στόχους. Την δημιουργία εικονικών μηχανών κατά μήκος εργασίας, έχει τρεις βασικούς στόχους. Την δημιουργία εικονικών μηχανών κατά
πολλών παρόχων νέφους, την σκλήρυνση του λειτουργικού συστήματος τους και την μήκος πολλών παρόχων νέφους, την σκλήρυνση του λειτουργικού συστήματός τους και
σκλήρυνση της μηχανής δοχείων Docker που εγκαθιστά σε αυτές. Στην παρούσα την σκλήρυνση της μηχανής δοχείων Docker που εγκαθιστά σε αυτές. Στην παρούσα
ενότητα θα παρουσιαστούν τα αποτελέσματα της αξιολόγησης της ασφάλειας των ενότητα θα παρουσιαστούν τα αποτελέσματα της αξιολόγησης της ασφάλειας των
εικονικών μηχανών που δημιουργήθηκαν, χρησιμοποιώντας τρία διαφορετικά εργαλεία εικονικών μηχανών που δημιουργήθηκαν, χρησιμοποιώντας τρία διαφορετικά εργαλεία
αξιολόγησης. Τα εργαλεία αυτά, με την σειρά που θα αναλυθούν είναι το Vuls, το αξιολόγησης. Τα εργαλεία αυτά, με την σειρά που θα αναλυθούν είναι το Vuls, το
@@ -13,7 +13,7 @@ Lynis και το LUNAR.
Όλα τα εργαλεία αξιολόγησης που χρησιμοποιήθηκαν στην παρούσα εργασία, είναι Όλα τα εργαλεία αξιολόγησης που χρησιμοποιήθηκαν στην παρούσα εργασία, είναι
εργαλεία ανοιχτού κώδικα και διατίθενται δωρεάν στο κοινό. Τα εργαλεία αυτά εργαλεία ανοιχτού κώδικα και διατίθενται δωρεάν στο κοινό. Τα εργαλεία αυτά
επιλέχθηκαν με βάση την δημοτικότητα τους, την ευκολία εγκατάστασης και χρήσης επιλέχθηκαν με βάση την δημοτικότητά τους, την ευκολία εγκατάστασης και χρήσης
τους και την ποικιλία των ελέγχων που πραγματοποιούν. Στην συνέχεια θα τους και την ποικιλία των ελέγχων που πραγματοποιούν. Στην συνέχεια θα
παρουσιαστούν τα εργαλεία αυτά και ο τρόπος με τον οποίο χρησιμοποιήθηκαν. παρουσιαστούν τα εργαλεία αυτά και ο τρόπος με τον οποίο χρησιμοποιήθηκαν.
@@ -85,11 +85,11 @@ Lynis και το LUNAR.
\item \textbf{Εκτεταμένη σάρωση}: \item \textbf{Εκτεταμένη σάρωση}:
Στο δεύτερο επίπεδο αξιολόγησης, το Vuls χρειάζεται να συνδεθεί ως ένας Στο δεύτερο επίπεδο αξιολόγησης, το Vuls χρειάζεται να συνδεθεί ως ένας
χρήστης ικανός να εκτελέσει εντολές διαχειριστικού επιπέδου. Η σάρωση χρήστης ικανός να εκτελέσει εντολές διαχειριστικού επιπέδου. Η σάρωση
που πραγματοποιείται είναι πιο εκτεταμένη και περιλαμβάνει ελέγχους που που πραγματοποιείται είναι πιο εκτεταμένη και περιλαμβάνει ελέγχους που
απαιτούν την ύπαρξη πακέτων λογισμικού στον απομακρυσμένο διακομιστή απαιτούν την ύπαρξη πακέτων λογισμικού στον απομακρυσμένο διακομιστή
όπως το lsof, debian-goodies και reboot-notifier. όπως τα lsof, debian-goodies και reboot-notifier.
\end{itemize} \end{itemize}
@@ -128,13 +128,14 @@ Lynis και το LUNAR.
Το Lynis \footfullcite{lynis} είναι το δεύτερο εργαλείο ανοιχτού κώδικα που Το Lynis \footfullcite{lynis} είναι το δεύτερο εργαλείο ανοιχτού κώδικα που
χρησιμοποιήθηκε για την αξιολόγηση της ασφάλειας των εικονικών μηχανών. Σε χρησιμοποιήθηκε για την αξιολόγηση της ασφάλειας των εικονικών μηχανών. Σε
αντίθεση με το Vuls, το Lynis εκτελείται αποκλειστικά στον απομακρυσμένο αντίθεση με το Vuls, το Lynis εκτελείται αποκλειστικά στον απομακρυσμένο
διακομιστή. Πραγματοποιεί μια εκτενή ανάλυση του συστήματος εντοπίζοντας πιθανά διακομιστή. Πραγματοποιεί μια εκτενή ανάλυση του συστήματος εντοπίζοντας
σημεία που μπορεί να αποτελέσουν σημεία εισόδου για επιτιθέμενους με βάση τις απροσεξίες ή ελλείψεις ρυθμίσεων που μπορεί να αποτελέσουν σημεία εισόδου για
βέλτιστες πρακτικές ασφάλειας. Έπειτα, επιστρέφει στον χρήστη μια λεπτομερή επιτιθέμενους με βάση τις βέλτιστες πρακτικές ασφαλείας. Έπειτα, επιστρέφει
αναφορά με τα ευρήματα του και προτάσεις για την επίλυση τους. Στο τελευταίο στον χρήστη μια λεπτομερή αναφορά με τα ευρήματά του και προτάσεις για την
κομμάτι της αναφοράς, παρέχεται και μια βαθμολογία της ασφάλειας του συστήματος επίλυσή τους. Στο τελευταίο κομμάτι της αναφοράς, παρέχεται και μια βαθμολογία
η οποία κυμαίνεται από το 0 έως το 100. Εκτελείται εύκολα σε κάθε σύστημα Linux της ασφάλειας του συστήματος η οποία κυμαίνεται από το 0 έως το 100. Εκτελείται
διότι πρόκειται για ένα απλό εκτελέσιμο αρχείο bash. εύκολα σε κάθε σύστημα Linux διότι πρόκειται για ένα απλό εκτελέσιμο αρχείο
bash.
Στο σχήμα \ref{fig:lynisScan} απεικονίζεται ένα κομμάτι της αναφοράς που Στο σχήμα \ref{fig:lynisScan} απεικονίζεται ένα κομμάτι της αναφοράς που
επιστρέφει. επιστρέφει.
@@ -156,7 +157,7 @@ Lynis και το LUNAR.
και το Lynis, εκτελείται στον διακομιστή του οποίου την ασφάλεια αξιολογεί. Ο και το Lynis, εκτελείται στον διακομιστή του οποίου την ασφάλεια αξιολογεί. Ο
τρόπος λειτουργίας του είναι προσεγγίσιμος και απλός. Εκτελεί μια σειρά ελέγχων τρόπος λειτουργίας του είναι προσεγγίσιμος και απλός. Εκτελεί μια σειρά ελέγχων
στο σύστημα χρησιμοποιώντας το κριτήριο αναφοράς CIS, καθώς και άλλα πλαίσια στο σύστημα χρησιμοποιώντας το κριτήριο αναφοράς CIS, καθώς και άλλα πλαίσια
και επιστρέφει στον χρήστη μια αναφορά με τα ευρήματα του. Παρομοίως με το και επιστρέφει στον χρήστη μια αναφορά με τα ευρήματά του. Παρομοίως με το
Lynis, στο τέλος της αναφοράς του περιέχεται ο αριθμός των ελέγχων που Lynis, στο τέλος της αναφοράς του περιέχεται ο αριθμός των ελέγχων που
εκτελέστηκαν, σε συνδυασμό με τον αριθμό αποτυχιών και επιτυχιών τους. εκτελέστηκαν, σε συνδυασμό με τον αριθμό αποτυχιών και επιτυχιών τους.
@@ -189,14 +190,14 @@ Lynis, στο τέλος της αναφοράς του περιέχεται ο
Οι εντολές που χρησιμοποιήθηκαν για την δημιουργία τους, έχουν την παρακάτω Οι εντολές που χρησιμοποιήθηκαν για την δημιουργία τους, έχουν την παρακάτω
μορφή διότι έχει εισαχθεί το εκτελέσιμο αρχείο secdep.py στο PATH του μορφή διότι έχει εισαχθεί το εκτελέσιμο αρχείο secdep.py στο PATH του
συστήματος και έχει δηλωθεί ως alias της το secdep. Στην περίπτωση που αυτά τα συστήματος και έχει δηλωθεί ως alias του το secdep. Στην περίπτωση που αυτά τα
βήματα δεν έχουν ληφθεί θα πρέπει οι εντολές να είναι της μορφής: βήματα δεν έχουν ληφθεί θα πρέπει οι εντολές να είναι της μορφής:
\begin{bashcode} \begin{bashcode}
python3 secdep.py <παράμετροι χρήστη> python3 secdep.py <παράμετροι χρήστη>
\end{bashcode} \end{bashcode}
Χρησιμοποιήθηκε η εξής εντολή για την δημιουργία των εικονικής μηχανής χωρίς Χρησιμοποιήθηκε η εξής εντολή για την δημιουργία της εικονικής μηχανής χωρίς
σκλήρυνση λειτουργικού συστήματος: σκλήρυνση λειτουργικού συστήματος:
\begin{listing}[!ht] \begin{listing}[!ht]
@@ -212,8 +213,8 @@ secdep -P aws -c -n test-node -s t3.micro -i ami-08869bacfa1188ec9 --yes
Για την δημιουργία εικονικής μηχανής με σκλήρυνση λειτουργικού συστήματος, Για την δημιουργία εικονικής μηχανής με σκλήρυνση λειτουργικού συστήματος,
εγκατάσταση και σκλήρυνση της μηχανής δοχείων Docker και εισαγωγής ενός αρχείου εγκατάσταση και σκλήρυνση της μηχανής δοχείων Docker και εισαγωγής ενός αρχείου
docker-compose.yml που βρίσκεται στον ίδιο φάκελο με το SecDep χρησιμοποιήθηκε docker-compose.yml που βρίσκεται στον ίδιο φάκελο με το secdep.py
η εντολή: χρησιμοποιήθηκε η εντολή:
\begin{listing}[!ht] \begin{listing}[!ht]
\begin{bashcode} \begin{bashcode}
@@ -231,7 +232,7 @@ secdep -P aws -c -n test-node -s t3.micro -i ami-08869bacfa1188ec9 --yes --docke
\section{Εγκατάσταση/Χρήση των εργαλείων αξιολόγησης} \label{toolsInstallation} \section{Εγκατάσταση/Χρήση των εργαλείων αξιολόγησης} \label{toolsInstallation}
Αφότου έχουν δημιουργηθεί οι εικονικές μηχανές, μπορεί να ξεκινήσει η Αφότου έχουν δημιουργηθεί οι εικονικές μηχανές, μπορεί να ξεκινήσει η
διαδικασία αξιολόγησης της ασφάλειας τους. Αρχικά, θα παρουσιαστεί η διαδικασία διαδικασία αξιολόγησης της ασφάλειάς τους. Αρχικά, θα παρουσιαστεί η διαδικασία
εγκατάστασης του κάθε εργαλείου και έπειτα θα παρουσιαστεί η διαδικασία χρήσης εγκατάστασης του κάθε εργαλείου και έπειτα θα παρουσιαστεί η διαδικασία χρήσης
τους. τους.
@@ -253,11 +254,11 @@ https://raw.githubusercontent.com\
\end{listing} \end{listing}
Ορθή πρακτική θα ήταν να γίνει έλεγχος του περιεχομένου του αρχείου πριν την Ορθή πρακτική θα ήταν να γίνει έλεγχος του περιεχομένου του αρχείου πριν την
εκτέλεση της εντολής αυτής για να βεβαιωθεί κανείς ότι δεν περιέχει κάποιο εκτέλεση της εντολής αυτής για να βεβαιωθεί κανείς ότι δεν περιέχει κακόβουλο
κακόβουλο κώδικα. Στην συνέχεια, θα πρέπει να δημιουργηθεί ο φάκελος που θα κώδικα. Στην συνέχεια, θα πρέπει να δημιουργηθεί ο φάκελος που θα περιέχει τα
περιέχει τα δεδομένα των πηγών από όπου και θα αντλεί τις πληροφορίες δεδομένα των πηγών από όπου και θα αντλεί τις πληροφορίες ευπαθειών, καθώς και
ευπαθειών, καθώς και ένα αρχείο config.toml στο οποίο θα δηλωθούν τα ένα αρχείο config.toml στο οποίο θα δηλωθούν τα διαπιστευτήρια των διακομιστών
διαπιστευτήρια των διακομιστών που θα αξιολογηθούν. που θα αξιολογηθούν.
Αυτό επιτυγχάνεται με τις παρακάτω εντολές: Αυτό επιτυγχάνεται με τις παρακάτω εντολές:
@@ -265,7 +266,7 @@ https://raw.githubusercontent.com\
\begin{bashcode} \begin{bashcode}
mkdir -p /usr/share/vuls-data mkdir -p /usr/share/vuls-data
\end{bashcode} \end{bashcode}
\caption{Δημιουργία φακέλου} \caption{Δημιουργία φακέλου δεδομένων του Vuls}
\label{lst:create-vuls-data-folder} \label{lst:create-vuls-data-folder}
\vspace*{-10pt} \vspace*{-10pt}
\end{listing} \end{listing}
@@ -326,10 +327,11 @@ ssh-keyscan -H -p <θύρα SSH> <ip του διακομιστή> >> ~/.ssh/know
\vspace*{-10pt} \vspace*{-10pt}
\end{listing} \end{listing}
Επιπροσθέτως, θα πρέπει να μεταφερθεί στον υπολογιστή που έχει εγκατεστημένο το Επιπροσθέτως, θα πρέπει να μεταφερθεί στον υπολογιστή που είναι εγκατεστημένο
Vuls, το ιδιωτικό κλειδί του διακομιστή (ένα αρχείο ονόματι secdep), το οποίο το Vuls, το ιδιωτικό κλειδί του διακομιστή (ένα αρχείο ονόματι secdep), το
δημιουργείται στον ίδιο φάκελο με το εργαλείο SecDep. Για την αρχικοποίηση της οποίο δημιουργείται στον ίδιο φάκελο που βρίσκεται το secdep.py. Για την
βάσης δεδομένων ευπαθειών του Vuls, εκτελούνται με σειρά οι εντολές: αρχικοποίηση της βάσης δεδομένων ευπαθειών του Vuls, εκτελούνται με σειρά οι
εντολές:
\begin{listing}[!ht] \begin{listing}[!ht]
\begin{bashcode} \begin{bashcode}
@@ -455,7 +457,7 @@ vuls report -format-json
να κατεβάσουμε στον διακομιστή μας το εργαλείο VulsRepo να κατεβάσουμε στον διακομιστή μας το εργαλείο VulsRepo
\footfullcite{vulsrepo}. Θα πρέπει να μεταφερθούμε σε έναν φάκελο της επιλογής \footfullcite{vulsrepo}. Θα πρέπει να μεταφερθούμε σε έναν φάκελο της επιλογής
μας και έπειτα να το κατεβάσουμε μέσω της εντολής git και να αρχικοποιήσουμε το μας και έπειτα να το κατεβάσουμε μέσω της εντολής git και να αρχικοποιήσουμε το
αρχείο ρυθμίσεων του. Αυτά τα βήματα επιτυγχάνονται με τις παρακάτω εντολές: αρχείο ρυθμίσεών του. Αυτά τα βήματα επιτυγχάνονται με τις παρακάτω εντολές:
\begin{listing}[ht] \begin{listing}[ht]
\begin{bashcode} \begin{bashcode}
@@ -527,7 +529,7 @@ EOF
απλή. Εδώ τα βήματα που πρέπει να ακολουθηθούν είναι η σύνδεση στους απλή. Εδώ τα βήματα που πρέπει να ακολουθηθούν είναι η σύνδεση στους
διακομιστές της Amazon μέσω SSH (για την οποία η εντολή είναι έτοιμη μετά την διακομιστές της Amazon μέσω SSH (για την οποία η εντολή είναι έτοιμη μετά την
δημιουργία κάθε διακομιστή), η εγκατάσταση του εργαλείου μέσω git και η δημιουργία κάθε διακομιστή), η εγκατάσταση του εργαλείου μέσω git και η
εκτέλεση του. Αυτά πραγματοποιούνται ως εξής: εκτέλεσή του. Αυτά πραγματοποιούνται ως εξής:
\begin{listing}[!ht] \begin{listing}[!ht]
\begin{bashcode} \begin{bashcode}
@@ -569,7 +571,7 @@ cd lynis
\begin{bashcode} \begin{bashcode}
./lynis audit system > ~/lynis.log ./lynis audit system > ~/lynis.log
\end{bashcode} \end{bashcode}
\caption{Εκκίνηση αξιολόγησης (και αποθήκευση της) μέσω του Lynis} \caption{Εκκίνηση αξιολόγησης (και αποθήκευσή της) μέσω του Lynis}
\label{lst:lynis-audit} \label{lst:lynis-audit}
\vspace*{-10pt} \vspace*{-10pt}
\end{listing} \end{listing}
@@ -602,7 +604,7 @@ cd lunar
\begin{bashcode} \begin{bashcode}
./lunar.sh -a > ~/lunar.log ./lunar.sh -a > ~/lunar.log
\end{bashcode} \end{bashcode}
\caption{Εκκίνηση αξιολόγησης (και αποθήκευση της) μέσω του LUNAR} \caption{Εκκίνηση αξιολόγησης (και αποθήκευσή της) μέσω του LUNAR}
\label{lst:lunar-audit} \label{lst:lunar-audit}
\vspace*{-10pt} \vspace*{-10pt}
\end{listing} \end{listing}
@@ -613,7 +615,7 @@ cd lunar
παρήχθησαν από τα εργαλεία αξιολόγησης αναδεικνύουν τις διαφορές στην ασφάλεια παρήχθησαν από τα εργαλεία αξιολόγησης αναδεικνύουν τις διαφορές στην ασφάλεια
των δύο διακομιστών. Στην παρούσα ενότητα θα αναλυθούν τα αποτελέσματα του κάθε των δύο διακομιστών. Στην παρούσα ενότητα θα αναλυθούν τα αποτελέσματα του κάθε
εργαλείου αξιολόγησης ξεχωριστά και έπειτα θα βγει μια συμπερασματική εργαλείου αξιολόγησης ξεχωριστά και έπειτα θα βγει μια συμπερασματική
αξιολόγηση τους. αξιολόγησή τους.
\subsection{Αποτελέσματα αξιολόγησης με το Vuls} \label{vulsResults} \subsection{Αποτελέσματα αξιολόγησης με το Vuls} \label{vulsResults}
@@ -867,9 +869,9 @@ cat lunar.log | grep -i "warnings:" | awk '{print $2}'
Επιπρόσθετα, η σκλήρυνση της μηχανής δοχείων Docker δεν απεικονίζεται σε κανένα Επιπρόσθετα, η σκλήρυνση της μηχανής δοχείων Docker δεν απεικονίζεται σε κανένα
από τα παραπάνω γραφήματα. Αυτό συμβαίνει διότι δεν υπάρχει εργαλείο που να από τα παραπάνω γραφήματα. Αυτό συμβαίνει διότι δεν υπάρχει εργαλείο που να
μπορεί να αξιολογήσει την ασφάλεια του Docker όταν αυτό χρησιμοποιείται χωρίς μπορεί να αξιολογήσει την ασφάλεια του Docker όταν αυτό χρησιμοποιείται χωρίς
διαχειριστικά δικαιώματα. Ωστόσο, η σκλήρυνση του έχει πετύχει διότι η απαλλαγή διαχειριστικά δικαιώματα. Ωστόσο, η σκλήρυνσή του έχει πετύχει διότι η απαλλαγή
από τον περιορισμό των διαχειριστικών δικαιωμάτων έχει ως αποτέλεσμα την μείωση από τον περιορισμό των διαχειριστικών δικαιωμάτων έχει ως αποτέλεσμα την μείωση
της επιφάνειας επίθεσης σε περίπτωση παραβίασης του, ενώ η αντικατάσταση του της επιφάνειας επίθεσης σε περίπτωση παραβίασής του, ενώ η αντικατάσταση του
runC με το runsc μειώνει την πιθανότητα παραβίασης. Για την ενίσχυση της runC με το runsc μειώνει την πιθανότητα παραβίασης. Για την ενίσχυση της
ασφάλειας του Docker, εκτελούνται και βήματα όπως η ρύθμιση της παραμέτρου του ασφάλειας του Docker, εκτελούνται και βήματα όπως η ρύθμιση της παραμέτρου του
δαίμονα \textquote{no-new-privileges} που αποτρέπει τα δοχεία από το να δαίμονα \textquote{no-new-privileges} που αποτρέπει τα δοχεία από το να

View File

@@ -7,7 +7,7 @@
τις μεγαλύτερες επαναστατικές εξελίξεις της τελευταίας δεκαετίας, δίνοντας την τις μεγαλύτερες επαναστατικές εξελίξεις της τελευταίας δεκαετίας, δίνοντας την
δυνατότητα στους προγραμματιστές να αναπτύσσουν και να εκτελούν εφαρμογές σε δυνατότητα στους προγραμματιστές να αναπτύσσουν και να εκτελούν εφαρμογές σε
οποιοδήποτε περιβάλλον, χωρίς να χρειάζεται να ανησυχούν για τα χαρακτηριστικά οποιοδήποτε περιβάλλον, χωρίς να χρειάζεται να ανησυχούν για τα χαρακτηριστικά
του συστήματος στο οποίο θα εκτελεστεί η εφαρμογή. Ωστόσο, η χρήση των παραπάνω του συστήματος στο οποίο θα εκτελούνται. Ωστόσο, η χρήση των παραπάνω
τεχνολογιών, όπως και οποιασδήποτε άλλης τεχνολογίας, προϋποθέτει την υπακοή σε τεχνολογιών, όπως και οποιασδήποτε άλλης τεχνολογίας, προϋποθέτει την υπακοή σε
κάποιους κανόνες και πρωτόκολλα, προκειμένου να επιτευχθεί η αποδοτικότερη και κάποιους κανόνες και πρωτόκολλα, προκειμένου να επιτευχθεί η αποδοτικότερη και
ασφαλέστερη λειτουργία τους. ασφαλέστερη λειτουργία τους.
@@ -38,17 +38,17 @@ SecDep, είναι ικανό να δημιουργήσει εικονικές
Επιπλέον, το SecDep μπορεί να αποτελέσει ένα χρήσιμο εργαλείο για την Επιπλέον, το SecDep μπορεί να αποτελέσει ένα χρήσιμο εργαλείο για την
εκπαίδευση σε θέματα ασφάλειας, καθώς ο χρήστης έχει την δυνατότητα να εκπαίδευση σε θέματα ασφάλειας, καθώς ο χρήστης έχει την δυνατότητα να
μελετήσει τον πηγαίο κώδικα του και να προσθέσει τις δικές του λειτουργίες, μελετήσει τον πηγαίο κώδικά του και να προσθέσει τις δικές του λειτουργίες,
προκειμένου να επεκτείνει την λειτουργικότητα του. Το εργαλείο διανέμεται με προκειμένου να επεκτείνει την λειτουργικότητά του. Το εργαλείο διανέμεται με
την άδεια χρήσης \href{https://www.gnu.org/licenses/gpl-3.0.html}{GPLv3}, η την άδεια χρήσης \href{https://www.gnu.org/licenses/gpl-3.0.html}{GPLv3}, η
οποία παρέχει το δικαίωμα στον χρήστη να το χρησιμοποιήσει, να το μελετήσει, να οποία παρέχει το δικαίωμα στον χρήστη να το χρησιμοποιήσει, να το μελετήσει, να
το τροποποιήσει και να το διανείμει ελεύθερα. το τροποποιήσει και να το διανείμει ελεύθερα.
\section{Προτάσεις για Μελλοντική Έρευνα} \section{Προτάσεις για Μελλοντική Έρευνα}
Παρόλο που το SecDep, είναι ένα πλήρες και λειτουργικό εργαλείο, υπάρχουν Παρ' όλο που το SecDep, είναι ένα πλήρες και λειτουργικό εργαλείο, υπάρχουν
πολλές ευκαιρίες για την επέκταση του. Αρχικά, θα μπορούσε να επεκταθεί η πολλές ευκαιρίες για την επέκτασή του. Αρχικά, θα μπορούσε να επεκταθεί η
λειτουργικότητα του, ώστε να υποστηρίζει και άλλους παρόχους νέφους. Αυτό λειτουργικότητά του, ώστε να υποστηρίζει και άλλους παρόχους νέφους. Αυτό
βέβαια εξαρτάται άμεσα και από το εύρος της υποστήριξης συγκεκριμένων βέβαια εξαρτάται άμεσα και από το εύρος της υποστήριξης συγκεκριμένων
συναρτήσεων από την βιβλιοθήκη libcloud. Επιπλέον, θα μπορούσε να αλλοιωθεί με συναρτήσεων από την βιβλιοθήκη libcloud. Επιπλέον, θα μπορούσε να αλλοιωθεί με
σκοπό την υποστήριξη παραπάνω μεθόδων της βιβλιοθήκης, δίνοντας στον χρήστη σκοπό την υποστήριξη παραπάνω μεθόδων της βιβλιοθήκης, δίνοντας στον χρήστη
@@ -56,16 +56,16 @@ SecDep, είναι ικανό να δημιουργήσει εικονικές
εξισορρόπησης φόρτου εργασιών. εξισορρόπησης φόρτου εργασιών.
Τα παραπάνω αφορούν την επέκταση ενός από τα δύο εκτελέσιμα αρχεία του SecDep. Τα παραπάνω αφορούν την επέκταση ενός από τα δύο εκτελέσιμα αρχεία του SecDep.
Το δεύτερο, το οποίο επικεντρώνεται στην σκλήρυνση του συστήματος, θα μπορούσε Το δεύτερο, το οποίο επικεντρώνεται στην σκλήρυνση του συστήματος και του
και αυτό να επεκταθεί, προσθέτοντας νέες λειτουργίες. Μια από αυτές θα μπορούσε Docker, θα μπορούσε και αυτό να επεκταθεί, προσθέτοντάς του νέες λειτουργίες.
να είναι η επιλογή του χρήστη για εφαρμογή συγκεκριμένων ρυθμίσεων ασφαλείας. Μια από αυτές θα μπορούσε να είναι η επιλογή του χρήστη για εφαρμογή
Επίσης, θα μπορούσε να χωριστεί σε δύο ανεξάρτητα εκτελέσιμα αρχεία, το ένα συγκεκριμένων ρυθμίσεων ασφαλείας. Επίσης, θα μπορούσε να χωριστεί σε δύο
υπεύθυνο για την σκλήρυνση του συστήματος και το άλλο για την εγκατάσταση και ανεξάρτητα εκτελέσιμα αρχεία, το ένα υπεύθυνο για την σκλήρυνση του συστήματος
σκλήρυνση του δαίμονα του Docker. Με αυτόν τον τρόπο, ο χρήστης θα μπορούσε να και το άλλο για την εγκατάσταση και σκλήρυνση του δαίμονα του Docker. Με αυτόν
επιλέξει να εγκαταστήσει μια σκληρυμένη έκδοση του Docker σε ένα σύστημα που τον τρόπο, ο χρήστης θα μπορούσε να επιλέξει να εγκαταστήσει μια σκληρυμένη
έχει ήδη σκληρύνει, χωρίς να χρειάζεται να χρησιμοποιήσει το πρώτο εκτελέσιμο έκδοση του Docker σε ένα σύστημα που έχει ήδη σκληρύνει, χωρίς να χρειάζεται να
αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η διαδικασία σκλήρυνσης. Τα χρησιμοποιήσει το πρώτο εκτελέσιμο αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η
αποτελέσματα είναι ήδη αρκετά ικανοποιητικά, ωστόσο πάντα υπάρχουν περιθώρια διαδικασία σκλήρυνσης. Τα αποτελέσματα είναι ήδη αρκετά ικανοποιητικά, ωστόσο
βελτίωσης. πάντα υπάρχουν περιθώρια βελτίωσης.
\clearpage \clearpage