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

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