fixed conflicts (LOL merge -s ours; push -f)
This commit is contained in:
301
.gitignore
vendored
Normal file
301
.gitignore
vendored
Normal file
@@ -0,0 +1,301 @@
|
|||||||
|
## Core latex/pdflatex auxiliary files:
|
||||||
|
*.aux
|
||||||
|
*.lof
|
||||||
|
*.log
|
||||||
|
*.lot
|
||||||
|
*.fls
|
||||||
|
*.out
|
||||||
|
*.toc
|
||||||
|
*.fmt
|
||||||
|
*.fot
|
||||||
|
*.cb
|
||||||
|
*.cb2
|
||||||
|
.*.lb
|
||||||
|
|
||||||
|
## Intermediate documents:
|
||||||
|
*.dvi
|
||||||
|
*.xdv
|
||||||
|
*-converted-to.*
|
||||||
|
# these rules might exclude image files for figures etc.
|
||||||
|
# *.ps
|
||||||
|
# *.eps
|
||||||
|
*.pdf
|
||||||
|
|
||||||
|
## Generated if empty string is given at "Please type another file name for output:"
|
||||||
|
.pdf
|
||||||
|
|
||||||
|
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||||
|
*.bbl
|
||||||
|
*.bcf
|
||||||
|
*.blg
|
||||||
|
*-blx.aux
|
||||||
|
*-blx.bib
|
||||||
|
*.run.xml
|
||||||
|
|
||||||
|
## Build tool auxiliary files:
|
||||||
|
*.fdb_latexmk
|
||||||
|
*.synctex
|
||||||
|
*.synctex(busy)
|
||||||
|
*.synctex.gz
|
||||||
|
*.synctex.gz(busy)
|
||||||
|
*.pdfsync
|
||||||
|
|
||||||
|
## Build tool directories for auxiliary files
|
||||||
|
# latexrun
|
||||||
|
latex.out/
|
||||||
|
|
||||||
|
## Auxiliary and intermediate files from other packages:
|
||||||
|
# algorithms
|
||||||
|
*.alg
|
||||||
|
*.loa
|
||||||
|
|
||||||
|
# achemso
|
||||||
|
acs-*.bib
|
||||||
|
|
||||||
|
# amsthm
|
||||||
|
*.thm
|
||||||
|
|
||||||
|
# beamer
|
||||||
|
*.nav
|
||||||
|
*.pre
|
||||||
|
*.snm
|
||||||
|
*.vrb
|
||||||
|
|
||||||
|
# changes
|
||||||
|
*.soc
|
||||||
|
|
||||||
|
# comment
|
||||||
|
*.cut
|
||||||
|
|
||||||
|
# cprotect
|
||||||
|
*.cpt
|
||||||
|
|
||||||
|
# elsarticle (documentclass of Elsevier journals)
|
||||||
|
*.spl
|
||||||
|
|
||||||
|
# endnotes
|
||||||
|
*.ent
|
||||||
|
|
||||||
|
# fixme
|
||||||
|
*.lox
|
||||||
|
|
||||||
|
# feynmf/feynmp
|
||||||
|
*.mf
|
||||||
|
*.mp
|
||||||
|
*.t[1-9]
|
||||||
|
*.t[1-9][0-9]
|
||||||
|
*.tfm
|
||||||
|
|
||||||
|
#(r)(e)ledmac/(r)(e)ledpar
|
||||||
|
*.end
|
||||||
|
*.?end
|
||||||
|
*.[1-9]
|
||||||
|
*.[1-9][0-9]
|
||||||
|
*.[1-9][0-9][0-9]
|
||||||
|
*.[1-9]R
|
||||||
|
*.[1-9][0-9]R
|
||||||
|
*.[1-9][0-9][0-9]R
|
||||||
|
*.eledsec[1-9]
|
||||||
|
*.eledsec[1-9]R
|
||||||
|
*.eledsec[1-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9]R
|
||||||
|
*.eledsec[1-9][0-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9][0-9]R
|
||||||
|
|
||||||
|
# glossaries
|
||||||
|
*.acn
|
||||||
|
*.acr
|
||||||
|
*.glg
|
||||||
|
*.glo
|
||||||
|
*.gls
|
||||||
|
*.glsdefs
|
||||||
|
*.lzo
|
||||||
|
*.lzs
|
||||||
|
*.slg
|
||||||
|
*.slo
|
||||||
|
*.sls
|
||||||
|
|
||||||
|
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||||
|
# *.ist
|
||||||
|
|
||||||
|
# gnuplot
|
||||||
|
*.gnuplot
|
||||||
|
*.table
|
||||||
|
|
||||||
|
# gnuplottex
|
||||||
|
*-gnuplottex-*
|
||||||
|
|
||||||
|
# gregoriotex
|
||||||
|
*.gaux
|
||||||
|
*.glog
|
||||||
|
*.gtex
|
||||||
|
|
||||||
|
# htlatex
|
||||||
|
*.4ct
|
||||||
|
*.4tc
|
||||||
|
*.idv
|
||||||
|
*.lg
|
||||||
|
*.trc
|
||||||
|
*.xref
|
||||||
|
|
||||||
|
# hyperref
|
||||||
|
*.brf
|
||||||
|
|
||||||
|
# knitr
|
||||||
|
*-concordance.tex
|
||||||
|
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
|
||||||
|
# *.tikz
|
||||||
|
*-tikzDictionary
|
||||||
|
|
||||||
|
# listings
|
||||||
|
*.lol
|
||||||
|
|
||||||
|
# luatexja-ruby
|
||||||
|
*.ltjruby
|
||||||
|
|
||||||
|
# makeidx
|
||||||
|
*.idx
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
|
||||||
|
# minitoc
|
||||||
|
*.maf
|
||||||
|
*.mlf
|
||||||
|
*.mlt
|
||||||
|
*.mtc[0-9]*
|
||||||
|
*.slf[0-9]*
|
||||||
|
*.slt[0-9]*
|
||||||
|
*.stc[0-9]*
|
||||||
|
|
||||||
|
# minted
|
||||||
|
_minted*
|
||||||
|
*.pyg
|
||||||
|
|
||||||
|
# morewrites
|
||||||
|
*.mw
|
||||||
|
|
||||||
|
# newpax
|
||||||
|
*.newpax
|
||||||
|
|
||||||
|
# nomencl
|
||||||
|
*.nlg
|
||||||
|
*.nlo
|
||||||
|
*.nls
|
||||||
|
|
||||||
|
# pax
|
||||||
|
*.pax
|
||||||
|
|
||||||
|
# pdfpcnotes
|
||||||
|
*.pdfpc
|
||||||
|
|
||||||
|
# sagetex
|
||||||
|
*.sagetex.sage
|
||||||
|
*.sagetex.py
|
||||||
|
*.sagetex.scmd
|
||||||
|
|
||||||
|
# scrwfile
|
||||||
|
*.wrt
|
||||||
|
|
||||||
|
# svg
|
||||||
|
svg-inkscape/
|
||||||
|
|
||||||
|
# sympy
|
||||||
|
*.sout
|
||||||
|
*.sympy
|
||||||
|
sympy-plots-for-*.tex/
|
||||||
|
|
||||||
|
# pdfcomment
|
||||||
|
*.upa
|
||||||
|
*.upb
|
||||||
|
|
||||||
|
# pythontex
|
||||||
|
*.pytxcode
|
||||||
|
pythontex-files-*/
|
||||||
|
|
||||||
|
# tcolorbox
|
||||||
|
*.listing
|
||||||
|
|
||||||
|
# thmtools
|
||||||
|
*.loe
|
||||||
|
|
||||||
|
# TikZ & PGF
|
||||||
|
*.dpth
|
||||||
|
*.md5
|
||||||
|
*.auxlock
|
||||||
|
|
||||||
|
# titletoc
|
||||||
|
*.ptc
|
||||||
|
|
||||||
|
# todonotes
|
||||||
|
*.tdo
|
||||||
|
|
||||||
|
# vhistory
|
||||||
|
*.hst
|
||||||
|
*.ver
|
||||||
|
|
||||||
|
# easy-todo
|
||||||
|
*.lod
|
||||||
|
|
||||||
|
# xcolor
|
||||||
|
*.xcp
|
||||||
|
|
||||||
|
# xmpincl
|
||||||
|
*.xmpi
|
||||||
|
|
||||||
|
# xindy
|
||||||
|
*.xdy
|
||||||
|
|
||||||
|
# xypic precompiled matrices and outlines
|
||||||
|
*.xyc
|
||||||
|
*.xyd
|
||||||
|
|
||||||
|
# endfloat
|
||||||
|
*.ttt
|
||||||
|
*.fff
|
||||||
|
|
||||||
|
# Latexian
|
||||||
|
TSWLatexianTemp*
|
||||||
|
|
||||||
|
## Editors:
|
||||||
|
# WinEdt
|
||||||
|
*.bak
|
||||||
|
*.sav
|
||||||
|
|
||||||
|
# Texpad
|
||||||
|
.texpadtmp
|
||||||
|
|
||||||
|
# LyX
|
||||||
|
*.lyx~
|
||||||
|
|
||||||
|
# Kile
|
||||||
|
*.backup
|
||||||
|
|
||||||
|
# gummi
|
||||||
|
.*.swp
|
||||||
|
|
||||||
|
# KBibTeX
|
||||||
|
*~[0-9]*
|
||||||
|
|
||||||
|
# TeXnicCenter
|
||||||
|
*.tps
|
||||||
|
|
||||||
|
# auto folder when using emacs and auctex
|
||||||
|
./auto/*
|
||||||
|
*.el
|
||||||
|
|
||||||
|
# expex forward references with \gathertags
|
||||||
|
*-tags.tex
|
||||||
|
|
||||||
|
# standalone packages
|
||||||
|
*.sta
|
||||||
|
|
||||||
|
# Makeindex log files
|
||||||
|
*.lpz
|
||||||
|
|
||||||
|
# xwatermark package
|
||||||
|
*.xwm
|
||||||
|
|
||||||
|
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
|
||||||
|
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
|
||||||
|
# Uncomment the next line to have this generated file ignored.
|
||||||
|
#*Notes.bib
|
||||||
1
Appendices/General_Notation.tex
Normal file
1
Appendices/General_Notation.tex
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\chapter{Παράδειγμα Παραρτήματος} \label{math}
|
||||||
162
Bibliography.bib
Normal file
162
Bibliography.bib
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
@inproceedings{balduzzi2012security,
|
||||||
|
author = {Balduzzi, Marco and Zaddach, Jonas and Balzarotti, Davide and Kirda, Engin and Loureiro, Sergio},
|
||||||
|
title = {A Security Analysis of Amazon's Elastic Compute Cloud Service},
|
||||||
|
year = {2012},
|
||||||
|
isbn = {9781450308571},
|
||||||
|
publisher = {Association for Computing Machinery},
|
||||||
|
address = {New York, NY, USA},
|
||||||
|
url = {https://doi.org/10.1145/2245276.2232005},
|
||||||
|
doi = {10.1145/2245276.2232005},
|
||||||
|
booktitle = {Proceedings of the 27th Annual ACM Symposium on Applied Computing},
|
||||||
|
pages = {1427–1434},
|
||||||
|
numpages = {8},
|
||||||
|
keywords = {security, elastic compute cloud service, cloud computing},
|
||||||
|
location = {Trento, Italy},
|
||||||
|
series = {SAC '12}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{manu2016study,
|
||||||
|
author={Manu, A.R. and Patel, Jitendra Kumar and Akhtar, Shakil and Agrawal, V.K. and Subramanya Murthy, K.N. Bala},
|
||||||
|
booktitle={2016 International Conference on Circuit, Power and Computing Technologies (ICCPCT)},
|
||||||
|
title={A study, analysis and deep dive on cloud PAAS security in terms of Docker container security},
|
||||||
|
year={2016},
|
||||||
|
volume={},
|
||||||
|
number={},
|
||||||
|
pages={1-13},
|
||||||
|
doi={10.1109/ICCPCT.2016.7530284}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{bui2015analysis,
|
||||||
|
doi = {10.48550/ARXIV.1501.02967},
|
||||||
|
url = {https://arxiv.org/abs/1501.02967},
|
||||||
|
author = {Bui, Thanh},
|
||||||
|
keywords = {Cryptography and Security (cs.CR), FOS: Computer and information sciences, FOS: Computer and information sciences},
|
||||||
|
title = {Analysis of Docker Security},
|
||||||
|
publisher = {arXiv},
|
||||||
|
year = {2015},
|
||||||
|
copyright = {arXiv.org perpetual, non-exclusive license}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{wenhao2020vulnerability,
|
||||||
|
author={Wenhao, Jiang and Zheng, Li},
|
||||||
|
booktitle={2020 IEEE 3rd International Conference on Information Systems and Computer Aided Education (ICISCAE)},
|
||||||
|
title={Vulnerability Analysis and Security Research of Docker Container},
|
||||||
|
year={2020},
|
||||||
|
volume={},
|
||||||
|
number={},
|
||||||
|
pages={354-357},
|
||||||
|
doi={10.1109/ICISCAE51034.2020.9236837}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{combe2016docker,
|
||||||
|
author={Combe, Theo and Martin, Antony and Di Pietro, Roberto},
|
||||||
|
journal={IEEE Cloud Computing},
|
||||||
|
title={To Docker or Not to Docker: A Security Perspective},
|
||||||
|
year={2016},
|
||||||
|
volume={3},
|
||||||
|
number={5},
|
||||||
|
pages={54-62},
|
||||||
|
keywords={},
|
||||||
|
doi={10.1109/MCC.2016.100},
|
||||||
|
ISSN={2325-6095},
|
||||||
|
month={Sep.}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{loukidis2018docker,
|
||||||
|
author={Loukidis-Andreou, Fotis and Giannakopoulos, Ioannis and Doka, Katerina and Koziris, Nectarios},
|
||||||
|
booktitle={2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS)},
|
||||||
|
title={Docker-Sec: A Fully Automated Container Security Enhancement Mechanism},
|
||||||
|
year={2018},
|
||||||
|
volume={},
|
||||||
|
number={},
|
||||||
|
pages={1561-1564},
|
||||||
|
doi={10.1109/ICDCS.2018.00169}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{mp2016enhancing,
|
||||||
|
author={Amith Raj MP and Kumar, Ashok and Pai, Sahithya J and Gopal, Ashika},
|
||||||
|
booktitle={2016 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT)},
|
||||||
|
title={Enhancing security of Docker using Linux hardening techniques},
|
||||||
|
year={2016},
|
||||||
|
volume={},
|
||||||
|
number={},
|
||||||
|
pages={94-99},
|
||||||
|
doi={10.1109/ICATCCT.2016.7911971}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{jogi2017establishing,
|
||||||
|
title={Establishing, Implementing and Auditing Linux Operating System Hardening Standard for Security Compliance},
|
||||||
|
author={Jogi, Martin},
|
||||||
|
journal={University of Tartu, Tartu},
|
||||||
|
year={2017}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{kaur2014hardening,
|
||||||
|
title={Hardening OS Identity by Customised Masking Techniques},
|
||||||
|
author={Kaur, Ratinder and Singh, Maninder},
|
||||||
|
journal={Thapar University, Punjab, India},
|
||||||
|
year={2014}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{zhu2021lic,
|
||||||
|
title = {Lic-Sec: An enhanced AppArmor Docker security profile generator},
|
||||||
|
journal = {Journal of Information Security and Applications},
|
||||||
|
volume = {61},
|
||||||
|
pages = {102924},
|
||||||
|
year = {2021},
|
||||||
|
issn = {2214-2126},
|
||||||
|
doi = {https://doi.org/10.1016/j.jisa.2021.102924},
|
||||||
|
url = {https://www.sciencedirect.com/science/article/pii/S2214212621001435},
|
||||||
|
author = {Hui Zhu and Christian Gehrmann},
|
||||||
|
keywords = {Docker-sec, LiCShield, Lic-Sec, Container, Security evaluation, Docker}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{John2020OS,
|
||||||
|
title={OS Hardening - Making systems more secure},
|
||||||
|
author={John Ostrowski},
|
||||||
|
year={2020}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{SIDDARTH201910simple,
|
||||||
|
title={10 Simple Steps to Harden Your Docker Containers},
|
||||||
|
author={SIDDARTH SENTHILKUMAR},
|
||||||
|
howpublished="\url{https://sidsbits.com/10-Simple-Steps-to-Harden-Docker-Containers/}",
|
||||||
|
year={2019}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{Yathi2017Hardening,
|
||||||
|
title={Hardening Docker containers, images, and host - security toolkit},
|
||||||
|
author={Yathi Naik},
|
||||||
|
howpublished="\url{https://cloud.redhat.com/blog/hardening-docker-containers-images-and-host-security-toolkit}",
|
||||||
|
year={2017}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{StackRox2019Docker,
|
||||||
|
title={Docker Container Security 101: Risks and 33 Best Practices},
|
||||||
|
author={StackRox},
|
||||||
|
howpublished="\url{https://www.stackrox.io/blog/docker-security-101/}",
|
||||||
|
year={2019}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{Marcin2019Hardening,
|
||||||
|
title={Hardening Docker Quick Tips},
|
||||||
|
author={Marcin Teodorczyk},
|
||||||
|
howpublished="\url{https://medium.com/intive-developers/hardening-docker-quick-tips-54ca9c283964}",
|
||||||
|
year={2019}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{deviceWhitelistController,
|
||||||
|
title={Device Whitelist Controller},
|
||||||
|
author={The Linux kernel user’s and administrator’s guide},
|
||||||
|
howpublished="\url{https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/devices.html}"
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{reshetova2014security,
|
||||||
|
title={Security of OS-level virtualization technologies},
|
||||||
|
author={Reshetova, Elena and Karhunen, Janne and Nyman, Thomas and Asokan, N},
|
||||||
|
booktitle={Nordic Conference on Secure IT Systems},
|
||||||
|
pages={77--93},
|
||||||
|
year={2014},
|
||||||
|
organization={Springer}
|
||||||
|
}
|
||||||
|
|
||||||
48
Chapters/1.Introduction.tex
Normal file
48
Chapters/1.Introduction.tex
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
\chapter{Εισαγωγή} \label{introduction}
|
||||||
|
Παραδοσιακά, όταν ήθελε κάποιος χρήστης/εταιρία να παράσχει μια υπηρεσία, στο ευρύ κοινό θα έπρεπε να διαθέσει ένα "Χ" κεφάλαιο για την αγορά εξοπλισμού. Σε περίπτωση που η υπηρεσία αυτή ετύγχανε ευρείας αποδοχής καθίστατο επιτακτική η ανάγκη της επέκτασης του υφιστάμενου εξοπλισμού αλλά και η μεταφορά όλων των υπαρχόντων πόρων λογισμικού (βάσεις δεδομένων (\textlatin{Databases}), λογισμικό της υπηρεσίας, αρχείων ρυθμίσεων, κ.λπ.) σε αυτό. Η παραπάνω διαδικασία απαιτούσε επιπλέον κεφάλαιο και αρκετές εργατοώρες προκειμένου να γίνει πράξη. Στις αρχές του 2000 ο τρόπος διεξαγωγής της παραπάνω διαδικασίας άλλαξε ριζικά όταν η \textlatin{Amazon} για πρώτη φορά προσέφερε την υπηρεσία \textlatin{AWS}. Έπειτα, πολλές εταιρίες όπως η \textlatin{Google}, \textlatin{IBM} και \textlatin{Mirosoft} άρχισαν να προσφέρουν και αυτές υπηρεσίες τύπου \textlatin{IaaS}.
|
||||||
|
|
||||||
|
\section{\textlatin{Cloud Computing}} \label{cloudComputing}
|
||||||
|
|
||||||
|
Ο όρος \textlatin{Cloud Computing} δεν είναι καινούριος. Ήρθε στο προσκήνιο χάρη στην \textlatin{Amazon} όταν κοντά στο 2000 δημιούργησε την θυγατρική της, \textlatin{AWS} ψάχνοντας τρόπους να κλιμακώσει τις υπηρεσίες που προσέφερε στον τομέα του \textlatin{e-commerce}. Από τότε πολλές εταιρίες όπως αυτές που προαναφέρθηκαν στο κεφάλαιο \ref{introduction} αλλά και άλλες όπως \textlatin{Linode}, \textlatin{Vultr} και \textlatin{Digital Ocean}, προσφέρουν \textlatin{Cloud Computing} ως την κύρια υπηρεσία τους δίνοντας την δυνατότητα διάθεσης υπολογιστικών πόρων στους χρήστες με την μορφή ενοικίασης ιδεατών μηχανών. Ο έλεγχος τους γίνεται μέσω ενός \textlatin{API} με το οποίο επικοινωνεί κανείς είτε μέσω γραφικού περιβάλλοντος από την ιστοσελίδα τους είτε μέσω της γραμμής εντολών.
|
||||||
|
|
||||||
|
\section{\textlatin{Security of Cloud Computing}} \label{cloudComputingSecurity}
|
||||||
|
|
||||||
|
Όταν επιλέξει κανείς να δημιουργήσει ιδεατές μηχανές μέσω μιας από τις διάφορες πλατφόρμες που το υποστηρίζουν, πολλές φορές για την διευκόλυνση του χρήστη η διαδικασία γίνεται μέσω γραφικού περιβάλλοντος της μορφής \textlatin{Point and Click}. Τις περισσότερες φορές διατίθενται διάφορες διανομές \textlatin{Linux} οι οποίες έχουν εγκατεστημένα και ρυθμισμένα εκ των προτέρων διάφορα λογισμικά όπως \textlatin{MySQL} για διαχείριση βάσης δεδομένων και \textlatin{Nginx} για διακομιστή ιστού. Αυτό καθιστά πολύ πιο εύκολη την διαδικασία στον χρήστη μιας και δεν χρειάζεται να διαθέσει τον χρόνο εγκατάστασης και ρύθμισης τους αλλά εισάγει ένα αναγκαίο μοντέλο εμπιστοσύνης ανάμεσα σε αυτόν και όποιον έκανε τις ρυθμίσεις. Όπως αναφέρεται στο \textlatin{\citealt{balduzzi2012security}} και θα το δούμε και παρακάτω πολλές φορές αυτή η διαδικασία δεν γίνεται σωστά και αφήνουν τον τελικό χρήστη και μερικές φορές ακόμα και τον πάροχο νέφους ευάλωτους σε ρίσκα ασφαλείας όπως μη εγκεκριμένη πρόσβαση, μόλυνση με κακόβουλο λογισμικό και υποκλοπές ευαίσθητων προσωπικών δεδομένων.
|
||||||
|
|
||||||
|
\section{\textlatin{Docker}} \label{docker}
|
||||||
|
\subsection{Ο ρόλος του \textlatin{Docker}} \label{dockerRole}
|
||||||
|
|
||||||
|
Το \textlatin{Docker} είναι μια μηχανή δοχείων που επιτρέπει τον διαχωρισμό ανάμεσα στον πηγαίο κώδικα, τις βιβλιοθήκες και εξαρτήσεις ενός λογισμικού από το κύριο σύστημα. Πρόκειται για μια πλατφόρμα που διαθέτει μηχανισμούς για συναρμολόγηση, θέση σε λειτουργία, εκτέλεση, ενημέρωση και διαχείριση των προγραμμάτων σε μορφή δοχείων.
|
||||||
|
|
||||||
|
Πολλά λειτουργικά συστήματα αλλά και αυτά που κάνουν χρήση του πυρήνα \textlatin{Linux} διαθέτουν μηχανισμούς απομόνωσης διεργασιών και δυνατότητες εικονοποίησης όπως είναι τα \textlatin{control groups} για την ενάθεση πόρων μεταξύ διεργασιών και \textlatin{namespaces} για τον περιορισμό πρόσβασης ή ορατότητας αυτών σε σχέση με άλλες διεργασίες ή περιοχές του συστήματος δημιουργώντας έτσι δοχεία.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
\subsection{Πως προέκυψε} \label{dockerOrigins}
|
||||||
|
|
||||||
|
Λόγω δυσκολίας αυτοματοποίησης της διαχείρισης των δοχείων αυτών δημιουργήθηκε το \textlatin{Docker} την χρονολογία 2013 απλοποιώντας κατά πολύ την ανάπτυξη και παράδοση κατανεμημένων εφαρμογών. Οι λειτουργίες που προσφέρει, το καθιστούν την καταλληλότερη επιλογή για επιχειρήσεις που λειτουργούν με ένα υβριδικό μοντέλο νέφους και εγκαταστάσεων ή αποκλειστικά στο \textlatin{Cloud}. Το βασικότερο από τα πλεονεκτήματα του σε σχέση με παραδοσιακές εικονικές μηχανές είναι το γεγονός ότι όλα τα δοχεία μοιράζονται τον ίδιο πυρήνα και επομένως δεν χρειάζεται να απονεμηθούν πόροι για εικονοποίηση ολόκληρου του λειτουργικού συστήματος. Επιπλέον τα δοχεία μπορούν να εκτελεστούν σε κάθε περιβάλλον που έχει εγκατεστημένο το \textlatin{Docker} και πολύ ταχύτερα από μια εικονική μηχανή κάνοντας τα ιδανικά για \textlatin{CI/CD} αλλά και πρακτικές \textlatin{Agile} ή \textlatin{DevOps}. Τέλος, λόγω των δυνατοτήτων του προσφέρει μεγαλύτερη αποδοτικότητα πόρων αφού μπορεί κανείς να εκτελέσει πολύ περισσότερα αντίγραφα ενός προγράμματος σε σχέση με τον αριθμό που θα μπορούσε με χρήση ιδεατών μηχανών, κάτι που μειώνει ιδιαίτερα το κόστος λειτουργίας.
|
||||||
|
|
||||||
|
\section{\textlatin{Why Docker}} \label{whyDocker}
|
||||||
|
Η δημοτικότητα του έχει συνταυτίσει τους όρους \textlatin{Docker} και \textlatin{Container}. Παρόλα αυτά ιστορικά, οι πρώτες τεχνολογίες περί δοχείων υπήρχαν πολύ πριν βγει στην αγορά. Συγκεκριμένα το 2008 εφαρμόστηκε στον πυρήνα του \textlatin{Linux} το \textlatin{LXC} που επέτρεπε πλήρη εικονοποίηση ενός στιγμιότυπου \textlatin{Linux}, ενώ η εντολή \textlatin{chroot} που προϋπήρχε από το 1979 στην έβδομη έκδοση του \textlatin{Unix} έδινε την δυνατότητα δημιουργίας και φιλοξενίας ενός ξεχωριστού εικονικού αντιγράφου του συστήματος λογισμικού.
|
||||||
|
|
||||||
|
\section{\textlatin{Advantages Over LXC and other older technologies}} \label{advantagesOverLXC}
|
||||||
|
Ενώ χρησιμοποιούνται ακόμα και στις μέρες μας, δεν προσφέρουν την ίδια διαφάνεια χρήσης αφού πολλές φορές αναφέρονται σε ρυθμίσεις συγκεκριμένες για την εκάστοτε συσκευή. Το \textlatin{Docker} ωστόσο, δίνει την δυνατότητα κατασκευής μιας εφαρμογής που θα συνεχίσει να τρέχει ακόμα και αν κομμάτια της χρειάζονται επισκευή αφού πολλές διεργασίες συνδυάζονται σε ένα δοχείο. Διευκολύνει την κατασκευή δοχείων βάζοντας κριτήρια όπως τον κώδικα της εφαρμογής και κάθε ένα μπορεί να χρησιμοποιηθεί ως πρότυπο για την δημιουργία καινούριου. Το πιο σημαντικό από όλα όμως είναι το γεγονός πως εξαιτίας της δημοτικότητας του, ο καθένας έχει πρόσβαση σε χιλιάδες δοχεία που ανέβασε κάποιος άλλος.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\section{\textlatin{Docker In Cloud Computing}} \label{dockerInCloudComputing}
|
||||||
|
|
||||||
|
Λόγω της αρχιτεκτονικής του είναι πολύ σύνηθες η θέση σε λειτουργία, εφαρμογών μέσω \textlatin{Docker} επειδή απομονώνει τις αναγκαίες βιβλιοθήκες και εξαρτήσεις τους από το υπόλοιπο σύστημα και επιτρέπει την αποδοτικότερη διαχείριση τους μέσω ειδικών εντολών. Τα προβλήματα που μπορεί να προέκυπταν σε ένα περιβάλλον νέφους όπως μη συμβατές εκδόσεις προγραμμάτων και δυσκολία διαχείρισης τους τα λύνει δημιουργώντας έναν συστημικό τρόπο διανομής και ελέγχου εφαρμογών. Καθιστά επίσης και πολύ εύκολη την μεταφορά τους σε οποιοδήποτε μηχάνημα.
|
||||||
|
|
||||||
|
\section{\textlatin{Docker Security}} \label{dockerSecurity}
|
||||||
|
|
||||||
|
Μία από τις πιο σημαντικές προκλήσεις κατά την εκτέλεση υπηρεσιών σε δημόσια εικονικά περιβάλλοντα είναι η διατήρηση και επίτευξη της ασφάλειας. Παραδοσιακά κατά την επιλογή χρήσης τεχνολογιών εικονοποίησης ανάμεσα στις επιλογές \textlatin{hypervisor-based} και \textlatin{container-based} είθισται να είναι προτιμότερη η δεύτερη. Μια λογική απόφαση εάν αναλογιστεί κανείς τα πλεονεκτήματα που προσφέρει στην απόδοση και την αποδοτική αλλά και εύκολη διαχείριση των υπηρεσιών όταν διατίθενται σε μορφή δοχείων. Παρ' όλα αυτά, για τον ίδιο λόγο που την καθιστά καταλληλότερη είναι και λιγότερο ασφαλής. Η στρώση απομόνωσης ανάμεσα στα προγράμματα και το μηχάνημα στο οποίο εκτελούνται αποτελεί ένα παραπάνω εμπόδιο που θα πρέπει να ξεπεράσει ένας επιτιθέμενος για να προκαλέσει ζημιές στο σύστημα, αφού θα πρέπει πρώτα να περάσει από τον εικονικό πυρήνα και μετά από τον \textlatin{hypervisor} έναντι στην αρχιτεκτονική δοχείων όπου υπάρχει άμεση επικοινωνία με τον πυρήνα του συστήματος.
|
||||||
|
|
||||||
|
\section{\textlatin{Disadvantages of Docker}} \label{dockerDisadvantages}
|
||||||
|
|
||||||
|
Παρ' όλα τα πλεονεκτήματα του όπως η δυνατότητα απαλλαγής από εξαρτήσεις του εκάστοτε συστήματος και η ευελιξία διαχείρισης των δοχείων του, υπόκειται σε αρκετές ατασθαλίες. Οι πιο αξιοσημείωτες αυτών είναι η ανάγκη του να τρέχει υπό την κυριότητα του \textlatin{root} και η αρχικά ελαστικότερη απ' ό,τι χρειάζεται απομόνωση του από τον πυρήνα του συστήματος.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
\subsection{\textlatin{Overcoming Docker's security disadvantages}} \label{overcomingDockerDisadvantages}
|
||||||
|
|
||||||
|
Οι πιο συνήθεις τρόποι αντιμετώπισης της ανεπαρκούς προκαθορισμένης ασφάλειας του \textlatin{Docker} είναι η ρύθμιση καλύτερων \textlatin{Apparmor} προφίλ ή κανόνων \textlatin{SELinux} προκειμένου να απομονωθεί καλύτερα από το κύριο σύστημα. Στην πραγματικότητα, αυτές οι πρακτικές λαμβάνουν υπόψιν τους κυρίως τα δοχεία και όχι την μηχανή δοχείων κάθε αυτού. Γι 'αυτό τον λόγο πολλές φορές πρέπει να ακολουθούνται και καλύτερες πρακτικές κατά την λειτουργία του όπως η αποφυγή χρήσης του διαχειριστικού λογαριασμού όσον αφορά τα δοχεία και η αποφυγή λήψης δοχείων από μη έμπιστες πηγές.
|
||||||
14
Chapters/2.Background.tex
Normal file
14
Chapters/2.Background.tex
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
\chapter{Υπόβαθρο} \label{background}
|
||||||
|
|
||||||
|
\section{Ασφάλεια στο \textlatin{Cloud Computing} Στις Μέρες Μας} \label{cloudComputingSecurityNowadays}
|
||||||
|
|
||||||
|
Πλέον όλοι γνωρίζουμε την σημασία της ασφάλειας.
|
||||||
|
|
||||||
|
\subsection{\textlatin{Attack Vector Mitigation}} \label{attackVectorMitigation}
|
||||||
|
|
||||||
|
Με βάση το μοντέλο που περιγράφει το \cite{reshetova2014security} όπως αναφέρεται στο \cite{bui2015analysis} όπου έχουμε ένα μηχάνημα στο οποίο εκτελούνται διάφορα δοχεία, από τα οποία ένα υποσύνολο έχει τεθεί υπό τον έλεγχο ενός κακόβουλου χρήστη. Για να προστατευτούμε από επιθέσεις, όπως άρνηση υπηρεσίας και κλιμάκωση δικαιωμάτων πρέπει να πραγματοποιηθεί απομόνωση των
|
||||||
|
διεργασιών, αρχείων, της συσκευής, του \textlatin{IPC}, δικτύου και τέλος, των πόρων.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
Αυτά επιτυγχάνονται κατά σειρά με την χρήση \textlatin{namespaces} όπου οριοθετείται η ορατότητα των διεργασιών ανάμεσα στα δοχεία και το σύστημα όπως επίσης, τα δικαιώματά τους. Χρήση \textlatin{mount namespaces}, με τα οποία οι διεργασίες κάθε δοχείου βλέπουν διαφορετικά το αρχείο του συστήματος. Όλες οι δράσεις \textlatin{mount}, που γίνονται στο εκάστοτε δοχείο, περιορίζονται σε αυτό όπως επίσης, οριοθετούνται τα δικαιώματα των αρχείων του πυρήνα σε μονάχα ανάγνωσης και αποτρέπονται περαιτέρω \textlatin{remountings}. Ο περιορισμός συσκευών επιτυγχάνεται με το χαρακτηριστικό \textlatin{Device Whitelist Controller} των \textlatin{cgroups} που αναφέρεται στο \cite{deviceWhitelistController} με την βοήθεια του οποίου περιορίζεται το σύνολο τον συσκευών στις οποίες έχει πρόσβαση ένα δοχείο και αποτρέπει αυτό από το να δημιουργήσει καινούριες αναπαραστάσεις συσκευών. Επιπροσθέτως επειδή τα \textlatin{mount} γίνονται με την χρήση του \textlatin{nodev}, στην περίπτωση που μια αναπαράσταση συσκευής είχε δημιουργηθεί σε προηγούμενο χρόνο στο στιγμιότυπου που χρησιμοποιήθηκε για να κατασκευαστεί το δοχείο, οι διεργασίες του δεν δύνανται να την χρησιμοποιήσουν για να επικοινωνήσουν με τον πυρήνα. Επιπλέον επειδή η προεπιλεγμένη συνθήκη είναι να μην δίνονται εκτεταμένα προνόμια σε ένα δοχείο, δεν υπάρχει πρόσβαση σε καμία συσκευή παρά μόνο εάν γίνει εκτέλεση δοχείου ως χρήστης με ανώτατα δικαιώματα όπου υπάρχει πρόσβαση σε όλες. Ο περιορισμός \textlatin{IPC}, δηλαδή της επικοινωνίας των διεργασιών μεταξύ τους, επιτυγχάνεται με την χρήση \textlatin{IPC namespaces} που καθιστούν δυνατή την δημιουργία ξεχωριστών συνόλων αυτών, οι διεργασίες των οποίων επικοινωνούν μόνο μεταξύ τους. Μία από τις σημαντικότερες απομονώσεις είναι αυτή του δικτύου. Χωρίς δικτυακή απομόνωση υπάρχει κίνδυνος επιθέσεων όπως \textlatin{Man in the middle}, \textlatin{ARP, DNS spoofing} και άλλες. Για να απομονωθεί η κίνηση δικτύου που λαμβάνει μέρος σε ένα δοχείο από αυτήν των υπολοίπων και του συστήματος πρέπει να γίνει χρήση των \textlatin{network namespaces}. Κάθε δοχείο θα έχει δικές του διευθύνσεις \textlatin{IP}, συσκευές και ό,τι χρειάζεται, προκειμένου να γίνεται αλληλεπίδραση μεταξύ των δοχείων μέσω την διεπαφή δικτύου του καθενός σαν να είναι εξωτερικές οντότητες. Τέλος, επιβάλλεται η οριοθέτηση των υπολογιστικών πόρων προκειμένου να αποφευχθεί μια επίθεση τύπου άρνησης υπηρεσίας όπου μια διεργασία ή ένα σύνολο αυτών προσπαθεί να καταναλώσει όλους τους πόρους του συστήματος. Με την βοήθεια των \textlatin{cgroup}, επιτυγχάνεται ο έλεγχος του ποσοστού πόρων όπως \textlatin{CPU}, μνήμη, και χωρητικότητα που μπορεί να έχει κάθε δοχείο στην διάθεση του.
|
||||||
3
Chapters/3.RelevantWork.tex
Normal file
3
Chapters/3.RelevantWork.tex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
\chapter{Σχετικές Εργασίες} \label{relevantWork}
|
||||||
|
|
||||||
|
\section{Σημειογραφία \& Βασικές Αρχές} \label{methodology}
|
||||||
3
Chapters/4.ProjectDevelopment.tex
Normal file
3
Chapters/4.ProjectDevelopment.tex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
\chapter{Ανάπτυξη Συστήματος} \label{projectDevelopment}
|
||||||
|
|
||||||
|
\section{Αρχές και Πλαίσιο Σχεδίασης για ασφαλές στήσιμο υπηρεσιών σε μια ιδεατή μηχανή με χρήση της τεχνολογίας \textlatin{Docker}} \label{framework}
|
||||||
3
Chapters/5.ProjectShowcase.tex
Normal file
3
Chapters/5.ProjectShowcase.tex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
\chapter{Εγκατάσταση \& Επίδειξη του εργαλείου \textlatin{SecDep}} \label{installationANDShowcase}
|
||||||
|
|
||||||
|
\section{Υλοποίηση και Συστατικά Μέρη} \label{platform}
|
||||||
1
Chapters/6.Experimentation.tex
Normal file
1
Chapters/6.Experimentation.tex
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\chapter{Πειραματισμός \& Αποτελέσματα} \label{experimentationANDresults}
|
||||||
1
Chapters/7.Conclusions.tex
Normal file
1
Chapters/7.Conclusions.tex
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\chapter{Συμπεράσματα \& Προτάσεις για Μελλοντική Έρευνα} \label{conclusions}
|
||||||
BIN
Figures/aegean_logo.jpg
Normal file
BIN
Figures/aegean_logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 178 KiB |
BIN
Figures/aegean_logo2.png
Normal file
BIN
Figures/aegean_logo2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
BIN
Figures/aegean_logo3.png
Normal file
BIN
Figures/aegean_logo3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 92 KiB |
BIN
Figures/aegean_logo_nocolors.png
Normal file
BIN
Figures/aegean_logo_nocolors.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
BIN
Figures/aegean_logo_older.png
Normal file
BIN
Figures/aegean_logo_older.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
385
Thesis.cls
Normal file
385
Thesis.cls
Normal file
@@ -0,0 +1,385 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `Thesis.cls', based on 'ECSthesis.cls', by Steve R. Gunn
|
||||||
|
%% generated with the docstrip utility.
|
||||||
|
%%
|
||||||
|
%% Created by Steve R. Gunn, modified by Sunil Patel: www.sunilpatel.co.uk
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[greek]{babel}
|
||||||
|
\usepackage{alphabeta}
|
||||||
|
\usepackage[LGR, T1]{fontenc}
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
|
||||||
|
\ProvidesClass{Thesis}
|
||||||
|
[2007/22/02 v1.0
|
||||||
|
LaTeX document class]
|
||||||
|
\def\baseclass{book}
|
||||||
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
|
||||||
|
\def\@checkoptions#1#2{
|
||||||
|
\edef\@curroptions{\@ptionlist{\@currname.\@currext}}
|
||||||
|
\@tempswafalse
|
||||||
|
\@tfor\@this:=#2\do{
|
||||||
|
\@expandtwoargs\in@{,\@this,}{,\@curroptions,}
|
||||||
|
\ifin@ \@tempswatrue \@break@tfor \fi}
|
||||||
|
\let\@this\@empty
|
||||||
|
\if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
|
||||||
|
}
|
||||||
|
\@checkoptions{11pt}{{10pt}{11pt}{12pt}}
|
||||||
|
\PassOptionsToClass{a4paper}{\baseclass}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
\LoadClass{\baseclass}
|
||||||
|
\newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}
|
||||||
|
|
||||||
|
\newcommand\Declaration[1]{
|
||||||
|
\btypeout{Declaration of Authorship}
|
||||||
|
\addtotoc{Δήλωση Συγγραφικής Ιδιότητας}
|
||||||
|
\thispagestyle{plain}
|
||||||
|
\null\vfil
|
||||||
|
%\vskip 60\p@
|
||||||
|
\begin{center}{\huge\bf Δήλωση Συγγραφικής Ιδιότητας \par}\end{center}
|
||||||
|
%\vskip 60\p@
|
||||||
|
{\normalsize #1}
|
||||||
|
\vfil\vfil\null
|
||||||
|
%\cleardoublepage
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand\btypeout[1]{\bhrule\typeout{\space #1}\bhrule}
|
||||||
|
\def\today{\ifcase\month\or
|
||||||
|
Ιανουάριος\or Φεβρουάριος\or Μάρτιος\or Απρίλιος \or Μάιος\or Ιούνιος\or
|
||||||
|
Ιούλιος\or Αύγουστος\or Σεπτέμβριος\or Οκτώβριος \or Νοέμβριος \or Δεκέμβριος \fi
|
||||||
|
\space \number\year}
|
||||||
|
\usepackage{setspace}
|
||||||
|
\onehalfspacing
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{2.0ex plus0.5ex minus0.2ex}
|
||||||
|
\usepackage{vmargin}
|
||||||
|
\setmarginsrb { 1.5in} % left margin
|
||||||
|
{ 0.6in} % top margin
|
||||||
|
{ 1.0in} % right margin
|
||||||
|
{ 0.8in} % bottom margin
|
||||||
|
{ 20pt} % head height
|
||||||
|
{0.25in} % head sep
|
||||||
|
{ 9pt} % foot height
|
||||||
|
{ 0.3in} % foot sep
|
||||||
|
\raggedbottom
|
||||||
|
\setlength{\topskip}{1\topskip \@plus 5\p@}
|
||||||
|
\doublehyphendemerits=10000 % No consecutive line hyphens.
|
||||||
|
\brokenpenalty=10000 % No broken words across columns/pages.
|
||||||
|
\widowpenalty=9999 % Almost no widows at bottom of page.
|
||||||
|
\clubpenalty=9999 % Almost no orphans at top of page.
|
||||||
|
\interfootnotelinepenalty=9999 % Almost never break footnotes.
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
\lhead[\rm\thepage]{\fancyplain{}{\sl{\rightmark}}}
|
||||||
|
\rhead[\fancyplain{}{\sl{\leftmark}}]{\rm\thepage}
|
||||||
|
\chead{}\lfoot{}\rfoot{}\cfoot{}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
\renewcommand{\chaptermark}[1]{\btypeout{\thechapter\space #1}\markboth{\@chapapp\ \thechapter\ #1}{\@chapapp\ \thechapter\ #1}}
|
||||||
|
\renewcommand{\sectionmark}[1]{}
|
||||||
|
\renewcommand{\subsectionmark}[1]{}
|
||||||
|
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
|
||||||
|
\hbox{}
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\newpage
|
||||||
|
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
|
||||||
|
\usepackage{amsmath,amsfonts,amssymb,amscd,amsthm,xspace}
|
||||||
|
\theoremstyle{plain}
|
||||||
|
\newtheorem{example}{Example}[chapter]
|
||||||
|
\newtheorem{theorem}{Theorem}[chapter]
|
||||||
|
\newtheorem{corollary}[theorem]{Corollary}
|
||||||
|
\newtheorem{lemma}[theorem]{Lemma}
|
||||||
|
\newtheorem{proposition}[theorem]{Proposition}
|
||||||
|
\newtheorem{axiom}[theorem]{Axiom}
|
||||||
|
\theoremstyle{definition}
|
||||||
|
\newtheorem{definition}[theorem]{Definition}
|
||||||
|
\theoremstyle{remark}
|
||||||
|
\newtheorem{remark}[theorem]{Remark}
|
||||||
|
\usepackage[centerlast,small,sc]{caption}
|
||||||
|
\setlength{\captionmargin}{20pt}
|
||||||
|
\newcommand{\fref}[1]{Figure~\ref{#1}}
|
||||||
|
\newcommand{\tref}[1]{Table~\ref{#1}}
|
||||||
|
\newcommand{\eref}[1]{Equation~\ref{#1}}
|
||||||
|
\newcommand{\cref}[1]{Chapter~\ref{#1}}
|
||||||
|
\newcommand{\sref}[1]{Section~\ref{#1}}
|
||||||
|
\newcommand{\aref}[1]{Appendix~\ref{#1}}
|
||||||
|
\renewcommand{\topfraction}{0.85}
|
||||||
|
\renewcommand{\bottomfraction}{.85}
|
||||||
|
\renewcommand{\textfraction}{0.1}
|
||||||
|
\renewcommand{\dbltopfraction}{.85}
|
||||||
|
\renewcommand{\floatpagefraction}{0.75}
|
||||||
|
\renewcommand{\dblfloatpagefraction}{.75}
|
||||||
|
\setcounter{topnumber}{9}
|
||||||
|
\setcounter{bottomnumber}{9}
|
||||||
|
\setcounter{totalnumber}{20}
|
||||||
|
\setcounter{dbltopnumber}{9}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{epstopdf}
|
||||||
|
\usepackage[scriptsize]{subfigure}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
\usepackage{rotating}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{lstpatch}
|
||||||
|
\lstset{captionpos=b,
|
||||||
|
frame=tb,
|
||||||
|
basicstyle=\scriptsize\ttfamily,
|
||||||
|
showstringspaces=false,
|
||||||
|
keepspaces=true}
|
||||||
|
\lstdefinestyle{matlab} {
|
||||||
|
language=Matlab,
|
||||||
|
keywordstyle=\color{blue},
|
||||||
|
commentstyle=\color[rgb]{0.13,0.55,0.13}\em,
|
||||||
|
stringstyle=\color[rgb]{0.7,0,0} }
|
||||||
|
\usepackage[pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true,
|
||||||
|
bookmarksopenlevel=0,bookmarksnumbered=true,hypertexnames=false,
|
||||||
|
colorlinks,linkcolor={blue},citecolor={blue},urlcolor={red},
|
||||||
|
pdfstartview={FitV},unicode,breaklinks=true]{hyperref}
|
||||||
|
\pdfstringdefDisableCommands{
|
||||||
|
\let\\\space
|
||||||
|
}
|
||||||
|
\newcommand*{\examiner}[1]{\def\examname{#1}}
|
||||||
|
\newcommand*{\degree}[1]{\def\degreename{#1}}
|
||||||
|
\newcommand*{\authors}[1]{\def\authornames{#1}}
|
||||||
|
\newcommand*{\addresses}[1]{\def\addressnames{#1}}
|
||||||
|
\newcommand*{\university}[1]{\def\univname{#1}}
|
||||||
|
\newcommand*{\UNIVERSITY}[1]{\def\UNIVNAME{#1}}
|
||||||
|
\newcommand*{\department}[1]{\def\deptname{#1}}
|
||||||
|
\newcommand*{\DEPARTMENT}[1]{\def\DEPTNAME{#1}}
|
||||||
|
\newcommand*{\faculty}[1]{\def\facname{#1}}
|
||||||
|
\newcommand*{\FACULTY}[1]{\def\FACNAME{#1}}
|
||||||
|
\newcommand*{\subject}[1]{\def\subjectname{#1}}
|
||||||
|
\newcommand*{\keywords}[1]{\def\keywordnames{#1}}
|
||||||
|
\newcommand*{\supervisor}[1]{\def\supname{#1}}
|
||||||
|
\examiner {}
|
||||||
|
\degree {}
|
||||||
|
\authors {}
|
||||||
|
\university {\texorpdfstring{\href{https://www.aegean.gr/}
|
||||||
|
{Πανεπιστήμιο Αιγαίου}}
|
||||||
|
{University name}}
|
||||||
|
\UNIVERSITY {\texorpdfstring{\href{https://www.aegean.gr/}
|
||||||
|
{ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ}}
|
||||||
|
{UNIVERSITY NAME (IN BLOCK CAPITALS)}}
|
||||||
|
\department {\texorpdfstring{\href{https://www.icsd.aegean.gr/}
|
||||||
|
{Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων}}
|
||||||
|
{Department or School Name}}
|
||||||
|
\DEPARTMENT {\texorpdfstring{\href{https://www.icsd.aegean.gr/}
|
||||||
|
{ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ}}
|
||||||
|
{DEPARTMENT OR SCHOOL NAME (IN BLOCK CAPITALS)}}
|
||||||
|
\faculty {\texorpdfstring{\href{https://www.aegean.gr/schools/πολυτεχνική-σχολή}
|
||||||
|
{Πολυτεχνική Σχολή}}
|
||||||
|
{Faculty Name}}
|
||||||
|
\FACULTY {\texorpdfstring{\href{https://www.aegean.gr/schools/πολυτεχνική-σχολή}
|
||||||
|
{ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ}}
|
||||||
|
{FACULTY NAME (IN BLOCK CAPITALS)}}
|
||||||
|
\supervisor {\texorpdfstring{\href{https://www.icsd.aegean.gr/profile.php?member=2112}
|
||||||
|
{Επιβλέπων Καθηγητής: Δρ. Κρητικός Κυριάκος}}
|
||||||
|
{Supervising Proffessor's name}}
|
||||||
|
\addresses {}
|
||||||
|
\subject {}
|
||||||
|
\keywords {}
|
||||||
|
\renewcommand\maketitle{
|
||||||
|
\btypeout{Title Page}
|
||||||
|
\hypersetup{pdftitle={\@title}}
|
||||||
|
\hypersetup{pdfsubject=\subjectname}
|
||||||
|
\hypersetup{pdfauthor=\authornames}
|
||||||
|
\hypersetup{pdfkeywords=\keywordnames}
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{titlepage}
|
||||||
|
\let\footnotesize\small
|
||||||
|
\let\footnoterule\relax
|
||||||
|
\let \footnote \thanks
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\null\vfil
|
||||||
|
\vskip 60\p@
|
||||||
|
\begin{center}
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.2]{Figures/aegean_logo}
|
||||||
|
\end{figure}
|
||||||
|
\setlength{\parskip}{0pt}
|
||||||
|
{\large\textbf{\UNIVNAME}\par}
|
||||||
|
\vfill
|
||||||
|
{\huge \bf \@title \par}
|
||||||
|
\vfill
|
||||||
|
{\LARGE του \par}
|
||||||
|
\smallskip
|
||||||
|
{\LARGE \authornames \par}
|
||||||
|
\vfill
|
||||||
|
{\large Εκπόνηση διπλωματικής ως μέρος του \par}
|
||||||
|
{\large Προπτυχιακού Τίτλου Σπουδών \par}
|
||||||
|
\bigskip
|
||||||
|
\bigskip
|
||||||
|
{\large στη \par}
|
||||||
|
{\large \facname \par}
|
||||||
|
{\large \deptname \par}
|
||||||
|
\bigskip
|
||||||
|
\bigskip
|
||||||
|
{\large \supname \par}
|
||||||
|
\bigskip
|
||||||
|
\bigskip
|
||||||
|
\bigskip
|
||||||
|
\bigskip
|
||||||
|
{\Large \@date \par}
|
||||||
|
\end{center}
|
||||||
|
\par
|
||||||
|
\@thanks
|
||||||
|
\vfil\null
|
||||||
|
\end{titlepage}
|
||||||
|
\setcounter{footnote}{0}%
|
||||||
|
\global\let\thanks\relax
|
||||||
|
\global\let\maketitle\relax
|
||||||
|
\global\let\@thanks\@empty
|
||||||
|
\global\let\@author\@empty
|
||||||
|
\global\let\@date\@empty
|
||||||
|
\global\let\@title\@empty
|
||||||
|
\global\let\title\relax
|
||||||
|
\global\let\author\relax
|
||||||
|
\global\let\date\relax
|
||||||
|
\global\let\and\relax
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\newenvironment{abstract}
|
||||||
|
{
|
||||||
|
\btypeout{Abstract Page}
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\null\vfil
|
||||||
|
\begin{center}
|
||||||
|
\setlength{\parskip}{0pt}
|
||||||
|
{\normalsize \UNIVNAME \par}
|
||||||
|
\bigskip
|
||||||
|
{\huge{\textit{Σύνοψη}} \par}
|
||||||
|
\bigskip
|
||||||
|
{\normalsize \facname \par}
|
||||||
|
{\normalsize \deptname \par}
|
||||||
|
\bigskip
|
||||||
|
{\normalsize Προπτυχιακός Τίτλος Σπουδών\par}
|
||||||
|
\bigskip
|
||||||
|
{\normalsize\bf \@title \par}
|
||||||
|
\medskip
|
||||||
|
{\normalsize του \authornames \par}
|
||||||
|
\bigskip
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\vfil\vfil\vfil\null
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\addtocounter{secnumdepth}{1}
|
||||||
|
\setcounter{tocdepth}{6}
|
||||||
|
\newcounter{dummy}
|
||||||
|
\newcommand\addtotoc[1]{
|
||||||
|
\refstepcounter{dummy}
|
||||||
|
\addcontentsline{toc}{chapter}{#1}}
|
||||||
|
\renewcommand\tableofcontents{
|
||||||
|
\btypeout{Table of Contents}
|
||||||
|
\begin{spacing}{1}{
|
||||||
|
\setlength{\parskip}{1pt}
|
||||||
|
\if@twocolumn
|
||||||
|
\@restonecoltrue\onecolumn
|
||||||
|
\else
|
||||||
|
\@restonecolfalse
|
||||||
|
\fi
|
||||||
|
\chapter*{\contentsname
|
||||||
|
\@mkboth{
|
||||||
|
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
|
||||||
|
\@starttoc{toc}
|
||||||
|
\if@restonecol\twocolumn\fi
|
||||||
|
\cleardoublepage
|
||||||
|
}\end{spacing}
|
||||||
|
}
|
||||||
|
\renewcommand\listoffigures{
|
||||||
|
\btypeout{Λίστα Εικόνων}
|
||||||
|
\addtotoc{Λίστα Εικόνων}
|
||||||
|
\begin{spacing}{1}{
|
||||||
|
\setlength{\parskip}{1pt}
|
||||||
|
\if@twocolumn
|
||||||
|
\@restonecoltrue\onecolumn
|
||||||
|
\else
|
||||||
|
\@restonecolfalse
|
||||||
|
\fi
|
||||||
|
\chapter*{\listfigurename
|
||||||
|
\@mkboth{\MakeUppercase\listfigurename}
|
||||||
|
{\MakeUppercase\listfigurename}}
|
||||||
|
\@starttoc{lof}
|
||||||
|
\if@restonecol\twocolumn\fi
|
||||||
|
\cleardoublepage
|
||||||
|
}\end{spacing}
|
||||||
|
}
|
||||||
|
\renewcommand\listoftables{
|
||||||
|
\btypeout{Λίστα Πινάκων}
|
||||||
|
\addtotoc{Λίστα Πινάκων}
|
||||||
|
\begin{spacing}{1}{
|
||||||
|
\setlength{\parskip}{1pt}
|
||||||
|
\if@twocolumn
|
||||||
|
\@restonecoltrue\onecolumn
|
||||||
|
\else
|
||||||
|
\@restonecolfalse
|
||||||
|
\fi
|
||||||
|
\chapter*{\listtablename
|
||||||
|
\@mkboth{
|
||||||
|
\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
|
||||||
|
\@starttoc{lot}
|
||||||
|
\if@restonecol\twocolumn\fi
|
||||||
|
\cleardoublepage
|
||||||
|
}\end{spacing}
|
||||||
|
}
|
||||||
|
\newcommand\listsymbolname{Συντομογραφίες}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\newcommand\listofsymbols[2]{
|
||||||
|
\btypeout{\listsymbolname}
|
||||||
|
\addtotoc{\listsymbolname}
|
||||||
|
\chapter*{\listsymbolname
|
||||||
|
\@mkboth{
|
||||||
|
\MakeUppercase\listsymbolname}{\MakeUppercase\listsymbolname}}
|
||||||
|
\begin{longtable}[c]{#1}#2\end{longtable}\par
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\newcommand\listconstants{Φυσικές Σταθερές}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\newcommand\listofconstants[2]{
|
||||||
|
\btypeout{\listconstants}
|
||||||
|
\addtotoc{\listconstants}
|
||||||
|
\chapter*{\listconstants
|
||||||
|
\@mkboth{
|
||||||
|
\MakeUppercase\listconstants}{\MakeUppercase\listconstants}}
|
||||||
|
\begin{longtable}[c]{#1}#2\end{longtable}\par
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\newcommand\listnomenclature{Σύμβολα}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\newcommand\listofnomenclature[2]{
|
||||||
|
\btypeout{\listnomenclature}
|
||||||
|
\addtotoc{\listnomenclature}
|
||||||
|
\chapter*{\listnomenclature
|
||||||
|
\@mkboth{
|
||||||
|
\MakeUppercase\listnomenclature}{\MakeUppercase\listnomenclature}}
|
||||||
|
\begin{longtable}[c]{#1}#2\end{longtable}\par
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\newcommand\acknowledgements[1]{
|
||||||
|
\btypeout{Acknowledgements}
|
||||||
|
\addtotoc{Ευχαριστίες}
|
||||||
|
\thispagestyle{plain}
|
||||||
|
\begin{center}{\huge{\textit{Ευχαριστίες}} \par}\end{center}
|
||||||
|
{\normalsize #1}
|
||||||
|
\vfil\vfil\null
|
||||||
|
|
||||||
|
}
|
||||||
|
\newcommand\dedicatory[1]{
|
||||||
|
\btypeout{Dedicatory}
|
||||||
|
\thispagestyle{plain}
|
||||||
|
\null\vfil
|
||||||
|
\vskip 60\p@
|
||||||
|
\begin{center}{\Large \sl #1}\end{center}
|
||||||
|
\vfil\null
|
||||||
|
\cleardoublepage
|
||||||
|
}
|
||||||
|
\renewcommand\backmatter{
|
||||||
|
\if@openright
|
||||||
|
\cleardoublepage
|
||||||
|
\else
|
||||||
|
\clearpage
|
||||||
|
\fi
|
||||||
|
\addtotoc{\bibname}
|
||||||
|
\btypeout{\bibname}
|
||||||
|
\@mainmatterfalse}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `Thesis.cls'.
|
||||||
241
Thesis.tex
Normal file
241
Thesis.tex
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
%% ----------------------------------------------------------------
|
||||||
|
%% Thesis.tex -- MAIN FILE
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
|
||||||
|
% Set up the document
|
||||||
|
\documentclass[a4paper, 11pt, oneside]{Thesis} % Use the "Thesis" style, based on the ECS Thesis style by Steve Gunn
|
||||||
|
\graphicspath{Figures/} % Location of the graphics files (set up for graphics to be in PDF format)
|
||||||
|
% Table configuration packages
|
||||||
|
\usepackage{array,graphicx}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
\usepackage{pifont}
|
||||||
|
\usepackage{tabu}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{tcolorbox}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
% Υποστήριξη για ελληνικά
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[greek]{babel}
|
||||||
|
\usepackage{alphabeta}
|
||||||
|
\usepackage[LGR, T1]{fontenc}
|
||||||
|
\usepackage{multicol}
|
||||||
|
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
% Include any extra LaTeX packages required
|
||||||
|
\usepackage[square, numbers, comma, sort, compress]{natbib} % Use the "Natbib" style for the references in the Bibliography
|
||||||
|
\usepackage{verbatim} % Needed for the "comment" environment to make LaTeX comments
|
||||||
|
\usepackage{float} % To keep figures in place
|
||||||
|
\hypersetup{urlcolor=black, colorlinks=false, pdfborder = {0 0 0}} % Colours hyperlinks in blue
|
||||||
|
% Define enumerated description lists
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\newcounter{descriptcount}
|
||||||
|
\newcounter{descriptcount2}
|
||||||
|
\newlist{enumdescript}{description}{2}
|
||||||
|
\setlist[enumdescript,1]{%
|
||||||
|
before={\setcounter{descriptcount}{0}%
|
||||||
|
\renewcommand*\thedescriptcount{\arabic{descriptcount}.}}
|
||||||
|
,font=\bfseries\stepcounter{descriptcount}\thedescriptcount~
|
||||||
|
}
|
||||||
|
\setlist[enumdescript,2]{%
|
||||||
|
before={\setcounter{descriptcount2}{0}%
|
||||||
|
\renewcommand*\thedescriptcount{\roman{descriptcount2}.}}
|
||||||
|
,font=\bfseries\stepcounter{descriptcount2}\thedescriptcount~
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
% For changes in supervisor, degree type, research group, etc. please change the Thesis.cls file
|
||||||
|
\frontmatter % Begin the book's numbering; frontpage
|
||||||
|
%\pagenumbering{arabic}
|
||||||
|
|
||||||
|
% Set up the Title Page
|
||||||
|
\title {Σκλήρυνση Μηχανής Δοχείων και Λειτουργικού Συστήματος σε Περιβάλλοντα \textlatin{Linux}}
|
||||||
|
|
||||||
|
\authors {\texorpdfstring
|
||||||
|
{\href{mailto:icsd16221@aegean.gr}{Χωλίδης Κωνσταντίνος - 321/2016221}}
|
||||||
|
{Χωλίδης Κωνσταντίνος (321/2016221)}
|
||||||
|
}
|
||||||
|
\addresses {\groupname\\\deptname\\\univname} % Do not change this here, instead these must be set in the "Thesis.cls" file, please look through it instead
|
||||||
|
\date {Σάμος, Ιούλιος 2022}
|
||||||
|
\subject {}
|
||||||
|
\keywords {}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
|
||||||
|
\setstretch{1.3} % It is better to have smaller font and larger line spacing than the other way round
|
||||||
|
|
||||||
|
% Define the page headers using the FancyHdr package and set up for one-sided printing
|
||||||
|
\fancyhead{} % Clears all page headers and footers
|
||||||
|
\rhead{\thepage} % Sets the right side header to show the page number
|
||||||
|
\lhead{} % Clears the left side page header
|
||||||
|
|
||||||
|
\pagestyle{fancy} % Finally, use the "fancy" page style to implement the FancyHdr headers
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
% Declaration Page required for the Thesis, your institution may give you a different text to place here
|
||||||
|
\Declaration{
|
||||||
|
|
||||||
|
\addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
Εγώ, ο Χωλίδης Κωνσταντίνος, δηλώνω ότι αυτή η διπλωματική εργασία με τίτλο, Σκλήρυνση Μηχανής Δοχείων και Λειτουργικού Συστήματος σε Περιβάλλοντα \textlatin{Linux}, και η δουλειά που παρουσιάζεται σε αυτή είναι δικά μου. Επιβεβαιώνω ότι:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item[\tiny{$\blacksquare$}] Αυτή η δουλειά πραγματοποιήθηκε ολοκληρωτικά ή κυρίως κατά την υποψηφιότητά μου για τίτλο προπτυχιακών σπουδών σε αυτό το πανεπιστήμιο.
|
||||||
|
|
||||||
|
\item[\tiny{$\blacksquare$}] Όπου οποιοδήποτε μέρος αυτής της πτυχιακής εργασίας έχει προηγουμένως κατατεθεί για την απόκτηση πτυχίου ή άλλου τίτλου σε αυτό ή άλλο πανεπιστήμιο, αυτό διατυπώνεται ξεκάθαρα.
|
||||||
|
|
||||||
|
\item[\tiny{$\blacksquare$}] Όπου έχω συμβουλευτεί την δημοσιευμένη δουλειά τρίτων, αυτό αποδίδεται ορθώς.
|
||||||
|
|
||||||
|
\item[\tiny{$\blacksquare$}] Όπου έχω παραθέσει από δουλειά τρίτων, η πηγή δίνεται πάντα. Με εξαίρεση αυτές τις παραθέσεις, αυτή η πτυχιακή εργασία είναι εξ ολοκλήρου προσωπική μου δουλειά.
|
||||||
|
|
||||||
|
\item[\tiny{$\blacksquare$}] Έχω παραθέσει όλες τις κύριες πηγές βοήθειας.
|
||||||
|
|
||||||
|
\item[\tiny{$\blacksquare$}] Όπου αυτή η πτυχιακή εργασία είναι βασισμένη σε συνεργατική δουλειά δική μου και τρίτων, έχω καταστήσει ξεκάθαρο ποια κομμάτια έχουν πραγματοποιηθεί από άλλους και πώς συνέβαλα εγώ.
|
||||||
|
% Alternative to "\\" without the "Underfull \hbox (badness 10000) in paragraph" error
|
||||||
|
\vspace{\baselineskip}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
Υπογραφή:\\
|
||||||
|
\rule[1em]{25em}{0.5pt} % This prints a line for the signature
|
||||||
|
|
||||||
|
Ημερομηνία:\\
|
||||||
|
\rule[1em]{25em}{0.5pt} % This prints a line to write the date
|
||||||
|
}
|
||||||
|
\clearpage % Declaration ended, now start a new page
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
% The "Funny Quote Page"
|
||||||
|
\pagestyle{empty} % No headers or footers for the following pages
|
||||||
|
|
||||||
|
\null\vfill
|
||||||
|
% Now comes the "Funny Quote", written in italics
|
||||||
|
\textit{\textlatin{Απόφθεγμα (προεραιτικό)}}
|
||||||
|
|
||||||
|
\begin{flushright}
|
||||||
|
\textlatin{Συγγραφέας Αποφθέγματος}
|
||||||
|
\end{flushright}
|
||||||
|
|
||||||
|
\vfill\vfill\vfill\vfill\vfill\vfill\null
|
||||||
|
\clearpage % Funny Quote page ended, start a new page
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
|
||||||
|
% The Abstract Page
|
||||||
|
\addtotoc{Σύνοψη} % Add the "Abstract" page entry to the Contents
|
||||||
|
\abstract{
|
||||||
|
\addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
Τη σήμερον ημέρα όλο και περισσότερος κόσμος βασίζεται πλέον σε υπηρεσίες τύπου \textlatin{IaaS} έναντι των παραδοσιακών \textlatin{Server Room} για τις υποδομές υπηρεσιών. Αυτό συμβαίνει διότι κατ' αυτό τον τρόπο μειώνονται τα λειτουργικά έξοδα μιας και δεν υπάρχει ανάγκη δαπάνης για την αγορά εξοπλισμού για την έναρξη διάθεσης της εκάστοτε υπηρεσίας αλλά είναι πλέον δυνατό να κλιμακωθεί ανάλογα με τις ανάγκες των χρηστών της υπηρεσίας που προσφέρεται με μια απλή και γρήγορη επανεκκίνηση της εικονικής μηχανής χρησιμοποιώντας νέες παραμέτρους. Με αυτόν τον τρόπο μεταβιβάζεται η ευθύνη της συντήρησης εξοπλισμού σε τρίτους αλλά ταυτόχρονα εισάγεται ένα καινούριο μοντέλο εμπιστοσύνης ανάμεσα όχι μόνο στον χρήστη και τον πάροχο νέφους αλλά και αυτόν που παρέχει τις πολλές φορές προ ρυθμισμένες διανομές \textlatin{Linux} σε αυτόν.
|
||||||
|
|
||||||
|
Στην παρούσα εργασία θα αναλύσουμε τις τρωτότητες μιας ιδεατής μηχανής και τρόπους για την αντιμετώπισή τους. Έπειτα θα μιλήσουμε για την τεχνολογία \textlatin{Docker} και το πως μπορεί να γίνει χρήση της με μεγαλύτερη ασφάλεια. Ο σκοπός της εργασίας είναι η δημιουργία ενός εργαλείου που θα μπορεί όχι μόνο να δημιουργεί ιδεατές μηχανές κατά μήκος πολλών παρόχων νέφους αλλά και να τις σκληραίνει με έναν αυτοματοποιημένο τρόπο. Επιπροσθέτως θα εγκαθιστά σε αυτές την μηχανή δοχείων \textlatin{Docker} την οποία επίσης θα σκληραίνει με σκοπό το εύκολο στήσιμο υπηρεσιών με ασφαλή τρόπο για οποιονδήποτε χρήστη ανεξαρτήτως επιπέδου γνώσεων στον τομέα της ασφάλειας και των λειτουργικών συστημάτων τύπου \textlatin{Unix}.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
\clearpage % Abstract ended, start a new page
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
|
||||||
|
\setstretch{1.3} % Reset the line-spacing to 1.3 for body text (if it has changed)
|
||||||
|
|
||||||
|
% The Acknowledgements page, for thanking everyone
|
||||||
|
\acknowledgements{
|
||||||
|
\addtocontents{toc}{\vspace{1em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
Εδώ γράφονται οι ευχαριστίες.
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
\clearpage % End of the Acknowledgements
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
|
||||||
|
\pagestyle{fancy} %The page style headers have been "empty" all this time, now use the "fancy" headers as defined before to bring them back
|
||||||
|
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\lhead{\emph{Περιεχόμενα}} % Set the left side page header to "Contents"
|
||||||
|
\tableofcontents % Write out the Table of Contents
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\lhead{\emph{Κατάλογος Σχημάτων}} % Set the left side page header to "List if Figures"
|
||||||
|
\listoffigures % Write out the List of Figures
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\lhead{\emph{Κατάλογος Πινάκων}} % Set the left side page header to "List of Tables"
|
||||||
|
\listoftables % Write out the List of Tables
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\setstretch{1.5} % Set the line spacing to 1.5, this makes the following tables easier to read
|
||||||
|
\clearpage % Start a new page
|
||||||
|
\lhead{\emph{Συντομογραφίες}} % Set the left side page header to "Abbreviations"
|
||||||
|
\listofsymbols{ll} % Include a list of Abbreviations (a table of two columns)
|
||||||
|
{
|
||||||
|
% \textbf{Acronym} & \textbf{W}hat (it) \textbf{S}tands \textbf{F}or \\
|
||||||
|
% Εδώ μπαίνουν οι συντομογραφίες
|
||||||
|
}
|
||||||
|
|
||||||
|
\lhead{}
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
% End of the pre-able, contents and lists of things
|
||||||
|
% Begin the Dedication page
|
||||||
|
|
||||||
|
\setstretch{1.3} % Return the line spacing back to 1.3
|
||||||
|
|
||||||
|
\pagestyle{empty} % Page style needs to be empty for this page
|
||||||
|
\dedicatory{Αφιέρωση (προεραιτική)}
|
||||||
|
|
||||||
|
\addtocontents{toc}{\vspace{2em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\mainmatter % Begin normal, numeric (1,2,3...) page numbering
|
||||||
|
\pagestyle{fancy} % Return the page headers back to the "fancy" style
|
||||||
|
|
||||||
|
% Include the chapters of the thesis, as separate files
|
||||||
|
% Just uncomment the lines as you write the chapters
|
||||||
|
|
||||||
|
\input{Chapters/1.Introduction} % Introduction
|
||||||
|
|
||||||
|
\input{Chapters/2.Background} % Review of the Literature
|
||||||
|
|
||||||
|
\input{Chapters/3.RelevantWork} % Relevant Work
|
||||||
|
|
||||||
|
\input{Chapters/4.ProjectDevelopment} % Framework
|
||||||
|
|
||||||
|
\input{Chapters/5.ProjectShowcase} % Project
|
||||||
|
|
||||||
|
\input{Chapters/6.Experimentation} % Experiment 2
|
||||||
|
|
||||||
|
\input{Chapters/7.Conclusions} % Results and Discussion
|
||||||
|
|
||||||
|
%\input{Chapters/Chapter7} % Conclusion
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
% Now begin the Appendices, including them as separate files
|
||||||
|
|
||||||
|
\addtocontents{toc}{\vspace{2em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
\appendix % Cue to tell LaTeX that the following 'chapters' are Appendices
|
||||||
|
|
||||||
|
% \input{Appendices/General_Notation}
|
||||||
|
|
||||||
|
% Εδώ μπαίνουν τα παραρτήματα
|
||||||
|
|
||||||
|
\addtocontents{toc}{\vspace{2em}} % Add a gap in the Contents, for aesthetics
|
||||||
|
|
||||||
|
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
|
\label{Bibliography}
|
||||||
|
\lhead{\emph{Βιβλιογραφία}} % Change the left side page header to "Bibliography"
|
||||||
|
\bibliographystyle{ACM-Reference-Format}
|
||||||
|
% \bibliographystyle{unsrtnat} % Use the "unsrtnat" BibTeX style for formatting the Bibliography
|
||||||
|
\textlatin{
|
||||||
|
\bibliography{Bibliography} % The references (bibliography) information are stored in the file named "Bibliography.bib"
|
||||||
|
}
|
||||||
|
\end{document} % The End
|
||||||
|
%% ----------------------------------------------------------------
|
||||||
1
lstpatch.sty
Normal file
1
lstpatch.sty
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user