git + ipynb = :(
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
\textbf{Vuls} & \textbf{VUL}nerability \textbf{S}canner \\
|
\textbf{Vuls} & \textbf{VUL}nerability \textbf{S}canner \\
|
||||||
\textbf{LUNAR} & \textbf{L}ockdown \textbf{UN}ix \textbf{A}uditing and \textbf{R}eporting \\
|
\textbf{LUNAR} & \textbf{L}ockdown \textbf{UN}ix \textbf{A}uditing and \textbf{R}eporting \\
|
||||||
\textbf{CVE} & \textbf{C}ommon \textbf{V}ulnerabilities and \textbf{E}xposures \\
|
\textbf{CVE} & \textbf{C}ommon \textbf{V}ulnerabilities and \textbf{E}xposures \\
|
||||||
|
\textbf{CVRF} & \textbf{C}ommon \textbf{V}ulnerability \textbf{R}eporting \textbf{F}ramework \\
|
||||||
\textbf{NVD} & \textbf{N}ational \textbf{V}ulnerability \textbf{D}atabase \\
|
\textbf{NVD} & \textbf{N}ational \textbf{V}ulnerability \textbf{D}atabase \\
|
||||||
\textbf{CVSS} & \textbf{C}ommon \textbf{V}ulnerability \textbf{S}coring \textbf{S}ystem \\
|
\textbf{CVSS} & \textbf{C}ommon \textbf{V}ulnerability \textbf{S}coring \textbf{S}ystem \\
|
||||||
\textbf{CPE} & \textbf{C}ommon \textbf{P}latform \textbf{E}numeration \\
|
\textbf{CPE} & \textbf{C}ommon \textbf{P}latform \textbf{E}numeration \\
|
||||||
|
|||||||
@@ -4,26 +4,26 @@
|
|||||||
|
|
||||||
\noindent Today, more and more people rely on IaaS services over traditional
|
\noindent Today, more and more people rely on IaaS services over traditional
|
||||||
on-premise infrastructure to provide operational support to applications,
|
on-premise infrastructure to provide operational support to applications,
|
||||||
services and business processes. This is because in this way this way, the
|
services and business processes. This is because in this way, the costs of an
|
||||||
costs of an organization or business are reduced as long as there is no need
|
organization or business are reduced, since there is no need for an investment
|
||||||
expenditure/investment on the purchase of equipment and the operational costs
|
on the purchase of equipment. Also, the operational costs of using IaaS
|
||||||
of using services IaaS is based on flexible billing models based on usage (of
|
services is based on flexible billing models according to the usage (of the
|
||||||
infrastructure resources that offered). In addition, it is possible to scale
|
offered infrastructure resources). In addition, it is possible to scale the
|
||||||
the offered remote infrastructure depending on the needs of the organisation
|
offered remote infrastructure, depending on the needs of the organization and
|
||||||
and the current workload of the services and applications to be supported. In
|
the current workload of the services and applications to be supported. In this
|
||||||
this way, the responsibility for and maintenance of the equipment to third
|
way, the responsibility for the equipment and its maintenance is transferred to
|
||||||
parties while at the same time introducing a new model of trust between the
|
third parties, while at the same a new model of trust is introduced between the
|
||||||
user/organisation and the cloud provider. The increase interest by enterprises
|
user/organization and the cloud provider. The increased interest shown by
|
||||||
in virtualisation technologies which are a key the foundation of IaaS services,
|
enterprises for virtualization technologies (which are a key foundation of IaaS
|
||||||
but also the rapid rise in popularity of technologies container technologies
|
services) in conjunction with the rapid rise in popularity of container
|
||||||
such as Docker has in turn begun to drive the adoption of the architectural
|
technologies such as Docker, has in turn begun to drive the adoption of the
|
||||||
microservices architecture for application development. An architecture based
|
microservices architecture for application development. An architecture based
|
||||||
on both on virtualization technologies for housing applications in cloud
|
on virtualization technologies for hosting applications in cloud
|
||||||
infrastructures and container technologies for partitioning their functions,
|
infrastructures and container technologies for partitioning their functions and
|
||||||
providing a an appropriate level of performance and scalability
|
thus, providing an appropriate level of performance and scalability
|
||||||
\footfullcite{awsMicroservices}. However, they remain directly addressable.
|
\footfullcite{awsMicroservices}. However, they remain vulnerable to security
|
||||||
security issues that may affect the cloud itself and/or the technologies on
|
issues that may affect the cloud itself and/or the technologies on which it is
|
||||||
which it is based.
|
based on.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,21 +31,20 @@ which it is based.
|
|||||||
|
|
||||||
\textenglish{
|
\textenglish{
|
||||||
|
|
||||||
In this paper we will first analyse the security issues related to the cloud
|
In this paper we will first analyze the security issues related to the cloud
|
||||||
and in particular those related to virtualization and container technologies.
|
and in particular, those related to virtualization and container technologies.
|
||||||
Then, we will analyze how these 2 technologies can be used with more safety
|
Then, we will analyze how these 2 technologies can be used in a more secure
|
||||||
security. But the purpose of the paper goes beyond that and moves to a
|
manner. However, the purpose of this paper goes beyond that and moves to a
|
||||||
practical level, proposing the solution of a tool that can implement in this
|
practical level, proposing the solution of a tool that can implement the
|
||||||
way the proposed safe use of these technologies. In particular, this tool does
|
proposed safe use of these technologies. In particular, this tool can not only
|
||||||
not not only can create virtual machines across multiple cloud providers but
|
create virtual machines across multiple cloud providers but also harden them in
|
||||||
also harden them in an automated manner. In addition, it is capable of
|
an automated manner. In addition, it is capable of installing on these virtual
|
||||||
installing these virtual machines the Docker container machine, which it can
|
machines the Docker container engine, which it can also harden. The main goal
|
||||||
also harden. The main goal of the work is to make it easier for an organization
|
of this work is to make it easier for an organization to install and configure
|
||||||
to install and configure in an automated manner a secure, distributed
|
in an automated manner a secure, distributed environment for the deployment and
|
||||||
environment (pro- host and operation) for the deployment and operation of a
|
operation of a microservices application. This automation lies in the correct
|
||||||
microservices application. This automation lies in the correct configuration of
|
configuration of the tool, which does not require any special knowledge of
|
||||||
the tool, which does not require and does not require any special knowledge of
|
technical or security issues in regard to infrastructure and operating systems.
|
||||||
technical or security issues. infrastructure and operating systems.
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ SDKs (Software Development Kits)).
|
|||||||
Όταν επιλέξει ένας χρήστης να δημιουργήσει εικονικές μηχανές μέσω μιας από τις
|
Όταν επιλέξει ένας χρήστης να δημιουργήσει εικονικές μηχανές μέσω μιας από τις
|
||||||
πλατφόρμες IaaS, προς διευκόλυνσή του η διαδικασία γίνεται και μέσω γραφικού
|
πλατφόρμες IaaS, προς διευκόλυνσή του η διαδικασία γίνεται και μέσω γραφικού
|
||||||
περιβάλλοντος της μορφής Point and Click. Στις εικονικές μηχανές που
|
περιβάλλοντος της μορφής Point and Click. Στις εικονικές μηχανές που
|
||||||
προσφέρονται τις περισσότερες φορές διατίθενται διάφορες διανομές λειτουργικού
|
προσφέρονται, τις περισσότερες φορές διατίθενται διάφορες διανομές λειτουργικού
|
||||||
συστήματος Linux, οι οποίες ενδέχεται να έχουν εγκατεστημένα και ρυθμισμένα εκ
|
συστήματος Linux, οι οποίες ενδέχεται να έχουν εγκατεστημένα και ρυθμισμένα εκ
|
||||||
των προτέρων διάφορα λογισμικά, όπως το σύστημα διαχείρισης βάσεων δεδομένων
|
των προτέρων διάφορα λογισμικά, όπως το σύστημα διαχείρισης βάσεων δεδομένων
|
||||||
MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τρόπο, η διαδικασία
|
MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τρόπο, η διαδικασία
|
||||||
@@ -245,7 +245,7 @@ MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τ
|
|||||||
απομονωμένο από το υπόλοιπο σύστημα, αυτό επιτυγχάνεται με δύο διαφορετικούς
|
απομονωμένο από το υπόλοιπο σύστημα, αυτό επιτυγχάνεται με δύο διαφορετικούς
|
||||||
τρόπους αφού οι εικονικές μηχανές και τα δοχεία χρησιμοποιούν διαφορετικού
|
τρόπους αφού οι εικονικές μηχανές και τα δοχεία χρησιμοποιούν διαφορετικού
|
||||||
είδους εικονικοποίηση. Στην περίπτωση των δοχείων δεν έχουμε απομόνωση μηχανών
|
είδους εικονικοποίηση. Στην περίπτωση των δοχείων δεν έχουμε απομόνωση μηχανών
|
||||||
αλλά διεργασιών. Γεγονός που συμβάλει στην αποφυγή της επιβάρυνσης του
|
αλλά διεργασιών. Γεγονός που συμβάλλει στην αποφυγή της επιβάρυνσης του
|
||||||
συστήματος που θα επιβάλλονταν από τις διεργασίες του υπερ-επόπτη και της
|
συστήματος που θα επιβάλλονταν από τις διεργασίες του υπερ-επόπτη και της
|
||||||
καθυστέρησης που θα υπήρχε για την εκκίνηση ενός ολόκληρου λειτουργικού
|
καθυστέρησης που θα υπήρχε για την εκκίνηση ενός ολόκληρου λειτουργικού
|
||||||
συστήματος. Επιπλέον, η μη χρήση τεχνολογιών εικονικοποίησης σε επίπεδο υλικού
|
συστήματος. Επιπλέον, η μη χρήση τεχνολογιών εικονικοποίησης σε επίπεδο υλικού
|
||||||
@@ -255,7 +255,7 @@ MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τ
|
|||||||
|
|
||||||
Παρ' όλο που πολλές φορές τα δοχεία συγχέονται με τις εικονικές μηχανές, οι δύο
|
Παρ' όλο που πολλές φορές τα δοχεία συγχέονται με τις εικονικές μηχανές, οι δύο
|
||||||
αυτές έννοιες έχουν αρκετές διαφορές στην αρχιτεκτονική τους. Στην παραδοσιακή
|
αυτές έννοιες έχουν αρκετές διαφορές στην αρχιτεκτονική τους. Στην παραδοσιακή
|
||||||
εικονικοποίηση είτε αυτή γίνεται στις υπάρχουσες υποδομές μια επιχείρησης είτε
|
εικονικοποίηση είτε αυτή γίνεται στις υπάρχουσες υποδομές μιας επιχείρησης είτε
|
||||||
σε ένα περιβάλλον νέφους, ένας υπερ-επόπτης πρέπει να χρησιμοποιηθεί για να
|
σε ένα περιβάλλον νέφους, ένας υπερ-επόπτης πρέπει να χρησιμοποιηθεί για να
|
||||||
εικονικοποιήσει φυσικό υλικό. Κάθε εικονική μηχανή έχει ένα δικό της
|
εικονικοποιήσει φυσικό υλικό. Κάθε εικονική μηχανή έχει ένα δικό της
|
||||||
λειτουργικό σύστημα και ένα εικονικό αντίγραφο του υλικού που απαιτεί για να
|
λειτουργικό σύστημα και ένα εικονικό αντίγραφο του υλικού που απαιτεί για να
|
||||||
@@ -298,7 +298,7 @@ MySQL και το διακομιστή ιστού Nginx. Με αυτό τον τ
|
|||||||
μπορεί να έχουν πολλαπλά στιγμιότυπα (δηλ. μεγάλο αριθμό δοχείων) ανά πάσα
|
μπορεί να έχουν πολλαπλά στιγμιότυπα (δηλ. μεγάλο αριθμό δοχείων) ανά πάσα
|
||||||
χρονική στιγμή, απαιτείται η χρήση μιας πλατφόρμας ενορχήστρωσης δοχείων για
|
χρονική στιγμή, απαιτείται η χρήση μιας πλατφόρμας ενορχήστρωσης δοχείων για
|
||||||
την αυτοματοποίηση της εγκατάστασης, εκτέλεσης και κλιμάκωσης της εφαρμογής
|
την αυτοματοποίηση της εγκατάστασης, εκτέλεσης και κλιμάκωσης της εφαρμογής
|
||||||
κατά μήκος πολλαπλών πόρων (δηλ. εικονικών ή φυσική μηχανών) όπως είναι το
|
κατά μήκος πολλαπλών πόρων (δηλ. εικονικών ή φυσικών μηχανών) όπως είναι το
|
||||||
Kubernetes ή το Docker Swarm.
|
Kubernetes ή το Docker Swarm.
|
||||||
|
|
||||||
Το μόνο μειονέκτημα της τεχνολογίας των δοχείων, το οποίο δεν επηρεάζει κατά
|
Το μόνο μειονέκτημα της τεχνολογίας των δοχείων, το οποίο δεν επηρεάζει κατά
|
||||||
@@ -321,7 +321,7 @@ Docker) όπου μάλιστα η ταχύτητα δημιουργίας το
|
|||||||
\subsection{Εργαλεία διαχείρισης δοχείων και έλευση του Docker} \label{containerManagement}
|
\subsection{Εργαλεία διαχείρισης δοχείων και έλευση του Docker} \label{containerManagement}
|
||||||
|
|
||||||
Στις μέρες μας, η δημοτικότητα του Docker έχει συνταυτίσει του όρους Docker και
|
Στις μέρες μας, η δημοτικότητα του Docker έχει συνταυτίσει του όρους Docker και
|
||||||
Container (δοχείο) αν και είναι διαφορετικοί. Παρόλα αυτά η ιδέα της
|
Container (δοχείο) αν και είναι διαφορετικοί. Παρόλα αυτά, η ιδέα της
|
||||||
δημιουργίας απομονωμένων περιβαλλόντων εκτέλεσης λογισμικού υπήρχε προτού βγει
|
δημιουργίας απομονωμένων περιβαλλόντων εκτέλεσης λογισμικού υπήρχε προτού βγει
|
||||||
το Docker στην αγορά. Ιστορικά, οι πρώτες τεχνολογίες περί δοχείων έκαναν την
|
το Docker στην αγορά. Ιστορικά, οι πρώτες τεχνολογίες περί δοχείων έκαναν την
|
||||||
είσοδο τους από το 1979, όταν εισήχθη το chroot \footfullcite{chrootCommand}
|
είσοδο τους από το 1979, όταν εισήχθη το chroot \footfullcite{chrootCommand}
|
||||||
@@ -382,7 +382,7 @@ Docker, το Quay \footfullcite{quay}, ένα εναλλακτικό αποθε
|
|||||||
|
|
||||||
Οι μέθοδοι ανάπτυξης και παράδοσης εφαρμογών έχουν αλλάξει δραματικά τα
|
Οι μέθοδοι ανάπτυξης και παράδοσης εφαρμογών έχουν αλλάξει δραματικά τα
|
||||||
τελευταία χρόνια. Από τις παραδοσιακές μεθόδους όπως το μοντέλο καταρράκτη
|
τελευταία χρόνια. Από τις παραδοσιακές μεθόδους όπως το μοντέλο καταρράκτη
|
||||||
(waterfall) \footfullcite{waterfall} με βάση του οποίου υπήρχε ένα συγκεκριμένο
|
(waterfall) \footfullcite{waterfall} βάσει του οποίου υπήρχε ένα συγκεκριμένο
|
||||||
αμετάβλητο σχέδιο που καλούνταν να ακολουθήσει μια ομάδα ανάπτυξης λογισμικού,
|
αμετάβλητο σχέδιο που καλούνταν να ακολουθήσει μια ομάδα ανάπτυξης λογισμικού,
|
||||||
έχουμε φτάσει σε μια εποχή όπου οι απαιτήσεις της αγοράς αλλάζουν συνεχώς, με
|
έχουμε φτάσει σε μια εποχή όπου οι απαιτήσεις της αγοράς αλλάζουν συνεχώς, με
|
||||||
αποτέλεσμα να υπάρχει ανάγκη για καινούριες μεθόδους που να ανταποκρίνονται
|
αποτέλεσμα να υπάρχει ανάγκη για καινούριες μεθόδους που να ανταποκρίνονται
|
||||||
@@ -403,14 +403,14 @@ Docker, το Quay \footfullcite{quay}, ένα εναλλακτικό αποθε
|
|||||||
Τα δοχεία αποτελούν ιδανική επιλογή για την εφαρμογή των παραπάνω μεθοδολογιών
|
Τα δοχεία αποτελούν ιδανική επιλογή για την εφαρμογή των παραπάνω μεθοδολογιών
|
||||||
και πρακτικών καθώς επιτρέπουν το γρήγορο και αποτελεσματικό πακετάρισμα
|
και πρακτικών καθώς επιτρέπουν το γρήγορο και αποτελεσματικό πακετάρισμα
|
||||||
εφαρμογών και την εκτέλεση τους σε οποιοδήποτε περιβάλλον. Λόγω των
|
εφαρμογών και την εκτέλεση τους σε οποιοδήποτε περιβάλλον. Λόγω των
|
||||||
χαρακτηριστικών τους, εξαλείφουν τυχόν προβλήματα συμβατότητας μεταξύ των
|
χαρακτηριστικών τους, εξαλείφουν τυχόν προβλήματα ασυμβατότητας μεταξύ των
|
||||||
περιβαλλόντων εκτέλεσης τους και προσφέρουν μεγαλύτερη αποδοτικότητα πόρων αφού
|
περιβαλλόντων εκτέλεσης τους και προσφέρουν μεγαλύτερη αποδοτικότητα πόρων αφού
|
||||||
μπορεί κανείς να εκτελέσει πολλά περισσότερα αντίγραφα ενός προγράμματος για
|
μπορεί κανείς να εκτελέσει πολλά περισσότερα αντίγραφα ενός προγράμματος για
|
||||||
συγκεκριμένη ποσότητα πόρων σε σχέση με τον αριθμό που θα μπορούσε να εκτελέσει
|
συγκεκριμένη ποσότητα πόρων σε σχέση με τον αριθμό που θα μπορούσε να εκτελέσει
|
||||||
χρησιμοποιώντας εικονικές μηχανές πάνω από αυτούς τους πόρους, κάτι που μειώνει
|
χρησιμοποιώντας εικονικές μηχανές πάνω από αυτούς τους πόρους. Γεγονός που
|
||||||
ιδιαίτερα το κόστος λειτουργίας και αυξάνει την κλιμακωσιμότητα. Επιπλέον, λόγω
|
μειώνει ιδιαίτερα το κόστος λειτουργίας και αυξάνει την κλιμακωσιμότητα.
|
||||||
της ταχείας διάθεσης και εκτέλεσης τους, συμβαδίζουν πλήρως με τον ρυθμό
|
Επιπλέον, λόγω της ταχείας διάθεσης και εκτέλεσης τους, συμβαδίζουν πλήρως με
|
||||||
ανάπτυξης και παράδοσης που υποστηρίζουν οι παραπάνω μεθοδολογίες.
|
τον ρυθμό ανάπτυξης και παράδοσης που υποστηρίζουν οι παραπάνω μεθοδολογίες.
|
||||||
|
|
||||||
Έχοντας αυτά υπόψιν, γίνεται εμφανής και ο λόγος που τα δοχεία είναι η
|
Έχοντας αυτά υπόψιν, γίνεται εμφανής και ο λόγος που τα δοχεία είναι η
|
||||||
προτιμότερη επιλογή για την ανάπτυξη και παράδοση εφαρμογών που ακολουθούν την
|
προτιμότερη επιλογή για την ανάπτυξη και παράδοση εφαρμογών που ακολουθούν την
|
||||||
@@ -419,7 +419,7 @@ Docker, το Quay \footfullcite{quay}, ένα εναλλακτικό αποθε
|
|||||||
λειτουργία της (μικρο-υπηρεσία). Τα δοχεία αυτά είναι ανεξάρτητα μεταξύ τους
|
λειτουργία της (μικρο-υπηρεσία). Τα δοχεία αυτά είναι ανεξάρτητα μεταξύ τους
|
||||||
και κατά την ανάγκη κλιμάκωσης μιας συγκεκριμένης λειτουργίας της εφαρμογής
|
και κατά την ανάγκη κλιμάκωσης μιας συγκεκριμένης λειτουργίας της εφαρμογής
|
||||||
αυτό μπορεί να επιτευχθεί δίχως την περιττή κλιμάκωση όλων των υπολοίπων.
|
αυτό μπορεί να επιτευχθεί δίχως την περιττή κλιμάκωση όλων των υπολοίπων.
|
||||||
Επιπρόσθετα, η ανεξαρτησία των δοχείων μεταξύ τους καθιστά πιο σταθερή την
|
Επιπρόσθετα, η ανεξαρτησία των δοχείων μεταξύ τους, καθιστά πιο σταθερή την
|
||||||
εφαρμογή αφού σε περίπτωση που κάποιο από αυτά αποτύχει, η υπόλοιπη εφαρμογή θα
|
εφαρμογή αφού σε περίπτωση που κάποιο από αυτά αποτύχει, η υπόλοιπη εφαρμογή θα
|
||||||
συνεχίσει να λειτουργεί κανονικά και η ανακατασκευή του δοχείου που απέτυχε
|
συνεχίσει να λειτουργεί κανονικά και η ανακατασκευή του δοχείου που απέτυχε
|
||||||
μπορεί να επιτευχθεί εύκολα και γρήγορα με μια απλή τροποποίηση της εκάστοτε
|
μπορεί να επιτευχθεί εύκολα και γρήγορα με μια απλή τροποποίηση της εκάστοτε
|
||||||
@@ -484,7 +484,7 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
εύκολη τη μεταφορά τους σε οποιοδήποτε μηχάνημα (εφόσον αυτό υποστηρίζει την
|
εύκολη τη μεταφορά τους σε οποιοδήποτε μηχάνημα (εφόσον αυτό υποστηρίζει την
|
||||||
εκτέλεση της μηχανής δοχείων του Docker) ή ακόμα και νέφος, θέτοντας το
|
εκτέλεση της μηχανής δοχείων του Docker) ή ακόμα και νέφος, θέτοντας το
|
||||||
κορυφαία επιλογή για επιχειρήσεις που επιλέγουν να ακολουθήσουν την στρατηγική
|
κορυφαία επιλογή για επιχειρήσεις που επιλέγουν να ακολουθήσουν την στρατηγική
|
||||||
πολλαπλών νεφών (multi-cloud computing) κατά την κατασκευή εφαρμογών, δηλαδή να
|
πολλαπλών νεφών (multi-cloud computing) κατά την κατασκευή εφαρμογών. Δηλαδή να
|
||||||
μην βασίζονται αποκλειστικά σε έναν πάροχο νέφους για όλες τις λειτουργίες μιας
|
μην βασίζονται αποκλειστικά σε έναν πάροχο νέφους για όλες τις λειτουργίες μιας
|
||||||
εφαρμογής \footfullcite{multiCloud} αλλά να εκμεταλλεύονται οφέλη από πολλούς
|
εφαρμογής \footfullcite{multiCloud} αλλά να εκμεταλλεύονται οφέλη από πολλούς
|
||||||
παρόχους με βάση τις ανάγκες τους.
|
παρόχους με βάση τις ανάγκες τους.
|
||||||
@@ -512,8 +512,8 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
μέσω της εικονικοποίησης υλικού ανάμεσα στα προγράμματα και το μηχάνημα στο
|
μέσω της εικονικοποίησης υλικού ανάμεσα στα προγράμματα και το μηχάνημα στο
|
||||||
οποίο εκτελούνται αποτελεί ένα παραπάνω εμπόδιο που θα πρέπει να ξεπεράσει ένας
|
οποίο εκτελούνται αποτελεί ένα παραπάνω εμπόδιο που θα πρέπει να ξεπεράσει ένας
|
||||||
επιτιθέμενος για να προκαλέσει ζημιές στο κύριο σύστημα, αφού θα πρέπει πρώτα
|
επιτιθέμενος για να προκαλέσει ζημιές στο κύριο σύστημα, αφού θα πρέπει πρώτα
|
||||||
να περάσει από τον εικονικό πυρήνα και έπειτα από τον υπερ-επόπτη. Παράλληλα, η
|
να περάσει από τον εικονικό πυρήνα και έπειτα από τον υπερ-επόπτη. Παράλληλα, ο
|
||||||
ο συνδυασμός με την αρχιτεκτονική δοχείων παρέχει ένα επιπρόσθετο επίπεδο
|
συνδυασμός με την αρχιτεκτονική δοχείων παρέχει ένα επιπρόσθετο επίπεδο
|
||||||
απομόνωσης εφόσον στην προκειμένη περίπτωση η άμεση επικοινωνία με τον πυρήνα
|
απομόνωσης εφόσον στην προκειμένη περίπτωση η άμεση επικοινωνία με τον πυρήνα
|
||||||
του συστήματος αφορά το ΛΣ φιλοξενίας και όχι το κύριο σύστημα.
|
του συστήματος αφορά το ΛΣ φιλοξενίας και όχι το κύριο σύστημα.
|
||||||
|
|
||||||
@@ -542,15 +542,15 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
Με τη χρήση της αρχιτεκτονικής δοχείων και ειδικότερα του Docker, έρχονται
|
Με τη χρήση της αρχιτεκτονικής δοχείων και ειδικότερα του Docker, έρχονται
|
||||||
αρκετά εγγενή οφέλη ασφαλείας \footfullcite{dockerInherentSecurity}. Ένα βασικό
|
αρκετά εγγενή οφέλη ασφαλείας \footfullcite{dockerInherentSecurity}. Ένα βασικό
|
||||||
όφελος αποτελεί η διαφάνεια. Λόγω της φύσης τους, τα δοχεία επιτρέπουν την
|
όφελος αποτελεί η διαφάνεια. Λόγω της φύσης τους, τα δοχεία επιτρέπουν την
|
||||||
ακριβή κατανόηση του κώδικα που εκτελείται μέσα σε αυτά σε αντίθεση με την
|
ακριβή κατανόηση του κώδικα που εκτελείται μέσα σε αυτά, σε αντίθεση με την
|
||||||
περίπτωση χρήσης αποκλειστικά εικονικών μηχανών. Επιπρόσθετα, κατά την εμφάνιση
|
περίπτωση χρήσης αποκλειστικά εικονικών μηχανών. Επιπρόσθετα, κατά την εμφάνιση
|
||||||
προβλημάτων σε μία υπηρεσία με αρχιτεκτονική μικρο-υπηρεσιών που κάνει χρήση
|
προβλημάτων σε μία υπηρεσία με αρχιτεκτονική μικρο-υπηρεσιών που κάνει χρήση
|
||||||
δοχείων, είναι διακριτή η διευκόλυνση στον εντοπισμό της πηγής τους.
|
δοχείων, είναι διακριτή η διευκόλυνση στον εντοπισμό της πηγής τους.
|
||||||
|
|
||||||
Ένα εξίσου σημαντικό όφελος αποτελεί το επιπρόσθετο επίπεδο ασφάλειας που
|
Ένα εξίσου σημαντικό όφελος αποτελεί το επιπρόσθετο επίπεδο ασφάλειας που
|
||||||
παρέχεται. Σε περιβάλλον εικονικής μηχανής θα πρέπει να σκληρυνθεί το ΛΣ
|
παρέχεται. Σε περιβάλλον εικονικής μηχανής θα πρέπει να σκληρύνει το ΛΣ
|
||||||
φιλοξενίας (αν υπάρχει), ο υπερ-επόπτης, το φιλοξενούμενο ΛΣ και η εκτελούμενη
|
φιλοξενίας (αν υπάρχει), ο υπερ-επόπτης, το φιλοξενούμενο ΛΣ και η εκτελούμενη
|
||||||
υπηρεσία. Σε περιβάλλον δοχείου, πρέπει να σκληρυνθεί το ΛΣ που φιλοξενεί τη
|
υπηρεσία. Σε περιβάλλον δοχείου, πρέπει να σκληρύνει το ΛΣ που φιλοξενεί τη
|
||||||
μηχανή δοχείων, η μηχανή δοχείων και η υπηρεσία. Πράγμα που σημαίνει πως σε ένα
|
μηχανή δοχείων, η μηχανή δοχείων και η υπηρεσία. Πράγμα που σημαίνει πως σε ένα
|
||||||
εικονικό περιβάλλον με την χρήση του Docker έχουμε επιπρόσθετα επίπεδα που
|
εικονικό περιβάλλον με την χρήση του Docker έχουμε επιπρόσθετα επίπεδα που
|
||||||
χρειάζονται σκλήρυνση. Συνεπώς, σε εικονικά περιβάλλοντα, η χρήση δοχείων
|
χρειάζονται σκλήρυνση. Συνεπώς, σε εικονικά περιβάλλοντα, η χρήση δοχείων
|
||||||
@@ -599,7 +599,7 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
ένα δοχείο μπορεί να εκμεταλλευτεί μια ευπάθεια του πυρήνα προκειμένου να
|
ένα δοχείο μπορεί να εκμεταλλευτεί μια ευπάθεια του πυρήνα προκειμένου να
|
||||||
αποκτήσει πρόσβαση στο κύριο σύστημα και εφόσον η εκτέλεση του Docker γίνεται
|
αποκτήσει πρόσβαση στο κύριο σύστημα και εφόσον η εκτέλεση του Docker γίνεται
|
||||||
με διαχειριστικά δικαιώματα, μετά από μια επιτυχημένη επίθεση Container Escape
|
με διαχειριστικά δικαιώματα, μετά από μια επιτυχημένη επίθεση Container Escape
|
||||||
θα έχει διαχειριστικά δικαιώματα και ο επιτιθέμενος
|
θα έχει διαχειριστικά δικαιώματα και ο ίδιος
|
||||||
\footfullcite{containerEscapeRepercussions}.
|
\footfullcite{containerEscapeRepercussions}.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
@@ -607,8 +607,8 @@ ECS (Elastic Container Service) της Amazon. Μια υποκατηγορία
|
|||||||
\subsection{Ξεπερνώντας τα μειονεκτήματα ασφαλείας του Docker} \label{overcomingDockerDisadvantages}
|
\subsection{Ξεπερνώντας τα μειονεκτήματα ασφαλείας του Docker} \label{overcomingDockerDisadvantages}
|
||||||
|
|
||||||
Οι πιο συνήθεις τρόποι αντιμετώπισης της ανεπαρκούς προκαθορισμένης ασφάλειας
|
Οι πιο συνήθεις τρόποι αντιμετώπισης της ανεπαρκούς προκαθορισμένης ασφάλειας
|
||||||
του Docker (δηλ. της ελαστικής απομόνωσης) είναι η ρύθμιση καλύτερων AppArmor
|
του Docker (δηλ. της ελαστικής απομόνωσης) είναι η ρύθμιση καλύτερων προφίλ
|
||||||
προφίλ ή κανόνων SELinux προκειμένου να απομονωθεί καλύτερα από το κύριο
|
AppArmor ή κανόνων SELinux προκειμένου να απομονωθεί καλύτερα από το κύριο
|
||||||
σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως
|
σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως
|
||||||
τα δοχεία και όχι τη μηχανή δοχείων καθ' αυτού. Γι' αυτό τον λόγο, πολλές φορές
|
τα δοχεία και όχι τη μηχανή δοχείων καθ' αυτού. Γι' αυτό τον λόγο, πολλές φορές
|
||||||
πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία/χρήση του
|
πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά τη λειτουργία/χρήση του
|
||||||
@@ -623,10 +623,10 @@ Docker, όπως η αποφυγή χρήσης του διαχειριστικ
|
|||||||
\ref{installationANDShowcase}, θα επιτευχθεί η ασφάλιση του Docker και του
|
\ref{installationANDShowcase}, θα επιτευχθεί η ασφάλιση του Docker και του
|
||||||
συστήματος με αυτοματοποιημένο τρόπο ακολουθώντας ορθές πρακτικές,
|
συστήματος με αυτοματοποιημένο τρόπο ακολουθώντας ορθές πρακτικές,
|
||||||
χρησιμοποιώντας ένα ασφαλέστερο από το αρχικό Container Runtime και εκτελώντας
|
χρησιμοποιώντας ένα ασφαλέστερο από το αρχικό Container Runtime και εκτελώντας
|
||||||
το Docker εξολοκλήρου χωρίς την ανάγκη διαχειριστικών δικαιωμάτων. Το εργαλείο
|
το Docker εξ ολοκλήρου χωρίς την ανάγκη διαχειριστικών δικαιωμάτων. Το εργαλείο
|
||||||
αυτό επικοινωνεί με πολλούς παρόχους νέφους στέλνοντας τους παραμέτρους για τις
|
αυτό επικοινωνεί με πολλούς παρόχους νέφους στέλνοντας τους παραμέτρους για τις
|
||||||
προδιαγραφές εικονικών μηχανών προκειμένου να μπορέσουν να δημιουργηθούν με
|
προδιαγραφές εικονικών μηχανών προκειμένου να μπορέσουν να δημιουργηθούν με
|
||||||
αυτοματοποιημένο τρόπο επιτρέποντας έτσι την δημιουργία πολλαπλών ασφαλών
|
αυτοματοποιημένο τρόπο, επιτρέποντας έτσι την δημιουργία πολλαπλών ασφαλών
|
||||||
περιβαλλόντων ώστε να μπορεί ένας χρήστης να εγκαθιστά εκεί τα δοχεία της
|
περιβαλλόντων ώστε να μπορεί ένας χρήστης να εγκαθιστά εκεί τα δοχεία της
|
||||||
εφαρμογής του. Η σκλήρυνση του ΛΣ επιτυγχάνεται με την εκτέλεση πολλών βημάτων
|
εφαρμογής του. Η σκλήρυνση του ΛΣ επιτυγχάνεται με την εκτέλεση πολλών βημάτων
|
||||||
στα οποία μεταξύ άλλων περιλαμβάνεται η σκλήρυνση του SSH, ο εντοπισμός, η
|
στα οποία μεταξύ άλλων περιλαμβάνεται η σκλήρυνση του SSH, ο εντοπισμός, η
|
||||||
@@ -639,7 +639,7 @@ Akihiro Suda πάνω στο rootlesskit \footfullcite{AkihiroSuda}, επιτρ
|
|||||||
έναν πλαστό διαχειριστικό λογαριασμό προκειμένου να μπορέσει η μηχανή δοχείων
|
έναν πλαστό διαχειριστικό λογαριασμό προκειμένου να μπορέσει η μηχανή δοχείων
|
||||||
να εκτελεστεί υπό την κυριότητα οποιουδήποτε χρήστη του συστήματος. Τέλος, η
|
να εκτελεστεί υπό την κυριότητα οποιουδήποτε χρήστη του συστήματος. Τέλος, η
|
||||||
αντικατάσταση του αρχικού Container Runtime με το αντίστοιχο του gVisor
|
αντικατάσταση του αρχικού Container Runtime με το αντίστοιχο του gVisor
|
||||||
\footfullcite{gVisor}, εισάγει ένα πιο συμπαγές τοίχος προστασίας απέναντι σε
|
\footfullcite{gVisor}, εισάγει ένα πιο συμπαγές τείχος προστασίας απέναντι σε
|
||||||
συνηθισμένες επιθέσεις κατά των δοχείων, καθιστώντας το σύστημα μας πιο ασφαλές
|
συνηθισμένες επιθέσεις κατά των δοχείων, καθιστώντας το σύστημα μας πιο ασφαλές
|
||||||
συγκριτικά με τις αρχικές/προκαθορισμένες ρυθμίσεις.
|
συγκριτικά με τις αρχικές/προκαθορισμένες ρυθμίσεις.
|
||||||
|
|
||||||
@@ -649,9 +649,9 @@ Akihiro Suda πάνω στο rootlesskit \footfullcite{AkihiroSuda}, επιτρ
|
|||||||
|
|
||||||
Η υπόλοιπη δομή της αναφοράς είναι η εξής. Στο κεφάλαιο \ref{background} θα
|
Η υπόλοιπη δομή της αναφοράς είναι η εξής. Στο κεφάλαιο \ref{background} θα
|
||||||
μελετήσουμε τον όρο νεφο-υπολογιστική, θα αναλύσουμε τις διάφορες τεχνολογίες
|
μελετήσουμε τον όρο νεφο-υπολογιστική, θα αναλύσουμε τις διάφορες τεχνολογίες
|
||||||
εικονικοποίησης και θα εμβαθύνουμε στην τεχνολογία των δοχείων και συγκεκριμένα
|
εικονικοποίησης και θα εμβαθύνουμε στην τεχνολογία των δοχείων με επίκεντρο την
|
||||||
στην ασφάλεια του Docker. Στο επόμενο κεφάλαιο (δηλαδή το \ref{relevantWork}),
|
ασφάλεια του Docker. Στο επόμενο κεφάλαιο (δηλαδή το \ref{relevantWork}), θα
|
||||||
θα δούμε εργασίες σχετικές με την παρούσα και θα πραγματοποιηθεί ανάλυση και
|
δούμε εργασίες σχετικές με την παρούσα και θα πραγματοποιηθεί ανάλυση και
|
||||||
σύγκριση αυτών με την προτεινόμενη εργασία της διπλωματικής. Αμέσως μετά, στο
|
σύγκριση αυτών με την προτεινόμενη εργασία της διπλωματικής. Αμέσως μετά, στο
|
||||||
κεφάλαιο \ref{projectDevelopment}, αναφερόμαστε στην ανάπτυξη του προτεινόμενου
|
κεφάλαιο \ref{projectDevelopment}, αναφερόμαστε στην ανάπτυξη του προτεινόμενου
|
||||||
εργαλείου και τα παράγωγά της (απαιτήσεις, σχεδιαστικά μοντέλα, κώδικα
|
εργαλείου και τα παράγωγά της (απαιτήσεις, σχεδιαστικά μοντέλα, κώδικα
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
βρίσκεται ένας τελικός χρήστης μπορεί να χρησιμοποιήσει πόρους από
|
βρίσκεται ένας τελικός χρήστης μπορεί να χρησιμοποιήσει πόρους από
|
||||||
οποιοδήποτε κέντρο δεδομένων επιθυμεί. Παραδείγματα πόρων που
|
οποιοδήποτε κέντρο δεδομένων επιθυμεί. Παραδείγματα πόρων που
|
||||||
παρέχονται αποτελούν μεταξύ άλλων το εύρος ζώνης δικτύου, ο
|
παρέχονται αποτελούν μεταξύ άλλων το εύρος ζώνης δικτύου, ο
|
||||||
αποθηκευτικός χώρος και εικονικές μηχανές.
|
αποθηκευτικός χώρος και οι εικονικές μηχανές.
|
||||||
|
|
||||||
\item \textbf{Ελαστικότητα (Elasticity)}:
|
\item \textbf{Ελαστικότητα (Elasticity)}:
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
ανάπτυξης/εκτέλεσης, των εγκατεστημένων εφαρμογών και των ρυθμίσεων
|
ανάπτυξης/εκτέλεσης, των εγκατεστημένων εφαρμογών και των ρυθμίσεων
|
||||||
διαμόρφωσης τους. Το μοντέλο χρέωσης υπηρεσιών IaaS συνήθως αποτελείται
|
διαμόρφωσης τους. Το μοντέλο χρέωσης υπηρεσιών IaaS συνήθως αποτελείται
|
||||||
από μια συνεχόμενη χρέωση ανά χρονική περίοδο λόγω της ανάθεσης των
|
από μια συνεχόμενη χρέωση ανά χρονική περίοδο λόγω της ανάθεσης των
|
||||||
πόρων στον καταναλωτή η οποία αυξάνεται μετά την υπέρβαση ενός ορίου
|
πόρων στον καταναλωτή, η οποία αυξάνεται μετά την υπέρβαση ενός ορίου
|
||||||
χρήσης για ορισμένους πόρους όπως το εύρος ζώνης δικτύου.
|
χρήσης για ορισμένους πόρους όπως το εύρος ζώνης δικτύου.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
μια επιχείρηση να ακολουθήσει. Επιπλέον, λόγω της αποκλειστικής
|
μια επιχείρηση να ακολουθήσει. Επιπλέον, λόγω της αποκλειστικής
|
||||||
αφιέρωσης του σε έναν μόνο οργανισμό, εξασφαλίζεται η διαθεσιμότητα των
|
αφιέρωσης του σε έναν μόνο οργανισμό, εξασφαλίζεται η διαθεσιμότητα των
|
||||||
δεδομένων κατά παραγγελία, όπως επίσης και η αξιοπιστία του για
|
δεδομένων κατά παραγγελία, όπως επίσης και η αξιοπιστία του για
|
||||||
κρίσιμους φόρτους εργασίας
|
κρίσιμους φόρτους εργασίας.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό
|
αποκλειστικούς πόρους από ένα μόνο, φυσικό σύστημα υλικού. Ένα λογισμικό
|
||||||
ονόματι υπερ-επόπτης (hypervisor) συνδέεται στο υλικό αυτό\footnote{Απευθείας
|
ονόματι υπερ-επόπτης (hypervisor) συνδέεται στο υλικό αυτό\footnote{Απευθείας
|
||||||
στην εικονικοποίηση υποβοηθούμενη από το υλικό και έμμεσα στην
|
στην εικονικοποίηση υποβοηθούμενη από το υλικό και έμμεσα στην
|
||||||
εικονικοποίηση υποβοηθούμενη από το λογισμικό} και δίνει τη δυνατότητα
|
εικονικοποίηση υποβοηθούμενη από το λογισμικό.} και δίνει τη δυνατότητα
|
||||||
διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή περιβάλλοντα,
|
διαμερισμού ενός συστήματος σε ξεχωριστά, διακριτά και ασφαλή περιβάλλοντα,
|
||||||
γνωστά και ως εικονικές μηχανές (Virtual Machines - VMs). Επομένως, αυτές οι
|
γνωστά και ως εικονικές μηχανές (Virtual Machines - VMs). Επομένως, αυτές οι
|
||||||
εικονικές μηχανές βασίζονται στην ικανότητα του υπερ-επόπτη να διαχωρίζει τους
|
εικονικές μηχανές βασίζονται στην ικανότητα του υπερ-επόπτη να διαχωρίζει τους
|
||||||
@@ -245,7 +245,7 @@
|
|||||||
όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς
|
όλες τις δυνατότητες ενός φυσικού μηχανήματος διανέμοντας τις σε πολλούς
|
||||||
χρήστες και περιβάλλοντα. Με άλλα λόγια, υποστηρίζεται η πολλαπλή μίσθωση ανά
|
χρήστες και περιβάλλοντα. Με άλλα λόγια, υποστηρίζεται η πολλαπλή μίσθωση ανά
|
||||||
φυσικό μηχάνημα με τη μορφή εικονικών μηχανημάτων καθώς και η αυξημένη χρήση
|
φυσικό μηχάνημα με τη μορφή εικονικών μηχανημάτων καθώς και η αυξημένη χρήση
|
||||||
πόρων των φυσικών μηχανημάτων (στα κέντρα δεδομένων του νέφους)
|
πόρων των φυσικών μηχανημάτων (στα κέντρα δεδομένων του νέφους).
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -270,10 +270,10 @@
|
|||||||
|
|
||||||
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
|
Παραδοσιακά, αυτή η αρχιτεκτονική όπου εκτελούνται μεμονωμένες εργασίες σε
|
||||||
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
|
μεμονωμένους διακομιστές ήταν ευκολότερη και πιο αξιόπιστη αλλά δεν παύει να
|
||||||
μην είναι η πιο αποδοτική λύση. Με την άφιξη της τεχνολογίας της
|
είναι η λιγότερο αποδοτική λύση. Με την άφιξη της τεχνολογίας της
|
||||||
εικονικοποίησης, όμως είναι πλέον εφικτό να χωριστεί ένας διακομιστής σε
|
εικονικοποίησης όμως, είναι πλέον εφικτό να χωριστεί ένας διακομιστής σε
|
||||||
περισσότερα μέρη, έχοντας πλέον δύο ή παραπάνω εικονικά μηχανήματα με τη χρήση
|
περισσότερα μέρη, έχοντας δύο ή παραπάνω εικονικά μηχανήματα με τη χρήση ενός
|
||||||
ενός φυσικού.
|
φυσικού.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{figure}[!ht]
|
\begin{figure}[!ht]
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
Εφόσον ένας διακομιστής χωρίζεται σε δύο ή παραπάνω εικονικά μέρη, μπορεί να
|
Εφόσον ένας διακομιστής χωρίζεται σε δύο ή παραπάνω εικονικά μέρη, μπορεί να
|
||||||
αυξηθεί ραγδαία η αξιοποίηση των δυνατοτήτων του. Με βάση το προηγούμενο
|
αυξηθεί ραγδαία η αξιοποίηση των δυνατοτήτων του. Με βάση το προηγούμενο
|
||||||
παράδειγμα, αν μια εικονική μηχανή λαμβάνει το 30\% των πόρων ενός
|
παράδειγμα, αν μια εικονική μηχανή λαμβάνει το 30\% των πόρων ενός
|
||||||
διακομιστή/φυσικού μηχανήματος, τότε όλες οι προαναφερόμενες τρεις
|
διακομιστή/φυσικού μηχανήματος, τότε και οι τρεις προαναφερόμενες
|
||||||
λειτουργικότητες (παροχής υπηρεσιών ιστού, ηλεκτρονικού ταχυδρομείου και
|
λειτουργικότητες (παροχής υπηρεσιών ιστού, ηλεκτρονικού ταχυδρομείου και
|
||||||
εφαρμογών) θα μπορούσαν να εγκατασταθούν στον ίδιο διακομιστή με την μορφή
|
εφαρμογών) θα μπορούσαν να εγκατασταθούν στον ίδιο διακομιστή με την μορφή
|
||||||
τριών διαφορετικών εικονικών μηχανημάτων, αντίστοιχα.
|
τριών διαφορετικών εικονικών μηχανημάτων, αντίστοιχα.
|
||||||
@@ -298,11 +298,11 @@
|
|||||||
Αφού η δημιουργία και καταστροφή των εικονικών μηχανών σε ένα μηχάνημα
|
Αφού η δημιουργία και καταστροφή των εικονικών μηχανών σε ένα μηχάνημα
|
||||||
πραγματοποιείται δυναμικά ανάλογα με τη ζήτηση, αυτό σημαίνει πως ένας
|
πραγματοποιείται δυναμικά ανάλογα με τη ζήτηση, αυτό σημαίνει πως ένας
|
||||||
διακομιστής μπορεί να συνεχίσει να χρησιμοποιείται για νέους σκοπούς σε σχέση
|
διακομιστής μπορεί να συνεχίσει να χρησιμοποιείται για νέους σκοπούς σε σχέση
|
||||||
με τους αρχικούς είτε να αποσυρθεί τελείως σταματώντας την λειτουργία του
|
με τους αρχικούς ή να αποσυρθεί τελείως σταματώντας την λειτουργία του (switch
|
||||||
(switch off). Το τελευταίο είναι χρήσιμο κυρίως όταν η ζήτηση σε ένα κέντρο
|
off). Το τελευταίο είναι χρήσιμο κυρίως όταν η ζήτηση σε ένα κέντρο δεδομένων
|
||||||
δεδομένων είναι μικρή και επομένως υπάρχει οικονομικό συμφέρον (λόγω
|
είναι μικρή και επομένως υπάρχει οικονομικό συμφέρον (λόγω ενεργειακού κόστους)
|
||||||
ενεργειακού κόστους) ως προς το κλείσιμο των διακομιστών που δεν απαιτούνται
|
ως προς το κλείσιμο των διακομιστών που δεν απαιτούνται για την κάλυψη της
|
||||||
για την κάλυψη της παρούσας ζήτησης.
|
παρούσας ζήτησης.
|
||||||
|
|
||||||
\subsection{Ιστορική αναδρομή της εικονικοποίησης} \label{virtualizationHistory}
|
\subsection{Ιστορική αναδρομή της εικονικοποίησης} \label{virtualizationHistory}
|
||||||
|
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
δεκαετίες για να δώσουν σε πολλούς χρήστες ταυτόχρονη πρόσβαση σε υπολογιστές
|
δεκαετίες για να δώσουν σε πολλούς χρήστες ταυτόχρονη πρόσβαση σε υπολογιστές
|
||||||
που επεξεργαζόντουσαν πολλά δεδομένα ταυτόχρονα. Κάτι ιδιαίτερα δημοφιλές στον
|
που επεξεργαζόντουσαν πολλά δεδομένα ταυτόχρονα. Κάτι ιδιαίτερα δημοφιλές στον
|
||||||
τομέα των επιχειρήσεων για καθήκοντα ρουτίνας που έπρεπε να εκτελεστούν
|
τομέα των επιχειρήσεων για καθήκοντα ρουτίνας που έπρεπε να εκτελεστούν
|
||||||
χιλιάδες φορές πολύ γρήγορα όπως η μισθοδοσία υπαλλήλων.
|
χιλιάδες φορές και πολύ γρήγορα όπως η μισθοδοσία υπαλλήλων.
|
||||||
|
|
||||||
Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο
|
Ωστόσο, μέσα στις επόμενες δεκαετίες, ήρθαν στο προσκήνιο άλλες λύσεις στο
|
||||||
πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το
|
πρόβλημα διαμοιρασμού ενός μηχανήματος σε πολλούς χρήστες, μειώνοντας έτσι το
|
||||||
@@ -335,7 +335,7 @@
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
Από εκείνο το σημείο και έπειτα άρχισε να γίνεται εμφανής η ανάγκη της
|
Από εκείνο το σημείο και έπειτα, άρχισε να γίνεται εμφανής η ανάγκη της
|
||||||
εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν
|
εικονικοποίησης και να ανεβαίνει η δημοτικότητα της. Οι εταιρείες μπορούσαν
|
||||||
πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν ακόμα και τις
|
πλέον να διαμερίσουν τους διακομιστές τους και να εκτελούν ακόμα και τις
|
||||||
παλαιές τους εφαρμογές σε πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων.
|
παλαιές τους εφαρμογές σε πολλούς τύπους και εκδόσεις λειτουργικών συστημάτων.
|
||||||
@@ -369,8 +369,8 @@
|
|||||||
για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών
|
για μια στρώση λογισμικού που καθιστά δυνατή την εκτέλεση πολλαπλών
|
||||||
λειτουργικών συστημάτων, το ένα δίπλα στο άλλο, μοιράζοντας τους ίδιους
|
λειτουργικών συστημάτων, το ένα δίπλα στο άλλο, μοιράζοντας τους ίδιους
|
||||||
φυσικούς πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση
|
φυσικούς πόρους σε κάθε ένα από αυτά. Η πράξη αυτή ονομάζεται εικονικοποίηση
|
||||||
και τα στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές οι
|
και τα στιγμιότυπα των λειτουργικών συστημάτων λέγονται εικονικές μηχανές και
|
||||||
οποίες αντιπροσωπεύουν προσομοιώσεις φυσικών υπολογιστών.
|
αντιπροσωπεύουν προσομοιώσεις φυσικών υπολογιστών.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -820,7 +820,7 @@ Machine), που επιτρέπει στο Linux να συμπεριφέρετα
|
|||||||
εκτελούνται μέσω της δημιουργίας δοχείων. Στα δοχεία αυτά,
|
εκτελούνται μέσω της δημιουργίας δοχείων. Στα δοχεία αυτά,
|
||||||
εικονικοποιούνται οι απαραίτητοι υπολογιστικοί πόροι όπως το
|
εικονικοποιούνται οι απαραίτητοι υπολογιστικοί πόροι όπως το
|
||||||
λειτουργικό σύστημα, η μνήμη και η κεντρική μονάδα επεξεργασίας
|
λειτουργικό σύστημα, η μνήμη και η κεντρική μονάδα επεξεργασίας
|
||||||
\footfullcite{geeksforgeeksApplicationVirtualization} κάνοντας χρήση
|
\footfullcite{geeksforgeeksApplicationVirtualization}, κάνοντας χρήση
|
||||||
των διαθέσιμων μηχανισμών απομόνωσης του πυρήνα του λειτουργικού
|
των διαθέσιμων μηχανισμών απομόνωσης του πυρήνα του λειτουργικού
|
||||||
συστήματος. Περισσότερες λεπτομέρειες για τον τρόπο κατά τον οποίο
|
συστήματος. Περισσότερες λεπτομέρειες για τον τρόπο κατά τον οποίο
|
||||||
επιτυγχάνεται αυτό, παρουσιάζονται στο \ref{osVirtualization}.
|
επιτυγχάνεται αυτό, παρουσιάζονται στο \ref{osVirtualization}.
|
||||||
@@ -1193,7 +1193,7 @@ API, ώστε να μπορεί να κάνει χρήση των υπερ-κλ
|
|||||||
Έτσι κακόβουλοι εισβολείς θα προσπαθήσουν να βρουν τρωτότητες στη διαδικασία
|
Έτσι κακόβουλοι εισβολείς θα προσπαθήσουν να βρουν τρωτότητες στη διαδικασία
|
||||||
παράδοσης των υπηρεσιών του παρόχου, τις υπηρεσίες τις ίδιες ή και τις διεπαφές
|
παράδοσης των υπηρεσιών του παρόχου, τις υπηρεσίες τις ίδιες ή και τις διεπαφές
|
||||||
με τις οποίες παρέχονται. Ένας συνηθισμένος τρόπος για να γίνει αυτό είναι
|
με τις οποίες παρέχονται. Ένας συνηθισμένος τρόπος για να γίνει αυτό είναι
|
||||||
εκτελώντας επιθέσεις τύπου Cross site scripting (XSS), έκχυση SQL (SQL
|
εκτελώντας επιθέσεις τύπου Cross site scripting (XSS), έγχυση SQL (SQL
|
||||||
injection), χειραγώγησης cookies ή εκμετάλλευσης μη ασφαλούς ρύθμισης, θέτοντας
|
injection), χειραγώγησης cookies ή εκμετάλλευσης μη ασφαλούς ρύθμισης, θέτοντας
|
||||||
έτσι σε κίνδυνο ευαίσθητες πληροφορίες και δεδομένα των επιχειρήσεων. Επιπλέον,
|
έτσι σε κίνδυνο ευαίσθητες πληροφορίες και δεδομένα των επιχειρήσεων. Επιπλέον,
|
||||||
επειδή όλα τα δίκτυα είναι επιρρεπή σε επιθέσεις αν δεν έχουν ληφθεί τα
|
επειδή όλα τα δίκτυα είναι επιρρεπή σε επιθέσεις αν δεν έχουν ληφθεί τα
|
||||||
@@ -1393,7 +1393,7 @@ SQL Injection Attacks\Tstrut\Bstrut \\
|
|||||||
\item \textbf{Συχνή ενημέρωση του υπερ-επόπτη}:
|
\item \textbf{Συχνή ενημέρωση του υπερ-επόπτη}:
|
||||||
|
|
||||||
Ο υπερ-επόπτης είναι ο πυρήνας του συστήματος εικονικοποίησης και
|
Ο υπερ-επόπτης είναι ο πυρήνας του συστήματος εικονικοποίησης και
|
||||||
επομένως η ασφάλεια του είναι ζωτικής σημασίας. Οι εταιρίες που
|
επομένως η ασφάλεια του είναι ζωτικής σημασίας. Οι εταιρείες που
|
||||||
αναπτύσσουν το λογισμικό του, τον ενημερώνουν συχνά για να διορθώσουν
|
αναπτύσσουν το λογισμικό του, τον ενημερώνουν συχνά για να διορθώσουν
|
||||||
τυχόν ευπάθειες που έχουν ανακαλυφθεί. Επομένως, οι επιχειρήσεις πρέπει
|
τυχόν ευπάθειες που έχουν ανακαλυφθεί. Επομένως, οι επιχειρήσεις πρέπει
|
||||||
να εφαρμόζουν τις ενημερώσεις αυτές το συντομότερο δυνατόν από την
|
να εφαρμόζουν τις ενημερώσεις αυτές το συντομότερο δυνατόν από την
|
||||||
@@ -1437,7 +1437,7 @@ SQL Injection Attacks\Tstrut\Bstrut \\
|
|||||||
για τον διαμοιρασμό αποθηκευτικού χώρου). Επιβάλλεται να εφαρμοστούν
|
για τον διαμοιρασμό αποθηκευτικού χώρου). Επιβάλλεται να εφαρμοστούν
|
||||||
πολιτικές που να διαχειρίζονται την φυσική και λογική κατάτμηση πόρων.
|
πολιτικές που να διαχειρίζονται την φυσική και λογική κατάτμηση πόρων.
|
||||||
Αυτό θα αποτρέψει την μη εξουσιοδοτημένη πρόσβαση, θα μειώσει τις
|
Αυτό θα αποτρέψει την μη εξουσιοδοτημένη πρόσβαση, θα μειώσει τις
|
||||||
επιθέσεις έκχυσης κώδικα από μια εικονική μηχανή σε μια άλλη, καθώς και
|
επιθέσεις έγχυσης κώδικα από μια εικονική μηχανή σε μια άλλη, καθώς και
|
||||||
το ρίσκο επίθεσης τύπου άρνησης υπηρεσίας.
|
το ρίσκο επίθεσης τύπου άρνησης υπηρεσίας.
|
||||||
|
|
||||||
\item \textbf{Παρακολούθηση των πόρων}:
|
\item \textbf{Παρακολούθηση των πόρων}:
|
||||||
@@ -1485,7 +1485,7 @@ SQL Injection Attacks\Tstrut\Bstrut \\
|
|||||||
σε ένα συγκεκριμένο περιβάλλον να μη λειτουργεί με τον αναμενόμενο τρόπο κατά
|
σε ένα συγκεκριμένο περιβάλλον να μη λειτουργεί με τον αναμενόμενο τρόπο κατά
|
||||||
τη μεταφορά του σε ένα άλλο, εκτός εάν έχει ελεγχθεί ότι υπάρχουν όλες οι
|
τη μεταφορά του σε ένα άλλο, εκτός εάν έχει ελεγχθεί ότι υπάρχουν όλες οι
|
||||||
εξαρτήσεις που χρειάζεται στις εκδόσεις που τις χρειάζεται. Ακόμα και σε αυτήν
|
εξαρτήσεις που χρειάζεται στις εκδόσεις που τις χρειάζεται. Ακόμα και σε αυτήν
|
||||||
την περίπτωση όμως, πέραν του κόπου για τον έλεγχο είναι αρκετά πιθανό ένα
|
την περίπτωση όμως, πέραν του κόπου για τον έλεγχο, είναι αρκετά πιθανό ένα
|
||||||
δεύτερο πρόγραμμα να χρειάζεται διαφορετικές εκδόσεις των ίδιων εξαρτήσεων.
|
δεύτερο πρόγραμμα να χρειάζεται διαφορετικές εκδόσεις των ίδιων εξαρτήσεων.
|
||||||
Αυτό πρακτικά σήμαινε πως το δεύτερο αυτό πρόγραμμα θα έπρεπε να στεγαστεί σε
|
Αυτό πρακτικά σήμαινε πως το δεύτερο αυτό πρόγραμμα θα έπρεπε να στεγαστεί σε
|
||||||
διαφορετικό διακομιστή, αυξάνοντας το σχετικό κόστος.
|
διαφορετικό διακομιστή, αυξάνοντας το σχετικό κόστος.
|
||||||
@@ -1615,11 +1615,11 @@ SQL Injection Attacks\Tstrut\Bstrut \\
|
|||||||
από το να επηρεάσει τα υπόλοιπα δοχεία ή το σύστημα στο οποίο
|
από το να επηρεάσει τα υπόλοιπα δοχεία ή το σύστημα στο οποίο
|
||||||
εκτελούνται. Συγκεκριμένα, χρησιμοποιώντας Kernel Security Modules όπως
|
εκτελούνται. Συγκεκριμένα, χρησιμοποιώντας Kernel Security Modules όπως
|
||||||
AppArmor ή SELinux μπορούν να ορισθούν άδειες ασφαλείας με σκοπό τον
|
AppArmor ή SELinux μπορούν να ορισθούν άδειες ασφαλείας με σκοπό τον
|
||||||
περιορισμό του εύρους πρόσβασης του Docker στο σύστημα και με access
|
περιορισμό του εύρους πρόσβασης του Docker στο σύστημα, ενώ με access
|
||||||
authorization plugins \footfullcite{accessAuthorizationPlugin},
|
authorization plugins \footfullcite{accessAuthorizationPlugin},
|
||||||
περιορίζεται η πρόσβαση στον δαίμονα του Docker. Επιπροσθέτως, πολύ
|
περιορίζεται η πρόσβαση στον δαίμονα του Docker. Επιπροσθέτως, πολύ
|
||||||
εύκολα μπορεί να περιοριστεί και η επικοινωνία μεταξύ δοχείων, καθώς
|
εύκολα μπορεί να περιοριστεί και η επικοινωνία μεταξύ δοχείων, καθώς
|
||||||
και του δικτύου του συστήματος.
|
και με το δίκτυο του συστήματος.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@@ -1635,8 +1635,8 @@ Container Initiative (OCI), η οποία ιδρύθηκε τον Ιούνιο
|
|||||||
είναι εγκλωβισμένοι στην τεχνολογία ενός συγκεκριμένου προμηθευτή. Απεναντίας,
|
είναι εγκλωβισμένοι στην τεχνολογία ενός συγκεκριμένου προμηθευτή. Απεναντίας,
|
||||||
θα μπορούν να επωφεληθούν από τις πιστοποιημένες από την OCI τεχνολογίες που θα
|
θα μπορούν να επωφεληθούν από τις πιστοποιημένες από την OCI τεχνολογίες που θα
|
||||||
τους επιτρέπουν να δημιουργούν εφαρμογές σε δοχεία χρησιμοποιώντας ένα ευρύ
|
τους επιτρέπουν να δημιουργούν εφαρμογές σε δοχεία χρησιμοποιώντας ένα ευρύ
|
||||||
σύνολο εργαλείων DevOps και να τις εκτελούν με τον ίδιο τρόπο σε οποιεσδήποτε
|
σύνολο εργαλείων DevOps, τις οποίες θα μπορούν να εκτελούν με τον ίδιο τρόπο σε
|
||||||
υποδομές της επιλογής τους.
|
οποιεσδήποτε υποδομές της επιλογής τους.
|
||||||
|
|
||||||
Σήμερα αν και το Docker αποτελεί μία από τις πιο γνωστές και ευρέως
|
Σήμερα αν και το Docker αποτελεί μία από τις πιο γνωστές και ευρέως
|
||||||
χρησιμοποιούμενες μηχανές δοχείων, υπάρχουν πολλές άλλες υλοποιήσεις.
|
χρησιμοποιούμενες μηχανές δοχείων, υπάρχουν πολλές άλλες υλοποιήσεις.
|
||||||
@@ -1723,15 +1723,16 @@ Docker να δουλεύουν ευκολότερα σε διαφορετικέ
|
|||||||
επιθέσεις. Συνεπώς, πρέπει να ληφθούν μέτρα προστασίας όπως η χρήση εικόνων
|
επιθέσεις. Συνεπώς, πρέπει να ληφθούν μέτρα προστασίας όπως η χρήση εικόνων
|
||||||
προερχόμενες μόνο από εγκεκριμένες πηγές, δηλαδή να υπάρχει εμπιστοσύνη ανάμεσα
|
προερχόμενες μόνο από εγκεκριμένες πηγές, δηλαδή να υπάρχει εμπιστοσύνη ανάμεσα
|
||||||
στον προμηθευτή μιας εικόνας δοχείου και τον τελικό χρήστη. Επιπροσθέτως, πριν
|
στον προμηθευτή μιας εικόνας δοχείου και τον τελικό χρήστη. Επιπροσθέτως, πριν
|
||||||
την χρήση μιας εικόνας δοχείου πρέπει να εξετάζεται με εργαλεία ανίχνευσης
|
την χρήση μιας εικόνας δοχείου, πρέπει αυτή να εξετάζεται με εργαλεία
|
||||||
τρωτοτήτων, καθώς και να έχει πραγματοποιηθεί επαρκώς σκλήρυνση του Docker ώστε
|
ανίχνευσης τρωτοτήτων, καθώς και να έχει πραγματοποιηθεί επαρκώς σκλήρυνση του
|
||||||
να μειωθούν οι επιπτώσεις κατά την χρήση της.
|
Docker ώστε να μειωθούν οι επιπτώσεις κατά την χρήση της εαν περιέχει κακόβουλο
|
||||||
|
λογισμικό.
|
||||||
|
|
||||||
Οι πάροχοι τεχνολογίας δοχείων έχουν αποκτήσει μια προσέγγιση ασφαλούς
|
Οι πάροχοι τεχνολογίας δοχείων έχουν αποκτήσει μια προσέγγιση ασφαλούς
|
||||||
σχεδιασμού ώστε πολλά από τα απαραίτητα μέτρα να είναι ενεργοποιημένα χωρίς την
|
σχεδιασμού ώστε πολλά από τα απαραίτητα μέτρα να είναι ενεργοποιημένα χωρίς την
|
||||||
απαίτηση επιπρόσθετης αλληλεπίδρασης από τον χρήστη. Πλέον η μηχανή δοχείων
|
απαίτηση επιπρόσθετης αλληλεπίδρασης από τον χρήστη. Πλέον, η μηχανή δοχείων
|
||||||
υποστηρίζει όλες τις ιδιότητες απομόνωσης που υποστηρίζει και το λειτουργικό
|
υποστηρίζει όλες τις ιδιότητες απομόνωσης που υποστηρίζει και το λειτουργικό
|
||||||
σύστημα στο οποίο εκτελείται και άδειες ασφαλείας μπορούν να δοθούν στα δοχεία
|
σύστημα στο οποίο εκτελείται, ενώ άδειες ασφαλείας μπορούν να δοθούν στα δοχεία
|
||||||
και τον δαίμονα του Docker μέσω του πυρήνα του ΛΣ, με σκοπό τον επιπρόσθετο
|
και τον δαίμονα του Docker μέσω του πυρήνα του ΛΣ, με σκοπό τον επιπρόσθετο
|
||||||
περιορισμό χρήσης πόρων και του εύρους του συστήματος στο οποίο έχει πρόσβαση η
|
περιορισμό χρήσης πόρων και του εύρους του συστήματος στο οποίο έχει πρόσβαση η
|
||||||
μηχανή δοχείων \footfullcite{ibmContainerizationDefinition}.
|
μηχανή δοχείων \footfullcite{ibmContainerizationDefinition}.
|
||||||
@@ -1796,7 +1797,7 @@ Docker να δουλεύουν ευκολότερα σε διαφορετικέ
|
|||||||
αλληλεπίδραση μεταξύ των δοχείων μέσω της διεπαφής δικτύου του καθενός
|
αλληλεπίδραση μεταξύ των δοχείων μέσω της διεπαφής δικτύου του καθενός
|
||||||
σαν να είναι εξωτερικές οντότητες.
|
σαν να είναι εξωτερικές οντότητες.
|
||||||
|
|
||||||
\item \textbf{Ομάδες ελέγχου (cgroups)}. Έπιβάλλεται η οριοθέτηση των
|
\item \textbf{Ομάδες ελέγχου (cgroups)}. Επιβάλλεται η οριοθέτηση των
|
||||||
υπολογιστικών πόρων προκειμένου να αποφευχθεί μια επίθεση τύπου άρνησης
|
υπολογιστικών πόρων προκειμένου να αποφευχθεί μια επίθεση τύπου άρνησης
|
||||||
υπηρεσίας, όπου μια διεργασία ή ένα σύνολο αυτών προσπαθεί να
|
υπηρεσίας, όπου μια διεργασία ή ένα σύνολο αυτών προσπαθεί να
|
||||||
καταναλώσει όλους τους πόρους του συστήματος. Με τη βοήθεια των ομάδων
|
καταναλώσει όλους τους πόρους του συστήματος. Με τη βοήθεια των ομάδων
|
||||||
@@ -1809,7 +1810,7 @@ Docker να δουλεύουν ευκολότερα σε διαφορετικέ
|
|||||||
εκμεταλλευτεί για να προστατεύσει το περιβάλλον του από επιθέσεις. Επιπλέον,
|
εκμεταλλευτεί για να προστατεύσει το περιβάλλον του από επιθέσεις. Επιπλέον,
|
||||||
υπάρχει και η δυνατότητα υποστήριξης Kernel Security Modules, όπως SELinux
|
υπάρχει και η δυνατότητα υποστήριξης Kernel Security Modules, όπως SELinux
|
||||||
\footfullcite{selinux} και AppArmor \footfullcite{apparmor} αλλά και του
|
\footfullcite{selinux} και AppArmor \footfullcite{apparmor} αλλά και του
|
||||||
Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC), όπως επίσης και
|
Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC), καθώς επίσης και
|
||||||
συμβατότητα με Linux capabilities, που θα μπορούσαν να εισάγουν ένα ακόμα
|
συμβατότητα με Linux capabilities, που θα μπορούσαν να εισάγουν ένα ακόμα
|
||||||
επίπεδο ασφαλείας, αν χρησιμοποιηθούν σωστά, περιορίζοντας τα δικαιώματα των
|
επίπεδο ασφαλείας, αν χρησιμοποιηθούν σωστά, περιορίζοντας τα δικαιώματα των
|
||||||
διεργασιών των δοχείων σε μονάχα όσα χρειάζονται. Το Docker παρέχει αρκετά
|
διεργασιών των δοχείων σε μονάχα όσα χρειάζονται. Το Docker παρέχει αρκετά
|
||||||
@@ -1875,7 +1876,7 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
|
|||||||
πρόληψη μελλοντικών μεθόδων διεκπεραίωσης τέτοιου είδους επίθεσης,
|
πρόληψη μελλοντικών μεθόδων διεκπεραίωσης τέτοιου είδους επίθεσης,
|
||||||
συνίσταται να τίθενται τα δοχεία και οι αποθηκευτικοί τους χώροι σε
|
συνίσταται να τίθενται τα δοχεία και οι αποθηκευτικοί τους χώροι σε
|
||||||
κατάσταση μονάχα ανάγνωσης, καθώς και να αποφεύγεται η χρήση της
|
κατάσταση μονάχα ανάγνωσης, καθώς και να αποφεύγεται η χρήση της
|
||||||
παραμέτρου privileged.
|
παραμέτρου \textquote{privileged}.
|
||||||
|
|
||||||
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
|
\item \textbf{Δηλητηριασμένες εικόνες δοχείων}:
|
||||||
|
|
||||||
@@ -1891,16 +1892,16 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
|
|||||||
|
|
||||||
\item \textbf{Απόκτηση μυστικών κωδικών/κλειδιών}:
|
\item \textbf{Απόκτηση μυστικών κωδικών/κλειδιών}:
|
||||||
|
|
||||||
Η απόκτηση επιχειρησιακών ή προσωπικών μυστικών ελοχεύει πολλούς
|
Η απόκτηση επιχειρησιακών ή προσωπικών μυστικών ελλοχεύει πολλούς
|
||||||
κινδύνους για μια επιχείρηση. Σε περίπτωση που κάτι τέτοιο συμβεί, ένας
|
κινδύνους για μια επιχείρηση. Σε περίπτωση που κάτι τέτοιο συμβεί, ένας
|
||||||
επιτιθέμενος μπορεί να έχει πρόσβαση σε βάσεις δεδομένων ή άλλα
|
επιτιθέμενος μπορεί να έχει πρόσβαση σε βάσεις δεδομένων ή άλλα
|
||||||
κομμάτια του συστήματος απειλώντας έτσι την ακεραιότητα, την
|
κομμάτια του συστήματος απειλώντας έτσι την ακεραιότητα, την
|
||||||
εμπιστευτικότητα και διαθεσιμότητα των δεδομένων. Προκειμένου να
|
εμπιστευτικότητα και διαθεσιμότητα των δεδομένων. Προκειμένου να
|
||||||
αποφευχθεί μια εισβολή σε κάποιο δοχείο που θα προκαλούσε την απόκτηση
|
αποφευχθεί η εισβολή σε κάποιο δοχείο που θα προκαλούσε την απόκτηση
|
||||||
τέτοιων μυστικών, καθίσταται επιτακτική η χρήση δοχείων σε κατάσταση
|
τέτοιων μυστικών, καθίσταται επιτακτική η χρήση δοχείων σε κατάσταση
|
||||||
ανάγνωσης και όχι εγγραφής αλλά και η αποφυγή χρήσης μεταβλητών για την
|
ανάγνωσης και όχι εγγραφής αλλά και η αποφυγή χρήσης μεταβλητών για την
|
||||||
αποθήκευση κωδικών. Χρήσιμη επίσης θα ήταν και η εσκεμμένη παράλειψη
|
αποθήκευση κωδικών. Χρήσιμη επίσης θα ήταν και η εσκεμμένη παράλειψη
|
||||||
της παραμέτρου privileged.
|
της παραμέτρου \textquote{privileged}.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -1933,14 +1934,14 @@ Seccomp \footfullcite{seccomp} (στην περίπτωση χρήσης LXC),
|
|||||||
ότι είναι άλλα δοχεία ή ακόμα και το κύριο μηχάνημα. Στην περίπτωση
|
ότι είναι άλλα δοχεία ή ακόμα και το κύριο μηχάνημα. Στην περίπτωση
|
||||||
παραβίασης ενός δοχείου, υπάρχει κίνδυνος ο επιτιθέμενος να υποκλέψει
|
παραβίασης ενός δοχείου, υπάρχει κίνδυνος ο επιτιθέμενος να υποκλέψει
|
||||||
μυστικά της επιχείρησης ή των τελικών χρηστών της υπηρεσίας που η
|
μυστικά της επιχείρησης ή των τελικών χρηστών της υπηρεσίας που η
|
||||||
επιχείρηση προσφέρει. Ένας από τους τρόπους για την αποφυγή τέτοιας
|
επιχείρηση προσφέρει. Ένας από τους τρόπους που βοηθάει στην αποφυγή
|
||||||
επίθεσης είναι η εκτέλεση δοχείων δίχως το NET\_RAW capability αφού
|
τέτοιας επίθεσης είναι η εκτέλεση δοχείων δίχως το NET\_RAW capability,
|
||||||
έτσι τα προγράμματα μέσα στο δοχείο δε θα μπορούν να δημιουργήσουν
|
αφού έτσι τα προγράμματα μέσα στο δοχείο δε θα μπορούν να δημιουργήσουν
|
||||||
PF\_PACKET sockets και θα ήταν αδύνατη η διεκπεραίωση της επίθεσης.
|
PF\_PACKET sockets και θα ήταν αδύνατη η διεκπεραίωση της επίθεσης.
|
||||||
Βέβαια, αυτή η μέθοδος έχει μειονεκτήματα αφού μπορεί αυτή η ικανότητα
|
Βέβαια, αυτή η μέθοδος έχει μειονεκτήματα αφού μπορεί αυτή η ικανότητα
|
||||||
να ήταν άκρως απαραίτητη για την ορθή λειτουργία της υπηρεσίας.
|
να ήταν άκρως απαραίτητη για την ορθή λειτουργία της υπηρεσίας.
|
||||||
Επομένως, μια εναλλακτική μέθοδος προστασίας είναι η χρήση
|
Επομένως, μια εναλλακτική μέθοδος προστασίας είναι η χρήση
|
||||||
\textquote{ebtables} για φιλτράρισμα Ethernet frames ούτως ώστε ARP
|
\textquote{ebtables} για φιλτράρισμα πλαισίων Ethernet ούτως ώστε ARP
|
||||||
πακέτα με λάθος πρωτόκολλο αποστολέα ή διεύθυνση MAC να ανιχνεύονται
|
πακέτα με λάθος πρωτόκολλο αποστολέα ή διεύθυνση MAC να ανιχνεύονται
|
||||||
εγκαίρως και να απορρίπτονται.
|
εγκαίρως και να απορρίπτονται.
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
αυτοματοποίηση της ασφάλισης τους όμως είναι ακόμα σε πρώιμο στάδιο. Οι
|
αυτοματοποίηση της ασφάλισης τους όμως είναι ακόμα σε πρώιμο στάδιο. Οι
|
||||||
περισσότερες υπηρεσίες που διατίθενται στους χρήστες κάνουν χρήση τεχνολογιών
|
περισσότερες υπηρεσίες που διατίθενται στους χρήστες κάνουν χρήση τεχνολογιών
|
||||||
εικονικοποίησης έμμεσα από τον πάροχο νέφους που χρησιμοποιούν και τεχνολογίες
|
εικονικοποίησης έμμεσα από τον πάροχο νέφους που χρησιμοποιούν και τεχνολογίες
|
||||||
δοχείων άμεσα από επιλογή τους λόγω της υπεροχής που παρέχουν στη διαχείριση.
|
δοχείων άμεσα από επιλογή τους λόγω της υπεροχής που παρέχουν στη διαχείριση
|
||||||
Όλες οι υπηρεσίες όμως είναι εν δυνάμει ευάλωτες σε επιθέσεις εάν δε ληφθούν τα
|
τους. Όλες οι υπηρεσίες όμως είναι εν δυνάμει ευάλωτες σε επιθέσεις εάν δε
|
||||||
απαραίτητα μέτρα προστασίας και αφήσουν ανοιχτά σημεία εισόδου στα συστήματά
|
ληφθούν τα απαραίτητα μέτρα προστασίας και αφήσουν ανοιχτά σημεία εισόδου στα
|
||||||
τους.
|
συστήματά τους.
|
||||||
|
|
||||||
Η παρούσα εργασία έχει ως στόχο την ανάπτυξη ενός εργαλείου που επιτυγχάνει την
|
Η παρούσα εργασία έχει ως στόχο την ανάπτυξη ενός εργαλείου που επιτυγχάνει την
|
||||||
αυτοματοποίηση τριών τομέων. Την επικοινωνία με τον πάροχο νέφους για την
|
αυτοματοποίηση τριών τομέων. Την επικοινωνία με τον πάροχο νέφους για την
|
||||||
@@ -37,8 +37,8 @@
|
|||||||
\item \textbf{Ευελιξία κατά την χρήση}:
|
\item \textbf{Ευελιξία κατά την χρήση}:
|
||||||
|
|
||||||
Το εργαλείο πρέπει να μπορεί να προσαρμόζεται στις ανάγκες του χρήστη
|
Το εργαλείο πρέπει να μπορεί να προσαρμόζεται στις ανάγκες του χρήστη
|
||||||
όταν αυτός χρειάζεται να πραγματοποιήσει ορισμένες αλλαγές κατά την
|
όταν αυτός χρειάζεται να πραγματοποιήσει ορισμένες παραμετροποιήσεις
|
||||||
χρήση του.
|
κατά την χρήση του.
|
||||||
|
|
||||||
\item \textbf{Ευκολία κατά την χρήση}:
|
\item \textbf{Ευκολία κατά την χρήση}:
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
αναπτύχθηκε από την εταιρεία HashiCorp. Αποτελεί ένα εργαλείο, κατά την
|
αναπτύχθηκε από την εταιρεία HashiCorp. Αποτελεί ένα εργαλείο, κατά την
|
||||||
χρήση του οποίου ο χρήστης καθορίζει τα χαρακτηριστικά της υποδομής που
|
χρήση του οποίου ο χρήστης καθορίζει τα χαρακτηριστικά της υποδομής που
|
||||||
θέλει να δημιουργήσει σε ένα αρχείο που ακολουθεί συγκεκριμένη σύνταξη.
|
θέλει να δημιουργήσει σε ένα αρχείο που ακολουθεί συγκεκριμένη σύνταξη.
|
||||||
Αυτό το εντάσσει στην κατηγορίας \textquote{υποδομή ως κώδικας
|
Αυτό το εντάσσει στην κατηγορία \textquote{υποδομή ως κώδικας
|
||||||
(Infrastructure as Code - IaC)} και χρησιμοποιείται για τον καθορισμό
|
(Infrastructure as Code - IaC)} και χρησιμοποιείται για τον καθορισμό
|
||||||
των υποδομών που θα χρησιμοποιηθούν για την στέγαση εφαρμογών. Το
|
των υποδομών που θα χρησιμοποιηθούν για την στέγαση εφαρμογών. Το
|
||||||
Terraform υποστηρίζει πολλούς παρόχους νέφους και επιτρέπει την
|
Terraform υποστηρίζει πολλούς παρόχους νέφους και επιτρέπει την
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
Αποτελεί την δεύτερη τροποποιημένη έκδοση από ένα τρίτο πρόσωπο, ενός
|
Αποτελεί την δεύτερη τροποποιημένη έκδοση από ένα τρίτο πρόσωπο, ενός
|
||||||
προγράμματος που επιχειρούσε να επιτύχει την δημιουργία ενός εργαλείου
|
προγράμματος που επιχειρούσε να επιτύχει την δημιουργία ενός εργαλείου
|
||||||
γραμμής εντολών που χρησιμοποιεί την βιβλιοθήκη libcloud για την
|
γραμμής εντολών που χρησιμοποιεί την βιβλιοθήκη libcloud για την
|
||||||
δημιουργία εικονικών μηχανών κατά μήκος διάφορων παρόχων νέφους. Είναι
|
δημιουργία εικονικών μηχανών κατά μήκος διαφόρων παρόχων νέφους. Είναι
|
||||||
ένα εργαλείο γραμμής εντολών που απαιτεί αρχείο ρυθμίσεων μονάχα για
|
ένα εργαλείο γραμμής εντολών που απαιτεί αρχείο ρυθμίσεων μονάχα για
|
||||||
την αυθεντικοποίηση με τους παρόχους νέφους.
|
την αυθεντικοποίηση με τους παρόχους νέφους.
|
||||||
|
|
||||||
@@ -108,12 +108,12 @@
|
|||||||
|
|
||||||
\item \textbf{Σύγκριση με Terraform}:
|
\item \textbf{Σύγκριση με Terraform}:
|
||||||
|
|
||||||
Χρειάζεται την δημιουργία ενός αρχείου πριν την χρήση του και κάθε αλλαγή
|
Χρειάζεται την δημιουργία ενός αρχείου πριν την χρήση του και κάθε
|
||||||
απαιτεί την τροποποίηση του. Αυτό το καθιστά λιγότερο ευέλικτο σε σχέση με άλλα
|
αλλαγή απαιτεί την τροποποίηση του αρχείου αυτού. Αυτό το καθιστά
|
||||||
εργαλεία. Είναι σχετικά εύκολο στην χρήση όπως τα υπόλοιπα και δύναται να
|
λιγότερο ευέλικτο σε σχέση με άλλα εργαλεία. Είναι σχετικά εύκολο στην
|
||||||
χρησιμοποιήσει τα νέφη όλων των μεγάλων παρόχων. Παρόλα αυτά δεν αποτελεί
|
χρήση όπως τα υπόλοιπα και δύναται να χρησιμοποιήσει τα νέφη όλων των
|
||||||
εργαλείο που μπορεί να επεκταθεί εύκολα καθώς ο τρόπος λειτουργίας του το
|
μεγάλων παρόχων. Παρόλα αυτά δεν αποτελεί εργαλείο που μπορεί να
|
||||||
καθιστά αυτοτελές.
|
επεκταθεί εύκολα καθώς ο τρόπος λειτουργίας του το καθιστά αυτοτελές.
|
||||||
|
|
||||||
\item \textbf{Σύγκριση με Libcloud CLI}:
|
\item \textbf{Σύγκριση με Libcloud CLI}:
|
||||||
|
|
||||||
@@ -139,8 +139,8 @@
|
|||||||
|
|
||||||
\section{Αυτοματοποίηση σκλήρυνσης εικονικών μηχανών}
|
\section{Αυτοματοποίηση σκλήρυνσης εικονικών μηχανών}
|
||||||
|
|
||||||
Τα κριτήρια που θα ληφθούν υπόψιν για α εργαλεία αυτοματοποίησης σκλήρυνσης
|
Τα κριτήρια που θα ληφθούν υπόψιν για εργαλεία αυτοματοποίησης σκλήρυνσης
|
||||||
εικονικών μηχανών είναι τα εξής:
|
εικονικών μηχανών είναι τα παρακάτω:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
@@ -166,8 +166,8 @@
|
|||||||
\subsection{Εργαλεία σκλήρυνσης εικονικών μηχανών}
|
\subsection{Εργαλεία σκλήρυνσης εικονικών μηχανών}
|
||||||
|
|
||||||
Τα παρακάτω εργαλεία θα συγκριθούν με το harden. Το δεύτερο εκτελέσιμο αρχείο
|
Τα παρακάτω εργαλεία θα συγκριθούν με το harden. Το δεύτερο εκτελέσιμο αρχείο
|
||||||
του εργαλείου SecDep, το οποίο κατά την επιλογή του χρήστη εκτελείται σε μια
|
του εργαλείου SecDep, το οποίο μετά από επιλογή του χρήστη εκτελείται σε μια
|
||||||
εικονική μηχανή μετά την δημιουργία της.
|
εικονική μηχανή αφότου αυτή δημιουργηθεί.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
δικού του εργαλείου γραμμής εντολών, ή άμεσα μέσω της βιβλιοθήκης που παρέχει ο
|
δικού του εργαλείου γραμμής εντολών, ή άμεσα μέσω της βιβλιοθήκης που παρέχει ο
|
||||||
ίδιος. Η libcloud αποτελεί μια προσπάθεια δημιουργίας ενός ενιαίου API, το
|
ίδιος. Η libcloud αποτελεί μια προσπάθεια δημιουργίας ενός ενιαίου API, το
|
||||||
οποίο χρησιμοποιώντας τις ίδιες συναρτήσεις, επιχειρεί να προσκομίσει ίδια
|
οποίο χρησιμοποιώντας τις ίδιες συναρτήσεις, επιχειρεί να προσκομίσει ίδια
|
||||||
αποτελέσματα ανεξαρτήτως του παρόχου νέφους που επιλέχθηκε.
|
αποτελέσματα ανεξαρτήτως του παρόχου νέφους που στοχεύει.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
@@ -197,8 +197,8 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
|
|||||||
την λειτουργία σύνδεσης μέσω ssh}
|
την λειτουργία σύνδεσης μέσω ssh}
|
||||||
|
|
||||||
\item \textbf{Το εργαλείο πρέπει να υποστηρίζει την αρχικοποίηση μονάχα
|
\item \textbf{Το εργαλείο πρέπει να υποστηρίζει την αρχικοποίηση μονάχα
|
||||||
ενός παρόχου δίχως την συμπλήρωση από τον χρήστη κενών πεδίων για
|
ενός παρόχου δίχως την συμπλήρωση κενών πεδίων για τους υπόλοιπους από
|
||||||
τους υπόλοιπους}
|
τον χρήστη}
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@@ -219,9 +219,9 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
|
|||||||
διαμορφωθούν περαιτέρω εάν ο χρήστης επιθυμεί να
|
διαμορφωθούν περαιτέρω εάν ο χρήστης επιθυμεί να
|
||||||
χρησιμοποιήσει άλλα προγράμματα όπως το Ansible}
|
χρησιμοποιήσει άλλα προγράμματα όπως το Ansible}
|
||||||
|
|
||||||
\item \textbf{Το εργαλείο πρέπει να διαθέτει ένα μοτίβο εντολών που
|
\item \textbf{Το εργαλείο πρέπει να διαθέτει ένα μοτίβο εντολών που να
|
||||||
να μπορεί ο χρήστης να καταλαβαίνει και να διαμορφώνει ανάλογα
|
μπορεί ο χρήστης να καταλαβαίνει και να διαμορφώνει ανάλογα με τις
|
||||||
τις ανάγκες του}
|
ανάγκες του}
|
||||||
|
|
||||||
\item \textbf{Το εργαλείο πρέπει να δημιουργεί κλειδιά ssh σε
|
\item \textbf{Το εργαλείο πρέπει να δημιουργεί κλειδιά ssh σε
|
||||||
περίπτωση που δεν υπάρχουν, στον ίδιο φάκελο με το εκτελέσιμο
|
περίπτωση που δεν υπάρχουν, στον ίδιο φάκελο με το εκτελέσιμο
|
||||||
@@ -255,7 +255,7 @@ Python, πάρθηκε επίσης η απόφαση για την υποστή
|
|||||||
\textquote{yuml} \footfullcite{yuml}. Επιπλέον, με το εργαλείο
|
\textquote{yuml} \footfullcite{yuml}. Επιπλέον, με το εργαλείο
|
||||||
\textquote{mermaid} \footfullcite{mermaid}, δημιουργήθηκε ένα διάγραμμα ροής
|
\textquote{mermaid} \footfullcite{mermaid}, δημιουργήθηκε ένα διάγραμμα ροής
|
||||||
για το SecDep που απεικονίζεται στο σχήμα \ref{fig:flowchartDiagram}. Το
|
για το SecDep που απεικονίζεται στο σχήμα \ref{fig:flowchartDiagram}. Το
|
||||||
διάγραμμα αυτό, απεικονίζει την ροή των εντολών που μπορεί να επιλεγούν από τον
|
διάγραμμα ροής, απεικονίζει την ροή των εντολών που μπορεί να επιλεγούν από τον
|
||||||
χρήστη κατά την εκτέλεση του προγράμματος.
|
χρήστη κατά την εκτέλεση του προγράμματος.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@@ -397,13 +397,13 @@ pydeps -T png --cluster --include-missing --max-bacon=1 --noshow --reverse --ran
|
|||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
Το SecDep αποτελείται από δύο εκτελέσιμα αρχεία. Το πρώτο αρχείο, το secdep.py,
|
Το SecDep αποτελείται από δύο εκτελέσιμα αρχεία. Το πρώτο αρχείο, το
|
||||||
είναι το κύριο αρχείο του προγράμματος. Αυτό το αρχείο είναι υπεύθυνο για την
|
\textquote{secdep.py}, είναι το κύριο αρχείο του προγράμματος. Αυτό το αρχείο
|
||||||
επικοινωνία με τους παρόχους νέφους και την διαχείριση των εικονικών μηχανών.
|
είναι υπεύθυνο για την επικοινωνία με τους παρόχους νέφους και την διαχείριση
|
||||||
Το δεύτερο αρχείο, το \textquote{harden}, είναι υπεύθυνο για την σκλήρυνση των
|
των εικονικών μηχανών. Το δεύτερο αρχείο, το \textquote{harden}, είναι υπεύθυνο
|
||||||
εικονικών μηχανών και την εγκατάσταση/σκλήρυνση του Docker. Το harden,
|
για την σκλήρυνση των εικονικών μηχανών και την εγκατάσταση/σκλήρυνση του
|
||||||
εκτελείται μόνο στις εικονικές μηχανές κατά την δημιουργία τους και μόνο εάν ο
|
Docker. Το harden, εκτελείται μόνο στις εικονικές μηχανές κατά την δημιουργία
|
||||||
χρήστης το επιθυμεί.
|
τους και μόνο εάν ο χρήστης το επιθυμεί.
|
||||||
|
|
||||||
Οι βασικότερες συναρτήσεις του secdep.py είναι οι εξής:
|
Οι βασικότερες συναρτήσεις του secdep.py είναι οι εξής:
|
||||||
|
|
||||||
@@ -424,7 +424,9 @@ pydeps -T png --cluster --include-missing --max-bacon=1 --noshow --reverse --ran
|
|||||||
\item \textbf{image}
|
\item \textbf{image}
|
||||||
|
|
||||||
\item \textbf{confirm}: Για επιβεβαίωση της δημιουργίας της
|
\item \textbf{confirm}: Για επιβεβαίωση της δημιουργίας της
|
||||||
εικονικής μηχανής χωρίς να χρειαστεί η επιβεβαίωση του χρήστη.
|
εικονικής μηχανής χωρίς να χρειαστεί επιπλέον επιβεβαίωση από
|
||||||
|
τον χρήστη.
|
||||||
|
|
||||||
\item \textbf{deploy}: Για την εκτέλεση του harden.
|
\item \textbf{deploy}: Για την εκτέλεση του harden.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
@@ -471,7 +473,7 @@ pydeps -T png --cluster --include-missing --max-bacon=1 --noshow --reverse --ran
|
|||||||
|
|
||||||
Το αρχείο harden, αποτελείται από πολλές συναρτήσεις που εκτελούνται με την
|
Το αρχείο harden, αποτελείται από πολλές συναρτήσεις που εκτελούνται με την
|
||||||
σειρά προκειμένου να ασφαλιστεί το σύστημα στο οποίο εκτελείται. Οι πιο
|
σειρά προκειμένου να ασφαλιστεί το σύστημα στο οποίο εκτελείται. Οι πιο
|
||||||
αξιοσημείωτες από αυτές είναι:
|
αξιοσημείωτες αυτών είναι:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
@@ -481,15 +483,17 @@ pydeps -T png --cluster --include-missing --max-bacon=1 --noshow --reverse --ran
|
|||||||
|
|
||||||
\item \textbf{dockerInit}:
|
\item \textbf{dockerInit}:
|
||||||
|
|
||||||
Η συνάρτηση υπεύθυνση για την εγκατάσταση/σκλήρυνση του Docker.
|
Η συνάρτηση υπεύθυνη για την εγκατάσταση/σκλήρυνση του Docker.
|
||||||
|
|
||||||
\item \textbf{kernelSecurityModuleInit}:
|
\item \textbf{kernelSecurityModuleInit}:
|
||||||
|
|
||||||
Η συνάρτηση υπεύθυνη για την εγκατάσταση/ρύθμιση του κατάλληλου για την
|
Η συνάρτηση υπεύθυνη για την εγκατάσταση/ρύθμιση του κατάλληλου για την
|
||||||
διανομή kernel security module.
|
διανομή kernel security module.
|
||||||
|
|
||||||
\item \textbf{configureFail2ban}: Αφότου έχει προηγηθεί η εγκατάσταση του
|
\item \textbf{configureFail2ban}:
|
||||||
κατάλληλου για την διανομή προγράμματος firewall, η συνάρτηση αυτή
|
|
||||||
ρυθμίζει το fail2ban για την προστασία από επιθέσεις brute force.
|
Αφότου έχει προηγηθεί η εγκατάσταση του κατάλληλου για την διανομή
|
||||||
|
προγράμματος αναχώματος ασφαλείας, η συνάρτηση αυτή ρυθμίζει το
|
||||||
|
fail2ban για την προστασία από επιθέσεις brute force.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Amazon. Μετά την ολοκλήρωση των παραπάνω διαδι
|
|||||||
χρήστης δεν έχει εγκατεστημένο το git, πρέπει να μεταβεί στην ιστοσελίδα του
|
χρήστης δεν έχει εγκατεστημένο το git, πρέπει να μεταβεί στην ιστοσελίδα του
|
||||||
αποθετηρίου \footfullcite{secdep} και να επιλέξει είτε την επιλογή αποθήκευσης
|
αποθετηρίου \footfullcite{secdep} και να επιλέξει είτε την επιλογή αποθήκευσης
|
||||||
ως αρχείο zip, είτε ως tar.gz όπως απεικονίζεται παρακάτω. Έπειτα, πρέπει να
|
ως αρχείο zip, είτε ως tar.gz όπως απεικονίζεται παρακάτω. Έπειτα, πρέπει να
|
||||||
αποσυμπιεστεί με τα κατάλληλα για τον τύπο αρχείου προγράμματα.
|
αποσυμπιεστεί με το κατάλληλο για τον τύπο αρχείου πρόγραμμα.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{figure}[!ht]
|
\begin{figure}[!ht]
|
||||||
@@ -76,7 +76,7 @@ pip install -r requirements.txt --break-system-packages
|
|||||||
πάροχοι υπηρεσιών IaaS, επιλέχθηκε για την παρούσα ενότητα η κάλυψη της χρήσης
|
πάροχοι υπηρεσιών IaaS, επιλέχθηκε για την παρούσα ενότητα η κάλυψη της χρήσης
|
||||||
των υπηρεσιών της Amazon έναντι της Azure και της GCE, λόγω της ευκολότερης και
|
των υπηρεσιών της Amazon έναντι της Azure και της GCE, λόγω της ευκολότερης και
|
||||||
απλούστερης διαδικασίας αυθεντικοποίησης που παρέχει. Συγκεκριμένα, απαιτεί την
|
απλούστερης διαδικασίας αυθεντικοποίησης που παρέχει. Συγκεκριμένα, απαιτεί την
|
||||||
συμπλήρωση μονάχα δύο πεδίων. Αυτά είναι, το
|
συμπλήρωση μονάχα δύο πεδίων. Αυτά είναι, τα
|
||||||
\textquote{SECDEP\_AWS\_ACCESS\_KEY} και \textquote{SECDEP\_AWS\_SECRET\_KEY}.
|
\textquote{SECDEP\_AWS\_ACCESS\_KEY} και \textquote{SECDEP\_AWS\_SECRET\_KEY}.
|
||||||
|
|
||||||
\subsection{Δημιουργία κλειδιού πρόσβασης με την AWS}
|
\subsection{Δημιουργία κλειδιού πρόσβασης με την AWS}
|
||||||
@@ -158,12 +158,12 @@ python3 secdep.py --init aws
|
|||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
Όπου και θα ζητηθούν από τον χρήστη τα αντίστοιχα διαπιστευτήρια. Οι μεταβλητές
|
Έπειτα, θα ζητηθούν από τον χρήστη τα αντίστοιχα διαπιστευτήρια. Οι μεταβλητές
|
||||||
αυτές θα αποθηκευτούν στο αρχείο \textquote{.env} που θα δημιουργηθεί στον
|
αυτές θα αποθηκευτούν στο αρχείο \textquote{.env} που θα δημιουργηθεί στον
|
||||||
φάκελο που βρίσκεται το εκτελέσιμο του SecDep. Στην περίπτωση που ο χρήστης
|
φάκελο που βρίσκεται το εκτελέσιμο του SecDep. Στην περίπτωση που ο χρήστης
|
||||||
μελλοντικά θέλει να αλλάξει τις τιμές των μεταβλητών ή να προσθέσει νέες,
|
μελλοντικά θέλει να αλλάξει τις τιμές των μεταβλητών ή να προσθέσει νέες,
|
||||||
μπορεί να το κάνει αλλάζοντας τα περιεχόμενα του αρχείου \textquote{.env}
|
μπορεί να το κάνει αλλάζοντας τα περιεχόμενα του αρχείου \textquote{.env}
|
||||||
χειροκίνητα ή με την εκτέλεση της εντολής:
|
χειροκίνητα με έναν επεξεργαστή κειμένου ή με την εκτέλεση της εντολής:
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -212,7 +212,7 @@ python3 secdep.py --provider aws --create --name test-node --size t3.micro --ima
|
|||||||
IP της και η εντολή που μπορεί να εκτελέσει προκειμένου να συνδεθεί σε αυτήν
|
IP της και η εντολή που μπορεί να εκτελέσει προκειμένου να συνδεθεί σε αυτήν
|
||||||
χρησιμοποιώντας το πρωτόκολλο SSH. Η εντολή αυτή σχηματίζεται δυναμικά από το
|
χρησιμοποιώντας το πρωτόκολλο SSH. Η εντολή αυτή σχηματίζεται δυναμικά από το
|
||||||
εργαλείο λαμβάνοντας υπόψιν την θύρα που θα χρησιμοποιηθεί (σε περίπτωση που η
|
εργαλείο λαμβάνοντας υπόψιν την θύρα που θα χρησιμοποιηθεί (σε περίπτωση που η
|
||||||
εικονική μηχανή έχει σκληρυνθεί), το μονοπάτι μέχρι το κλειδί SSH που
|
εικονική μηχανή έχει σκληρύνει), το μονοπάτι μέχρι το κλειδί SSH που
|
||||||
δημιουργήθηκε μαζί με την μηχανή στον ίδιο φάκελο με το εργαλείο και την
|
δημιουργήθηκε μαζί με την μηχανή στον ίδιο φάκελο με το εργαλείο και την
|
||||||
διεύθυνση της.
|
διεύθυνση της.
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ harden στην εικονική μηχανή το οποίο θα σκληρύ
|
|||||||
φάκελο με το εργαλείο.
|
φάκελο με το εργαλείο.
|
||||||
|
|
||||||
Για οποιαδήποτε παράμετρο που δεν έχει δοθεί ή έχει δοθεί λανθασμένα, θα
|
Για οποιαδήποτε παράμετρο που δεν έχει δοθεί ή έχει δοθεί λανθασμένα, θα
|
||||||
προτρέπεται ο χρήστης να την δώσει ξανά εως ότου ολοκληρωθεί η διαδικασία ή
|
προτρέπεται ο χρήστης να την δώσει ξανά έως ότου ολοκληρωθεί η διαδικασία ή
|
||||||
ακυρωθεί από τον χρήστη.
|
ακυρωθεί από τον χρήστη.
|
||||||
|
|
||||||
Εάν ο χρήστης δεν γνωρίζει τις διαθέσιμες επιλογές για τις παραμέτρους που
|
Εάν ο χρήστης δεν γνωρίζει τις διαθέσιμες επιλογές για τις παραμέτρους που
|
||||||
@@ -269,7 +269,9 @@ python3 secdep.py --provider aws --listimages --print
|
|||||||
λίστα με τις διαθέσιμες εικόνες που μπορεί να χρησιμοποιήσει ο χρήστης για την
|
λίστα με τις διαθέσιμες εικόνες που μπορεί να χρησιμοποιήσει ο χρήστης για την
|
||||||
δημιουργία εικονικών μηχανών. Έπειτα, με την επιλογή μιας από αυτές, θα
|
δημιουργία εικονικών μηχανών. Έπειτα, με την επιλογή μιας από αυτές, θα
|
||||||
εμφανιστούν πληροφορίες σχετικά με την εικόνα που επιλέχθηκε οι οποίες θα είναι
|
εμφανιστούν πληροφορίες σχετικά με την εικόνα που επιλέχθηκε οι οποίες θα είναι
|
||||||
της μορφής:
|
της μορφής που απεικονίζεται στο \ref{lst:secdep_image_info}.
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -280,10 +282,9 @@ python3 secdep.py --provider aws --listimages --print
|
|||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
Από την παραπάνω πληροφορία, ο χρήστης χρειάζεται το αναγνωριστικό (id) της εικόνας.
|
Από την παραπάνω πληροφορία, ο χρήστης χρειάζεται το αναγνωριστικό (id) της
|
||||||
|
εικόνας. Εάν χρειάζεται πληροφορίες σχετικά με τα διαθέσιμα μεγέθη των
|
||||||
Εάν χρειάζεται πληροφορίες σχετικά με τα διαθέσιμα μεγέθη των εικονικών
|
εικονικών μηχανών, αυτό επιτυγχάνεται με την εντολή:
|
||||||
μηχανών, αυτό επιτυγχάνεται με την εντολή:
|
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -306,11 +307,10 @@ python3 secdep.py --provider aws --listsizes --print
|
|||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
Από την παραπάνω πληροφορία, το σημαντικό είναι το αναγνωριστικό (id) του μεγέθους.
|
Από την παραπάνω πληροφορία, το σημαντικό πάλι είναι το αναγνωριστικό (id) του
|
||||||
|
μεγέθους. Μερικές από τις εντολές που δύναται να χρησιμοποιήσει ένας χρήστης
|
||||||
Μερικές από τις εντολές που δύναται να χρησιμοποιεί ένας χρήστης συχνά μπορεί
|
συχνά μπορεί να είναι για την εμφάνιση εικονικών μηχανών ή την διαγραφή τους.
|
||||||
να είναι για την διαγραφή εικονικών μηχανών ή την εμφάνιση τους. Αυτές οι δύο
|
Αυτές οι δύο λειτουργίες υποστηρίζονται με τις παρακάτω εντολές:
|
||||||
λειτουργίες υποστηρίζονται με τις παρακάτω εντολές:
|
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -328,7 +328,7 @@ python3 secdep.py --provider aws --awsregion us-east-2 --list
|
|||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{figure}[!ht]
|
\begin{figure}[!ht]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width = .8\textwidth]{Figures/AWS_listing/aws-instances.png}
|
\includegraphics[width = 1.0\textwidth]{Figures/AWS_listing/aws-instances.png}
|
||||||
\captionof{figure}{Λίστα με τις εικονικές μηχανές που έχουν δημιουργηθεί}
|
\captionof{figure}{Λίστα με τις εικονικές μηχανές που έχουν δημιουργηθεί}
|
||||||
\label{fig:instance_list_output}
|
\label{fig:instance_list_output}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@@ -349,7 +349,7 @@ python3 secdep.py --provider aws --awsregion us-east-2 --list
|
|||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
python3 secdep.py --provider aws --action delete --awsregion eu-north-1
|
python3 secdep.py --provider aws --action delete --awsregion eu-north-1
|
||||||
\end{bashcode}
|
\end{bashcode}
|
||||||
\caption{Εκτέλεση της παράμετρου delete του SecDep}
|
\caption{Εκτέλεση της παραμέτρου delete του SecDep}
|
||||||
\label{lst:secdep_delete}
|
\label{lst:secdep_delete}
|
||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
@@ -359,6 +359,25 @@ python3 secdep.py --provider aws --action delete --awsregion eu-north-1
|
|||||||
αντικατασταθεί σε \textquote{deleteall}. Με παρόμοιο τρόπο υποστηρίζονται και
|
αντικατασταθεί σε \textquote{deleteall}. Με παρόμοιο τρόπο υποστηρίζονται και
|
||||||
εντολές για εκκίνηση, επανεκκίνηση ή διακοπή εικονικών μηχανών.
|
εντολές για εκκίνηση, επανεκκίνηση ή διακοπή εικονικών μηχανών.
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
|
||||||
Πιο λεπτομερείς οδηγίες χρήσης και εγκατάστασης περιέχονται και στην σελίδα του
|
Πιο λεπτομερείς οδηγίες χρήσης και εγκατάστασης περιέχονται και στην σελίδα του
|
||||||
αποθετηρίου του SecDep \footfullcite{secdep} μέσω του αρχείου
|
αποθετηρίου του SecDep \footfullcite{secdep} μέσω του αρχείου
|
||||||
\textquote{README.md}.
|
\textquote{README.md}. Στο σχήμα του λογότυπου του SecDep, περιέχεται
|
||||||
|
υπερσύνδεσμος που οδηγεί στο αποθετήριο όπου και εμφανίζονται τα περιεχόμενα
|
||||||
|
του αρχείου οδηγιών.
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{figure}[!ht]
|
||||||
|
\centering
|
||||||
|
\href{https://git.konsthol.eu/konsthol/SecDep}{
|
||||||
|
\includegraphics[width = 1.0\textwidth]{Figures/secdep_logo.png}}
|
||||||
|
\captionof{figure}{Λογότυπο του SecDep}
|
||||||
|
\label{fig:secdep_logo}
|
||||||
|
\end{figure}
|
||||||
|
\vspace*{-30pt}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
Εκεί, ο χρήστης μπορεί να βρει πληροφορίες σχετικά με την παραμετροποίηση και
|
||||||
|
των υπόλοιπων παρόχων νέφους, χρήσιμες ρυθμίσεις που καθιστούν την εκτέλεση του
|
||||||
|
SecDep πιο εύκολη, καθώς και περισσότερες οθόνες εκτέλεσης.
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ Lynis και το LUNAR.
|
|||||||
|
|
||||||
\item \textbf{Cyber Threat Intelligence(MITRE ATT\&CK and CAPEC)}
|
\item \textbf{Cyber Threat Intelligence(MITRE ATT\&CK and CAPEC)}
|
||||||
|
|
||||||
\item \textbf{Βιβλιοθήκες ευπαθειών όπως αυτή της Aquasecurity}
|
\item \textbf{Βιβλιοθήκες ευπαθειών όπως αυτή της Aqua Security}
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@@ -254,12 +254,10 @@ https://raw.githubusercontent.com\
|
|||||||
|
|
||||||
Ορθή πρακτική θα ήταν να γίνει έλεγχος του περιεχομένου του αρχείου πριν την
|
Ορθή πρακτική θα ήταν να γίνει έλεγχος του περιεχομένου του αρχείου πριν την
|
||||||
εκτέλεση της εντολής αυτής για να βεβαιωθεί κανείς ότι δεν περιέχει κάποιο
|
εκτέλεση της εντολής αυτής για να βεβαιωθεί κανείς ότι δεν περιέχει κάποιο
|
||||||
κακόβουλο κώδικα.
|
κακόβουλο κώδικα. Στην συνέχεια, θα πρέπει να δημιουργηθεί ο φάκελος που θα
|
||||||
|
περιέχει τα δεδομένα των πηγών από όπου και θα αντλεί τις πληροφορίες
|
||||||
Στην συνέχεια, θα πρέπει να δημιουργηθεί ο φάκελος που θα περιέχει τα δεδομένα
|
ευπαθειών, καθώς και ένα αρχείο config.toml στο οποίο θα δηλωθούν τα
|
||||||
των πηγών από όπου και θα αντλεί τις πληροφορίες ευπαθειών, καθώς και ένα
|
διαπιστευτήρια των διακομιστών που θα αξιολογηθούν.
|
||||||
αρχείο config.toml στο οποίο θα δηλωθούν τα διαπιστευτήρια των διακομιστών που
|
|
||||||
θα αξιολογηθούν.
|
|
||||||
|
|
||||||
Αυτό επιτυγχάνεται με τις παρακάτω εντολές:
|
Αυτό επιτυγχάνεται με τις παρακάτω εντολές:
|
||||||
|
|
||||||
@@ -330,10 +328,8 @@ ssh-keyscan -H -p <θύρα ssh> <ip του διακομιστή> >> ~/.ssh/know
|
|||||||
|
|
||||||
Επιπροσθέτως, θα πρέπει να μεταφερθεί στον υπολογιστή που έχει εγκατεστημένο το
|
Επιπροσθέτως, θα πρέπει να μεταφερθεί στον υπολογιστή που έχει εγκατεστημένο το
|
||||||
Vuls, το ιδιωτικό κλειδί του διακομιστή (ένα αρχείο ονόματι secdep), το οποίο
|
Vuls, το ιδιωτικό κλειδί του διακομιστή (ένα αρχείο ονόματι secdep), το οποίο
|
||||||
δημιουργείται στον ίδιο φάκελο με το εργαλείο SecDep.
|
δημιουργείται στον ίδιο φάκελο με το εργαλείο SecDep. Για την αρχικοποίηση της
|
||||||
|
βάσης δεδομένων ευπαθειών του Vuls, εκτελούνται με σειρά οι εντολές:
|
||||||
Για την αρχικοποίηση της βάσης δεδομένων ευπαθειών του Vuls, εκτελούνται με
|
|
||||||
σειρά οι εντολές:
|
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -441,8 +437,8 @@ vuls scan <όνομα διακομιστή>
|
|||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
Αφότου έχει ολοκληρωθεί η διαδικασία αξιολόγησης, μπορούμε να εκτελέσουμε την
|
Μετά το πέρας της διαδικασίας αξιολόγησης, μπορούμε να εκτελέσουμε την παρακάτω
|
||||||
παρακάτω εντολή προκειμένου να παραχθεί η αναφορά σε μορφή json:
|
εντολή προκειμένου να παραχθεί η αναφορά σε μορφή json:
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
@@ -525,9 +521,9 @@ EOF
|
|||||||
|
|
||||||
\subsection{Εγκατάσταση και προετοιμασία του Lynis} \label{lynisInstallation}
|
\subsection{Εγκατάσταση και προετοιμασία του Lynis} \label{lynisInstallation}
|
||||||
|
|
||||||
Σε αντίθεση με το Vuls, η εγκατάσταση του Lynis και λειτουργία του Lynis είναι
|
Σε αντίθεση με το Vuls, η εγκατάσταση του Lynis και η λειτουργία του είναι πιο
|
||||||
πιο απλή. Εδώ τα βήματα που πρέπει να ακολουθηθούν είναι η σύνδεση στους
|
απλή. Εδώ τα βήματα που πρέπει να ακολουθηθούν είναι η σύνδεση στους
|
||||||
διακομιστές της Amazon μέσω ssh (για την οποία οι εντολή είναι έτοιμη μετά την
|
διακομιστές της Amazon μέσω ssh (για την οποία η εντολή είναι έτοιμη μετά την
|
||||||
δημιουργία κάθε διακομιστή), η εγκατάσταση του εργαλείου μέσω git και η
|
δημιουργία κάθε διακομιστή), η εγκατάσταση του εργαλείου μέσω git και η
|
||||||
εκτέλεση του. Αυτά πραγματοποιούνται ως εξής:
|
εκτέλεση του. Αυτά πραγματοποιούνται ως εξής:
|
||||||
|
|
||||||
@@ -535,7 +531,7 @@ EOF
|
|||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
ssh -p <θύρα του διακομιστή> -i <πλήρες μονοπάτι ιδιωτικού κλειδιού ssh> secdep@<ip του διακομιστή>
|
ssh -p <θύρα του διακομιστή> -i <πλήρες μονοπάτι ιδιωτικού κλειδιού ssh> secdep@<ip του διακομιστή>
|
||||||
\end{bashcode}
|
\end{bashcode}
|
||||||
\caption{Σύνδεση στον διακομιστή της Amazon}
|
\caption{Σύνδεση στο διακομιστή της Amazon}
|
||||||
\label{lst:ssh-to-amazon-server}
|
\label{lst:ssh-to-amazon-server}
|
||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
@@ -579,7 +575,7 @@ cd lynis
|
|||||||
\subsection{Εγκατάσταση και προετοιμασία του LUNAR} \label{lunarInstallation}
|
\subsection{Εγκατάσταση και προετοιμασία του LUNAR} \label{lunarInstallation}
|
||||||
|
|
||||||
Όπως και το Lynis, το LUNAR εγκαθίσταται και εκτελείται με τον ίδιο τρόπο.
|
Όπως και το Lynis, το LUNAR εγκαθίσταται και εκτελείται με τον ίδιο τρόπο.
|
||||||
Αφότου έχει πραγματοποιηθεί η σύνδεση στον διακομιστή και έχουμε μεταβεί σε
|
Αφότου έχει πραγματοποιηθεί η σύνδεση στο διακομιστή και έχουμε μεταβεί σε
|
||||||
χρήστη με διαχειριστικά δικαιώματα, πρέπει να εκτελεστούν οι εξής εντολές:
|
χρήστη με διαχειριστικά δικαιώματα, πρέπει να εκτελεστούν οι εξής εντολές:
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
@@ -611,7 +607,7 @@ cd lunar
|
|||||||
|
|
||||||
\section{Αποτελέσματα αξιολόγησης} \label{evaluationResults}
|
\section{Αποτελέσματα αξιολόγησης} \label{evaluationResults}
|
||||||
|
|
||||||
Μετά το πέρας της αξιολόγησης των δύο διακομιστών, τα αποτελέσματα που
|
Μετά την ολοκλήρωση της αξιολόγησης των δύο διακομιστών, τα αποτελέσματα που
|
||||||
παρήχθησαν από τα εργαλεία αξιολόγησης αναδεικνύουν τις διαφορές στην ασφάλεια
|
παρήχθησαν από τα εργαλεία αξιολόγησης αναδεικνύουν τις διαφορές στην ασφάλεια
|
||||||
των δύο διακομιστών. Στην παρούσα ενότητα θα αναλυθούν τα αποτελέσματα του κάθε
|
των δύο διακομιστών. Στην παρούσα ενότητα θα αναλυθούν τα αποτελέσματα του κάθε
|
||||||
εργαλείου αξιολόγησης ξεχωριστά και έπειτα θα βγει μια συμπερασματική
|
εργαλείου αξιολόγησης ξεχωριστά και έπειτα θα βγει μια συμπερασματική
|
||||||
@@ -669,7 +665,7 @@ cd lunar
|
|||||||
διακομιστές μας, ο διακομιστής secdepawsHardened, σχετικά με τα CVEs που
|
διακομιστές μας, ο διακομιστής secdepawsHardened, σχετικά με τα CVEs που
|
||||||
εντοπίστηκαν, έχει ασφαλιστεί κατά 26.615\%.
|
εντοπίστηκαν, έχει ασφαλιστεί κατά 26.615\%.
|
||||||
|
|
||||||
Επιπροσθέτως, με βάση τα γραφήματα που παράχθηκαν από το VulsRepo, μπορούμε να
|
Επιπροσθέτως, με βάση τα γραφήματα που παρήχθησαν από το VulsRepo, μπορούμε να
|
||||||
διακρίνουμε μια άμεση πτώση των ευπαθειών με βάση την κατηγορία σοβαρότητας
|
διακρίνουμε μια άμεση πτώση των ευπαθειών με βάση την κατηγορία σοβαρότητας
|
||||||
τους στο σχήμα \ref{fig:vuls-cvss-severity-table}.
|
τους στο σχήμα \ref{fig:vuls-cvss-severity-table}.
|
||||||
|
|
||||||
@@ -757,7 +753,7 @@ cat lynis.log | grep -i index | sed 's/^ *//g' | cut -d' ' -f4
|
|||||||
\vspace*{-10pt}
|
\vspace*{-10pt}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
Το αποτέλεσμα της εντολής \ref{lst:lynis-security-index} είναι διαφέρει προς το
|
Το αποτέλεσμα της εντολής \ref{lst:lynis-security-index} διαφέρει προς το
|
||||||
καλύτερο όταν το SecDep χρησιμοποιείται με την παράμετρο σκλήρυνσης όπως
|
καλύτερο όταν το SecDep χρησιμοποιείται με την παράμετρο σκλήρυνσης όπως
|
||||||
δείχνουν τα αποτελέσματα:
|
δείχνουν τα αποτελέσματα:
|
||||||
|
|
||||||
@@ -788,7 +784,7 @@ cat lynis.log | grep -i index | sed 's/^ *//g' | cut -d' ' -f4
|
|||||||
\end{table}
|
\end{table}
|
||||||
\end{savenotes}
|
\end{savenotes}
|
||||||
|
|
||||||
H αύξηση ασφαλείας του διακομιστή ανέρχεται στο 9.23077\% και απεικονίζεται
|
H αύξηση ασφάλειας του διακομιστή ανέρχεται στο 9.23077\% και απεικονίζεται
|
||||||
γραφικά στο σχήμα \ref{fig:lynis-security-index}.
|
γραφικά στο σχήμα \ref{fig:lynis-security-index}.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@@ -809,8 +805,7 @@ H αύξηση ασφαλείας του διακομιστή ανέρχεται
|
|||||||
προειδοποιήσεων για σημεία που ενδέχεται να χρήζουν βελτίωσης.
|
προειδοποιήσεων για σημεία που ενδέχεται να χρήζουν βελτίωσης.
|
||||||
|
|
||||||
Προκειμένου να εξάγουμε μια βαθμολογία, θα λάβουμε υπόψιν τον αριθμό των
|
Προκειμένου να εξάγουμε μια βαθμολογία, θα λάβουμε υπόψιν τον αριθμό των
|
||||||
προειδοποιήσεων, τον οποίο θα αποκτήσουμε με την εκτέλεση της παρακάτων
|
προειδοποιήσεων, τον οποίο θα αποκτήσουμε με την εκτέλεση της παρακάτω εντολής:
|
||||||
εντολής:
|
|
||||||
|
|
||||||
\begin{listing}[!ht]
|
\begin{listing}[!ht]
|
||||||
\begin{bashcode}
|
\begin{bashcode}
|
||||||
|
|||||||
@@ -27,14 +27,14 @@
|
|||||||
|
|
||||||
Με βάση τα αποτελέσματα των πειραμάτων που πραγματοποιήθηκαν στο κεφάλαιο
|
Με βάση τα αποτελέσματα των πειραμάτων που πραγματοποιήθηκαν στο κεφάλαιο
|
||||||
\ref{experimentationANDresults}, μπορούμε να συμπεράνουμε ότι το εργαλείο
|
\ref{experimentationANDresults}, μπορούμε να συμπεράνουμε ότι το εργαλείο
|
||||||
SecDep, είναι ικανό να δημιουργήσει εικονικές μηχανές που έχουν σκληρυνθεί σε
|
SecDep, είναι ικανό να δημιουργήσει εικονικές μηχανές που έχουν σκληρύνει σε
|
||||||
ικανοποιητικό βαθμό, χωρίς περαιτέρω παρέμβαση από τον χρήστη. Μπορεί λοιπόν να
|
ικανοποιητικό βαθμό, χωρίς περαιτέρω παρέμβαση από τον χρήστη. Μπορεί λοιπόν να
|
||||||
αποτελέσει ένα χρήσιμο εργαλείο για την αυτοματοποιημένη δημιουργία και
|
αποτελέσει ένα χρήσιμο εργαλείο για την αυτοματοποιημένη δημιουργία και
|
||||||
διαμόρφωση ενός ασφαλούς κατανεμημένου περιβάλλοντος, έτοιμο να υποδεχτεί
|
διαμόρφωση ενός ασφαλούς κατανεμημένου περιβάλλοντος, έτοιμο να υποδεχτεί
|
||||||
δοχεία Docker για την στέγαση εφαρμογών μικρο-υπηρεσιών. Μιας αρχιτεκτονικής
|
δοχεία Docker για την στέγαση εφαρμογών μικρο-υπηρεσιών. Μιας αρχιτεκτονικής
|
||||||
που έχει αρχίσει να αποκτά ιδιαίτερη δημοτικότητα τα τελευταία χρόνια.
|
που έχει αρχίσει να αποκτά ιδιαίτερη δημοτικότητα τα τελευταία χρόνια.
|
||||||
|
|
||||||
Επιπλέον, το εργαλείο SecDep, μπορεί να αποτελέσει ένα χρήσιμο εργαλείο για την
|
Επιπλέον, το SecDep μπορεί να αποτελέσει ένα χρήσιμο εργαλείο για την
|
||||||
εκπαίδευση σε θέματα ασφάλειας, καθώς ο χρήστης έχει την δυνατότητα να
|
εκπαίδευση σε θέματα ασφάλειας, καθώς ο χρήστης έχει την δυνατότητα να
|
||||||
μελετήσει τον πηγαίο κώδικα του και να προσθέσει τις δικές του λειτουργίες,
|
μελετήσει τον πηγαίο κώδικα του και να προσθέσει τις δικές του λειτουργίες,
|
||||||
προκειμένου να επεκτείνει την λειτουργικότητα του. Το εργαλείο διανέμεται με
|
προκειμένου να επεκτείνει την λειτουργικότητα του. Το εργαλείο διανέμεται με
|
||||||
@@ -45,7 +45,7 @@ SecDep, είναι ικανό να δημιουργήσει εικονικές
|
|||||||
\section{Προτάσεις για Μελλοντική Έρευνα}
|
\section{Προτάσεις για Μελλοντική Έρευνα}
|
||||||
|
|
||||||
Παρόλο που το SecDep, είναι ένα πλήρες και λειτουργικό εργαλείο, υπάρχουν
|
Παρόλο που το SecDep, είναι ένα πλήρες και λειτουργικό εργαλείο, υπάρχουν
|
||||||
πολλές δυνατότητες για την επέκταση του. Αρχικά, θα μπορούσε να επεκταθεί η
|
πολλές ευκαιρίες για την επέκταση του. Αρχικά, θα μπορούσε να επεκταθεί η
|
||||||
λειτουργικότητα του, ώστε να υποστηρίζει και άλλους παρόχους νέφους. Αυτό
|
λειτουργικότητα του, ώστε να υποστηρίζει και άλλους παρόχους νέφους. Αυτό
|
||||||
βέβαια εξαρτάται άμεσα και από το εύρος της υποστήριξης συγκεκριμένων
|
βέβαια εξαρτάται άμεσα και από το εύρος της υποστήριξης συγκεκριμένων
|
||||||
συναρτήσεων από την βιβλιοθήκη libcloud. Επιπλέον, θα μπορούσε να αλλοιωθεί με
|
συναρτήσεων από την βιβλιοθήκη libcloud. Επιπλέον, θα μπορούσε να αλλοιωθεί με
|
||||||
@@ -59,8 +59,9 @@ SecDep, είναι ικανό να δημιουργήσει εικονικές
|
|||||||
να είναι η επιλογή του χρήστη για εφαρμογή συγκεκριμένων ρυθμίσεων ασφαλείας.
|
να είναι η επιλογή του χρήστη για εφαρμογή συγκεκριμένων ρυθμίσεων ασφαλείας.
|
||||||
Επίσης, θα μπορούσε να χωριστεί σε δύο ανεξάρτητα εκτελέσιμα αρχεία, το ένα
|
Επίσης, θα μπορούσε να χωριστεί σε δύο ανεξάρτητα εκτελέσιμα αρχεία, το ένα
|
||||||
υπεύθυνο για την σκλήρυνση του συστήματος και το άλλο για την εγκατάσταση και
|
υπεύθυνο για την σκλήρυνση του συστήματος και το άλλο για την εγκατάσταση και
|
||||||
σκλήρυνση του δαίμονα Docker. Με αυτόν τον τρόπο, ο χρήστης θα μπορούσε να
|
σκλήρυνση του δαίμονα του Docker. Με αυτόν τον τρόπο, ο χρήστης θα μπορούσε να
|
||||||
επιλέξει να εγκαταστήσει τον δαίμονα Docker σε ένα σύστημα που έχει ήδη
|
επιλέξει να εγκαταστήσει μια σκληρυμένη έκδοση του Docker σε ένα σύστημα που
|
||||||
σκληρυνθεί, χωρίς να χρειάζεται να εκτελέσει το πρώτο εκτελέσιμο αρχείο. Τέλος,
|
έχει ήδη σκληρύνει, χωρίς να χρειάζεται να χρησιμοποιήσει το πρώτο εκτελέσιμο
|
||||||
θα μπορούσε να βελτιωθεί η διαδικασία σκλήρυνσης. Τα αποτελέσματα είναι ήδη
|
αρχείο. Τέλος, θα μπορούσε να βελτιωθεί η διαδικασία σκλήρυνσης. Τα
|
||||||
αρκετά ικανοποιητικά, ωστόσο πάντα υπάρχουν περιθώρια βελτίωσης.
|
αποτελέσματα είναι ήδη αρκετά ικανοποιητικά, ωστόσο πάντα υπάρχουν περιθώρια
|
||||||
|
βελτίωσης.
|
||||||
|
|||||||
BIN
Figures/secdep_logo.png
Normal file
BIN
Figures/secdep_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 147 KiB |
Reference in New Issue
Block a user