1632 lines
63 KiB
TeX
1632 lines
63 KiB
TeX
\documentclass[aspectratio=169,t,xcolor=table,usepdftitle=false]{beamer} % t is global top alignment
|
||
|
||
% \documentclass[draft,aspectratio=169,t,xcolor=table]{beamer} % t is global top alignment
|
||
% \overfullrule=5pt
|
||
|
||
\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{booktabs}
|
||
\usepackage{multirow}
|
||
\usepackage{hyperref}
|
||
\usepackage{minted}
|
||
\newminted{bash}{style=sas,breaklines,frame=lines}
|
||
|
||
\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
|
||
% \\ are for the titles to be centered and not have them interfere with the slide background shapes
|
||
\title[Ανάπτυξη του SecDep]{Σκλήρυνση Μηχανής Δοχείων και\\Λειτουργικού Συστήματος σε\\Περιβάλλοντα Linux\vspace{-10pt}}
|
||
\author{Κωνσταντίνος Χωλίδης}
|
||
\hypersetup{
|
||
pdftitle = {Σκλήρυνση Μηχανής Δοχείων και Λειτουργικού Συστήματος σε Περιβάλλοντα Linux},
|
||
pdfauthor = {Κωνσταντίνος Χωλίδης}
|
||
}
|
||
\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}
|
||
\vspace{5pt}
|
||
\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
|
||
\section{Στόχος}
|
||
\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}
|
||
\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}
|
||
\end{figure}
|
||
|
||
\end{columns}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Επιπρόσθετα Πλεονεκτήματα}
|
||
\vspace{-3cm}
|
||
\begin{block}{Προσφέρει}
|
||
\begin{itemize}
|
||
\item<2-> Ταχύτερη παροχή
|
||
\item<3-> Ελάχιστος χρόνος διακοπής λειτουργίας
|
||
\item<4-> Καμία ανάγκη για επιπλέον υλικό
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{vertical}
|
||
\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}
|
||
\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
|
||
\section{Χρήση IaaS σήμερα}
|
||
\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
|
||
\section{Ασφάλεια στο νέφος}
|
||
\setLayout{mainpoint}
|
||
\begin{frame}[plain,noframenumbering]
|
||
\frametitle{Θέματα Ασφαλείας}
|
||
\end{frame}
|
||
\addtocounter{framenumber}{1}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{horizontal}
|
||
\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 group απειλών
|
||
\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}};
|
||
% more than 2.9 may look better but it pushes the image down
|
||
\only<2>{\spy[blue!70!black] on (-0.7,2.9) in node at (.5\textwidth,0);}
|
||
\only<3>{\spy[blue!70!black] on (-0.05,2.15) in node at (.5\textwidth,0);}
|
||
\only<4>{\spy[blue!70!black] on (0.6,0.95) 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{figure}
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{lib/figures/background/cia_confidentiality.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{lib/figures/background/cia_integrity.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{lib/figures/background/cia_availability.png}
|
||
\end{figure}
|
||
\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
|
||
\section{Σχετικές εργασίες}
|
||
\setLayout{mainpoint}
|
||
\begin{frame}[plain,noframenumbering]
|
||
\frametitle{Σχετικές Εργασίες}
|
||
\end{frame}
|
||
\addtocounter{framenumber}{1}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------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{Σύγκριση με group 1 (Δημιουργία VM)}
|
||
|
||
\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{Σύγκριση με group 2 (Σκλήρυνση VM)}
|
||
|
||
\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{Σύγκριση με group 3 (Σκλήρυνση Docker)}
|
||
|
||
\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
|
||
|
||
Υποστήριξη διαρκούς σκλήρυνσης &
|
||
|
||
Όχι. &
|
||
|
||
Όχι. &
|
||
|
||
Εγκατάσταση του watchtower. \\
|
||
|
||
\hline
|
||
|
||
Επεκτασιμότητα &
|
||
|
||
Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. &
|
||
|
||
Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. &
|
||
|
||
Αρκεί η προσθήκη νέων λειτουργιών στο εκτελέσιμο αρχείο του. \\
|
||
|
||
\hline
|
||
\end{tabular}
|
||
\renewcommand{\arraystretch}{1}
|
||
\end{table}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\section{Προτεινόμενη λύση}
|
||
\begin{frame}
|
||
\frametitle{Προτεινόμενη Λύση}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{lib/logos/secdep_logo.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{mainpoint}
|
||
\begin{frame}[plain,noframenumbering]
|
||
\frametitle{Ανάπτυξη του SecDep}
|
||
\end{frame}
|
||
\addtocounter{framenumber}{1}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{vertical}
|
||
\begin{frame}
|
||
\frametitle{Μοντέλο Ανάπτυξης}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=0.6\textwidth]{lib/figures/development/waterfall_model.png}
|
||
\end{figure}
|
||
\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{figure}
|
||
\centering
|
||
\includegraphics[width=.75\textwidth]{lib/figures/development/secdep-use-case-diagram.jpg}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Διάγραμμα ροών}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/development/1secdep-flowchart-diagram.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Ροές απλών λειτουργιών}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/development/2secdep-flowchart-diagramSimpleFunctions.png}
|
||
\end{figure}
|
||
\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
|
||
\begin{frame}
|
||
\frametitle{Διάγραμμα ακολουθίας}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.75\textwidth]{lib/figures/development/secdep-sequence-diagram.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Υποστηριζόμενες εκδόσεις διανομών}
|
||
\begin{table}[!ht]
|
||
\renewcommand{\arraystretch}{1.5}
|
||
\centering
|
||
\begin{tabular}{lc|c|c|c|}
|
||
\cline{3-5}
|
||
& & \multicolumn{3}{c|}{Πάροχοι} \\ \cline{3-5}
|
||
& & AWS & Azure & GCE \\ \hline
|
||
\multicolumn{1}{|c|}{\multirow{6}{*}{\rotatebox{90}{Διανομές}}} & Ubuntu & 22.04, 22.10 & 22.04, 22.10 & Όλες \\ \cline{2-5}
|
||
\multicolumn{1}{|c|}{} & Debian & 10, 11 & 10, 11 & Όλες \\ \cline{2-5}
|
||
\multicolumn{1}{|c|}{} & CentOS & 7, 8, 9 & 8.4, 8.5 & Όλες \\ \cline{2-5}
|
||
\multicolumn{1}{|c|}{} & Fedora & 37 & 36, 37 & Όλες \\ \cline{2-5}
|
||
\multicolumn{1}{|c|}{} & Red Hat Enterprise Linux & 7.9, 8.6, 9 & 8.6, 9.1 & Όλες \\ \cline{2-5}
|
||
\multicolumn{1}{|c|}{} & openSUSE Leap & 15.3, 15.4 & 15.3, 15.4 & Όλες \\ \hline
|
||
\end{tabular}
|
||
\renewcommand{\arraystretch}{1}
|
||
\end{table}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}[shrink=20]
|
||
\frametitle{Σημαντικές συναρτήσεις του SecDep}
|
||
\begin{columns}
|
||
\column{.4\textwidth}
|
||
\begin{itemize}
|
||
\item create\_node
|
||
\begin{itemize}
|
||
\item provider
|
||
\item name
|
||
\item location
|
||
\item size
|
||
\item image
|
||
\item confirm
|
||
\item deploy
|
||
\end{itemize}
|
||
\item node\_action
|
||
\begin{itemize}
|
||
\item start
|
||
\item stop
|
||
\item reboot
|
||
\item delete
|
||
\end{itemize}
|
||
\item list\_all\_nodes
|
||
\begin{itemize}
|
||
\item provider
|
||
\item filterIn
|
||
\item awsRegion
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\column{.6\textwidth}
|
||
\begin{itemize}
|
||
\item hardenSSH
|
||
\item dockerInit
|
||
\item kernelSecurityModuleInit
|
||
\item configureFail2ban
|
||
\end{itemize}
|
||
\end{columns}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Σχέσεις συναρτήσεων του secdep.py}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.9\textwidth]{lib/figures/development/secdep-function-relationships.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Σχέσεις συναρτήσεων του harden}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.7\textwidth]{lib/figures/development/harden-function-relationships.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Εξαρτήσεις του SecDep}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/development/secdep-module-dependencies-organized.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{mainpoint}
|
||
\begin{frame}[plain,noframenumbering]
|
||
\frametitle{Εγκατάσταση και επίδειξη}
|
||
\end{frame}
|
||
\addtocounter{framenumber}{1}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{horizontal}
|
||
\begin{frame}
|
||
\frametitle{Προαπαιτούμενα}
|
||
\vspace{-2cm}
|
||
\begin{block}{Θα χρειαστούμε}
|
||
\begin{itemize}
|
||
\item<2-> Python 3.7+
|
||
\item<3-> pip
|
||
\item<4-> git ή φυλλομετρητής
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}[containsverbatim]
|
||
\frametitle{Εντολές εγκατάστασης}
|
||
\begin{bashcode}
|
||
git clone https://git.konsthol.eu/konsthol/SecDep.git
|
||
\end{bashcode}
|
||
|
||
\begin{bashcode}
|
||
cd SecDep
|
||
\end{bashcode}
|
||
|
||
\begin{bashcode}
|
||
pip install -r requirements.txt [--break-system-packages]
|
||
\end{bashcode}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Ρύθμιση για AWS}
|
||
\vspace{-2cm}
|
||
\begin{block}{Απαιτείται}
|
||
\begin{itemize}
|
||
\item<2-> Λογαριασμός AWS
|
||
\item<3-> Όνομα κλειδιού πρόσβασης
|
||
\item<4-> Περιεχόμενο κλειδιού
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}[containsverbatim]
|
||
\frametitle{Αντιστοιχίες τιμών}
|
||
\begin{table}[]
|
||
\newcolumntype{P}{>{\centering\arraybackslash}m{4cm}}
|
||
\centering
|
||
\renewcommand{\arraystretch}{1.5}
|
||
\setlength{\tabcolsep}{0pt}
|
||
\begin{tabular}{ p{5cm}P }
|
||
\toprule
|
||
\textbf{Μεταβλητή του SecDep} & \textbf{Αντιστοιχία} \\
|
||
\midrule
|
||
SECDEP\_AWS\_ACCESS\_KEY & Αναγνωριστικό κλειδιού \\
|
||
\rowcolor{LightGray!10}
|
||
SECDEP\_AWS\_SECRET\_KEY & Περιεχόμενο κλειδιού \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
\begin{bashcode}
|
||
python3 secdep.py --init aws
|
||
\end{bashcode}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{vertical}
|
||
\begin{frame}[containsverbatim]
|
||
\frametitle{Παραδείγματα εντολών I}
|
||
\begin{itemize}
|
||
\item Επεξεργασία αρχείου ρυθμίσεων
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --edit
|
||
\end{bashcode}
|
||
\begin{itemize}
|
||
\item Δημιουργία απλής εικονικής μηχανής
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --create --name test-node --size t3.micro --image ami-08869bacfa1188ec9 --yes
|
||
\end{bashcode}
|
||
\begin{itemize}
|
||
\item Δημιουργία εικονικής μηχανής με σκλήρυνση, δοχεία και εκτέλεση docker-compose.yml
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --create --name test-node --size t3.micro --image ami-08869bacfa1188ec9 --yes --docker_compose --deploy node mysql
|
||
\end{bashcode}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{vertical}
|
||
\begin{frame}[containsverbatim]
|
||
\frametitle{Παραδείγματα εντολών II}
|
||
\begin{itemize}
|
||
\item Επιλογή εικονικής μηχανής της AWS για σύνδεση SSH
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --ssh
|
||
\end{bashcode}
|
||
\begin{itemize}
|
||
\item Εμφάνιση εικονικών μηχανών συγκεκριμένης περιοχής της AWS
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --awsregion us-east-2 --list
|
||
\end{bashcode}
|
||
\begin{itemize}
|
||
\item Επιλογή εικονικής μηχανής για διαγραφή
|
||
\end{itemize}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --action delete --awsregion eu-north-1
|
||
\end{bashcode}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Οθόνη εκτέλεσης - Δημιουργία με --deploy}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.8\textwidth]{lib/figures/showcase/aws-hardened.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}
|
||
\frametitle{Οθόνη εκτέλεσης - Λίστα VM}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.8\textwidth]{lib/figures/showcase/aws-instances.png}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{horizontal}
|
||
\begin{frame}[containsverbatim,shrink=23]
|
||
\frametitle{Επιλογή πόρου}
|
||
\begin{columns}
|
||
\column{.49\textwidth}
|
||
\begin{bashcode}
|
||
python3 secdep.py --provider aws --listimages --print
|
||
\end{bashcode}
|
||
\vspace{1cm}
|
||
\begin{block}{Αποτέλεσμα της μορφής}
|
||
\begin{bashcode}
|
||
<NodeImage: id=ami-0eb2c4104acb437b2, name=debian-10-amd64-20221224-1239, driver=Amazon EC2 ...>
|
||
\end{bashcode}
|
||
\end{block}
|
||
\column{.51\textwidth}
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/showcase/secdepChooseImage.png}
|
||
\end{figure}
|
||
\end{columns}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\section{Αποτίμηση εργαλείου}
|
||
\setLayout{mainpoint}
|
||
\begin{frame}[plain,noframenumbering]
|
||
\frametitle{Αξιολόγηση}
|
||
\end{frame}
|
||
\addtocounter{framenumber}{1}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{vertical}
|
||
\begin{frame}
|
||
\frametitle{Εργαλεία Αξιολόγησης}
|
||
\vspace{-2cm}
|
||
\begin{block}<2->{Χρησιμοποιήθηκαν τα:}
|
||
\begin{itemize}
|
||
\item<3-> Lynis
|
||
\item<4-> Lunar
|
||
\item<5-> Vuls
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Αποτελέσματα μέσω του Lynis}
|
||
|
||
\begin{table}[]
|
||
\newcolumntype{P}{>{\centering\arraybackslash}m{4cm}}
|
||
\centering
|
||
|
||
\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=.75\textwidth]{lib/figures/scans/lynis/Lynis_Hardening_Index.png}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Αποτελέσματα μέσω του LUNAR}
|
||
|
||
\begin{table}[]
|
||
\newcolumntype{P}{>{\centering\arraybackslash}m{4cm}}
|
||
\centering
|
||
|
||
\renewcommand{\arraystretch}{1.5}
|
||
\setlength{\tabcolsep}{0pt}
|
||
|
||
\begin{tabular}{ p{5cm}P }
|
||
\toprule
|
||
\textbf{Διακομιστής} & \textbf{Αριθμός Προειδοποιήσεων} \\
|
||
\midrule
|
||
Προ σκλήρυνσης & 266 \\
|
||
\rowcolor{LightGray!10}
|
||
Μετά σκλήρυνσης & 260 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Αποτελέσματα μέσω του LUNAR}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.75\textwidth]{lib/figures/scans/lunar/lunar_warnings.png}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Αποτελέσματα μέσω του Vuls}
|
||
|
||
\begin{table}[]
|
||
\newcolumntype{P}{>{\centering\arraybackslash}m{4cm}}
|
||
\centering
|
||
|
||
\renewcommand{\arraystretch}{1.5}
|
||
\setlength{\tabcolsep}{0pt}
|
||
|
||
\begin{tabular}{ p{5cm}P }
|
||
\toprule
|
||
\textbf{Διακομιστής} & \textbf{Καθαρός αριθμός CVE} \\
|
||
\midrule
|
||
Προ σκλήρυνσης & 774 \\
|
||
\rowcolor{LightGray!10}
|
||
Μετά σκλήρυνσης & 568 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Αποτελέσματα μέσω του Vuls}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.75\textwidth]{lib/figures/scans/vuls/CVEs_Διακομιστών.png}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Vuls - CVEs ανά κατηγορία σοβαρότητας}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.8\textwidth]{lib/figures/scans/vuls/count_servername_by_cvss_severity_table_chart.png}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Vuls - CVEs ανά κατηγορία σοβαρότητας}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[width=.8\textwidth]{lib/figures/scans/vuls/count_servername_by_cvss_severity_area_chart.png}
|
||
\end{figure}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Vuls - CVEs δικτύου}
|
||
\begin{figure}
|
||
\centering
|
||
\begin{subfigure}{0.45\textwidth}
|
||
\includegraphics[width=\textwidth]{lib/figures/scans/vuls/network_attacks_by_servername.png}
|
||
\end{subfigure}
|
||
\qquad
|
||
\begin{subfigure}{0.45\textwidth}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/scans/vuls/network_attacks_by_servername_line_chart.png}
|
||
\end{subfigure}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\begin{frame}{Vuls - Φυσικά CVEs}
|
||
\begin{figure}
|
||
\centering
|
||
\begin{subfigure}{0.45\textwidth}
|
||
\includegraphics[width=\textwidth]{lib/figures/scans/vuls/physical_attacks_by_servername.png}
|
||
\end{subfigure}
|
||
\qquad
|
||
\begin{subfigure}{0.45\textwidth}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{lib/figures/scans/vuls/physical_attacks_by_servername_line_chart.png}
|
||
\end{subfigure}
|
||
\end{figure}
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\setLayout{horizontal}
|
||
\begin{frame}[shrink=20]{Αποτελέσματα}
|
||
|
||
\justifying
|
||
|
||
Με την χρήση του SecDep καταφέραμε να ασφαλίσουμε τους διακομιστές σε
|
||
ικανοποιητικό βαθμό.
|
||
|
||
\vspace{0.5cm}
|
||
|
||
\begin{block}<2->{Αύξηση ασφάλειας}
|
||
\begin{itemize}
|
||
|
||
\item<3-> Vuls 26.62\%
|
||
\begin{itemize}
|
||
\item<4-> Ευπάθειες δικτύου 14.57\%
|
||
\item<5-> Φυσικές ευπάθειες 13.58\%
|
||
\end{itemize}
|
||
\item<6-> Lynis 9.23\%
|
||
\item<7-> Lunar 2.26\%
|
||
|
||
\end{itemize}
|
||
\end{block}
|
||
|
||
\end{frame}
|
||
%-------------------------------------------------------------%
|
||
|
||
%-------------------------------------------------------------Slide
|
||
\section{Προτάσεις βελτίωσης}
|
||
\begin{frame}[shrink=20]{Αποτελέσματα}
|
||
|
||
\begin{columns}
|
||
|
||
\column{0.4\textwidth}
|
||
\justifying
|
||
|
||
Με την χρήση του SecDep καταφέραμε να ασφαλίσουμε τους διακομιστές σε
|
||
ικανοποιητικό βαθμό.
|
||
|
||
\vspace{.5cm}
|
||
|
||
\begin{block}{Αύξηση ασφάλειας}
|
||
\begin{itemize}
|
||
|
||
\item Vuls 26.62\%
|
||
\begin{itemize}
|
||
\item Ευπάθειες δικτύου 14.57\%
|
||
\item Φυσικές ευπάθειες 13.58\%
|
||
\end{itemize}
|
||
\item Lynis 9.23\%
|
||
\item Lunar 2.26\%
|
||
|
||
\end{itemize}
|
||
\end{block}
|
||
|
||
\column{0.6\textwidth}
|
||
|
||
\begin{block}{Προτάσεις βελτίωσης}
|
||
\begin{enumerate}
|
||
|
||
\item Περαιτέρω σκλήρυνση του SSH
|
||
\item Επιπρόσθετοι περιορισμοί πυρήνα
|
||
\item Αυστηρότερες άδειες πρόσβασης σε αρχεία και φακέλους
|
||
\item Ρύθμιση ημερομηνίας λήξης λογαριασμών χρηστών
|
||
\item Ρύθμιση ελάχιστης και μέγιστης ηλικίας κωδικών πρόσβασης
|
||
\item Εγκατάσταση/ρύθμιση προγράμματος ελέγχου ακεραιότητας ευαίσθητων αρχείων
|
||
\item Εγκατάσταση προγράμματος σάρωσης κακόβουλου λογισμικού
|
||
|
||
\end{enumerate}
|
||
\end{block}
|
||
|
||
\end{columns}
|
||
\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}
|