git + ipynb = :(

This commit is contained in:
2024-01-11 04:48:35 +02:00
parent 6e67afcda1
commit 6a584b72e3
10 changed files with 213 additions and 193 deletions

View File

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

View File

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

View File

@@ -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}, αναφερόμαστε στην ανάπτυξη του προτεινόμενου
εργαλείου και τα παράγωγά της (απαιτήσεις, σχεδιαστικά μοντέλα, κώδικα εργαλείου και τα παράγωγά της (απαιτήσεις, σχεδιαστικά μοντέλα, κώδικα

View File

@@ -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 να ανιχνεύονται
εγκαίρως και να απορρίπτονται. εγκαίρως και να απορρίπτονται.

View File

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

View File

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

View File

@@ -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 πιο εύκολη, καθώς και περισσότερες οθόνες εκτέλεσης.

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB