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