\documentclass[aspectratio=169,t,xcolor=table]{beamer} % t is global top alignment \usepackage{polyglossia} \usepackage{fontspec} \setdefaultlanguage{greek} % \newfontfamily\greekfont{Noto Sans} % \newfontfamily\greekfontsf{Noto Sans} % \newfontfamily\greekfonttt{Noto Sans} \newfontfamily\greekfont{Open Sans} \newfontfamily\greekfontsf{Open Sans} \newfontfamily\greekfonttt{Open Sans} \usepackage{datetime} \newdateformat{mydate}{\monthname[\THEMONTH] \THEYEAR} \def\today{\ifcase\month\or Ιανουάριος\or Φεβρουάριος\or Μάρτιος\or Απρίλιος \or Μάιος\or Ιούνιος\or Ιούλιος\or Αύγουστος\or Σεπτέμβριος\or Οκτώβριος \or Νοέμβριος \or Δεκέμβριος \fi \space \number\year} \usepackage{booktabs} \usepackage{subcaption} % \usepackage{pdflscape} \usepackage{ragged2e}\justifying % for justify text (make it more square) % \setlength{\parskip}{5pt} % add space between paragraphs \usetheme{Ufg} %-------------------------------------------------------------Theorems \newtheorem{conj}{Conjetura} \newtheorem{defi}{Definição} \newtheorem{teo}{Teorema} \newtheorem{lema}{Lema} \newtheorem{prop}{Proposição} \newtheorem{cor}{Corolário} \newtheorem{ex}{Ορισμός} \newtheorem{exer}{Exercício} \setbeamertemplate{theorems}[numbered] \setbeamertemplate{caption}[numbered] \setbeamertemplate{frametitle continuation}{\frametitle{Επισκόπηση}} % To not have Επισκόπηση I II etc % Unfortunately is sets Επισκόπηση as continuation title for all continuing frames %-------------------------------------------------------------% %----------------------- Primary Definitions -----------------% % This command set the default Color, is also possible to choose a custom color \setPrimaryColor{UFGBlue} % First one is logo in title slide only located at the bottom left (we recommend use a horizontal image) % Second one is the logo used in the title slide at the bottom right % and all remaining slides (we recommend use a square image) in a smaller form factor \setLogos{lib/logos/logo_aegean.png}{lib/logos/secdep_logo.png} %-------------------------------------------------------------% %-------------------------------------------------------------Title Slide Information \author{Κωνσταντίνος Χωλίδης} % \\ are for the titles to be centered and not have them interfere with the slide background shapes \title[Ανάπτυξη του SecDep]{Σκλήρυνση Μηχανής Δοχείων και\\Λειτουργικού Συστήματος σε\\Περιβάλλοντα Linux} \institute[ICSD]{Τμήμα Μηχανικών Πληροφοριακών και\\Επικοινωνιακών Συστημάτων\\ \smallskip Επίβλεψη: \textbf{Δρ. Κρητικός Κυριάκος}\\ \medskip Μέλη εξεταστικής επιτροπής:\\ \medskip \begin{tabular}{c@{\hspace{0.3cm}}c} \textbf{Δρ. Σκούτας Δημήτριος} & \textbf{Δρ. Σκιάνης Χαράλαμπος}\\ % Επίκουρος Καθηγητής Τμήματος ΜΠΕΣ & Καθηγητής Τμήματος ΜΠΕΣ \\ \end{tabular} } \subject{Διπλωματική Εργασία - Παρουσίαση} \date{\mydate\today} \keywords{Cloud, Security, Virtualization, Virtual Machines, Containers, Container Engine, Micro-services, Automation, Hardening, Docker, Linux} %-------------------------------------------------------------% \begin{document} %-------------------------------------------------------------The next statement creates the title page. % \frame[noframenumbering]{\titlepage} \begin{frame}[plain,noframenumbering] % \vspace{15pt} % good enough to not interfere with the background % \vspace{1.5cm} % same height as the default % \scriptsize % \vspace{-1.2cm} \begin{columns} % by default it is not exactly in the middle \column{\textwidth} \titlepage \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} % This command define the layout. 'vertical' can be replace with 'horizontal', 'blank, 'mainpoint', 'titlepage' \begin{frame}[allowframebreaks] % allowframebreaks is used to split the content in multiple slides \frametitle{Επισκόπηση} \tableofcontents[hideallsubsections] % We still add them for pdf toc though % \tableofcontents[pausesections,sections={-1}] % to show one section at a time (needs more than one definition to work) \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Στόχος της Εργασίας} \begin{block} Ανάπτυξη εργαλείου, το οποίο θα διευκολύνει έναν οργανισμό στην εγκατάσταση και διαμόρφωση με αυτοματοποιημένο τρόπο, ενός ασφαλούς, κατανεμημένου περιβάλλοντος (φιλοξενίας και λειτουργίας) για την εγκατάσταση και λειτουργία μιας εφαρμογής μικρο-υπηρεσιών. \end{block} \begin{block}<2->{Κύριες Λειτουργίες:} \begin{itemize} \item<3-> Δημιουργία εικονικών μηχανών \item<4-> Σκλήρυνση των εικονικών μηχανών \item<5-> Εγκατάσταση/Σκλήρυνση του Docker \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{mainpoint} \section{Εισαγωγή} \begin{frame}[plain,noframenumbering] \frametitle{Εισαγωγικές Έννοιες} \end{frame} \addtocounter{framenumber}{1} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{horizontal} \begin{frame} % \large % maybe add this to all of the slides %% sizes: \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge and \Huge. \frametitle{Λίγα λόγια για:} \begin{itemize} \item<2-> Νεφο-υπολογιστική \item<3-> Εικονικοποίηση \item<4-> Υπερ-επόπτες \item<5-> Docker \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Νεφο-υπολογιστική} \begin{figure} \centering \includegraphics[width=.6\textwidth]{lib/figures/introduction/cloud_computing/cloud_computing.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}{Νεφο-υπολογιστική} \begin{block}{Ορισμός} Ένα μοντέλο, το οποίο επιτρέπει την ανά πάσα στιγμή πρόσβαση σε υπολογιστικούς πόρους, μέσω του διαδικτύου. \end{block} \begin{block}{Χαρακτηριστικά}<2-> \begin{itemize} \item<3-> Αυτοεξυπηρέτηση κατά παραγγελία (On-demand Self-service) \item<4-> Πανταχού παρούσα πρόσβαση (Ubiquitous Access) \item<5-> Πολλαπλή Μίσθωση (Multi-Tenancy) \item<6-> Ελαστικότητα (Elasticity) \item<7-> Μετρούμενη υπηρεσία (Measured Service) \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{horizontal} \begin{frame}{Μοντέλα Παράδοσης} \begin{itemize} \item<2-> Software as a Service (SaaS) (Λογισμικό ως Υπηρεσία) \item<3-> Platform as a Service (PaaS) (Πλατφόρμα ως Υπηρεσία) \item<4-> Infrastructure as a Service (IaaS) (Υποδομή ως Υπηρεσία) \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Διαχωρισμός Εννοιών} \begin{tikzpicture}[ spy using outlines={ circle, magnification=4, size=5cm, connect spies}] \node[inner sep=0pt] {\pgfimage[width=0.6\textwidth]{lib/figures/introduction/cloud_computing/saas_paas_iaas_examples.png}}; \only<2>{\spy[blue!70!black] on (-2.35,1.8) in node at (.5\textwidth,0);} \only<3>{\spy[blue!70!black] on (1.45,-0.1) in node at (.5\textwidth,0);} \only<4>{\spy[blue!70!black] on (-2.5,-2) in node at (.5\textwidth,0);} \end{tikzpicture} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Εμβέλεια ελέγχου} \begin{figure} \centering \includegraphics[width=\textwidth]{lib/figures/introduction/cloud_computing/saas_paas_iaas_scopes.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Εικονικοποίηση} \begin{figure} \centering \includegraphics[width=.7\textwidth]{lib/figures/introduction/virtualization.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}{Εικονικοποίηση} % \vspace{-1cm} % would be needed if there was no other text \begin{block}{Ορισμός} Η αναπαράσταση υπολογιστικών πόρων σε εικονική μορφή με σκοπό την αναδιαμόρφωσή τους προς ικανοποίηση των αναγκών ενός συστήματος. \end{block} \vfill \begin{itemize} \item \textbf{Είδη}: \end{itemize} \begin{figure} \centering \includegraphics[width=.5\textwidth]{lib/figures/introduction/virtualization_types.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Εικονικοποίηση διακομιστών} \begin{block}<2->{Πως λειτουργεί;} Ένας υπερ-επόπτης είναι υπεύθυνος για την κατάτμηση των φυσικών πόρων σε εικονικούς, καθώς και για την ανάθεση αυτών στις εικονικές μηχανές. \end{block} \begin{figure} \centering \includegraphics[width=.7\textwidth]{lib/figures/introduction/server_virtualization_simple.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{horizontal} \begin{frame}{Χωρίς εικονικοποίηση} \begin{columns} \column{0.4\textwidth} \begin{block}{Υποχρησιμοποίηση} \begin{itemize} \item<2-> Αποθηκευτικού χώρου \item<3-> Μνήμης \item<4-> Επεξεργαστικής ισχύος \end{itemize} \end{block} \column{0.6\textwidth} \begin{figure} \centering \includegraphics[width=\textwidth]{lib/figures/virtualization/redhat_virtualization_server_usage1.png} % \caption{Χρήση διακομιστών χωρίς εικονικοποίηση} % \label{fig:serverNoVirtualization} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}{Με Εικονικοποίηση} \begin{columns} \column{0.4\textwidth} \begin{block}{Διαφορές} \begin{itemize} \item<2-> Καλύτερη αξιοποίηση πόρων \item<3-> Εξοικονόμηση κόστους \item<4-> Ευκολότερη διαχείριση \end{itemize} \end{block} \column{0.6\textwidth} \begin{figure} \centering \includegraphics[width=\textwidth]{lib/figures/virtualization/redhat_virtualization_server_usage2.png} % \caption{Χρήση διακομιστών με εικονικοποίηση} % \label{fig:serverWithVirtualization} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Επιπρόσθετα Πλεονεκτήματα} \vspace{-3cm} \begin{block}{Προσφέρει} \begin{itemize} \item<2-> Ταχύτερη παροχή \item<3-> Ελάχιστος χρόνος διακοπής λειτουργίας \item<4-> Καμία ανάγκη για επιπλέον υλικό \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Υπερ-επόπτες} \begin{block}{Ορισμός} Ένα λογισμικό, το οποίο διαχειρίζεται τους φυσικούς πόρους ενός διακομιστή, απομονώνοντάς τους σε διακριτά υποσύνολα αυτών. \end{block} \begin{block}{Είδη}<2-> \begin{itemize} \item<3-> Υπερ-επόπτης Τύπου 1 (Bare Metal) \item<4-> Υπερ-επόπτης Τύπου 2 (Hosted) \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Διαφορές Υπερ-επόπτη Τύπου 1 και 2} \begin{columns} \column{0.35\textwidth} \begin{block}{Οι υπερ-επόπτες τύπου 1:} \begin{itemize} \item<2-> Είναι πιο αποδοτικοί \item<3-> Αντικαθιστούν το λειτουργικό σύστημα \item<4-> Χρησιμοποιούνται σε περιβάλλοντα παραγωγής \end{itemize} \end{block} \column{0.65\textwidth} \begin{figure} \centering \includegraphics[width=.7\textwidth]{lib/figures/introduction/type1-type2-hypervisor.png} % \caption{Χρήση διακομιστών χωρίς εικονικοποίηση} % \label{fig:serverNoVirtualization} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Αλληλεξάρτηση τεχνολογιών} \begin{figure} \centering \includegraphics[width=.6\textwidth]{lib/figures/introduction/server_virtualization.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Αλληλεξάρτηση τεχνολογιών} \begin{figure} \centering \includegraphics[width=.6\textwidth]{lib/figures/introduction/server_virtualization_iaas.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Docker} \begin{block}{Ορισμός} Μηχανή δοχείων, η οποία επιτρέπει την εκτέλεση εφαρμογών σε μορφή δοχείων. \end{block} \begin{block}{Χαρακτηρίζεται από}<2-> \begin{itemize} \item<3-> Mεταφερσιμότητα \item<4-> Ταχύτητα \item<5-> Μέγιστη χρηστικότητα πόρων \item<6-> Ευκολία διαχείρισης \item<7-> Ασφάλεια \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Εικονικές μηχανές και δοχεία} \begin{figure} \centering \includegraphics[width=.8\textwidth]{lib/figures/introduction/vm_vs_container.png} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{mainpoint} \begin{frame}[plain,noframenumbering] \frametitle{Χρήση IaaS Σήμερα} \end{frame} \addtocounter{framenumber}{1} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{horizontal} \begin{frame} \frametitle{Χειροκίνητα Βήματα} \begin{columns} \column{.5\textwidth} \begin{figure} \centering \includegraphics[width=.8\textwidth]{lib/figures/introduction/cloud_computing/iaas_usage.png} \end{figure} \column{.5\textwidth} \begin{block}{Βήματα:} \begin{itemize} \item<1-> Επιλογή παρόχου υπηρεσίας \item<2-> Εισαγωγή στο διαδικτυακό διαχειριστικό πάνελ \item<3-> Επιλογή προδιαγραφών εικονικής μηχανής \item<4-> Εφαρμογή επιλογών \end{itemize} \end{block} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Το πρόβλημα ανεξαρτήτως παρόχου} \begin{columns} \column{.5\textwidth} \begin{itemize} \item<1-> Χρονοβόρα διαδικασία \item<2-> Πιθανότητα λάθους \item<3-> Εγκλωβισμός σε έναν πάροχο \item<4-> Ανάγκη για επαναλαμβανόμενες διαδικασίες \item<5-> Χειροκίνητη σκλήρυνση \end{itemize} \column{.5\textwidth} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{lib/figures/introduction/cloud_computing/iaas_providers.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Γιατί επιλέγεται το IaaS;} \begin{columns} \column{.6\textwidth} \begin{figure} \centering \includegraphics[width=\textwidth]{lib/figures/introduction/cloud_computing/iaas_benefits.png} \end{figure} \column{.4\textwidth} \begin{itemize} \item<1-> Ευελιξία \item<2-> Αποδοτικότητα \item<3-> Ασφάλεια \item<4-> Αξιοπιστία \item<5-> Εξοικονόμηση χρόνου \item<6-> Εξοικονόμηση κόστους \end{itemize} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Προβλήματα που μπορεί να προκύψουν} \begin{itemize} \item<1-> Απαιτείται εμπιστοσύνη προς τον πάροχο \item<2-> Χαμηλού επιπέδου προκαθορισμένες ρυθμίσεις ασφαλείας \item<3-> Πλήρη εξάρτηση από τον πάροχο \item<4-> Επιθέσεις στο νέφος \item<5-> Επιθέσεις στα δοχεία \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Απειλές στο Νέφος} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.7\textwidth]{lib/figures/background/cloud_threats.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Σημεία αδυναμίας} \begin{columns} \column{.5\textwidth} \begin{figure} \centering \includegraphics[width=.7\textwidth]{lib/figures/ThreatsOnVirtualization/enisaThreats.jpg} \end{figure} \column{.5\textwidth} \begin{itemize} \item Παρατηρήσεις \begin{itemize} \item<2-> 16 γκρουπ απειλών \item<3-> 39 ξεχωριστά CWEs \end{itemize} \end{itemize} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Σημεία αδυναμίας} \begin{tikzpicture}[ spy using outlines={ circle, magnification=4.5, size=5cm, connect spies}] \node[inner sep=0pt] {\pgfimage[width=0.4\textwidth]{lib/figures/ThreatsOnVirtualization/enisaThreats.jpg}}; \only<2>{\spy[blue!70!black] on (-0.7,3) in node at (.5\textwidth,0);} \only<3>{\spy[blue!70!black] on (-0.1,2.2) in node at (.5\textwidth,0);} \only<4>{\spy[blue!70!black] on (0.6,1) in node at (.5\textwidth,0);} \end{tikzpicture} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Συχνές επιθέσεις στο Docker} \begin{block}{Κίνδυνος από} \begin{itemize} \item<2-> Εκμεταλλεύσεις πυρήνα (Kernel Exploits) \item<3-> Άρνηση υπηρεσίας \item<4-> Αποδράσεις Δοχείων (Container Breakouts) \item<5-> Δηλητηριασμένες εικόνες δοχείων \item<6-> Απόκτηση μυστικών κωδικών/κλειδιών \item<7-> Ενδιάμεσου (Man-in-the-Middle - MitM) \item<8-> Πλαστογράφηση ARP (ARP spoofing) \end{itemize} \end{block} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Η τριάδα της ασφάλειας} \begin{columns} \column{.4\textwidth} \begin{figure} \centering \includegraphics[width=\textwidth]{lib/figures/background/cia_triad.png} \end{figure} \column{.6\textwidth} \begin{itemize} \item Εμπιστευτικότητα \begin{itemize} \item<2-> Προστασία από αποκάλυψη \end{itemize} \item Ακεραιότητα \begin{itemize} \item<3-> Προστασία από αλλοίωση \end{itemize} \item Διαθεσιμότητα \begin{itemize} \item<4-> Προστασία από απώλεια \end{itemize} \end{itemize} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{lib/figures/background/cia_confidentiality.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{lib/figures/background/cia_integrity.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{lib/figures/background/cia_availability.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Ορθές πρακτικές στην εικονικοποίηση} \begin{itemize} \item<2-> Συχνή ενημέρωση του υπερ-επόπτη \item<3-> Περιορισμός πρόσβασης στο διαχειριστικό πάνελ του υπερ-επόπτη \item<4-> Έλεγχος των μηχανημάτων που έχουν πρόσβαση στον υπερ-επόπτη \item<5-> Περιορισμός δικτυακής πρόσβασης στο διαχειριστικό πάνελ του υπερ-επόπτη \item<6-> Χρήση κρυπτογράφησης εικονικών μηχανών \item<7-> Απομόνωση των εικονικών μηχανών μεταξύ τους \item<8-> Παρακολούθηση των πόρων \item<9-> Ορθή διαχείριση στιγμιοτύπων εικονικών μηχανών \item<10-> Ασφάλιση του μηχανήματος φιλοξενίας \item<11-> Σκλήρυνση των εικονικών μηχανών \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Ορθές πρακτικές το Docker} \begin{itemize} \item<2-> Χρήση ελάχιστων δικαιωμάτων \item<3-> Χρήση read-only \item<4-> Περιορισμός πόρων \item<5-> Αποφυγή privileged \item<6-> Εικόνες δοχείων από έμπιστες πηγές \item<7-> Αποφυγή επικοινωνίας δοχείων μεταξύ τους \item<8-> Χρήση Kernel Capabilities \item<9-> Χρήση Kernel Security Modules \item<10> Χρήση χώρων ονομάτων \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{horizontal} \begin{frame} \frametitle{Απαίτηση αυτοματοποίησης} \begin{itemize} \item<2-> Δημιουργία εικονικών μηχανών \item<3-> Σκλήρυνση εικονικών μηχανών \item<4-> Σκλήρυνση Docker \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Υπάρχουσες λύσεις εργαλείων} \begin{itemize} \item Δημιουργία εικονικών μηχανών \begin{itemize} \item<2-> Terraform \item<3-> Libcloud CLI \end{itemize} \item Σκλήρυνση εικονικών μηχανών \begin{itemize} \item<4-> JShielder \item<5-> nixarmor \end{itemize} \item Σκλήρυνση Docker \begin{itemize} \item<6-> docker-rootless-setup \item<7-> docksec \end{itemize} \end{itemize} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}[shrink=20] \frametitle{Σύγκριση γκρουπ 1} \begin{table}[!ht] \renewcommand{\arraystretch}{1.5} \centering \newcolumntype{C}{>{\centering\arraybackslash}m{3.5cm}} \begin{tabular}{||C|C|C|C||} \hline Κριτήρια & Terraform & Libcloud CLI & SecDep \\ [0.5ex] \hline\hline Ευελιξία κατά την χρήση & Όλες οι προδιαγραφές δηλώνονται σε αρχείο κειμένου. & Επιλογή παραμέτρων κατά την σύνταξη. & Επιλογή παραμέτρων κατά την σύνταξη. \\ \hline Ευκολία χρήσης & Κάθε αλλαγή απαιτεί τροποποίηση του αρχείου προδιαγραφών. & Οι παράμετροι είναι εύκολες στην κατανόηση και την χρήση. & Οι παράμετροι είναι εύκολες στην κατανόηση και την χρήση. \\ \hline Εύρος υποστήριξης παρόχων & Όλοι οι μεγάλοι και μικροί πάροχοι υποστηρίζονται. & Μονάχα ένας πάροχος υποστηρίζεται. & Υποστηρίζονται όλοι οι μεγάλοι πάροχοι. \\ \hline Επεκτασιμότητα & Λόγω της αρχιτεκτονικής του είναι δυσκολότερη η επέκτασή του. & Επεκτείνεται εύκολα με τροποποίηση του εκτελέσιμου αρχείου. & Επεκτείνεται εύκολα με τροποποίηση του εκτελέσιμου αρχείου. \\ \hline \end{tabular} \renewcommand{\arraystretch}{1} \end{table} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}[shrink=20] \frametitle{Σύγκριση γκρουπ 2} \begin{table}[!ht] \renewcommand{\arraystretch}{1.5} \centering \newcolumntype{C}{>{\centering\arraybackslash}m{3.5cm}} \begin{tabular}{||C|C|C|C||} \hline Κριτήρια & JShielder & nixarmor & SecDep \\ [0.5ex] \hline\hline Εύρος υποστήριξης διανομών & Υποστηρίζεται μια διανομή με δύο εκδόσεις. & Υποστηρίζονται 4 διανομές. & Υποστηρίζονται 6 διανομές με πολλαπλές εκδόσεις τους. \\ \hline Ευκολία χρήσης & Αρκεί η εκτέλεσή του με διαχειριστικά δικαιώματα. & Αρκεί η εκτέλεση ενός εκτελέσιμου αρχείου του με διαχειριστικά δικαιώματα. & Αρκεί η εκτέλεσή του με διαχειριστικά δικαιώματα. \\ \hline Εύρος σκλήρυνσης & Ικανοποιητικό εύρος σκλήρυνσης. & Μικρότερο συγκριτικά με τα υπόλοιπα. & Επιτυγχάνεται σε ικανοποιητικό βαθμό. \\ \hline Υποστήριξη διαρκούς σκλήρυνσης & Διαρκής ενημέρωση πακέτων. & Διαρκείς ενημερώσεις ασφαλείας σε μια διανομή. & Διαρκείς ενημερώσεις ασφαλείας και πακέτων, κλείσιμο αχρησιμοποίητων θυρών. \\ \hline \end{tabular} \renewcommand{\arraystretch}{1} \end{table} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}[shrink=20] \frametitle{Σύγκριση γκρουπ 3} \begin{table}[!ht] \renewcommand{\arraystretch}{1.5} \centering \newcolumntype{C}{>{\centering\arraybackslash}m{3.6cm}} \begin{tabular}{||C|C|C|C||} \hline Κριτήρια & docker-rootless-setup & docksec & SecDep \\ [0.5ex] \hline\hline Ευκολία χρήσης & Αρκεί η εκτέλεσή του με διαχειριστικά δικαιώματα. & Αρκεί να εκτελεστεί με διαχειριστικά δικαιώματα. & Αρκεί η εκτέλεσή του με διαχειριστικά δικαιώματα. \\ \hline Εύρος σκλήρυνσης & Μονάχα εγκατάσταση του Rootless Docker. & Μονάχα καλύτερη ρύθμιση του δαίμονα. & Καλύτερη ρύθμιση του δαίμονα, εγκατάσταση του Rootless Docker, αντικατάσταση προκαθορισμένου Container Runtime. \\ \hline Υποστήριξη διαρκούς σκλήρυνσης & Όχι. & Όχι. & Eγκατάσταση του watchtower. \\ \hline Επεκτασιμότητα & Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. & Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. & Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. \\ \hline \end{tabular} \renewcommand{\arraystretch}{1} \end{table} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Προτεινόμενη Λύση} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.6\textwidth]{lib/logos/secdep_logo.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{mainpoint} \begin{frame}[plain,noframenumbering] \frametitle{Ανάπτυξη του SecDep} \end{frame} \addtocounter{framenumber}{1} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \setLayout{vertical} \begin{frame} \frametitle{Μοντέλο Ανάπτυξης} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=0.6\textwidth]{lib/figures/development/waterfall_model.png} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}[shrink=40] \frametitle{Απαιτήσεις Συστήματος} \begin{columns} \column{.5\textwidth} \begin{itemize} \item Λειτουργικές απαιτήσεις \begin{itemize} \item Εμφάνιση μεγεθών, τοποθεσιών και διανομών εικονικών μηχανών \item Προτροπή για ελλειπή παράμετρο \item Έλεγχος εγκυρότητας των παραμέτρων \item Δημιουργία εικονικής μηχανής \item Παύση, εκκίνηση, επανεκκίνηση και διαγραφή εικονικής μηχανής \item Σύνδεση με SSH \item Εμφάνιση εικονικών μηχανών \item Εμφάνιση σφαλμάτων \item Διαδραστική διαμόρφωση αρχείου ρυθμίσεων \item Σκλήρυνση εικονικών μηχανών \item Εγκατάσταση/Σκλήρυνση του Docker \item Περιοδική ενημέρωση πακέτων \item Κλείσιμο αχρησιμοποίητων θυρών \item Εγκατάσταση δοχείων \item Εκτέλεση docker-compose.yml \item Εμφάνιση διαθέσιμων εντολών, συμπληρώσεων κελύφους και έκδοσης προγράμματος \item Παράμετρος προσπέρασης επιβεβαίωσης \item Ύπαρξη μηχανισμού συγκεκριμενοποίησης περιοχής της AWS \item Ύπαρξη μηχανισμού επιλογής θύρας SSH συνδέσεων \item Ύπαρξη μηχανισμού αρχικοποίησης ρυθμίσεων ενός μόνο παρόχου \end{itemize} \end{itemize} \column{.5\textwidth} \begin{itemize} \item Μη λειτουργικές απαιτήσεις \begin{itemize} \item Υποστήριξη νεφών από Amazon, Google, Microsoft \item Υποστήριξη των διανομών Debian, Ubuntu, Red Hat Enterprise Linux, Fedora, CentOS, openSUSE Leap \item Λειτουργία μέσω της γραμμής εντολών \item Ευκολία στην χρήση \item Αξιοπιστία \item Δημιουργία αρχείου ρυθμίσεων \item Δημιουργία αρχείου με τις IP διευθύνσεις των εικονικών μηχανών \item Δημιουργία κλειδιών SSH \item Εγκατάσταση των watchtower και portainer \end{itemize} \end{itemize} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Διάγραμμα περιπτώσεων χρήσης} \begin{columns}\column{\textwidth} \begin{figure} \centering \includegraphics[width=.75\textwidth]{lib/figures/development/secdep-use-case-diagram.jpg} \end{figure} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame} \frametitle{Δημιουργία εικονικής μηχανής} \begin{tikzpicture}[ spy using outlines={ circle, magnification=3.8, size=5cm, connect spies}] \node[inner sep=0pt] {\pgfimage[width=0.4\textwidth]{lib/figures/development/7secdep-flowchart-CreateVM.png}}; \only<1>{\spy[blue!70!black] on (-0.95,2.5) in node at (.5\textwidth,0);} \only<2>{\spy[blue!70!black] on (-0.95,1.4) in node at (.5\textwidth,0);} \only<3>{\spy[blue!70!black] on (-0.95,0.3) in node at (.5\textwidth,0);} \only<4>{\spy[blue!70!black] on (-0.95,-0.95) in node at (.5\textwidth,0);} \only<5>{\spy[blue!70!black] on (-0.46,-2.1) in node at (.5\textwidth,0);} \only<6>{\spy[blue!70!black,magnification=2.5] on (0.12,-2.8) in node at (.5\textwidth,0);} \end{tikzpicture} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \section{Σκλήρυνση Εικονικών Μηχανών} \begin{frame}{Αποτελέσματα μέσω του Lynis} \begin{table}[] \newcolumntype{P}{>{\centering\arraybackslash}m{4cm}} \centering \caption{\label{tab:lynisIndex}Δείκτης ασφαλείας Lynis} \renewcommand{\arraystretch}{1.5} \setlength{\tabcolsep}{0pt} % {\rowcolors{2}{}{LightGray!10} \begin{tabular}{ p{5cm}P } \toprule \textbf{Διακομιστής} & \textbf{Δείκτης Ασφαλείας} \\ \midrule Προ σκλήρυνσης & 65 \\ \rowcolor{LightGray!10} Μετά σκλήρυνσης & 71 \\ \bottomrule \end{tabular} % } \end{table} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \begin{frame}{Αποτελέσματα μέσω του Lynis} \begin{figure} \centering \includegraphics[width=.6\textwidth]{lib/figures/scans/lynis/Lynis_Hardening_Index.png} \caption{Αύξηση δείκτη ασφαλείας του Lynis} \label{fig:lynisHardeningIndex} \end{figure} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \section{Αποτελέσματα} \setLayout{blank} % Example of changing layout \setBGColor{white} % it follows the previous setting \setDefaultConfig % by default text is not black \begin{frame}{Αποτελέσματα} \begin{columns} \column{0.5\textwidth} \justifying Με την χρήση του SecDep καταφέραμε να ασφαλίσουμε τους διακομιστές σε ικανοποιητικό βαθμό. \vspace{5pt} \begin{itemize} \item Σκλήρυνση λειτουργικού συστήματος \item Σκλήρυνση Docker \end{itemize} \column{0.5\textwidth} \justifying Με βάση το Lynis η αύξηση ασφάλειας του διακομιστή ανέρχεται στο 9.23077\%. \vspace{5pt} \begin{enumerate} \item Μείωση ευπαθειών \item Αποτροπή επιθέσεων \end{enumerate} \end{columns} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide %Highlighting text \setLayout{vertical} \setBGColor{Ocean} \begin{frame}{Πως το καταφέραμε;} \footnotesize % to not have hbox Κατεβάσαμε το \alert{SecDep}. \normalsize % back to normal \begin{block}{Τι έχει το SecDep;} Τα εκτελέσιμα secdep.py και harden. \end{block} \begin{alertblock}{Πως δουλεύει;} Το secdep.py είναι το κύριο εκτελέσιμο το οποίο εκτελεί το harden. \end{alertblock} % \begin{examples} % Sample text in green box. % \end{examples} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \section{Εγκατάσταση του SecDep} \setLayout{mainpoint} \setBGColor{DarkPurple} \begin{frame}{} \frametitle{Εγκατάσταση του SecDep} \end{frame} %-------------------------------------------------------------% %-------------------------------------------------------------Slide \section{Κλείσιμο} \setLayout{blank} \setBGColor{white} % it follows the previous setting \setDefaultConfig % by default text is not black \begin{frame}[plain,noframenumbering] % both needed to remove numbering \vspace{2cm} \begin{columns} % by default it is not exactly in the middle \column{\textwidth} \centering \textbf{\Huge Ευχαριστώ πολύ για τον χρόνο σας!} \vskip 0.1pt \textbf{Ερωτήσεις;} \vskip 0.1pt \text{\footnotesize konsthol@proton.me} \vspace{0.5cm} \begin{picture}(0,0) \put(0,-150){\hbox{\includegraphics[width=0.4\textwidth]{lib/logos/gradCloud.png}}} \end{picture} \end{columns} \end{frame} %-------------------------------------------------------------% \end{document} % \begin{table}[] % \centering % \caption{\label{tab:virtualizationThreatSources}Πηγή απειλών στην εικονικοποίηση} % % \renewcommand{\arraystretch}{1.5} % \setlength{\tabcolsep}{10pt} % % {\rowcolors{2}{}{LightGray!10} % \begin{tabular}{ p{5cm}p{6cm} } % \toprule % \textbf{Πηγή απειλής} & \textbf{Περιγραφή} \\ % \midrule % Δίκτυο $\Rightarrow$ Υπερ-επόπτη & % Απειλές που προέρχονται από το δίκτυο και στοχεύουν τον υπερ-επόπτη. \\ % Δίκτυο $\Rightarrow$ Εικονική Μηχανή & % Απειλές που προέρχονται από το δίκτυο και στοχεύουν εικονικές μηχανές. \\ % Υπερ-επόπτη $\Rightarrow$ Εικονική Μηχανή & % Απειλές που προέρχονται από τον υπερ-επόπτη και στοχεύουν εικονικές μηχανές. \\ % Εικονική μηχανή $\Rightarrow$ Εικονική Μηχανή & % Απειλές που προέρχονται από εικονικές μηχανές και στοχεύουν άλλες εικονικές μηχανές. \\ % Εικονική μηχανή $\Rightarrow$ Υπερ-επόπτη & % Απειλές που προέρχονται από εικονικές μηχανές και στοχεύουν τον υπερ-επόπτη. \\ % \bottomrule % \end{tabular} % } % \end{table} % \begin{figure} % \centering % \begin{subfigure}{0.45\textwidth} % \centering % \includegraphics[width=.7\textwidth]{lib/logos/logo_bb.jpg} % \end{subfigure} % \qquad % \begin{subfigure}{0.45\textwidth} % \centering % \includegraphics[width=.5\textwidth]{lib/logos/gradCloud.png} % \end{subfigure} % \end{figure} % %-------------------------------------------------------------Slide % \setLayout{blank} % \setBGColor{white} % \setDefaultConfig % % \begin{landscape} % \begin{frame}[plain,noframenumbering] % % \begin{tikzpicture}[ % spy using outlines={ % circle, % magnification=10, % size=5cm, % connect spies}] % \node[inner sep=0pt] {\pgfimage[width=0.4\textwidth]{lib/figures/ThreatsOnVirtualization/enisaThreats.jpg}}; % \only<2>{\spy[blue!70!black] on (0.3,0.55) in node at (.5\textwidth,0);} % \end{tikzpicture} % % %\framezoom<1><2>[border=1.5](28mm,34mm)(10mm,4mm) % %\framezoom<1><3>[border=1.5](43mm,34mm)(6mm,6mm) % %\framezoom<1><4>[border=1.5](65mm,41mm)(5mm,4mm) % % \begin{figure} % % \centering % % \includegraphics[width=.3\textwidth]{lib/figures/ThreatsOnVirtualization/enisaThreats.jpg} % % \includegraphics[width=.6\textwidth,angle=90]{lib/figures/ThreatsOnVirtualization/enisaThreats.jpg} % % \caption{Απειλές} % % \label{fig:virtualizationThreats} % % \end{figure} % \end{frame} % % \addtocounter{framenumber}{1} % noframenumbering not only hides the number but also does not count it and we want to count it % % \end{landscape} % %-------------------------------------------------------------%