This commit is contained in:
2023-11-12 21:10:47 +02:00
parent cce5963aed
commit f116431a28
2 changed files with 103 additions and 62 deletions

View File

@@ -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}

View File

@@ -134,7 +134,7 @@
Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες τύπου
\textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για τις
υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο μειώνονται τα
υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ'' αυτό τον τρόπο μειώνονται τα
λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για την αγορά εξοπλισμού
για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά είναι πλέον δυνατό να
κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της υπηρεσίας που προσφέρεται με