440 lines
26 KiB
TeX
440 lines
26 KiB
TeX
\chapter{Εγκατάσταση \& Επίδειξη του εργαλείου SecDep} \label{installationANDShowcase}
|
||
|
||
\noindent Στην παρούσα ενότητα θα παρουσιαστεί η διαδικασία εγκατάστασης του
|
||
εργαλείου SecDep, καθώς και η ρύθμισή του για την χρήση των υποδομών νέφους της
|
||
Amazon. Μετά την ολοκλήρωση των παραπάνω διαδικασιών θα πραγματοποιηθεί
|
||
επίδειξη της λειτουργίας του με βάση ορισμένα σενάρια χρήσης.
|
||
|
||
\section{Εγκατάσταση του πηγαίου κώδικα του SecDep}
|
||
|
||
Για την εκτέλεση του SecDep είναι απαραίτητη προϋπόθεση να υπάρχει
|
||
εγκατεστημένη η python με έκδοση μεγαλύτερη ή ίση της 3.7. Για την εγκατάσταση
|
||
του πηγαίου κώδικα του SecDep απαιτείται η χρήση του προγράμματος git ή η
|
||
πρόσβαση σε έναν φυλλομετρητή. Στην περίπτωση που ο χρήστης δεν έχει
|
||
εγκατεστημένο το git, πρέπει να μεταβεί στην ιστοσελίδα του αποθετηρίου
|
||
\footfullcite{secdep} του κώδικα και να επιλέξει είτε την επιλογή αποθήκευσης
|
||
ως αρχείο zip, είτε ως tar.gz όπως απεικονίζεται παρακάτω. Έπειτα, το
|
||
εκφορτωμένο συμπιεσμένο αρχείο πρέπει να αποσυμπιεστεί με το κατάλληλο για τον
|
||
τύπο αρχείου πρόγραμμα.
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = .7\textwidth]{Figures/Installation/secdep_install_without_git.png}
|
||
\captionof{figure}{Αποθήκευση του πηγαίου κώδικα του SecDep ως αρχείο}
|
||
\label{fig:secdep_install_without_git}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
\clearpage
|
||
|
||
\noindent Η πιο εύκολη μέθοδος για την εγκατάσταση του SecDep είναι η χρήση του
|
||
git η οποία απαιτεί μονάχα την εκτέλεση της παρακάτω εντολής.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
git clone https://git.konsthol.eu/konsthol/SecDep.git
|
||
\end{bashcode}
|
||
\caption{Εγκατάσταση του SecDep με την χρήση του git}
|
||
\label{lst:secdep_install_with_git}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\subsection{Εγκατάσταση των απαιτούμενων εξαρτήσεων}
|
||
|
||
Μετά την ολοκλήρωση της εγκατάστασης του πηγαίου κώδικα του SecDep, αφού ο
|
||
χρήστης μεταβεί στον φάκελο με τα περιεχόμενα (δηλ. του ριζικού φακέλου του
|
||
έργου λογισμικού που εκφορτώθηκε) που απεικονίζονται στο Σχήμα
|
||
\ref{fig:secdep_install_without_git}, επιβάλλεται να γίνει χρήση του
|
||
προγράμματος pip \footfullcite{pip} για την εγκατάσταση των βιβλιοθηκών που
|
||
απαιτούνται για την λειτουργία του εργαλείου. Αυτό επιτυγχάνεται με την
|
||
εκτέλεση της παρακάτω εντολής.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
pip install -r requirements.txt
|
||
\end{bashcode}
|
||
\caption{Εγκατάσταση των απαιτούμενων βιβλιοθηκών για την λειτουργία του SecDep}
|
||
\label{lst:secdep_install_requirements}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\noindent Στην περίπτωση που η παραπάνω εντολή αποτύχει λόγω πρόσφατων
|
||
τροποποιήσεων στις τελευταίες εκδόσεις του pip, η εντολή πρέπει να μετατραπεί
|
||
στην παρακάτω.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
pip install -r requirements.txt --break-system-packages
|
||
\end{bashcode}
|
||
\caption{Εξαναγκασμένη μορφή της εντολής εγκατάστασης εξαρτήσεων του SecDep}
|
||
\label{lst:focre_secdep_install_requirements}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\section{Ρύθμιση του SecDep}
|
||
|
||
Αφού έχει ολοκληρωθεί η εγκατάσταση των απαιτούμενων εξαρτήσεων, ο χρήστης
|
||
πρέπει να δώσει στο εργαλείο τα απαραίτητα διαπιστευτήρια για την χρήση των
|
||
υποδομών νέφους της επιλογής του. Ενώ υποστηρίζονται και οι τρεις μεγαλύτεροι
|
||
πάροχοι υπηρεσιών IaaS, επιλέχθηκε για την παρούσα ενότητα η κάλυψη της χρήσης
|
||
των υπηρεσιών της Amazon έναντι της Azure και της GCE, λόγω της ευκολότερης και
|
||
απλούστερης διαδικασίας αυθεντικοποίησης που παρέχει. Συγκεκριμένα, απαιτεί την
|
||
συμπλήρωση μονάχα δύο πεδίων. Αυτά στην περίπτωση του εργαλείου μας είναι, τα
|
||
\textquote{SECDEP\_AWS\_ACCESS\_KEY} και \textquote{SECDEP\_AWS\_SECRET\_KEY}.
|
||
|
||
\subsection{Δημιουργία κλειδιού πρόσβασης με την AWS}
|
||
|
||
Για την απόκτηση των παραπάνω διαπιστευτηρίων, ο χρήστης πρέπει να επισκεφθεί
|
||
την ιστοσελίδα διαχείρισης του λογαριασμού που έχει δημιουργήσει με την AWS και
|
||
να μεταβεί στην ενότητα IAM (Identity and Access Management) προκειμένου να
|
||
δημιουργήσει ένα κλειδί πρόσβασης. Αυτό απεικονίζεται ως εξής:
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = \textwidth]{Figures/AWS_setup/go_to_iam.png}
|
||
\captionof{figure}{Μετάβαση στην ενότητα IAM της AWS}
|
||
\label{fig:go_to_iam}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
\clearpage
|
||
|
||
\noindent Έπειτα, πρέπει να εισέλθει στην ενότητα \textquote{Manage Access
|
||
Keys} και να δημιουργήσει ένα νέο κλειδί πρόσβασης όπως φαίνεται παρακάτω:
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = \textwidth]{Figures/AWS_setup/create_access_key.png}
|
||
\captionof{figure}{Δημιουργία νέου κλειδιού πρόσβασης}
|
||
\label{fig:create_access_key}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
\noindent Η αντιστοιχία των απαιτούμενων πεδίων με το κλειδί πρόσβασης που
|
||
δημιουργήθηκε είναι η εξής:
|
||
|
||
\begin{savenotes}
|
||
\selectfont
|
||
\begin{table}[!ht]
|
||
\caption{Αντιστοιχία των πεδίων του SecDep με το κλειδί πρόσβασης της AWS}
|
||
\renewcommand{\arraystretch}{1.5}
|
||
\centering
|
||
\newcolumntype{C}{>{\centering\arraybackslash}m{7cm}}
|
||
\textgreek{\begin{tabular}{||C|C||}
|
||
\hline
|
||
|
||
Μεταβλητή του SecDep & Αντιστοιχία \\ [0.5ex]
|
||
|
||
\hline\hline
|
||
|
||
SECDEP\_AWS\_ACCESS\_KEY & Το αναγνωριστικό του κλειδιού \\
|
||
|
||
\hline
|
||
|
||
SECDEP\_AWS\_SECRET\_KEY & Το περιεχόμενο του κλειδιού \\
|
||
|
||
\hline
|
||
\end{tabular}}
|
||
\label{table:}
|
||
\renewcommand{\arraystretch}{1}
|
||
\end{table}
|
||
\end{savenotes}
|
||
|
||
\subsection{Αντιστοίχιση των πεδίων του SecDep με το κλειδί πρόσβασης της AWS}
|
||
|
||
Μετά το πέρας της δημιουργίας του κλειδιού πρόσβασης, ο χρήστης πρέπει να
|
||
αρχικοποιήσει τις μεταβλητές του SecDep με τις τιμές που αντιστοιχούν στην κάθε
|
||
μια. Υπάρχουν πολλοί τρόποι για την επίτευξη αυτού του σκοπού. Στην προκειμένη
|
||
περίπτωση που θα γίνει χρήση ενός μονάχα παρόχου, αρκεί η εκτέλεση της παρακάτω
|
||
εντολής:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --init aws
|
||
\end{bashcode}
|
||
\caption{Αρχικοποίηση των μεταβλητών του SecDep για την χρήση της AWS}
|
||
\label{lst:secdep_init_aws}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Έπειτα, θα ζητηθούν από τον χρήστη τα αντίστοιχα διαπιστευτήρια. Οι μεταβλητές
|
||
αυτές θα αποθηκευτούν στο αρχείο \textquote{.env} που θα δημιουργηθεί στον
|
||
ριζικό φάκελο του έργου. Εάν το εκτελέσιμο μεταφερθεί κάποτε σε νέο φάκελο,
|
||
δίχως το αρχείο “.env”, τότε αυτό θα αναδημιουργηθεί στην νέα τοποθεσία. Στην
|
||
περίπτωση που ο χρήστης μελλοντικά θέλει να αλλάξει τις τιμές των μεταβλητών ή
|
||
να προσθέσει νέες, μπορεί να το κάνει αλλάζοντας τα περιεχόμενα του αρχείου
|
||
\textquote{.env} χειροκίνητα με έναν επεξεργαστή κειμένου ή με την εκτέλεση της
|
||
εντολής:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --edit
|
||
\end{bashcode}
|
||
\caption{Επεξεργασία των μεταβλητών του SecDep}
|
||
\label{lst:secdep_edit}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\noindent Η εντολή αυτή θα προτρέψει τον χρήστη να επιλέξει ποια μεταβλητή να
|
||
αλλάξει και θα αναγράφει την προηγούμενη τιμή της ώστε να γίνεται ευδιάκριτη η
|
||
αλλαγή.
|
||
|
||
\section{Επίδειξη του SecDep}
|
||
|
||
Ανά πάσα στιγμή, ο χρήστης μπορεί να εκτελέσει την παρακάτω εντολή για να λάβει
|
||
πληροφορίες σχετικά με τις διαθέσιμες παραμέτρους:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --help
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου help του SecDep}
|
||
\label{lst:secdep_help}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\subsection{Δημιουργία εικονικής μηχανής}
|
||
|
||
Σχετικά με την δημιουργία εικονικών μηχανών, που είναι και μια από τις βασικές
|
||
λειτουργίες του SecDep, ο χρήστης μπορεί να εκτελέσει την παρακάτω εντολή για
|
||
να δημιουργήσει μια εικονική μηχανή στο νέφος της Amazon, η οποία θα έχει με
|
||
λειτουργικό σύστημα Debian 11 και θα βρίσκεται στην περιοχή eu-north-1. Το
|
||
μέγεθος που χρησιμοποιείται είναι το t3.micro, το οποίο είναι διαθέσιμο για
|
||
χρήστες εντός της δωρεάν δοκιμαστικής περιόδου ενός χρόνου.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --create --name test-node --size t3.micro --image ami-08869bacfa1188ec9
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου create του SecDep}
|
||
\label{lst:secdep_create}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Μετά την δημιουργία της εικονικής μηχανής, επιστρέφεται στον χρήση η διεύθυνση
|
||
IP της, καθώς και η εντολή που μπορεί να εκτελέσει προκειμένου να συνδεθεί σε
|
||
αυτήν χρησιμοποιώντας το πρωτόκολλο SSH. Η εντολή αυτή σχηματίζεται δυναμικά
|
||
από το εργαλείο λαμβάνοντας υπόψιν πολλές παραμέτρους. Αρχικά, σε περίπτωση που
|
||
η εικονική μηχανή έχει σκληρύνει, η θύρα που θα χρησιμοποιηθεί δεν θα είναι η
|
||
προκαθορισμένη. Έπειτα, το πλήρες μονοπάτι μέχρι το κλειδί SSH, το οποίο
|
||
δημιουργήθηκε μαζί με την εικονική μηχανή στο ριζικό φάκελο του έργου, θα
|
||
αποκτηθεί με βάση την τοποθεσία του εκτελέσιμου. Τέλος, η IP διεύθυνση της
|
||
εικονικής μηχανής θα είναι αυτή που επιστρέφεται στον χρήστη. Επομένως, μόλις
|
||
ολοκληρωθεί η δημιουργία της εικονικής μηχανής, ο χρήστης είναι σε θέση να
|
||
αντιγράψει την εντολή αυτή σε ένα τερματικό και να συνδεθεί στην καινούρια του
|
||
εικονική μηχανή.
|
||
|
||
Εάν ο χρήστης δεν διαθέτει πρόγραμμα ικανό να συνδεθεί μέσω SSH σε έναν
|
||
απομακρυσμένο διακομιστή, υποστηρίζεται και η παράμετρος \textquote{--ssh}. Η
|
||
συγκεκριμένη παράμετρος θα επιστρέψει στον χρήστη μια λίστα με τις διαθέσιμες
|
||
εικονικές μηχανές του, ώστε να επιλέξει διαδραστικά μια από αυτές για να
|
||
συνδεθεί. Μπορεί προαιρετικά να συνδυαστεί με την παράμετρο
|
||
\textquote{--provider} για το φιλτράρισμα της λίστας και με την παράμετρο
|
||
\textquote{--port} για επιλογή θύρας. Το μειονέκτημα που θα έχει ο χρήστης
|
||
συνδέοντας με αυτόν τον τρόπο, είναι η αδυναμία του έπειτα να εκτελέσει
|
||
διαδραστικά προγράμματα τύπου TUI (Text-based User Interface) \cite{tui}, όπως
|
||
είναι το htop \footfullcite{htop} και το vim \footfullcite{vim}. Μια περίπτωση
|
||
εκτέλεσής της είναι η εξής:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --ssh
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου ssh του SecDep}
|
||
\label{lst:secdep_ssh}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Σχετικά με την εντολή δημιουργίας εικονικής μηχανής, χωρίς την παράμετρο
|
||
\textquote{--yes}, θα ζητηθεί από τον χρήστη να επιβεβαιώσει την δημιουργία της
|
||
εικονικής μηχανής, παρέχοντας πληροφορίες σχετικά με τις επιλογές του. Η
|
||
συγκεκριμένη εντολή, μπορεί επιπλέον να συνδυαστεί με την παράμετρο
|
||
\textquote{--deploy}. Με την προσθήκη της παραμέτρου αυτής, θα εκτελεστεί η
|
||
ίδια διαδικασία αλλά με την διαφορά πως θα πραγματοποιηθεί εκτέλεση και του
|
||
αρχείου harden στην εικονική μηχανή, το οποίο θα σκληρύνει το λειτουργικό της
|
||
σύστημα και θα εγκαταστήσει την μηχανή δοχείων Docker, την οποία επίσης θα
|
||
σκληρύνει. Ένα πλήρες παράδειγμα όπου γίνεται χρήση της παραμέτρου αυτής και
|
||
εγκαθίστανται στην εικονική μηχανή δύο δοχεία Docker, αποτελεί η εκτέλεση της
|
||
Εντολής \ref{lst:secdep_harden_docker}. Παράλληλα, το αποτέλεσμα μετά την
|
||
εκτέλεσή της απεικονίζεται στο Σχήμα \ref{fig:aws_hardened}.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --create --name test-node --size t3.micro --image ami-08869bacfa1188ec9 --yes --deploy node mysql
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου create του SecDep, με την παράμετρο deploy για σκλήρυνση}
|
||
\label{lst:secdep_harden_docker}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = \textwidth]{Figures/AWS_hardened/aws-hardened.png}
|
||
\captionof{figure}{Δημιουργία εικονικής μηχανής με παράμετρο για σκλήρυνση}
|
||
\label{fig:aws_hardened}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
Με μια ακόμα προσθήκη παραμέτρου, συγκεκριμένα της
|
||
\textquote{--docker\_compose}, θα εκτελεστεί στην εικονική μηχανή και ένα
|
||
αρχείο docker-compose.yml που θα πρέπει ο χρήστης να έχει μεταφέρει στον ριζικό
|
||
φάκελο του SecDep. Για οποιαδήποτε απαραίτητη παράμετρο δεν έχει δοθεί, ή έχει
|
||
δοθεί λανθασμένα, θα προτρέπεται ο χρήστης να την δώσει ξανά έως ότου
|
||
ολοκληρωθεί η διαδικασία ή ακυρωθεί από τον χρήστη.
|
||
|
||
\subsection{Εύρεση πληροφοριών πόρων}
|
||
|
||
Εάν ο χρήστης δεν γνωρίζει τις διαθέσιμες επιλογές για τις παραμέτρους που
|
||
εισάγει, υποστηρίζονται ξεχωριστές εντολές, οι οποίες ακολουθούν παρόμοιο
|
||
μοτίβο μεταξύ τους. Παραδείγματα εντολών που υποστηρίζονται, είναι της μορφής
|
||
που παρατηρείται στην Εντολή \ref{lst:secdep-listimages}. Η οθόνη επιλογής
|
||
πόρου που εμφανίζεται στoν χρήστη μετά την εκτέλεση αυτού του είδους εντολών,
|
||
απεικονίζεται στο Σχήμα \ref{fig:secdep_choose}.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --listimages --print
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου listimages του SecDep}
|
||
\label{lst:secdep-listimages}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = \textwidth]{Figures/Usage/secdepChooseImage.png}
|
||
\captionof{figure}{Οθόνη επιλογής πόρου}
|
||
\label{fig:secdep_choose}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
Το αποτέλεσμα της Εντολής \ref{lst:secdep-listimages}, είναι να εμφανιστεί μια
|
||
λίστα με τις διαθέσιμες εικόνες που μπορεί να χρησιμοποιήσει ο χρήστης για την
|
||
δημιουργία εικονικών μηχανών. Έπειτα, με την διαδραστική επιλογή μιας από
|
||
αυτές, θα εμφανιστούν πληροφορίες σχετικά με την εικόνα που επιλέχθηκε, οι
|
||
οποίες θα είναι της μορφής που απεικονίζεται παρακάτω.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
<NodeImage: id=ami-0eb2c4104acb437b2, name=debian-10-amd64-20221224-1239, driver=Amazon EC2 ...>
|
||
\end{bashcode}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Από την παραπάνω πληροφορία, ο χρήστης θα πρέπει να καταγράψει το αναγνωριστικό (id) της
|
||
εικόνας. Εάν χρειάζεται πληροφορίες σχετικά με τα διαθέσιμα μεγέθη των
|
||
εικονικών μηχανών, αυτό επιτυγχάνεται με την εντολή:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --listsizes --print
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου listsizes του SecDep}
|
||
\label{lst:secdep_listsizes}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\noindent Η διαδικασία επιλογής του μεγέθους είναι παρόμοια με την επιλογή της
|
||
εικόνας, ενώ το αποτέλεσμα είναι της μορφής:
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
<NodeSize: id=t3.micro, name=t3.micro, ram=1024, disk=0, bandwidth=0, price=0.0204, driver=Amazon EC2 ...>
|
||
\end{bashcode}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
\noindent Από την παραπάνω πληροφορία, το σημαντικό πάλι είναι το αναγνωριστικό
|
||
(id) του μεγέθους.
|
||
|
||
\subsection{Λίστα εικονικών μηχανών}
|
||
|
||
Μερικές από τις εντολές που δύναται να χρησιμοποιήσει ένας χρήστης συχνά μπορεί
|
||
να είναι για την εμφάνιση εικονικών μηχανών ή την διαγραφή τους. Η εμφάνιση
|
||
εικονικών μηχανών επιτυγχάνεται με την εκτέλεση της Εντολής
|
||
\ref{lst:secdep_list}. Το αποτέλεσμά της μπορεί να απεικονίζεται όπως στο Σχήμα
|
||
\ref{fig:instance_list_output}.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --awsregion us-east-2 --list
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου list του SecDep}
|
||
\label{lst:secdep_list}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Στο Σχήμα \ref{fig:instance_list_output}, βλέπουμε πως υπήρχε στην περιοχή
|
||
\textquote{us-east-2} μια εικονική μηχανή, στην οποία είχε δοθεί το όνομα
|
||
\textquote{test-node}. Για κάθε πάροχο, συνδυάζεται το όνομά του στο όνομα της
|
||
εικονικής μηχανής που δημιουργείται μέσω αυτού, με σκοπό την ταχύτερη διάκρισή
|
||
της όταν ο χρήστης ζητάει λίστα με εικονικές μηχανές κατά μήκος πολλών παρόχων.
|
||
Η συγκεκριμένη είχε ήδη διαγραφεί και για τον λόγο αυτό, η κατάστασή της
|
||
δηλώνεται ως \textquote{terminated}. Σε αντίθετη περίπτωση, θα βλέπαμε την
|
||
τρέχουσα κατάστασή της και τις διάφορες πληροφορίες της. Στις πληροφορίες αυτές
|
||
περιλαμβάνονται, η δημόσια και ιδιωτική διεύθυνση IP της, το μέγεθός της, η
|
||
διανομή που χρησιμοποιεί, καθώς και λοιπές πληροφορίες σε μορφή JSON, τα
|
||
περιεχόμενα των οποίων διαφέρουν από πάροχο σε πάροχο.
|
||
|
||
Η παράμετρος \textquote{--awsregion} είναι προαιρετική και χρησιμοποιείται
|
||
αποκλειστικά για την Amazon. Η παράλειψή της θα είχε ως αποτέλεσμα να γίνει
|
||
έρευνα σε όλες τις διαθέσιμες περιοχές. Γεγονός που ενδεχομένως να αποτελούσε
|
||
σπατάλη χρόνου.
|
||
|
||
\begin{center}
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[width = \textwidth]{Figures/AWS_listing/aws-instances.png}
|
||
\captionof{figure}{Λίστα με τις εικονικές μηχανές που έχουν δημιουργηθεί}
|
||
\label{fig:instance_list_output}
|
||
\end{figure}
|
||
\vspace*{-30pt}
|
||
\end{center}
|
||
|
||
\subsection{Διαγραφή εικονικής μηχανής}
|
||
|
||
Με την παρακάτω εντολή, ο χρήστης λαμβάνει μια λίστα με τις διαθέσιμες
|
||
εικονικές μηχανές του παρόχου Amazon που έχουν δημιουργηθεί στην περιοχή
|
||
eu-north-1 και επιλέγει μια από αυτές για διαγραφή. Μετά από επιτυχή διαγραφή,
|
||
λαμβάνει επιβεβαίωση στην οθόνη του.
|
||
|
||
\begin{listing}[!ht]
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --action delete --awsregion eu-north-1
|
||
\end{bashcode}
|
||
\caption{Εκτέλεση της παραμέτρου delete του SecDep}
|
||
\label{lst:secdep_delete}
|
||
\vspace*{-10pt}
|
||
\end{listing}
|
||
|
||
Εάν ήθελε να διαγράψει όλες τις εικονικές μηχανές της περιοχής, η τιμή της
|
||
παραμέτρου \textquote{--action}, από \textquote{delete} θα έπρεπε να
|
||
αντικατασταθεί σε \textquote{deleteall}. Με παρόμοιο τρόπο υποστηρίζονται και
|
||
εντολές για εκκίνηση, επανεκκίνηση ή παύση εικονικών μηχανών.
|
||
|
||
\section{Περισσότερες πληροφορίες}
|
||
|
||
Το SecDep, ως ένα ολοκληρωμένο εργαλείο, παρέχει αρκετές λειτουργίες για την
|
||
δημιουργία και διαχείριση εικονικών μηχανών κατά μήκος πολλών παρόχους νέφους.
|
||
Τα παραδείγματα εντολών που καλύψαμε στην παρούσα ενότητα, περιορίστηκαν σε
|
||
έναν μόνο πάροχο νέφους. Ωστόσο, ορισμένες από τις διαθέσιμες εντολές του
|
||
διαφοροποιούνται για τους υπόλοιπους.
|
||
|
||
Πιο λεπτομερείς οδηγίες χρήσης και εγκατάστασης περιέχονται και στην σελίδα του
|
||
αποθετηρίου του SecDep \footfullcite{secdep} μέσω του αρχείου
|
||
\textquote{README.md}. Στην αρχική του σελίδα, εμφανίζονται τα περιεχόμενα του
|
||
αρχείου οδηγιών. Εκεί, ο χρήστης μπορεί να βρει πληροφορίες σχετικά με την
|
||
παραμετροποίηση και των υπόλοιπων παρόχων νέφους, χρήσιμες ρυθμίσεις που
|
||
καθιστούν την εκτέλεση του SecDep πιο εύκολη, καθώς και περισσότερες οθόνες
|
||
εκτέλεσης.
|