Duh
This commit is contained in:
@@ -25,7 +25,8 @@
|
||||
|
||||
\subsection{Χαρακτηριστικά} \label{cloucComputingCharacteristics}
|
||||
|
||||
Τα πέντε βασικά χαρακτηριστικά του \textlatin{Cloud Computing} είναι τα εξής:
|
||||
Τα πέντε βασικά χαρακτηριστικά του \textlatin{Cloud Computing} με βάση τον
|
||||
\textlatin{\citeauthor{mell2011nist}} είναι τα εξής:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
@@ -78,7 +79,8 @@
|
||||
|
||||
\subsection{Μοντέλα Υπηρεσιών} \label{cloudComputingServiceModels}
|
||||
|
||||
Τα τρία μοντέλα υπηρεσιών του \textlatin{Cloud Computing} είναι τα παρακάτω:
|
||||
Τα τρία μοντέλα υπηρεσιών του \textlatin{Cloud Computing} όπως αναγράφονται στο
|
||||
\textlatin{\citealt{mell2011nist}} είναι τα παρακάτω:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
@@ -119,7 +121,8 @@
|
||||
|
||||
\subsection{Μοντέλα Παράδοσης} \label{cloudComputingDeploymentModels}
|
||||
|
||||
Τα τέσσερα μοντέλα παράδοσης του υπολογιστικού νέφους είναι:
|
||||
Τα τέσσερα μοντέλα παράδοσης του υπολογιστικού νέφους είναι με βάση τον
|
||||
\textlatin{\citet{mell2011nist}}:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
@@ -202,9 +205,10 @@
|
||||
|
||||
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
|
||||
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
|
||||
μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της εικονικοποίησης
|
||||
όμως ήταν πλέον εφικτό να χωριστεί ένας διακομιστής σε περισσότερα κομμάτια
|
||||
έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός.
|
||||
μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της
|
||||
εικονικοποίησης όμως ήταν πλέον εφικτό να χωριστεί ένας διακομιστής σε
|
||||
περισσότερα κομμάτια έχοντας πλέον δύο εικονικά μηχανήματα με τη χρήση ενός
|
||||
φυσικού.
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width = .5\textwidth]{Figures/RedHat_Virtualization/redhat_virtualization_server_usage2.png}
|
||||
@@ -213,7 +217,7 @@
|
||||
\end{center}
|
||||
|
||||
Ο χωρισμός των διακομιστών σε μικρότερους μπορεί να πραγματοποιηθεί
|
||||
περισσότερες από μια φορές αυξάνοντας την αξιοποίηση των δυνατοτήτων τους
|
||||
περισσότερες από μια φορές αυξάνοντας την αξιοποίηση των δυνατοτήτων τους,
|
||||
παραδείγματος χάριν από 30\% σε 60\% και έπειτα σε 90\% αφήνοντας μας με
|
||||
διακομιστές που είτε μπορούν μετά να χρησιμοποιηθούν για νέους σκοπούς είτε να
|
||||
αποσυρθούν μειώνοντας έτσι και το κόστος λειτουργίας και συντήρησης τους.
|
||||
@@ -241,12 +245,12 @@
|
||||
|
||||
Προχωρώντας στη δεκαετία του 1990, οι περισσότερες επιχειρήσεις διέθεταν
|
||||
φυσικούς διακομιστές και στοίβες μηχανημάτων ενός προμηθευτή, οι οποίες δεν
|
||||
επέτρεπαν την εκτέλεση παλαιών εφαρμογών σε υλικό διαφορετικού προμηθευτή.
|
||||
Καθώς οι εταιρείες αναβάθμιζαν τα περιβάλλοντα πληροφορικής τους με λιγότερο
|
||||
δαπανηρούς διακομιστές, λειτουργικά συστήματα και εφαρμογές από διάφορους
|
||||
προμηθευτές, ήταν υποχρεωμένες να υπολειτουργούν το φυσικό υλικό αφού κάθε
|
||||
διακομιστής μπορούσε να εκτελέσει μόνο 1 εργασία που αφορούσε συγκεκριμένο
|
||||
προμηθευτή.
|
||||
είχαν τη δυνατότητα εκτέλεσης παλαιών εφαρμογών σε υλικό διαφορετικού
|
||||
προμηθευτή. Καθώς οι εταιρείες αναβάθμιζαν τα περιβάλλοντα πληροφορικής τους με
|
||||
λιγότερο δαπανηρούς διακομιστές, λειτουργικά συστήματα και εφαρμογές από
|
||||
διάφορους προμηθευτές, ήταν υποχρεωμένες να υπολειτουργούν το φυσικό υλικό αφού
|
||||
κάθε διακομιστής μπορούσε να εκτελέσει μόνο μια εργασία που αφορούσε
|
||||
συγκεκριμένο προμηθευτή.
|
||||
|
||||
Από εκείνο το σημείο και έπειτα άρχισε να γίνεται εμφανής η ανάγκη της
|
||||
εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν
|
||||
@@ -295,7 +299,7 @@
|
||||
|
||||
Ένας \textlatin{hypervisor} τύπου 1 εκτελείται απευθείας στο φυσικό
|
||||
υλικό του υποκείμενου υπολογιστή, αλληλεπιδρώντας άμεσα με την κεντρική
|
||||
μονάδα επεξεργασίας, τη μνήμη και τη φυσικό αποθηκευτικό χώρο. Για το
|
||||
μονάδα επεξεργασίας, τη μνήμη και το φυσικό αποθηκευτικό χώρο. Για το
|
||||
λόγο αυτό, οι \textlatin{hypervisors} τύπου 1 αναφέρονται επίσης ως
|
||||
\textlatin{bare-metal hypervisors} και αντικαθιστούν το λειτουργικό
|
||||
σύστημα του κεντρικού υπολογιστή. Η άμεση πρόσβαση στο φυσικό υλικό
|
||||
@@ -365,7 +369,8 @@
|
||||
υπάρχει καλή τεκμηρίωση και διάφορα εργαλεία είτε επίσημα είτε από την
|
||||
κοινότητα που να επιτρέπουν δυνατότητες όπως δημιουργία αντιγράφων
|
||||
ασφαλείας, ανάλυση χωρητικότητας και διαχείριση εναλλαγής εικονικών
|
||||
μηχανών σε περιπτώσεις σφάλματος του λειτουργικού συστήματος.
|
||||
μηχανών σε περιπτώσεις σφάλματος του λειτουργικού συστήματος της
|
||||
εκτελούμενης.
|
||||
|
||||
\item \textbf{Εργαλεία διαχείρισης}:
|
||||
|
||||
@@ -389,7 +394,7 @@
|
||||
Το κόστος είναι ένας παράγοντας που πρέπει να ληφθεί υπόψιν κατά την
|
||||
επιλογή ενός \textlatin{hypervisor}. Οι περισσότεροι είναι δωρεάν αλλά
|
||||
υπάρχουν και εμπορικές εκδόσεις που προσφέρουν περισσότερες
|
||||
δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης του
|
||||
δυνατότητες. Όπως επίσης και ύπαρξη ή μη, λογισμικού διαχείρισης τους
|
||||
που να επιτρέπει την εύκολη κλιμάκωση με βάση τις απαιτήσεις της
|
||||
επιχείρησης.
|
||||
|
||||
@@ -482,7 +487,7 @@
|
||||
εργασίες. Η εικονικοποίηση ενός διακομιστή του επιτρέπει να εκτελεί
|
||||
περισσότερες λειτουργίες από αυτές που σχεδιάστηκε αρχικά να
|
||||
πραγματοποιεί. Για την επίτευξη αυτού απαιτείται η κατάτμησή του με
|
||||
τέτοιο τρόπο ώστε τα οι πόροι του να μπορούν να χρησιμοποιηθούν για την
|
||||
τέτοιο τρόπο ώστε οι πόροι του να μπορούν να χρησιμοποιηθούν για την
|
||||
εξυπηρέτηση πολλαπλών λειτουργιών.
|
||||
|
||||
\pagebreak
|
||||
@@ -539,7 +544,7 @@
|
||||
\item \textbf{Αποδοτικότητα πόρων}:
|
||||
|
||||
Προτού η εικονικοποίηση γίνει δημοφιλής, κάθε διακομιστής εφαρμογής
|
||||
απαιτούσε τη δική αποκλειστική μονάδα κεντρικής επεξεργασίας. Το
|
||||
απαιτούσε τη δική του αποκλειστική μονάδα κεντρικής επεξεργασίας. Το
|
||||
προσωπικό της επιχείρησης έπρεπε να αγοράσει και να ρυθμίσει έναν
|
||||
ξεχωριστό διακομιστή για κάθε εφαρμογή που έπρεπε να εκτελέσει. Η
|
||||
προτιμώμενη αρχιτεκτονική για λόγους αξιοπιστίας ήταν να υπάρχει μια
|
||||
@@ -559,7 +564,7 @@
|
||||
η ρύθμισή τους μπορεί να γίνεται επανειλημμένα δίχως το ρίσκο
|
||||
ανθρώπινου λάθους και γλιτώνοντας τον χρόνο εγκατάστασης και ρύθμισης
|
||||
τους χειροκίνητα. Ένας συνδυασμός εργαλείων που κάνει αυτή τη
|
||||
διαδικασία πραγματικότητα είναι το \textlatin{Ansible} \cite{ansible}
|
||||
διαδικασία πραγματικότητα είναι τα \textlatin{Ansible} \cite{ansible}
|
||||
και \textlatin{Terraform} \cite{terraform}.
|
||||
|
||||
\item \textbf{Ελάχιστος χρόνος διακοπής λειτουργίας}:
|
||||
@@ -568,7 +573,7 @@
|
||||
προκαλέσουν διακοπή λειτουργίας και να διαταράξουν την παραγωγικότητα
|
||||
των χρηστών. Οι διαχειριστές μπορεί να έχουν πλεονάζουσες εικονικές
|
||||
μηχανές και να πραγματοποιούν εναλλαγή σε αυτές εάν εμφανιστούν
|
||||
προβλήματα, κάτι που θα δε θα ήταν αποδοτικό για την επιχείρηση
|
||||
προβλήματα, κάτι που δε θα ήταν αποδοτικό για την επιχείρηση
|
||||
διαθέτοντας μονάχα φυσικούς διακομιστές.
|
||||
|
||||
\item \textbf{Ταχύτερη παροχή}:
|
||||
@@ -584,8 +589,8 @@
|
||||
Όταν αναφερόμαστε στην εικονικοποίηση συνήθως μιλάμε για την πιο συνηθισμένη
|
||||
μορφή της η οποία είναι η πλήρης εικονικοποίηση. Με την πάροδο του χρόνου και
|
||||
την αύξηση της δημοτικότητας της εικονικοποίησης αναπτύχθηκαν πολλοί
|
||||
\textlatin{hypervisors} μπορεί να διαφέρουν όχι μόνο στα χαρακτηριστικά τους
|
||||
αλλά και στις διάφορες τεχνικές που χρησιμοποιούν για να κάνουν την
|
||||
\textlatin{hypervisors} που μπορεί να διαφέρουν όχι μόνο στα χαρακτηριστικά
|
||||
τους αλλά και στις διάφορες τεχνικές που χρησιμοποιούν για να κάνουν την
|
||||
εικονικοποίηση πραγματικότητα. Μια από αυτές ονομάζεται
|
||||
\textlatin{para-virtualization}.
|
||||
|
||||
@@ -735,8 +740,8 @@ hypervisor} αρκεί να παραβιαστεί το λειτουργικό
|
||||
\textlatin{Mandatory Access Control} του \textlatin{Linux} να ανταπεξέλθουν
|
||||
στις απαιτήσεις ασφαλείας όλων των εφαρμογών. Το παράδειγμα που παρουσιάζεται
|
||||
στο \cite{arif2015virtualization} αναφέρεται στην εικονικοποίηση χώρου
|
||||
αποθήκευσης μέσω δικτύου αλλά πολλές από τις απειλές δεν περιορίζονται μόνο σε
|
||||
αυτό. Ουσιαστικά κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι
|
||||
αποθήκευσης μέσω δικτύου αλλά πολλές από τις απειλές δεν περιορίζονται μονάχα
|
||||
εκεί. Ουσιαστικά κάθε εικονική μηχανή που έχει πρόσβαση στο διαδίκτυο είναι
|
||||
ευάλωτη σε απειλές όπως \textlatin{Trojans}, ιούς και κακόβουλα λογισμικά που
|
||||
μπορεί να μεταφερθούν από έναν \textlatin{hypervisor} σε κάθε εικονική μηχανή.
|
||||
|
||||
@@ -806,7 +811,7 @@ hypervisor} αρκεί να παραβιαστεί το λειτουργικό
|
||||
Τη σήμερον ημέρα όλο και περισσότερες επιχειρήσεις θα προτιμήσουν να βασιστούν
|
||||
σε έναν πάροχο νέφους για την απόκτηση υποδομών προκειμένου να ξεκινήσουν να
|
||||
εξυπηρετούν τους δυνητικούς πελάτες τους έναντι της παραδοσιακής διαδικασίας
|
||||
αγοράς ρύθμισης και διαχείρισης φυσικών διακομιστών. Η ταχύτερη εκκίνηση
|
||||
αγοράς, ρύθμισης και διαχείρισης φυσικών διακομιστών. Η ταχύτερη εκκίνηση
|
||||
παροχής υπηρεσιών και η ευκολία διαχείρισης της υποδομής τους, δεν αφήνουν
|
||||
περιθώρια αμφιβολίας της ορθότητας αυτής της απόφασης. Όπως αναφέραμε όμως στο
|
||||
\ref{cloudComputingSecurity}, εισάγεται έτσι ένα αναγκαίο μοντέλο εμπιστοσύνης
|
||||
@@ -818,7 +823,7 @@ hypervisor} αρκεί να παραβιαστεί το λειτουργικό
|
||||
αυτών διότι η ευθύνη προστασίας των υποδομών ανήκει στον ιδιοκτήτη τους και
|
||||
στην προκειμένη περίπτωση αυτός είναι ο πάροχος νέφους. Έτσι κακόβουλοι
|
||||
εισβολείς θα προσπαθήσουν να βρουν ατασθαλίες στη διαδικασία παράδοσης των
|
||||
υπηρεσιών του παρόχου εκτελώντας επιθέσεις τύπου \textlatin{Cross side
|
||||
υπηρεσιών του παρόχου εκτελώντας επιθέσεις τύπου \textlatin{Cross site
|
||||
scripting, SQL injection}, χειραγώγηση \textlatin{cookies} ή εκμετάλλευση μη
|
||||
ασφαλούς ρύθμισης, θέτοντας έτσι σε κίνδυνο ευαίσθητες πληροφορίες και δεδομένα
|
||||
των επιχειρήσεων.
|
||||
@@ -877,7 +882,7 @@ scripting, SQL injection}, χειραγώγηση \textlatin{cookies} ή εκμ
|
||||
χρειάζεται για να εκτελεστεί δημιουργώντας ένα εκτελέσιμο ````δοχείο'''' που
|
||||
πάντοτε θα εκτελείται με την ίδια συμπεριφορά ανεξαρτήτως υποδομής. Με την
|
||||
παραδοσιακή μέθοδο ανάπτυξης λογισμικού υπήρχε πάντα το ρίσκο το πρόγραμμα που
|
||||
αναπτύχθηκε σε ένα συγκεκριμένα περιβάλλον να μη λειτουργεί με τον αναμενόμενο
|
||||
αναπτύχθηκε σε ένα συγκεκριμένο περιβάλλον να μη λειτουργεί με τον αναμενόμενο
|
||||
τρόπο κατά τη μεταφορά του σε ένα άλλο, εκτός εάν έχει ελεγχθεί ότι υπάρχουν
|
||||
όλες οι εξαρτήσεις που χρειάζεται στις εκδόσεις που τις χρειάζεται. Ακόμα και
|
||||
σε αυτήν την περίπτωση όμως, πέραν του κόπου για τον έλεγχο είναι αρκετά πιθανό
|
||||
@@ -895,7 +900,7 @@ scripting, SQL injection}, χειραγώγηση \textlatin{cookies} ή εκμ
|
||||
Ένας από τους χαρακτηρισμούς των δοχείων είναι η ````ελαφρότητα'''' τους σε
|
||||
σχέση με μια εικονική μηχανή λόγω της ικανότητας τους να μοιράζονται τον πυρήνα
|
||||
του συστήματος. Η απαίτηση μιας εικονικής μηχανής να χρειάζεται να έχει δικό
|
||||
της πυρήνα την καθιστά μεγαλύτερη σε μέγεθος και λιγότερο αποδοτική στη χρήση
|
||||
της πυρήνα, την καθιστά μεγαλύτερη σε μέγεθος και λιγότερο αποδοτική στη χρήση
|
||||
πόρων του συστήματος. Τα δοχεία είναι εγγενώς μικρότερα σε μέγεθος και έχουν
|
||||
και μικρότερο χρόνο εκκίνησης. Πράγμα που τραβάει το ενδιαφέρον των
|
||||
επιχειρήσεων διότι μεταφράζεται σε υψηλότερη αποδοτικότητα διακομιστών και
|
||||
@@ -956,9 +961,9 @@ scripting, SQL injection}, χειραγώγηση \textlatin{cookies} ή εκμ
|
||||
|
||||
Εφόσον κάθε δοχείο είναι απομονωμένο και λειτουργεί ανεξάρτητα από τα
|
||||
υπόλοιπα, η αποτυχία του ενός δε θα επηρεάσει τη συνεχή λειτουργία των
|
||||
υπολοίπων. Οι ομάδες ανάπτυξης μπορούν να εντοπίζουν και να διορθώνουν
|
||||
τυχόν τεχνικά προβλήματα χωρίς να υπάρχει διακοπή λειτουργίας σε άλλα
|
||||
δοχεία.
|
||||
υπολοίπων. Οι ομάδες ανάπτυξης λογισμικού μπορούν να εντοπίζουν και να
|
||||
διορθώνουν τυχόν τεχνικά προβλήματα χωρίς να υπάρχει διακοπή
|
||||
λειτουργίας σε άλλα δοχεία.
|
||||
|
||||
\item \textbf{Αποδοτικότητα}:
|
||||
|
||||
@@ -1023,12 +1028,13 @@ runtime} προτού υιοθετήσει το \textlatin{runC} μπορεί ν
|
||||
Παρότι οι προδιαγραφές της \textlatin{OCI} έχουν ως στόχο να διασφαλίσουν την
|
||||
ομοιόμορφη λειτουργία της τεχνολογίας αυτής, υπάρχουν αρκετές διαφορές στην
|
||||
υλοποίηση. Παραδείγματος χάριν, το \textlatin{podman} ενώ όπως το
|
||||
\textlatin{Docker} συμμορφώνεται στις προδιαγραφές της \textlatin{OCI} δουλεύει
|
||||
χωρίς δαίμονα από πίσω, πράγμα που επιδιώκει να κατευνάσει τις ανησυχίες γύρω
|
||||
από τον τρόπο λειτουργίας του \textlatin{Docker}. Εξαιτίας του τρόπου
|
||||
λειτουργίας του αν και από το 2021 χάρη στη δουλειά του \textlatin{Akihiro
|
||||
Suda} \cite{AkihiroSuda} δεν ισχύει μόνο για αυτό πλεόν, το \textlatin{podman}
|
||||
δύναται να εκτελεστεί από έναν χρήστη πέραν του \textlatin{root}.
|
||||
\textlatin{Docker} συμμορφώνεται στις προδιαγραφές της \textlatin{OCI},
|
||||
δουλεύει χωρίς δαίμονα από πίσω, πράγμα που επιδιώκει να κατευνάσει τις
|
||||
ανησυχίες γύρω από τον τρόπο λειτουργίας του \textlatin{Docker}. Εξαιτίας του
|
||||
τρόπου λειτουργίας του αν και από το 2021 χάρη στη δουλειά του
|
||||
\textlatin{Akihiro Suda} \cite{AkihiroSuda} δεν ισχύει μόνο για αυτό πλεόν, το
|
||||
\textlatin{podman} δύναται να εκτελεστεί από έναν χρήστη πέραν του
|
||||
\textlatin{root}.
|
||||
|
||||
Ένα ακόμα εργαλείο που έχει παρόμοια αρχιτεκτονική με το \textlatin{podman}
|
||||
είναι το \textlatin{rkt} το οποίο προσπαθούσε να κρατήσει μια προσέγγιση
|
||||
@@ -1041,16 +1047,16 @@ measurement} και εκτέλεση δοχείων σε απομονωμένε
|
||||
|
||||
\subsection{Δοχεία έναντι εικονικών μηχανών} \label{containersVsVms}
|
||||
|
||||
Παρότι πολλές φορές τα δοχεία συγχέονται με τις εικονικές μηχανές, οι δύο αυτές
|
||||
έννοιες έχουν αρκετές διαφορές στην αρχιτεκτονική τους. Στην παραδοσιακή
|
||||
εικονικοποίηση είτε αυτή γίνεται στις υπάρχουσες υποδομές μια επιχείρησης είτε
|
||||
σε ένα περιβάλλον νέφους, ένας \textlatin{hypervisor} πρέπει να χρησιμοποιηθεί
|
||||
για να εικονικοποιήσει φυσικό υλικό. Κάθε μια εικονική μηχανή έχει ένα
|
||||
λειτουργικό σύστημα και ένα εικονικό αντίγραφο του υλικού που απαιτεί για να
|
||||
εκτελεστεί μαζί με μια εφαρμογή και τις βιβλιοθήκες και εξαρτήσεις της. Από την
|
||||
άλλη, ένα δοχείο αντί να εικονικοποιήσει το υλικό, εικονικοποιεί το λειτουργικό
|
||||
σύστημα ούτως ώστε κάθε δοχείο να περιέχει μόνο την εφαρμογή, τις βιβλιοθήκες
|
||||
και τις εξαρτήσεις της.
|
||||
Παρ'' όλο που πολλές φορές τα δοχεία συγχέονται με τις εικονικές μηχανές, οι
|
||||
δύο αυτές έννοιες έχουν αρκετές διαφορές στην αρχιτεκτονική τους. Στην
|
||||
παραδοσιακή εικονικοποίηση είτε αυτή γίνεται στις υπάρχουσες υποδομές μια
|
||||
επιχείρησης είτε σε ένα περιβάλλον νέφους, ένας \textlatin{hypervisor} πρέπει
|
||||
να χρησιμοποιηθεί για να εικονικοποιήσει φυσικό υλικό. Κάθε εικονική μηχανή
|
||||
έχει ένα λειτουργικό σύστημα και ένα εικονικό αντίγραφο του υλικού που απαιτεί
|
||||
για να εκτελεστεί μαζί με μια εφαρμογή, τις βιβλιοθήκες και τις εξαρτήσεις της.
|
||||
Από την άλλη, ένα δοχείο αντί να εικονικοποιήσει το υλικό, εικονικοποιεί το
|
||||
λειτουργικό σύστημα ούτως ώστε κάθε δοχείο να περιέχει μόνο την εφαρμογή, τις
|
||||
βιβλιοθήκες και τις εξαρτήσεις της.
|
||||
|
||||
Η εικόνα \ref{fig:containerVsVm} παρουσιάζει τη διαφορά των δύο αρχιτεκτονικών
|
||||
|
||||
@@ -1084,7 +1090,7 @@ Swarm} ή άλλα για αποδοτικότερη διαχείριση.
|
||||
εκτελούνται ως απομονωμένες διεργασίες και να λειτουργούν ανεξάρτητα από τα
|
||||
υπόλοιπα δοχεία. Με πλήρη απομόνωση θα μπορούσε να αποτραπεί στην περίπτωση
|
||||
μόλυνσης από κακόβουλο λογισμικό, ο κίνδυνος να επηρεαστούν άλλα δοχεία ή το
|
||||
ίδιο το σύστημα. Ωστόσο, η απομόνωση αυτή δεν είναι πλήρης. Ο διαμοιρασμός
|
||||
ίδιο το σύστημα. Ωστόσο, η απομόνωση τους δεν είναι πλήρης. Ο διαμοιρασμός
|
||||
κομματιών μιας εφαρμογής σε δοχείο βοηθάει στην αποδοτικότητα του συστήματος
|
||||
αλλά ανοίγει και ένα παράθυρο ευκαιρίας για επιθέσεις. Το γεγονός επίσης πως
|
||||
μοιράζονται τον ίδιο πυρήνα σημαίνει πως μια επίθεση με στόχο αυτόν, μπορεί
|
||||
@@ -1132,10 +1138,10 @@ Swarm} ή άλλα για αποδοτικότερη διαχείριση.
|
||||
χαρακτηριστικού των \textlatin{cgroups} για περιορισμό συσκευών, που
|
||||
αναφέρεται στο \cite{deviceWhitelistController} με τη βοήθεια του
|
||||
οποίου περιορίζεται το σύνολο τον συσκευών στις οποίες έχει πρόσβαση
|
||||
ένα δοχείο και αποτρέπει αυτό από το να δημιουργήσει καινούριες
|
||||
ένα δοχείο και το αποτρέπει από το να δημιουργήσει καινούριες
|
||||
αναπαραστάσεις συσκευών. Επιπροσθέτως επειδή τα \textlatin{mount}
|
||||
γίνονται με τη χρήση του \textlatin{nodev}, στην περίπτωση που μια
|
||||
αναπαράσταση συσκευής είχε δημιουργηθεί σε προηγούμενο χρόνο στο
|
||||
αναπαράσταση συσκευής είχε δημιουργηθεί σε προηγούμενο χρόνο του
|
||||
στιγμιότυπου που χρησιμοποιήθηκε για να κατασκευαστεί το δοχείο, οι
|
||||
διεργασίες του δε δύνανται να τη χρησιμοποιήσουν για να επικοινωνήσουν
|
||||
με τον πυρήνα. Επιπλέον, επειδή η προεπιλεγμένη συνθήκη είναι να μη
|
||||
@@ -1172,8 +1178,9 @@ Swarm} ή άλλα για αποδοτικότερη διαχείριση.
|
||||
|
||||
Αυτές οι δυνατότητες υποστηρίζονται από το \textlatin{Docker} και μπορεί κανείς
|
||||
να τις εκμεταλλευτεί για να προστατεύσει το περιβάλλον του από επιθέσεις.
|
||||
Επιπλέον, υπάρχει και η δυνατότητα υποστήριξης των \textlatin{SELinux,
|
||||
Apparmor, Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) όπως επίσης και
|
||||
Επιπλέον, υπάρχει και η δυνατότητα υποστήριξης \textlatin{Kernel Security
|
||||
Modules} όπως \textlatin{SELinux} και \textlatin{Apparmor} αλλά και του
|
||||
\textlatin{Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) όπως επίσης και
|
||||
συμβατότητα με \textlatin{Linux capabilities} που θα μπορούσαν να εισάγουν ένα
|
||||
ακόμα επίπεδο ασφαλείας αν χρησιμοποιηθούν σωστά, περιορίζοντας τα δικαιώματα
|
||||
των διεργασιών των δοχείων σε μονάχα όσα χρειάζονται. Το \textlatin{Docker}
|
||||
@@ -1208,7 +1215,7 @@ Apparmor, Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) ό
|
||||
του εκάστοτε δοχείου, είναι να τεθεί το σύστημα του σε επίπεδο
|
||||
πρόσβασης που επιτρέπει μόνο την ανάγνωση των αρχείων, να
|
||||
απενεργοποιηθεί η επικοινωνία μεταξύ δοχείων και να αποφευχθεί η
|
||||
εγκατάσταση περιττών προγραμμάτων σε αυτό.
|
||||
εγκατάσταση περιττών προγραμμάτων σε αυτά.
|
||||
|
||||
\pagebreak
|
||||
|
||||
@@ -1245,10 +1252,10 @@ Apparmor, Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) ό
|
||||
|
||||
Οι εικόνες δοχείων μπορεί να περιέχουν κακόβουλο λογισμικό ή λογισμικό
|
||||
για το οποίο έχουν βρεθεί πλέον ευπάθειες. Ο τωρινός τρόπος ελέγχου
|
||||
εγκυρότητας της βασίζεται μονάχα στην παρουσία ενός υπογεγραμμένου
|
||||
εγκυρότητας τους βασίζεται μονάχα στην παρουσία ενός υπογεγραμμένου
|
||||
\textlatin{manifest} αλλά δε γίνεται ποτέ αυθεντικοποίηση του
|
||||
\textlatin{checksum} της εικόνας. Αυτό αφήνει ανοιχτό το ενδεχόμενο
|
||||
ένας επιτιθέμενος να διαδώσει οποιαδήποτε εικόνα μαζί με το
|
||||
\textlatin{checksum} της κάθε εικόνας. Αυτό αφήνει ανοιχτό το
|
||||
ενδεχόμενο ένας επιτιθέμενος να διαδώσει οποιαδήποτε εικόνα μαζί με το
|
||||
υπογεγραμμένο \textlatin{manifest} της. Επιβάλλεται οι χρήστες να
|
||||
κατεβάζουν εικόνες από εγκεκριμένους προμηθευτές ή ακόμα και να τις
|
||||
ελέγχουν με κατάλληλα εργαλεία προτού τις χρησιμοποιήσουν.
|
||||
@@ -1263,14 +1270,48 @@ Apparmor, Seccomp} (στην περίπτωση χρήσης \textlatin{LXC}) ό
|
||||
κομμάτια του συστήματος απειλώντας έτσι την ακεραιότητα, την
|
||||
εμπιστευτικότητα και διαθεσιμότητα των δεδομένων. Προκειμένου να
|
||||
αποφευχθεί μια εισβολή σε κάποιο δοχείο που θα προκαλούσε την απόκτηση
|
||||
τέτοιων μυστικών, είναι επιτακτικό να γίνεται χρήση δοχείων σε
|
||||
κατάσταση ανάγνωσης και όχι εγγραφής αλλά και να αποφεύγεται η χρήση
|
||||
μεταβλητών για την αποθήκευση κωδικών. Χρήσιμο επίσης θα ήταν και η
|
||||
εσκεμμένη παράλειψη της παραμέτρου \textlatin{privileged}.
|
||||
τέτοιων μυστικών, καθίστατο επιτακτική η χρήση δοχείων σε κατάσταση
|
||||
ανάγνωσης και όχι εγγραφής αλλά και η αποφυγή χρήσης μεταβλητών για την
|
||||
αποθήκευση κωδικών. Χρήσιμη επίσης θα ήταν και η εσκεμμένη παράλειψη
|
||||
της παραμέτρου \textlatin{privileged}.
|
||||
|
||||
\item \textbf{\textlatin{Man-in-the-Middle (MitM)}}:
|
||||
|
||||
Σε μια τέτοια επίθεση ένας κακόβουλος χρήστης προσπαθεί να μπει ανάμεσα
|
||||
στην επικοινωνία δύο οντοτήτων με σκοπό να αλλοιώσει, να υποκλέψει ή να
|
||||
παρακολουθεί πληροφορίες. Το καλύτερο αντίμετρο είναι η απομόνωση
|
||||
δικτύου. Πρέπει να γίνει ρύθμιση των δοχείων με τέτοιο τρόπο ώστε να
|
||||
μην έχουν πρόσβαση στη δικτυακή επικοινωνία του κύριου μηχανήματος ή
|
||||
άλλων δοχείων.
|
||||
|
||||
\item \textbf{\textlatin{ARP spoofing}}:
|
||||
|
||||
Σε μια \textlatin{Address Resource Protocol spoofing} επίθεση, ο
|
||||
επιτιθέμενος επιχειρεί να \mbox{στείλει} ψεύτικα \textlatin{ARP}
|
||||
μηνύματα σε ένα \textlatin{LAN}. Είναι πιθανό να προσποιηθεί πως η
|
||||
συσκευή του είναι μια από τις συσκευές της επιχείρησης αλλάζοντας τη
|
||||
\textlatin{MAC} διεύθυνση του στην \textlatin{IP} μιας συσκευής που το
|
||||
σύστημα αναγνωρίζει. Επομένως, θα του συμπεριφέρεται όπως θα έκανε
|
||||
κανονικά. Στέλνοντας σε αυτόν όλα τα πακέτα και τα δεδομένα που
|
||||
προορίζονταν για την αληθινή συσκευή. Το \textlatin{Docker}
|
||||
χρησιμοποιεί το \textlatin{ARP} για να κάνει την αντιστοίχιση
|
||||
\textlatin{IPv4} σε \textlatin{MAC} διευθύνσεις οι οποίες
|
||||
χρησιμοποιούνται από την εικονική γέφυρα δικτύου για να διανέμουν σωστά
|
||||
τα \textlatin{Ethernet frames} αφού δεν υπάρχει φίλτρο για τα πακέτα
|
||||
\textlatin{ARP} και επομένως κανένας μηχανισμός άμυνας. Γι'' αυτό τον
|
||||
λόγο τα δοχεία μπορούν να προσποιηθούν ότι είναι άλλα δοχεία ή ακόμα
|
||||
και το κύριο σύστημα. Στην περίπτωση παραβίασης ενός δοχείου υπάρχει
|
||||
κίνδυνος ο επιτιθέμενος να υποκλέψει μυστικά της επιχείρησης ή των
|
||||
τελικών χρηστών της υπηρεσίας που προσφέρει. Ένας από τους τρόπους για
|
||||
την αποφυγή τέτοιας επίθεσης είναι η εκτέλεση δοχείων δίχως το
|
||||
\textlatin{NET\_RAW capability} αφού έτσι τα προγράμματα μέσα στο
|
||||
δοχείο δε θα μπορούν να δημιουργήσουν \textlatin{PF\_PACKET sockets}
|
||||
και θα ήταν αδύνατη η διεκπεραίωση της επίθεσης. Βέβαια, αυτή η μέθοδος
|
||||
έχει μειονεκτήματα αφού μπορεί αυτό το \textlatin{capability} να ήταν
|
||||
άκρως απαραίτητο για την ορθή λειτουργία της υπηρεσίας. Επομένως, μια
|
||||
ακόμα μέθοδος είναι η χρήση ````\textlatin{ebtables}'''' για
|
||||
φιλτράρισμα \textlatin{Ethernet frames} ούτως ώστε \textlatin{ARP}
|
||||
πακέτα με λάθος πρωτόκολλο αποστολέα ή διεύθυνση \textlatin{MAC} να
|
||||
ανιχνεύονται εγκαίρως και να απορρίπτονται.
|
||||
|
||||
|
||||
\end{itemize}
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες τύπου
|
||||
\textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για τις
|
||||
υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο μειώνονται τα
|
||||
υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ'' αυτό τον τρόπο μειώνονται τα
|
||||
λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για την αγορά εξοπλισμού
|
||||
για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά είναι πλέον δυνατό να
|
||||
κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της υπηρεσίας που προσφέρεται με
|
||||
|
||||
Reference in New Issue
Block a user