ΓΑΤΣΟΣ ΓΕΩΡΓΙΟΣ ΞΑΝΘΟΠΟΥΛΟΣ ΑΧΙΛΛΕΑΣ



Σχετικά έγγραφα
Δημιουργία ενός μικρού πληροφοριακού συστήματος για τις ανάγκες του τμήματος Μηχανικών Πληροφορικής

ΡΥΘΜΙΣΕΙΣ ΟΙΚΙΑΚΟΥ ΔΙΚΤΥΟΥ ΣΤΑ WINDOWS 7

Οδηγίες Χρήσης EAP Controller Software

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΟΝΑΔΑ ΑΡΙΣΤΕΙΑΣ ΕΛ/ΛΑΚ

Υπηρεσία διαμοιρασμού αρχείων

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

Epsilon Net PYLON Platform

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016


Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

6 Εισαγωγή στο Wordpress 3.x

Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης.

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

PRISMA Win POS Sync Merge Replication

Οδηγίες Σύνδεσης Ασύρματου Δικτύου ΤΜΗΥ&Π. Οδηγίες Σύνδεσης για λοιπά Linux/Unix Συστήματα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD περιστροφής / κλισης για εσωτερικούς χώρους v3.14

Βασική εγκατάσταση Asterisk σε Linux

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Υπηρεσία Απομακρυσμένης Πρόσβασης VPN Οδηγός Εγκατάστασης και Διαμόρφωσης για χρήστες λειτουργικών συστημάτων MAC OS X

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL

Οδηγίες εγκατάστασης Δορυφορικής κάρτας Technisat

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Εγκατάσταση και Απεγκατάσταση Ubuntu 7.10

1 Αρχική Σελίδα 2. 2 Εγγραφή 3. 3 Προφίλ χρήστη 6. 4 Διαχείριση SSH κλειδιών 7. 5 Δημιουργία νέας εικονικής μηχανής 9. 6 View instance 14

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

Οδηγίες Εγκατάστασης Βάσης Δεδομένων MySQL 5.6 Για Λειτουργικό Σύστημα Windows

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

Πατάμε στο εικονίδιο του δικτύου (κάτω δεξιά) και κάνουμε κλικ στο Άνοιγμα Κέντρου Δικτύου και κοινής χρήσης

Vodafone Business Connect

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ QUARKXPRESS & QLA SERVER

server : Ο υπολογιστής του καθηγητή που θέλουμε να ελέγχει τους υπόλοιπους του εργαστηρίου client : Οι υπολογιστές των μαθητών

ΣΥΝΔΕΣΗ ΚΑΤΑΓΡΑΦΙΚΟΥ ΣΤΟ INTERNET

Share and Storage Management. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

Οδηγίες Χρήσης της MySQL

Σενάριο Εστίασης Win XP:

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Εγχειρίδιο εγκατάστασης και βασικής παραμετροποίησης σεναρίου εστίασης

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS)

Σε αυτό το εργαστήριο θα εγκαταστήσουμε μια διανομή Linux Fedora Core 4 από DVD. Παρακάτω ακολουθούν τα βήματα της εγκατάστασης.

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD για εξωτερικούς χώρους v3.14

Διαδικτυακές Υπηρεσίες

Δημιουργία μιας εφαρμογής Java με το NetBeans

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Ενημερώσεις λογισμικού Οδηγός χρήσης

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

MCSS Medical Center Support Systems. Setup Instructions

Κοινή χρήση πόρων με τα Windows XP

ΕΓΚΑΤΑΣΤΑΣΗ & ΔΙΑΧΕΙΡΙΣΗ ΚΟΙΝΟΧΡΗΣΤΩΝ ΕΚΤΥΠΩΤΩΝ

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

XAMPP Apache MySQL PHP javascript xampp

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ SQL SERVER 2008 R2 Express

Μάθημα 4ο. Προγράμματα

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR TVT

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE

ARTius με PostgreSQL

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής Πρόλογος... 11

Εγχειρίδιο εγκατάστασης Megasoft 2009

Δημιουργία Active Directory DNS στα Windows Server Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

Βοηθητικό πρόγραμμα Setup Utility Οδηγός χρήσης

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Computing and Information Systems Service. ιαχείριση Αρχείων

Academia Financials Γενική Λογιστική ΠΕΡΙΕΧΟΜΕΝΑ

Γρήγορη έναρξη. Επέκταση εμβέλειας WiFi N300 Μοντέλο EX2700

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Οδηγίες προς τον τελικό χρήστη για τη σύνδεση στο Ασύρματο Δίκτυο Δεδομένων του ΤΜΗΥ&Π

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης.

Βοηθητικό πρόγραµµα Setup Οδηγός χρήσης

1. Τα τμήματα της επιφάνειας εργασίας των Windows

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

Οδηγίες Χρήσης της MySQL

Ενηµερώσεις λογισµικού Οδηγός χρήσης

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

MS SQL 2005 Standard (Εγκατάσταση)

ΤΗΛΕΦΩΝΙΚΗ ΣΥΣΚΕΥΗ SNOM 300 έκδοση ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΙΣΤΟΣΕΛΙΔΑΣ

Σχολική Βιβλιοθήκη 3ου Γυμνασίου Κερατσινίου Σύνταξη Αλέξανδρος Τοπαλίδης

Transcript:

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Πτυχιακή εργασία Τίτλος Δημιουργία ενός μικρού πληροφοριακού συστήματος για τις ανάγκες του τμήματος Μηχανικών Πληροφορικής ΓΑΤΣΟΣ ΓΕΩΡΓΙΟΣ ΞΑΝΘΟΠΟΥΛΟΣ ΑΧΙΛΛΕΑΣ Επιβλέπων καθηγητής Δρ. Ράντος Κωνσταντίνος ΚΑΒΑΛΑ 2015

2

Θα θέλαμε να ευχαριστήσουμε ιδιαίτερα τον Δρ. Ράντο Κωνσταντίνο γιατί μας εμπιστεύτηκε και μας ανέθεσε αυτή τη συγκεκριμένη πτυχιακή εργασία. Επιπλέον ευχαριστούμε όσους μας βοήθησαν να την ολοκληρώσουμε. 3

Περίληψη Στόχος της πτυχιακής μας εργασίας είναι η δημιουργία ενός data center room που φιλοξενεί τους servers του τμήματος Μηχανικών Πληροφορικής. Στο Data center room που αναφέραμε προ λίγου υπάρχουν 9 φυσικά μηχανήματα από τα οποία τα δύο αφορούν την πτυχιακή μας εργασία. Λόγω των δυνατοτήτων του που θα αναφέρουμε παρακάτω εγκαταστάθηκε το «VMware vsphere Hypervisor (ESXi)» που παρέχεται δωρεάν από την εταιρεία VMware. Αυτό μας παρέχει τη δυνατότητα δημιουργίας εικονικού περιβάλλοντος κάποιου λειτουργικού συστήματος και την απομακρυσμένη διαχείρισή του, συνολικά, μέσω του client (vsphere Client) που επίσης μας παρέχεται δωρεάν. Η πτυχιακή μας εργασία χωρίζεται σε δύο κύρια μέρη. Το πρώτο είναι η δημιουργία δύο εικονικών λειτουργικών συστημάτων και συγκεκριμένα των «Ubuntu server 12.04.2» της Canonical και «Windows server 2012» της Microsoft, στα οποία τρέχουν εφαρμογές και υπηρεσίες που παρέχουν στους φοιτητές του τμήματος, τεχνολογίες για την εκπόνηση πτυχιακών εργασιών. Το δεύτερο μέρος είναι η δημιουργία ενός εικονικού λειτουργικού και συγκεκριμένα του «FreeNAS» της εταιρίας ixsystems που επίσης μας παρέχεται δωρεάν. Το συγκεκριμένο λειτουργικό σύστημα θα χρησιμοποιηθεί για τη δημιουργία ενός fileserver για τους καθηγητές του τμήματος. Τα υπόλοιπα, επτά, μηχανήματα παρέχουν στο δυναμικό της σχολής την ιστοσελίδα του τμήματος, τους online και offline servers της γραμματείας, την πλατφόρμα της ασύγχρονης εκπαίδευσης moodle, τον mail server, προσωπικές σελίδες των καθηγητών του τμήματος, η σελίδα του ΚΤΕ και ένα server για άλλες εκπαιδευτικές ανάγκες. Στο δωμάτιο αυτό υπάρχει και ένα κλιματιστικό σύστημα το οποίο παρέχει στο χώρο ιδανικές συνθήκες για τα 9 διαφορετικά μηχανήματα. Όλα τα μηχανήματα τοποθετήθηκαν με κάποιον συγκεκριμένο τρόπο ώστε αργότερα να είναι εύκολη η πρόσβαση σε αυτά από τους ανθρώπους που τα διαχειρίζονται. Χρησιμοποιήθηκαν UPS της APC για παροχή ενέργειας σε περιπτώσεις διακοπής ρεύματος και για την ασφάλεια των μηχανημάτων. 4

Πίνακας περιεχομένων Περίληψη... 4 Πίνακας περιεχομένων... 5 Αρχιτεκτονική του data center... 6 1. VMware vsphere Hypervisor (ESXi)... 9 1.1 Λίγα Λόγια για τις Εικονικές Μηχανές... 9 1.2 Λίγα λόγια για το ESXi... 10 1.3 Εγκατάσταση... 10 1.4 Παραμετροποίηση... 12 1.5 Διαχείριση του ESXi απομακρυσμένα μέσω vsphere Client... 15 2. Ubuntu Server 12.04.2... 17 2.1 Λίγα λόγια για το Ubuntu... 17 2.2 Εγκατάσταση... 17 2.3 Εγκατάσταση εφαρμογών & παραμετροποίηση... 23 2.4 Μεταφορά βάσεων δεδομένων, δημιουργία χρηστών & μεταφορά των αρχείων τους... 25 2.4.1 Μεταφορά βάσεων δεδομένων... 25 2.4.2 Δημιουργία χρηστών & μεταφορά των αρχείων τους... 27 3. Windows Server 2012... 29 3.1 Λίγα λόγια για τα Windows... 29 3.2 Εγκατάσταση... 29 3.3 Εγκατάσταση εφαρμογών... 32 4. FreeNAS... 33 4.1 Λίγα λόγια για το FreeNAS... 33 4.2 Εγκατάσταση... 33 4.3 Παραμετροποίηση... 35 5. Penetration testing... 47 6. Βιβλιογραφία... 50 5

Αρχιτεκτονική του data center Η παρούσα εργασία έχει ως σκοπό την αναδιαμόρφωση των παλιών και δημιουργία νέων Server στο δυναμικό της Σχολής. Παρακάτω βλέπουμε αναλυτικά την δομή του data center, την δικτυακή αρχιτεκτονική σε λογικό επίπεδο, τα τεχνικά χαρακτηριστικά των φυσικών μηχανήματων που αφορούν την πτυχιακή μας εργασία και κάποιες φωτογραφίες από το χώρο που βρίσκονται οι Server. Στην Εικόνα 1 απεικονίζεται γραφικά η δομή του data center. Τα μηχανήματα με τους αριθμούς 1 και 2 αφορούν στην πτυχιακή μας. Όπως βλέπετε και στην εικόνα στο 1 ο εγκαταστάθηκε το FreeNAS και στο 2 ο οι Ubuntu και Windows server. Εικόνα 1: Data Center Παρακάτω βλέπουμε την διαδικτυακή αρχιτεκτονική του Data Center Room που συνδέεται με το υπόλοιπο δίκτυο του ΤΕΙ. Εικόνα 2: Δικτυακή Αρχιτεκτονική Data Center Room 6

πίνακα Τα τεχνικά χαρακτηριστικά των μηχανημάτων 1 και 2 φαίνονται στον παρακάτω Manufacturer HP Model ProLiant ML350 G6 Processor type Intel(R) Xeon(R) CPU E5620 @ 2.4GHz CPU Cores 8 Processor Sockets 2 Cores per Socket 4 Logical Processors 16 Hyperthreading Active Number of NICs 2 Number of PSUs 2x750W RAM 8GB (4x2GB) SAS 1x450GB Εικόνα 3: Εσωτερικό του μηχανήματος 7

Εικόνα 4: Data center Room Στο χώρο υπάρχουν 4 ups της APC «Smart-UPS 1500» εκ των οποίων το 1 υποστηρίζει τα μηχανήματα που αφορούν την πτυχιακή εργασία. Τα μηχανήματα είναι συνδεδεμένα σε 1 switch της TP-LINK μέσω του οποίου βγαίνουν στο δίκτυο. Επίσης υπάρχει κλιματιστικό το οποίο κρατάει τη θερμοκρασία και την υγρασία του χώρου στο επιθυμητό επίπεδο. 8

1. VMware vsphere Hypervisor (ESXi) 1.1 Λίγα Λόγια για τις Εικονικές Μηχανές Η εικονική μηχανή (Virtual Μachine), όπως δηλώνει και το όνομα της, είναι μια μηχανή που υφίσταται μόνο στο βασίλειο του αφηρημένου. Πρόκειται για επεξεργαστή υλοποιημένο μόνο με λογισμικό, με δικό του σετ εντολών και ιδιαίτερων χαρακτηριστικών. Η εικονική μηχανή παρέχει «n» αντίγραφα από φυσικό υλικό χρησιμοποιώντας λογισμικό. Έτσι, διαφορετικά Λειτουργικά Συστήματα μπορούν να εργαστούν στο ίδιο μηχάνημα ταυτόχρονα. Το Λειτουργικό Σύστημα που τρέχει στο πραγματικό υλικό και παρέχει την λειτουργικότητα των εικονικών μηχανών ονομάζεται «host OS» ενώ αυτό που εκτελείτε μέσα ονομάζεται «guest». Οι πόροι του συστήματος μοιράζονται στις Εικονικές Μηχανές (συνήθως με στατικό τρόπο), από το host OS. Οι πόροι κάθε Εικονικής Μηχανής είναι υπό τη διαχείριση του guest OS. Μια προφανής και σημαντική χρήση των εικονικών μηχανών είναι η εξομοίωση και η μελέτη υπαρχόντων ή και υπό σχεδίαση hardware συστημάτων. Για αυτή την κατηγορία έχει επικρατήσει η ονομασία εξομοιωτής (emulator) και σήμερα για σχεδόν όλα τα υπολογιστικά συστήματα περασμένων εποχών υπάρχει ένας εξομοιωτής. Ένας δεύτερος πολύ σημαντικός λόγος για την ύπαρξη VMs είναι η χρήση τους ως ένα "μονωτικό στρώμα" ανάμεσα στις εφαρμογές και το υλικό. Μια εφαρμογή που είναι σχεδιασμένη για μια VM μπορεί να εκτελεστεί σε οποιοδήποτε επεξεργαστή για τον οποίο υπάρχει ένας διερμηνευτής για τον κώδικα της VM. Αυτή είναι η νοοτροπία του "Προγραμμάτισε μια φορά, τρέξε παντού". Πολύ συχνά οι εικονικές μηχανές χρησιμοποιούνται για να δώσουν στο προγραμματιστή την ψευδαίσθηση πως δουλεύει σε ένα ιδιαίτερα εξελιγμένο σύστημα, με χαρακτηριστικά ειδικά σχεδιασμένα για την εργασία του. Οι εικονικές μηχανές, αν και είναι πολύ στη μόδα σήμερα, δεν αποτελούν καινούργιο φαινόμενο. Ήδη από το 1970 η ανάγκη διαχωρισμού των διάφορων φάσεων της μεταγλώττισης ενός προγράμματος οδήγησε τους δημιουργούς μεταγλωττιστών στην εισαγωγή και χρήση ενδιάμεσων μορφών κώδικα. Παρ' όλο που η δεκαετία του '70 μοιάζει μακρινή, τα πράγματα δεν έχουν αλλάξει πολύ στον συγκεκριμένο τομέα. Οι σύγχρονες γλώσσες προγραμματισμού χρησιμοποιούν το ίδιο μοντέλο με μια μικρή αλλά σημαντική προσθήκη. Για λόγους ταχύτητας, οι πιο εξελιγμένοι διερμηνευτές δεν εκτελούν τον κώδικα σε ενδιάμεση μορφή αλλά τον μετατρέπουν στη γλώσσα μηχανής του επεξεργαστή στον οποίο τρέχουν (native code). Η μετατροπή αυτή γίνεται την ώρα της εκτέλεσης και ονομάζεται Just- In-Time (JIT) μεταγλώττιση, ενώ η κλασική μεταγλώττιση έχει την ονομασία Ahead-Of-Time (AOT). Γνωστά λογισμικά παροχής υπηρεσιών εικονικοποίησης αυτήν την στιγμή είναι το VMware Player, VMware Workstation και ESXi της εταιρίας VMware, το Hyper-V της Microsoft και το Virtual Box της Oracle. 9

1.2 Λίγα λόγια για το ESXi Η εταιρία VMware ιδρύθηκε το 1998 και υπήρξε η πρώτη που ανέπτυξε και διάθεσε εμπορική λύση λογισμικού εικονικοποίησης x86. Το 2001 υλοποίησε τον τυπου-1 hypervisor VMware ESX. Η κλασική έκδοση ESX ξεκίνησε το 2007 με την 3.7 και πήγε μέχρι την έκδοση 4.1 το 2010. Από το 2011 και μετά υπάρχει η νεότερη και εξελιγμένη έκδοση ESXi 5 και έχει φτάσει μέχρι στιγμής την 5.5. H εταιρία VMware κατέχει περίπου το 60%-70% των εγκαταστάσεων λύσεων εικονικοποίησης σε μεσαίες και μεγάλες επιχειρήσεις. Αυτό το μέρισμα της αγοράς μπορεί να μην είναι πάντα αντίστοιχο με τις δυνατότητες και την ποιότητα του λογισμικού όμως στη περίπτωση της VMware αυτό που ισχύει είναι ότι τα τελευταία δέκα χρόνια είναι πρωτοπόρος στις λύσεις εικονικοποίησης. Η αρχιτεκτονική VMware ESXi αποτελείται από ένα θεμελιώδη λειτουργικό σύστημα που ονομάζεται VMkernel και διεκπεραιώνει κάθε είδους αίτηση πρόσβασης στο υλικό από τις εικονικές μηχανές. Το λειτουργικό σύστημα VMkernel παρέχει όλα εκείνα τα απαραίτητα μέσα για να τρέξουν οι διεργασίες συστήματος, συμπεριλαμβανομένου τις εφαρμογές διαχείρισης, τα λογισμικά agents όπως επίσης και τις εικονικές μηχανές. Έχει τον έλεγχο όλων των συσκευών υλικού και διαχειρίζεται τους πόρους εκ μέρους των εφαρμογών. 1.3 Εγκατάσταση Το ESXi δίνεται από την VMware σε μορφή.iso. Κατεβάσαμε και γράψαμε σε ένα δισκάκι το isο αρχείο της 5.1 έκδοσης, ώστε να προχωρήσουμε στην εγκατάσταση του προγράμματος στους δύο servers. Κάνοντας boot από το cd εμφανίζεται η παρακάτω εικόνα: Εικόνα 5: Boot menu Επιλέγοντας το «ESXi-5.1.0-20130402001-standard Installer» αρχίζει η εγκατάσταση. Ακολουθούν διαδικασίες για την φόρτωση αρχείων και αρχικοποίηση υπηρεσιών. Στη συνέχεια εμφανίζεται ένα ενημερωτικό μήνυμα σχετικά με την συμβατότητα του ESXi και έχουμε τη δυνατότητα να επιλέξουμε (Esc) Cancel και (Enter) Continue. Επιλέγουμε το 2 ο και προχωράμε. Ακολουθεί ένα παράθυρο σχετικά με τους όρους χρήσης της εφαρμογής όπου πρέπει να επιλέξουμε μεταξύ (ESC) Do not Accept και (F11) Accept and Continue. Επιλέγουμε το 2 ο για να δεχτούμε τους όρους χρήσης και προχωράμε. 10

Παρακάτω εμφανίζεται η επιλογή, όπως φαίνεται στην Εικόνα 6, δίσκου στον οποία θα εγκατασταθεί το ESXi. Εικόνα 6: Επιλογή δίσκου προς εγκατάσταση Επιλέγουμε το δίσκο της προτίμησης μας, στη συγκεκριμένη περίπτωση είναι μόνος ένας, και πατάμε Enter για να συνεχίσουμε. Στο επόμενο παράθυρο που εμφανίζεται έχουμε να επιλέξουμε τη γλώσσα της διάταξης του πληκτρολογίου. Το αφήνουμε ως έχει και προχωράμε στο επόμενο παράθυρο στο οποίο μας ζητάει να πληκτρολογήσουμε τον κωδικό του λογαριασμού root. Εικόνα 7: Κωδικός του root Εισάγουμε τον κωδικό που επιθυμούμε για τον χρήστη root και πατάμε Enter. Για να συνεχιστεί η εγκατάσταση στο επόμενο παράθυρο που εμφανίζεται πρέπει να πατήσουμε το πλήκτρο F11 για επιβεβαίωση. Ξεκινάει η εγκατάσταση κι αφού φτάσει στο 100% μας ενημερώνει πως ήταν επιτυχής και μας ζητάει ένα Enter για επανεκκίνηση. 11

Εικόνα 8: Αρχική οθόνη ESXi Στην παραπάνω εικόνα βλέπουμε την αρχική οθόνη του ESXi και έτσι έχουμε ολοκληρώσει την εγκατάσταση του. 1.4 Παραμετροποίηση Για να κάνουμε το ESXi προσβάσιμο από τον Vsphere Client της VWware ώστε να διαχειριστούμε το σύστημα απομακρυσμένα πρέπει να αλλάξουμε την διεύθυνση ip, την προεπιλεγμένη πύλη του δικτύου και την διεύθυνση του DNS server. Για να το κάνουμε αυτό πρέπει να πατήσουμε το πλήκτρο F2 στην αρχική οθόνη του ESXi ώστε να εμφανιστεί το μενού των ρυθμίσεων όπως βλέπουμε παρακάτω στην Εικόνα 9. Εικόνα 9: Menu ρυθμίσεων του ESXi 12

Για να εισέλθουμε στο μενού ρυθμίσεων του ESXi πρέπει να εισάγουμε τον κωδικό του root για λόγους ασφαλείας. Στο μενού αυτό, όπως φαίνεται στην εικόνα παραπάνω, επιλέγουμε Configure Management Network ώστε να κάνουμε τις ρυθμίσεις που προαναφέραμε. Εικόνα 10: Configure Management Network Εδώ επιλέγουμε IP Configuration και μας εμφανίζεται η Εικόνα 11, όπως βλέπουμε παρακάτω. Εικόνα 11: IP Configuration Αφού επιλέξουμε να δώσουμε μια στατική διεύθυνση IP, πληκτρολογούμε την διεύθυνση IP της προτίμησης μας στο πρώτο, την μάσκα υποδικτύου στο δεύτερο και την 13

προεπιλεγμένη πύλη του δικτύου στο τρίτο πεδίο και στη συνέχεια πατάμε Enter για να επικυρωθούν οι αλλαγές. Μένει να προσθέσουμε την διεύθυνση IP του DNS server. Εικόνα 12: Configure Management Network Αφού επιστρέψουμε στο προηγούμενο μενού, επιλέγουμε DNS Configuration και μας εμφανίζεται η παρακάτω εικόνα: Εικόνα 13: DNS Configuration πεδίο. Επιλέγουμε το 2 ο και πληκτρολογούμε την διεύθυνση IP του DNS server στο πρώτο 14

Αφού τελειώσουμε με τις αλλαγές κάνουμε μια επανεκκίνηση. Έτσι έχουμε φτάσει στο σημείο όπου μπορούμε να ξεκινήσουμε την απομακρυσμένη σύνδεση στο μηχάνημα ώστε να διαχειριστούμε το σύστημα μέσω του vsphere Client. 1.5 Διαχείριση του ESXi απομακρυσμένα μέσω vsphere Client Το vsphere Client, του οποίου την αρχική σελίδα βλέπουμε και στην Εικόνα 14 παρακάτω, είναι το εργαλείο που μας παρέχει η VMware ώστε να έχουμε τη δυνατότητα να διαχειριστούμε απομακρυσμένα το ESXi, το οποίο έχει πάρα πολλές δυνατότητες αρκετές από τις οποίες αναφέρουμε παρακάτω. Εικόνα 14: vsphere Client Πρώτο και κυριότερο είναι το γεγονός πως έχουμε πρόσβαση σε πληροφορίες που αφορούν το φυσικό μηχάνημα, όπως η χρήση του επεξεργαστή, της μνήμης, του δίσκου κ.α., όπως ακόμα και τη θερμοκρασία του. Έχουμε επίσης μια καρτέλα με τα εικονικά μηχανήματα και τη χρήση που κάνει το κάθε ένα στο υλικό του μηχανήματος. Μια άλλη καρτέλα μας ενημερώνει για την κατάσταση στην οποία βρίσκονται όλα τα υλικά μέρη του μηχανήματος όπως επεξεργαστές, μνήμη RAM, ανεμιστήρες κ.α.. Τέλος υπάρχουν 2 ακόμα καρτέλες που έχουν να κάνουν με τους χρήστες και τα δικαιώματα αυτών στο σύστημα. Μια από τις βασικές λειτουργίες του client είναι η δυνατότητα δημιουργίας εικονικών μηχανών στις οποίες παραχωρούμε συγκεκριμένα χαρακτηριστικά όπως ο αριθμός των πυρήνων του επεξεργαστή, το μέγεθος της μνήμης RAM, το μέγεθος του σκληρού δίσκου, την κάρτα δικτύου κ.α.. Αφού εγκαταστήσουμε κάποιο εικονικό λειτουργικό σύστημα, μπορούμε να δούμε πληροφορίες για αυτό χωρισμένες σε καρτέλες, όπως οι επιδόσεις του συστήματος με διαγράμματα, την κονσόλα όπου μας δείχνει το περιβάλλον του συγκεκριμένου VM όπως θα το βλέπαμε σε μια πραγματική οθόνη κ.α.. Επίσης μπορούμε να ξεκινήσουμε, να τερματίσουμε, να παγώσουμε ή να επανεκκινήσουμε κάποιο από τα VM. 15

Επιπροσθέτως υπάρχει η δυνατότητα της μεταφόρτωσης ενός ή περισσοτέρων iso image στον δίσκο για μελλοντική χρήση μέσω του client. Η μεταφορά μπορεί να γίνει είτε τοπικά είτε εκτός δικτύου όπου στην δεύτερη περίπτωση ο χρόνος μεταφοράς είναι πολύ μεγαλύτερος. Μια ακόμα πολύ χρήσιμη δυνατότητα που παρέχει το ESXi μέσω του client είναι η δημιουργία snapshot κάποιας εικονικής μηχανής σε κάποια χρονική στιγμή για λόγους ασφαλείας. Αν τυχόν συμβεί κάτι μη αναστρέψιμο τότε μπορούμε απλά να επαναφέρουμε τη μηχανή σε μια προηγούμενη, υγιή, κατάσταση. Εικόνα 15: Η καρτέλα Summary του Host 16

2. Ubuntu Server 12.04.2 2.1 Λίγα λόγια για το Ubuntu Το Linux ή GNU/Linux, είναι ένα λειτουργικό σύστημα που αποτελείται από ελεύθερο λογισμικό. Η χρήση του είναι παρόμοια με αυτή του Unix, αλλά όλος ο πηγαίος κώδικας του έχει γραφτεί από την αρχή ως ελεύθερο λογισμικό υπό την ελεύθερη άδεια χρήσης GNU General Public License. Το Linux μπορεί να εγκατασταθεί και να λειτουργήσει σε μεγάλη ποικιλία υπολογιστικών συστημάτων, από μικρές συσκευές όπως κινητά τηλέφωνα μέχρι μεγάλα υπολογιστικά συστήματα και υπερυπολογιστές. Τον Ιούνιο του 2014, 97% των 500 ισχυρότερων υπερυπολογιστών χρησιμοποιούσαν κάποια διανομή Linux. Το Linux χρησιμοποιείται κατά κόρον σε διακομιστές, αφού η καταγεγραμμένη χρήση του σε αυτούς για το 2008 ανέρχεται σε 60% του συνόλου της αγοράς. Σε ότι αφορά τους προσωπικούς υπολογιστές, η δημοφηλία των λειτουργικών συστημάτων Mac OS X ή Microsoft Windows είναι υψηλότερη, ενώ το αντίστοιχο ποσοστό του Linux είναι μόλις 5%. Τα τελευταία χρόνια παρατηρείται άνοδος του Linux και σε προσωπικούς υπολογιστές, χάρη στην πολύ καλύτερη υποστήριξη και συμβατότητα με τα διάφορα συστήματα και υλικά υπολογιστών απ ότι στο παρελθόν, καθώς και την αναβαθμισμένη αισθητικά και χρηστικά λειτουργικότητα των διάφορων διανομών. Μια από τις διανομές, την οποία θα χρησιμοποιήσουμε κιόλας είναι το Ubuntu. Άλλες δημοφιλής διανομές που κυκλοφορούν αυτήν την στιγμή είναι το Fedora, Debian, SuSE, Backtrack κ.α. Το Ubuntu είναι ένα λειτουργικό σύστημα Linux που είναι βασισμένο στο Debian Linux. Λέγεται πως είναι η πιο δημοφιλής διανομή που κυκλοφορεί αυτή τη στιγμή κι αυτό γιατί είναι μια από τις φιλικότερες προς το χρήστη διανομές Linux. Η εταιρία πίσω από το Ubuntu είναι η Canonical Ltd που για σχεδόν 10 χρόνια παρέχει τη διανομή δωρεάν. Στην περίπτωση της πτυχιακής μας βέβαια θα χρησιμοποιηθεί η server έκδοση του Ubuntu. 2.2 Εγκατάσταση Για τις ανάγκες της πτυχιακής μας εργασίας χρησιμοποιήσαμε την server έκδοση 12.04.2 LTS (Long-Term Support) η οποία θα υποστηρίζεται από την Canonical μέχρι σχεδόν το πρώτο τρίμηνο του 2017. Επιλέξαμε αυτήν την έκδοση διότι είναι μεγαλύτερης σταθερότητας και υποστήριξης και προτείνεται από την τεχνική στήριξη της εταιρίας για τέτοιου είδους χρήση. Φυσικά η έκδοση αυτή είναι της αρχιτεκτονικής των 64bit, διότι η server έκδοση του λειτουργικού δεν κυκλοφορεί σε 32bit. Το αρχείο που πήραμε ήταν της μορφής.iso. Ας προχωρήσουμε λοιπόν στην εγκατάσταση. Επιλέγοντας τον host computer μέσα από τον vsphere Client και στη συνέχεια την καρτέλα Summary όπου βλέπουμε ότι μας δίνεται η επιλογή δημιουργίας ενός νέου εικονικού μηχανήματος όπως φαίνεται στην εικόνα παρακάτω Εικόνα 16: Commands στην καρτέλα Summary του host 17

Ακόμα ένας τρόπος δημιουργίας ενός VM είναι ακολουθώντας τη διαδρομή File- >New->Virtual Machine. Εμφανίζεται το παράθυρο με τον οδηγό που βήμα-βήμα δημιουργείται το νέο εικονικό περιβάλλον. Η πρώτη επιλογή που πρέπει να κάνουμε είναι μεταξύ Typical και Custom, επιλέγουμε την 2 η φυσικά και προχωράμε. Στη συνέχεια μας ζητείται η ονομασία της εικονικής μηχανής που θα δημιουργηθεί, πληκτρολογούμε το όνομα το οποίο επιθυμούμε να έχει και πατάμε Next. Στο επόμενο βήμα καθορίζουμε τον δίσκο ο οποίος δεσμεύεται για το συγκεκριμένο εικονικό περιβάλλον, στην περίπτωση της πτυχιακής μας ο δίσκος ήταν μόνο ένας, επιλέγουμε αυτόν που επιθυμούμε και πατάμε Next. Η αμέσως επόμενη επιλογή είναι μεταξύ των εκδόσεων της εικονικής μηχανής, τσεκάρουμε την έκδοση 8 μιας και είναι η νεότερη και η μονή συμβατή με το ESXi 5. Οι εκδόσεις 4 και 7 είναι συμβατές με τις εκδόσεις 3 και 4 του ESXi αντίστοιχα και προχωράμε πατώντας Next. Τώρα χρειάζεται να επιλέξουμε το είδος του λειτουργικού που πρόκειται να εγκατασταθεί στο συγκεκριμένο VM, επιλέγουμε Linux και από το dropdown μενού Ubuntu Linux (64-bit) και πατάμε Next για τη συνέχεια. Στο βήμα αυτό μας ζητείται να ορίσουμε τα εικονικά sockets και τους πυρήνες του επεξεργαστή ανά socket. Για να καθορίσουμε το συνολικό αριθμό των πυρήνων, πολλαπλασιάστε τον αριθμό πυρήνων ανά υποδοχή με τον αριθμό εικονικών υποδοχών. Ο προκύπτων συνολικός αριθμός των πυρήνων είναι ένας αριθμός ίσος ή λιγότερος από τον αριθμό των λογικών πυρήνων στον host. π.χ. 2socketsx2cores=4 ή 1socketx4cores=4 στη δική μας περίπτωση ήταν 1socket6cores=6. Από τους συνολικά 16 πυρήνες επιλέγουμε τους 6, ένας σεβαστός αριθμός για το σκοπό που προορίζεται αυτός ο Server και γιατί οι συνολικοί πυρήνες του μηχανήματος πρέπει να μοιραστούν ανάλογα με την απαιτούμενη επεξεργαστική ισχύ του κάθε VM. Οι υπόλοιποι πυρήνες είναι διαθέσιμοι για μελλοντική χρήση όπως και για το ίδιο το ESXi. Προχωράμε στο επόμενο βήμα το οποίο μας ζητάει να προσδιορίσουμε το μέγεθος της μνήμης που θα έχει το εικονικό μηχάνημα, διαλέγουμε 2,5GB, το οποίο είναι το μέγιστο που συστήνεται για την καλύτερη απόδοση και αντιπροσωπεύει το κατώτατο όριο επάνω από το οποίο η φυσική μνήμη του οικοδεσπότη είναι ανεπαρκής να τρέξει η εικονική μηχανή με πλήρη ταχύτητα. Τέλος πατάμε Next για τη συνέχεια. Αμέσως μετά έχουμε να κάνουμε με την κάρτα δικτύου του VM. Στην ερώτηση για το πόσες κάρτες δικτύου θα συνδέσουμε στο σύστημα μας επιλέγουμε 1, για το NIC1 επιλέγουμε το VM Network διότι είναι η μόνη επιλογή που έχει για το guest OS. Στο επόμενο βήμα που μας ζητάει τον τύπο του SCSI Controller επιλέγουμε LSI Logic Parallel και πατάμε Next. Φτάνουμε στο σημείο που θα πρέπει να επιλέξουμε αν θα δημιουργηθεί ο εικονικός δίσκος του VM ή αν θα επιλέξουμε έναν ήδη υπάρχον. Εμείς θα δημιουργήσουμε έναν επιλέγοντας Create a new virtual disk και πατώντας Next θα μας ζητήσει το μέγεθος του δίσκου. Στην επιλογή Disk Provisioning βάλαμε το «Thick provision Lazy Zeroed» με αυτήν την επιλογή έχει όλο το χώρο που διατίθεται κατά το χρόνο δημιουργίας και το σύνολο του χώρου στο δίσκο είναι δεσμευμένο και μη διαθέσιμο για άλλο VM εκμηδενίζοντας τις πιθανότητες για λάθος. Το Location το αφήνουμε ως έχει δηλαδή εκεί που θα δημιουργηθεί το guest OS να δημιουργηθεί και ο δίσκος του και προχωράμε. Εδώ θα αφήσουμε την επιλογή SCSI και θα πατήσουμε Next. Φτάσαμε ένα βήμα πριν ολοκληρωθεί η δημιουργία του εικονικού μηχανήματος και πρέπει να πατήσουμε Finish αφού πρώτα ελέγξουμε τις τιμές που δώσαμε συνολικά για το VM. 18

Εικόνα 17: Ρυθμίσεις του VM για τον Ubuntu server Στην Εικόνα 17 φαίνονται οι ρυθμίσεις κατά τη δημιουργία της εικονικής μηχανής για τον Ubuntu server. Αργότερα υπάρχει η δυνατότητα π.χ. προσθήκης 2 ου δίσκου, 2 ης κάρτας δικτύου κ.α.. Για να ξεκινήσει η εγκατάσταση θα πρέπει να δείξουμε στον Client την θέση του iso αρχείου από την οποία θα διαβάσει για να εγκαταστήσει το λειτουργικό σύστημα, πρώτα όμως θα πρέπει να ξεκινήσουμε το VM επιλέγοντάς το και πατώντας το Power on the virtual machine ή το πράσινο κλασικό κουμπί Power on. Στη δική μας περίπτωση το αρχείο βρίσκεται σε έναν υπολογιστή στο ίδιο τοπικό δίκτυο με το φυσικό μηχάνημα. Για να προσδιορίσουμε την θέση του θα πρέπει να πατήσουμε το κουμπί του «δίσκου με κλειδί» όπως θα δείτε στην εικόνα παρακάτω από το μενού επιλογών των εικονικών μηχανών. Εικόνα 18: Σύνδεση CD/DVD στο VM Αφού το πατήσουμε, επιλέγουμε CD/DVD drive 1->Connect to ISO image on local disk και μας ανοίγει το κλασικό παράθυρο της εξερεύνησης των windows ώστε να ψάξουμε να 19

βρούμε και να επιλέξουμε τη θέση του iso image. Το επιλέγουμε και πατάμε άνοιγμα. Τώρα θα πρέπει να επανεκκινήσουμε το VM ώστε να κάνει boot από το iso image και να ξεκινήσει την εγκατάσταση. Εικόνα 19: Αρχική οθόνη εγκατάστασης του Ubuntu μέσα στην κονσόλα του Client Μετά την επανεκκίνηση του VM επιλέγουμε την καρτέλα Console για να εμφανιστεί η αρχική οθόνη εγκατάστασης του Ubuntu όπως φαίνεται στην Εικόνα 19. Επιλέγουμε Εγκατάσταση Ubuntu Server και πατάμε Enter. Η εγκατάσταση ξεκινάει φορτώνοντας αρχεία, γίνονται κάποιες διαδικασίες και φτάνουμε στο σημείο της ρύθμισης του δικτύου. Εικόνα 20: Network configuration (DHCP) Όπως βλέπουμε στην Εικόνα 20 δεν μπορεί το σύστημα να πάρει αυτόματα ρυθμίσεις για τη διεύθυνση IP από DHCP, οπότε θα πρέπει να βάλουμε χειροκίνητα την IP, μάσκα υποδικτύου, την προεπιλεγμένη πύλη και την διεύθυνση του DNS server. 20

Εικόνα 21: Network configuration Εικόνα 22: IP address Εικόνα 23: Netmask 21

Εικόνα 24: Default Gateway Εικόνα 25: DNS server Στις εικόνες 17-21 βλέπουμε τα παράθυρα ρυθμίσεων αυτών που προαναφέραμε. Συνεχίζεται η εγκατάσταση μεταφέροντας δεδομένα στο δίσκο όπως φαίνεται στην εικόνα παρακάτω. Εικόνα 26: Installation (Copying data to disk...) Κι αφού τελειώσει η εγκατάσταση μπορούμε να εισέλθουμε στο σύστημα για να το διαχειριστούμε. 22

Εικόνα 27: Παράθυρο εισόδου χρήστη 2.3 Εγκατάσταση εφαρμογών & παραμετροποίηση Για την ασφάλεια του λειτουργικού συστήματος επιβάλλεται να κάνουμε όλες τις ενημερώσεις και αφού τελειώσουμε θα ξεκινήσουμε με την εγκατάσταση των απαραίτητων εφαρμογών. Για την ενημέρωση του συστήματος χρησιμοποιήθηκαν οι παρακάτω εντολές: 1. sudo apt-get update: η εντολή αυτή ενημερώνει τη λίστα με τα πακέτα και την έκδοση αυτών 2. sudo apt-get upgrade: η εντολή αυτή κάνει εγκατάσταση των νέων πακέτων στο σύστημα (δίνοντας y για επιβεβαίωση) Για το σκοπό που προορίζεται το συγκεκριμένο μηχάνημα θα εγκαταστήσουμε τις παρακάτω εφαρμογές: Openssh Πακέτο εφαρμογών που παρέχει ασφαλή απομακρυσμένη σύνδεση μέσω του SSH πρωτοκόλλου Apache2 Εξυπηρετητής παγκόσμιου ιστού (web) MySQL Εφαρμογή διαχείρισης βάσεων δεδομένων phpmyadmin Εφαρμογή διαχείρισης της MySQL μέσω φυλλομετρητή ιστού Για την εγκατάσταση των παραπάνω εφαρμογών δόθηκαν οι παρακάτω εντολές αντίστοιχα: sudo apt-get install openssh-server Μετά την εγκατάσταση του openssh, για λόγους ασφαλείας, θα αλλάξουμε την προεπιλεγμένη πόρτα στην οποία ακούει το πρωτόκολλο SSH, η οποία είναι η 22, σε μια της αρεσκείας μας. Το αρχείο στο οποίο πρέπει να επέμβουμε είναι το sshd_config το οποίο βρίσκεται κάτω από /etc/ssh/. Αλλάζουμε τον αριθμό της πόρτας, σώζουμε το αρχείο και κάνουμε μια επανεκκίνηση την υπηρεσία. 23

Εικόνα 28: Αλλαγή πόρτας SSH sudo apt-get install apache2 sudo apt-get install mysql-server Κατά τη διάρκεια της εγκατάστασης της MySQL μας ζητείται, όπως φαίνεται στην εικόνα παρακάτω, να πληκτρολογήσουμε τον κωδικό του χρήστη root Εικόνα 29: Εισαγωγή κωδικού για τον χρήστη root της MySQL Αμέσως μετά μας ζητείται ξανά ο κωδικός για επιβεβαίωση. sudo apt-get install phpmyadmin Κατά τη διάρκεια της εγκατάστασης του phpmyadmin έχουμε να επιλέξουμε μεταξύ apache2 και lighttpd και επιλέγουμε apache2 αφού αυτόν τον web server έχουμε εγκαταστήσει νωρίτερα Εικόνα 30: Επιλογή web server για phpmyadmin 24

Για να δουλέψει το phpmyadmin πρέπει να συνεργαστεί με τη βάση δεδομένων μας. Επιλέγοντας ναι στην παρακάτω εικόνα, μας ζητείται ο κωδικός του χρήστη root που δώσαμε προηγουμένως για την MySQL. Αμέσως μετά μας ζητείται ακόμα ένας κωδικός για την εφαρμογή την ίδια, πληκτρολογούμε τον επιθυμητό κωδικό και προχωράμε. Εικόνα 31: Επιλογή συνεργασίας βάσης δεδομένων με phpmyadmin 2.4 Μεταφορά βάσεων δεδομένων, δημιουργία χρηστών & μεταφορά των αρχείων τους Για τις ανάγκες του τμήματος δημιουργήσαμε έναν νέο server ο οποίος θα στεγάζει τις πτυχιακές εργασίες των φοιτητών και θα μεταφέρουμε τις υπάρχουσες βάσεις δεδομένων από τον παλιό server στον καινούργιο, καθώς και θα δημιουργήσουμε τους λογαριασμούς χρηστών. 2.4.1 Μεταφορά βάσεων δεδομένων Για την μεταφορά των βάσεων δεδομένων θα χρησιμοποιήσουμε την εφαρμογή phpmyadmin για την εξαγωγή και εισαγωγή των βάσεων από τον παλιό στον καινούργιο server. Πληκτρολογώντας τη διεύθυνση ip_παλιού_server/phpmyadmin θα μας εμφανιστεί η παρακάτω σελίδα 25

Εικόνα 32: Σελίδα εισόδου phpmyadmin Αφού εισέλθουμε στο σύστημα, στα αριστερά θα δούμε μια λίστα με τις βάσεις δεδομένων που υπάρχουν στο σύστημα, αυτές πρέπει να μετακινηθούν στον καινούργιο server. Από το κεντρικό μενού στο πάνω μέρος της οθόνης επιλέγουμε εξαγωγή έτσι ώστε να εξάγουμε όλες τις βάσεις σε αρχεία με κατάληξη.sql. Αφού το πατήσουμε θα έχουμε την επιλογή ανάμεσα σε Γρήγορο και σε Προσαρμογή, επιλέγουμε το δεύτερο για παραπάνω παραμέτρους. Έχουμε τη δυνατότητα να εξάγουμε μια-μια, πολλές μαζί ή και όλες τις βάσεις ταυτόχρονα. Στη συγκεκριμένη περίπτωση θα επιλέξουμε όλες τις βάσεις. Πρέπει να προσέξουμε την κωδικοποίηση με την οποία θα εξάγουμε το αρχείο ώστε όταν θα κάνουμε την εισαγωγή να την κάνουμε με την ίδια κωδικοποίηση, αλλιώς υπάρχει περίπτωση να έχουμε πρόβλημα. Επίσης έχουμε τη δυνατότητα να συμπιέσουμε τα εξαγόμενα αρχεία ώστε να μειωθεί το μέγεθος τους. Οι υπόλοιπες επιλογές δεν μας ενδιαφέρουν, οπότε πατάμε εκτέλεση. Σώζουμε το αρχείο, που στην δική μας περίπτωση είναι το localhost.sql, κάπου στον σκληρό δίσκο μας. Είναι ένα και όχι πολλά γιατί επιλέξαμε όλες τις βάσεις για εξαγωγή. Εικόνα 33: Εξαγωγή βάσεων δεδομένων phpmyadmin 26

Τώρα που έχουμε το αρχείο με τις βάσεις θα εισέλθουμε στον καινούργιο server ώστε να τις εισάγουμε. Πληκτρολογώντας ip_νέου_server/phpmyadmin θα μας εμφανιστεί πάλι το παράθυρο που βλέπουμε στην Εικόνα 32. Θα εισέλθουμε στο σύστημα και θα επιλέξουμε από το κεντρικό μενού την καρτέλα εισαγωγή. Πατώντας αναζήτηση θα μας εμφανιστεί το παράθυρο εύρεσης στο οποίο θα επιλέξουμε το αρχείο localhost.sql. Προσέχουμε η κωδικοποίηση να είναι ίδια με αυτή της εξαγωγής και μετά πατάμε εκτέλεση. Αφού κάνουμε ανανέωση στη σελίδα θα δούμε πως αριστερά στη λίστα προστέθηκαν οι βάσεις δεδομένων. Εικόνα 34: Εισαγωγή βάσεων δεδομένων phpmyadmin Πλέον οι βάσεις δεδομένων υπάρχουν στον καινούργιο server έτοιμες για προσπέλαση. 2.4.2 Δημιουργία χρηστών & μεταφορά των αρχείων τους Ο server αυτός προσφέρεται στους σπουδαστές οι οποίοι αναλαμβάνουν πτυχιακές εργασίες με θέμα σχετικό με τα εργαλεία τα οποία είναι εγκατεστημένα σε αυτόν. Για το λόγο αυτό ο κάθε ένας από τους σπουδαστές χρειάζεται έναν λογαριασμό. Η δημιουργία των λογαριασμών για τον κάθε χρήστη ξεχωριστά είναι χρονοβόρα διαδικασία, για αυτό το λόγο ο διαχειριστής του παλιού server έφτιαξε ένα script το οποίο δημιουργούσε τον χρήστη, τον προσωπικό του φάκελο κάτω από το /var/www/, και την βάση δεδομένων μαζί με τον χρήστη αν δεν υπήρχε. Καλούμε το script με 3 παραμέτρους γράφοντας create_ptyx_user username password lastname_firstname. Τρέχοντάς το όπως φαίνεται παρακάτω δημιουργείται ο φάκελος username κάτω από το /var/www. Μέσα στον φάκελο username μεταφέρουμε όλα τα αρχεία τα οποία βρίσκονται στον παλιό server στον αντίστοιχο φάκελο αυτού του χρήστη. Π.χ. δημιουργώντας τον χρήστη Test. Είμαστε στον φάκελο στον οποίο βρίσκεται το script, πληκτρολογούμε./create_ptyx_user Test password test_user 27

Εικόνα 35: Δημιουργία χρήστη Εικόνα 36: Ο χρήστης Test Στην Εικόνα 36 βλέπουμε πως αμέσως μετά την εκτέλεση του script δημιουργήθηκε ο χρήστης Test. Επίσης βλέπουμε στην παρακάτω εικόνα πως δημιουργήθηκε και η βάση δεδομένων του χρήστη αυτού. Εικόνα 37: Η βάση δεδομένων του χρήστη Test Με αυτή τη διαδικασία δημιουργούμε όλους τους χρήστες που υπάρχουν στον παλιό server και μεταφέρουμε τα αρχεία του καθενός στον αντίστοιχο φάκελο τους στον νέο server. Χρησιμοποιώντας κάποιον SSH client αντιγράφουμε τον φάκελο που εμπεριέχει τους χρήστες από τον παλιό server τοπικά στο μηχάνημα που χρησιμοποιούμε και έπειτα τον αντιγράφουμε στο νέο server σε έναν φάκελο κάτω από /var/www. Για την μετακίνηση τους χρησιμοποιούμε την εντολή mv προέλευση προορισμός. Π.χ. mv./ptyxiakes/htdocs/test/*./test/ Πλέον ο server είναι έτοιμος και μπορεί να χρησιμοποιηθεί από τους φοιτητές του τμήματος όπου με την βοήθεια ενός οδηγού μεταφόρτωσης πτυχιακής εργασίας που τους παρέχεται από το διαχειριστή μπορούν να ανεβάσουν την πτυχιακή τους στον Server χωρίς δυσκολία. 28

3. Windows Server 2012 3.1 Λίγα λόγια για τα Windows Τα Windows της Microsoft είναι το πιο διαδεδομένο λειτουργικό σύστημα για προσωπικούς υπολογιστές με το μεγαλύτερο ποσοστό χρήσης ανά τον κόσμο. Αυτό συμβαίνει γιατί η Microsoft προσπαθεί να παρέχει όλο και πιο φιλικά προς το χρήστη περιβάλλοντα χρήσης. Στο πεδίο των servers τα πράγματα αλλάζουν διότι εδώ την κυρίαρχη θέση φαίνεται να έχει το Linux. Αντιθέτως με το Linux, τα Windows δεν παρέχονται δωρεάν. 3.2 Εγκατάσταση Στα πλαίσια συνεργασίας του τμήματος μας με την Microsoft είχαμε τη δυνατότητα να αποκτήσουμε δωρεάν κάποια από τα εργαλεία της. Έτσι, εκμεταλλευτήκαμε το γεγονός και κατεβάσαμε το.iso αρχείο των Windows Server 2012 για να το χρησιμοποιήσουμε στην πτυχιακή μας. Αφού κάψουμε το δισκάκι με το.iso αρχείο ξεκινάμε την εγκατάσταση. Ακολουθώντας την ίδια διαδικασία όπως αυτή στην εγκατάσταση του Ubuntu Server, δημιουργούμε ένα καινούργιο εικονικό μηχάνημα. Επιλέγοντας Custom πατάμε next για να ονομάσουμε τη νέα εικονική μηχανή. Πληκτρολογούμε το επιθυμητό όνομα αυτής και προχωράμε. Μας ζητείτε να επιλέξουμε τον δίσκο ο οποίος θα χρησιμοποιηθεί για το λειτουργικό που πρόκειται να εγκαταστήσουμε, από τη στιγμή που διαθέτουμε έναν, τον επιλέγουμε και συνεχίζουμε. Στην έκδοση της εικονικής μηχανής αφήνουμε την προεπιλογή μιας και είναι η νεότερη. Στον τύπο του λειτουργικού προς εγκατάσταση επιλέγουμε Windows και στην έκδοση επιλέγουμε Microsoft Windows Server 2012 (64bit). Στο επόμενο βήμα μας ζητείται να επιλέξουμε τον αριθμό των socket και των πυρήνων του επεξεργαστή, επιλέγουμε λοιπόν 1socketx7cores=7 διότι τα Windows είναι πολύ απαιτητικά σε πόρους και συνεχίζουμε. Στη συνέχεια επιλέγουμε το μέγεθος της μνήμης RAM, όπου βάλαμε 4GB για τον ίδιο λόγο που αναφέραμε στο προηγούμενο βήμα. Αμέσως μετά έχουμε να κάνουμε με την κάρτα δικτύου του VM. Στην ερώτηση για το πόσες κάρτες δικτύου θα συνδέσουμε στο σύστημα μας επιλέγουμε 1, για το NIC1 επιλέγουμε το VM Network διότι είναι η μόνη επιλογή που έχει για το guest OS Στο επόμενο βήμα που μας ζητάει τον τύπο του SCSI Controller επιλέγουμε LSI Logic Parallel και πατάμε next για τη συνέχεια. Αμέσως μετά έχουμε τη δυνατότητα να επιλέξουμε εάν θα δημιουργήσουμε ή αν θα χρησιμοποιήσουμε έναν ήδη υπάρχον δίσκο για το λειτουργικό, εμείς θέλουμε να δημιουργήσουμε έναν εικονικό δίσκο οπότε επιλέγουμε το Create a new virtual disk και πατώντας next μπορούμε να καθορίσουμε το μέγεθος του. Στις τιμές του Disk Provisioning και Location επιλέγουμε τις ίδιες με το Ubuntu και προχωράμε. Εδώ θα αφήσουμε την επιλογή SCSI και θα πατήσουμε Next. Τέλος έχουμε την σύνοψη του εικονικού μηχανήματος όπως φαίνεται στην παρακάτω εικόνα. 29

Εικόνα 38: Ρυθμίσεις του VM για τον Windows Server Μετά την δημιουργία του εικονικού μηχανήματος όπως φάνηκε παραπάνω συνδέουμε τον εικονικό οπτικό δίσκο του συστήματος με το.iso αρχείο των Windows όπως δείξαμε και στην εγκατάσταση του Ubuntu. Αφού το κάνουμε, πατάμε το κουμπί play για να ξεκινήσει το VM και επιλέγουμε console ώστε να έχουμε εικόνα όπως θα είχαμε σε έναν πραγματικό υπολογιστή. Πατώντας Install στο πρώτο παράθυρο που μας εμφανίζει η εγκατάσταση έχουμε τη δυνατότητα να επιλέξουμε μεταξύ του λειτουργικού με ή χωρίς γραφικό περιβάλλον. Επιλέγουμε με γραφικό περιβάλλον όπως φαίνεται στην εικόνα παρακάτω και προχωράμε. Εικόνα 39: Επιλογή του Λ/Σ με ή χωρίς γραφικό περιβάλλον Στο επόμενο βήμα επιλέγουμε τον έναν και μοναδικό δίσκο που έχει το σύστημα και πατάμε new ώστε να δημιουργηθεί το partition στο οποίο θα γίνει η εγκατάσταση. 30

Εικόνα 40: Δημιουργία partition για το σύστημα Αφού δημιουργηθεί το partition στο οποίο θα εγκατασταθούν τα Windows πατάμε next και ξεκινάει η εγκατάσταση όπως φαίνεται παρακάτω στην Εικόνα 41. Εικόνα 41: Εγκατάσταση των Windows Μετά το πέρας αυτής της διαδικασίας τα Windows είναι έτοιμα για χρήση. 31

3.3 Εγκατάσταση εφαρμογών Για την ασφάλεια του λειτουργικού συστήματος θα κάνουμε όλες τις ενημερώσεις όπως πρέπει και αφού τελειώσουμε θα ξεκινήσουμε με την εγκατάσταση των απαραίτητων εφαρμογών. Για το σκοπό που προορίζεται το συγκεκριμένο μηχάνημα θα εγκαταστήσουμε τις παρακάτω εφαρμογές: Adobe Reader XI (11.0.03): εφαρμογή προβολής των.pdf αρχείων DAEMON Tools Lite: εφαρμογή διαχείρισης εικονικών δίσκων Google Chrome: φυλλομετρητής ιστοσελίδων Java JDK: πακέτο εργαλείων ανάπτυξης της Java Microsoft SQL Server 2012: εφαρμογή διαχείρισης βάσεων δεδομένων Mozilla Firefox: φυλλομετρητής ιστοσελίδων MySQL Server 5.6: εφαρμογή διαχείρισης βάσεων δεδομένων Notepad++: σημειωματάριο με δυνατότητες προβολής αρχείων διαφόρων γλωσσών προγραμματισμού κ.α. OpenOffice 4: σουίτα εφαρμογών για διαχείριση εγγράφων κειμένο, λογιστικών φύλλων, παρουσιάσεων κ.α. WinSCP 5.1.7 (Portable): εφαρμογή που επιτρέπει την ασφαλή μεταφορά δεδομένων με διάφορα πρωτόκολλα σε κάποιο απομακρυσμένο μηχάνημα στο οποίο έχουμε συνδεθεί WinRAR 4.2: εφαρμογή διαχείρισης συμπιεσμένων αρχείων 32

4. FreeNAS 4.1 Λίγα λόγια για το FreeNAS Το FreeNAS είναι λογισμικό ανοιχτού κώδικα το οποίο παρέχει δωρεάν στο κοινό η εταιρία ixsystems. Το ΝΑS προέρχεται από το ακρωνύμιο των λέξεων Network Attached Storage, επισυναπτόμενος αποθηκευτικός χώρος που ανήκει σε ένα ευρύτερο δίκτυο. Στην ουσία παρέχει αποκλειστικά υπηρεσίες αποθήκευσης και ανάκτησης δεδομένων. Βασίζεται στο FreeBSD και το ZFS σύστημα αρχείων. Η διαχείριση του γίνεται πολύ εύκολα μέσω ενός web interface το οποίο είναι αρκετά φιλικό προς το χρήστη. Υποστηρίζει τα τρία πιο γνωστά λειτουργικά συστήματα, Windows, OS X και Unix-Linux και χρησιμοποιεί πρωτόκολλα όπως το CIFS (πρώην SMB), AFP, NFS, iscsi, SSH, Rsync, FTP-TFTP κ.α.. Παρέχεται τόσο στην έκδοση των 32bit όσο και των 64bit. 4.2 Εγκατάσταση Κατεβάσαμε την 9.1.1 64bit έκδοση του FreeNAS η οποία είναι σε μορφή.iso. Για να προχωρήσουμε θα πρέπει ή να κάψουμε το αρχείο αυτό σε ένα δισκάκι ή κατά την εγκατάσταση να το καλέσουμε από το μηχάνημα μας. Επειδή βρισκόμαστε εσωτερικά του δικτύου και η ταχύτητες είναι ικανοποιητικές επιλέγουμε να καλέσουμε το αρχείο από το μηχάνημα στο οποίο δουλεύουμε. Όπως με τα Ubuntu και Windows server έτσι και εδώ θα δημιουργήσουμε ένα νέο εικονικό μηχάνημα. Η διαδικασία είναι πανομοιότυπη με των παραπάνω. Στην Εικόνα 42 φαίνονται οι ρυθμίσεις του εικονικού μηχανήματος. Εικόνα 42: Ρυθμίσεις του VM για το FreeNAS 33

Ο κατασκευαστής προτείνει σαν ελάχιστο μέγεθος μνήμης RAM τα 8GB ενώ τα 16GB για καλύτερες επιδόσεις. Εμείς του δώσαμε 4GB λόγω περιορισμών που έχουμε στην μνήμη του μηχανήματος, αρκετή επεξεργαστική ισχύ με 8 πυρήνες και 10GB χώρο στο δίσκο. Προτείνεται 8GB, δίνοντάς του όμως 10GB εκμηδενίζουμε την περίπτωση «ασφυξίας». Πατώντας το κουμπί play για να ξεκινήσει το VM συνδέουμε το.iso αρχείο στο εικονικό CD-DVD ROM, κάνουμε επανεκκίνηση το VM και ξεκινάει η εγκατάσταση. Στις παρακάτω πέντε εικόνες θα φανεί η απλούστατη εγκατάσταση του FreeNAS Εικόνα 43: Κεντρικό μενού επιλογών του FreeNAS Εικόνα 44: Επιλογή δίσκου προς εγκατάσταση Εικόνα 45: Προειδοποιητικό μήνυμα διαγραφής δεδομένων του επιλεγμένου δίσκου 34

Εικόνα 46: Εξαγωγή δίσκου και επανεκκίνηση Εικόνα 47: Επανεκκίνηση μετά το τέλος της εγκατάστασης 4.3 Παραμετροποίηση Η εγκατάσταση είναι πολύ απλή και διαρκεί ελάχιστα. Αφού ολοκληρώθηκε και κάναμε επανεκκίνηση θα δούμε στην οθόνη μας το κεντρικό μενού ρυθμίσεων του FreeNAS όπως φαίνεται παρακάτω Εικόνα 48: Κεντρικό μενού ρυθμίσεων του FreeNAS 35

Το πρώτο πράγμα που θα χρειαστεί να κάνουμε είναι να ορίσουμε μια ip διεύθυνση ώστε να μπορούμε να έχουμε πρόσβαση στο web interface του FreeNAS. Επιλέγουμε το πρώτο, Configure Network Interfaces, και μας ζητάει να επιλέξουμε το interface το οποίο θέλουμε να τροποποιήσουμε από τη λίστα των διαθέσιμων που μας εμφανίζει. Στην περίπτωση μας είναι μόνο ένα οπότε πληκτρολογούμε το 1 και πατάμε enter. Στα επόμενα βήματα Delete interface?, Reset network configuration? και Configure interface for DHCP? πληκτρολογούμε n γιατί προφανώς δεν χρειάζεται να κάνουμε κάποια από αυτές τις ενέργειες και δίνουμε enter. Στην αμέσως επόμενη επιλογή Configure IPv4? πληκτρολογούμε y και δίνοντας enter δύο φορές μας ζητάει την διεύθυνση ip την οποία επιθυμούμε να δώσουμε, την πληκτρολογούμε και δίνουμε enter. Αμέσως μετά μας ζητείται η μάσκα δικτύου, την πληκτρολογούμε και δίνουμε πάλι enter. Για να συντομεύσουμε τη διαδικασία αυτήν θα μπορούσαμε να δώσουμε την μάσκα δικτύου μαζί με την διεύθυνση ip, π.χ. 192.168.1.2/24. Η τελευταία ερώτηση είναι η Configure IPv6? στην οποία δίνουμε n γιατί και πάλι δεν χρειάζεται να τροποποιήσουμε κάτι και στη συνέχεια δίνουμε enter. Εικόνα 49: Αλλαγή ip διεύθυσης στο FreeNAS 36

Και τώρα μπορούμε να επισκεφτούμε το web interface του FreeNAS πληκτρολογώντας τη διεύθυνση ip που του δώσαμε σε έναν φυλλομετρητή. Εικόνα 50: Η πρώτη είσοδος στο web interface του FreeNAS Με μια πρώτη ματιά θα διαπιστώσουμε πως αναβοσβήνει μια κόκκινη λυχνία πάνω δεξιά. Πατώντας την μας εμφανίζει το μήνυμα που φαίνεται στην παρακάτω εικόνα προειδοποιώντας μας να εισάγουμε κωδικό πρόσβασης για το χρήστη Admin και πως αυτή τη στιγμή δεν υπάρχει κανένας κωδικός, γι αυτό και δεν μας ζητήθηκε τίποτα στην αρχή για την είσοδο μας στο web interface του FreeNAS. Εικόνα 51: Προειδοποιητικό μήνυμα 37

Εικόνα 52: Αλλαγή κωδικού Admin Στην Εικόνα 52 φαίνεται πως αφού πληκτρολογήσουμε τον επιθυμητό κωδικό πρόσβασης για τον χρήστη Admin στα πεδία που εμφανίζονται κάτω από το μενού Account Admin Account Change Password, η λυχνία από κόκκινη γίνεται πράσινη και ένα μήνυμα εμφανίζεται στο πάνω μέρος της οθόνης που μας ενημερώνει ότι η ενέργεια εκτελέστηκε επιτυχώς. Σχετικά μηνύματα θα εμφανίζονται σε κάθε αλλαγή που θα κάνουμε, είτε αυτά μας ενημερώνουν για επιτυχή αλλαγή κάποιας παραμέτρου είτε για λάθος. Στη συνέχεια θα πάμε στις ρυθμίσεις δικτύου Network Global Configuration για να ενημερώσουμε το πεδίο που αφορά τον DNS server. Έχουμε τη δυνατότητα να δώσουμε 3 διαφορετικούς στα πεδία Nameserver 1,2 και 3. Η πρώτη μας επιλογή είναι ο DNS server του Τ.Ε.Ι. και η δεύτερη είναι ο DNS server της Google που τον παρέχει ελεύθερα στο κοινό. Εικόνα 53:Ρυθμίσεις δικτύου (DNS servers) Αφού τελειώσουμε με τους κωδικούς και τους DNS servers, προχωράμε στη δημιουργία ομάδων και χρηστών. Στο μενού Account Groups έχουμε τη δυνατότητα να προσθέσουμε και να δούμε τα Groups. Πατώντας Add Group εμφανίζεται το παράθυρο δημιουργίας ενός Group. Στο Group ID αν θέλαμε κάτι συγκεκριμένο θα αλλάζαμε τον προεπιλεγμένο αριθμό, στην προκειμένη τον αφήνουμε ως έχει. Στο Group Name πληκτρολογούμε το επιθυμητό όνομα για το Group που θα δημιουργήσουμε. Επειδή σε αυτό θα ανήκουν οι καθηγητές του τμήματος θα το ονομάσουμε teachers. 38

Εικόνα 54: Δημιουργία Group Στη συνέχεια θα δημιουργήσουμε τους χρήστες πηγαίνοντας στο μενού Account Users. Και πάλι έχουμε τη δυνατότητα να δημιουργήσουμε και να δούμε τους χρήστες. Θα πατήσουμε στο Add User για να δημιουργήσουμε τον πρώτο χρήστη. Όπως και το Group ID έτσι και το User ID θα το αφήσουμε ως έχει. Στο πεδίο Username θα εισάγουμε το όνομα χρήστη που επιθυμούμε. Στο πεδίο Create a new primary group for the user δεν τσεκάρουμε το checkbox γιατί οι χρήστες που θα δημιουργήσουμε θα ανήκουν στο Group teachers. Αν θα το αφήναμε τσεκαρισμένο θα δημιουργούσε Group με όνομα ίδιο με το αυτό του χρήστη. Στο Primary Group επιλέγουμε teachers. Το Home Directory το αφήνουμε προς το παρόν ως έχει, θα το αλλάξουμε αργότερα. Στο πεδίο Shell επιλέγουμε το κέλυφος της προτίμησης μας ανάμεσα σε εννιά γνωστά. Στο Full Name πληκτρολογούμε, προαιρετικά, το ονοματεπώνυμο του χρήστη. Στο E-mail πληκτρολογούμε και πάλι προαιρετικά τη διεύθυνση email. Στη συνέχεια στα πεδία Password και Password confirmation πληκτρολογούμε τον κωδικό του χρήστη και ξανά τον ίδιο για επιβεβαίωση αντίστοιχα. Τα υπόλοιπα δεν μας ενδιαφέρουν οπότε πατάμε στο ΟΚ για να δημιουργηθεί ο χρήστης. Εικόνα 55: Δημιουργία χρήστη 39

Αφού δημιουργήσαμε όλους τους χρήστες με τον ίδιο τρόπο, θα πρέπει τώρα να δημιουργήσουμε φακέλους για τον καθένα τους. Πρώτα όμως θα πρέπει να δώσουμε στο FreeNAS χώρο για την αποθήκευση των δεδομένων των χρηστών. Για να το πετύχουμε αυτό θα πρέπει να επεξεργαστούμε τις ρυθμίσεις του VM ώστε να προσθέσουμε έναν σκληρό δίσκο με μια αρκετά μεγάλη χωρητικότητα μιας και μιλάμε για δεδομένα χρηστών. Αφού το κάνουμε θα δούμε πως στο μενού Storage Volumes View Disks θα μας εμφανίσει μια γραμμή με το δίσκο που προσθέσαμε όπως φαίνεται στην εικόνα παρακάτω Εικόνα 56: Εισαγωγή σκληρού δίσκου στο FreeNAS Εικόνα 57: ZFS Volume Manager Αφού εισαχθεί ο σκληρός στο σύστημα θα πρέπει να τον κάνουμε προσβάσιμο από αυτό, αυτό επιτυγχάνεται δημιουργώντας ένα volume το οποίο στη συνέχεια θα χωριστεί σε πολλά μικρά κομμάτια για να δοθεί σε κάθε χρήστη. Πηγαίνοντας στο μενού Storage Volumes View Volumes θα δούμε πως δεν υπάρχει ακόμα κανένα διαθέσιμο. Πατώντας στο ZFS Volume Manager θα μας εμφανιστεί το παράθυρο δημιουργίας ενός ZFS volume. Στο πεδίο Volume Name πληκτρολογούμε το όνομα του volume. Υπάρχει η δυνατότητα κρυπτογράφησης αυτού αλλά στην προκειμένη περίπτωση μας είναι αδιάφορο. Παρακάτω θα δούμε τους διαθέσιμους σκληρούς δίσκους, στη δική μας περίπτωση είναι μόνο ένας και αν πατήσουμε στο κουμπάκι με το + από μπροστά του θα προστεθεί ώστε να επιλεγεί το μέγεθος προς προσάρτηση. Στο Volume layout αφού σύρουμε το κυκλικό κουμπάκι προς τα δεξιά για να επιλεγεί όλος ο χώρος του δίσκου θα δούμε πως αυτόματα εμφανίζεται η επιλογή Stripe. Στο dropdown μενού θα δούμε πως υπάρχουν και άλλες επιλογές όπως Mirror, RAIDZ1, RAIDZ2 και RAIDZ3 όπου για το Mirror χρειάζονται τουλάχιστον δύο δίσκοι, για το RAIDZ1 τουλάχιστον τρεις, για το RAIDZ2 τουλάχιστον τέσσερεις και για το RAIDZ3 τουλάχιστον πέντε. Οπότε καταλαβαίνετε πως με έναν δίσκο η μόνη επιλογή που θα μπορούμε να βάλουμε είναι η Stripe. Στην περίπτωση που αντί για έναν δίσκο είχαμε δύο θα είχαμε τη δυνατότητα να επιλέξουμε το Mirror ώστε να υπάρχει μια ελάχιστη ασφάλεια στα δεδομένα μας. Στο τέλος πατάμε το κουμπί Add Volume και είναι έτοιμο σε λίγα δευτερόλεπτα. 40

Ο λόγοι για τους οποίους επιλέξαμε ZFS (Z File System) αντί για UFS (Unix File System) είναι οι παρακάτω. Πρώτα απ όλα το ZFS είναι ένα καινούργιο σύστημα αρχείων σε σχέση με το UFS που είναι παλιό. Είναι στην ουσία file system μαζί με volume manager. Υποστηρίζει μεγάλης χωρητικότητας δίσκους και παρέχει ασφάλεια για αποφυγή καταστροφής των δεδομένων, αποτελεσματικούς αλγορίθμους συμπίεσης δεδομένων, απεριόριστα στιγμιότυπα, κλώνους, συνεχόμενο έλεγχο ακεραιότητας και αυτόματη διόρθωση όπως και RAID-Z. Εικόνα 58: ZFS Volume ii_teachers Τώρα θα πρέπει να χωρίσουμε το volume σε τόσα κομμάτια όσοι είναι και οι χρήστες. Πατώντας το κουμπί Create ZFS Dataset όπως φαίνεται στην Εικόνα 59, Εικόνα 59: Κουμπί δημιουργίας ZFS Dataset Εικόνα 60: Δημιουργία ZFS Dataset 41

θα εμφανιστεί το παράθυρο της Εικόνας 60 όπου θα μας ζητάει το όνομα του Dataset, το επίπεδο συμπίεσης, το αν θέλουμε να γράφεται σε log αρχείο η ώρα διαβάσματος ενός αρχείου που καλό είναι να το τοποθετήσουμε στο Off ώστε να γλιτώσουμε κίνηση στο δίκτυο, το μέγιστο μέγεθος του φακέλου που δημιουργούμε όπως και των υποφακέλων, την δέσμευση μεγέθους για το συγκεκριμένο φάκελο και τους υποφακέλους του. Οι δύο τελευταίες επιλογές δεν μας ενδιαφέρουν και τις αφήνουμε ως έχουν. Με την ίδια ακριβώς διαδικασία δημιουργούμε τα απαιτούμενα datasets. Χρειαζόμαστε ένα για κάθε καθηγητή και ένα το οποίο θα είναι κοινόχρηστο για όλους τους καθηγητές. Σε αυτό θα παίξουν σημαντικό ρόλο τα δικαιώματα του κάθε χρήστη. Επιλέγοντας το ii_teachers και πατώντας το κουμπί Change Permissions θα μας εμφανιστεί το παράθυρο της Εικόνας 61. Στο γενικό volume ii_teachers owner (user) θα είναι ο χρήστης root και owner (group) το group teachers ώστε να έχουν πρόσβαση όλοι όσοι ανήκουν στη συγκεκριμένη ομάδα. Δικαιώματα διαβάσματος, εγγραφής και εκτέλεσης έχει ο ιδιοκτήτης όπως και το group, κανένας άλλος. Εικόνα 61: Δικαιώματα Dataset ii_teachers Για το κοινόχρηστο Dataset θα έχουμε σαν owner (user) το χρήστη root και owner (group) το group teachers ώστε να έχουν πρόσβαση όλοι όσοι ανήκουν στη συγκεκριμένη ομάδα. Δικαιώματα διαβάσματος, εγγραφής και εκτέλεσης έχει ο ιδιοκτήτης όπως και το group, κανένας άλλος. 42

Εικόνα 62: Δικαιώματα Dataset κοινόχρηστου Για τους χρήστες θα κάνουμε μια μικρή αλλαγή στα δικαιώματα. Για το Dataset rantos θα έχουμε σαν owner (user) το χρήστη krantos και owner (group) το group teachers. Δικαιώματα διαβάσματος, εγγραφής και εκτέλεσης έχει μόνο ο ιδιοκτήτης. Στην περίπτωση αυτή είτε επιλέξουμε teachers είτε nobody είτε nogroup στο group είναι το ίδιο από τη στιγμή που δεν έχει κανένα δικαίωμα στο φάκελο. Εικόνα 63: Δικαιώματα Dataset Χρήστη 43

Τα ίδια ακριβώς δικαιώματα έχουν όλοι υπόλοιποι χρήστες στους αντίστοιχους φακέλους. Ο κάθε χρήστης έχει πρόσβαση στον δικό του προσωπικό φάκελο αλλά και στον κοινόχρηστο. Δεν έχει πρόσβαση σε κανέναν άλλο φάκελο. Για κάθε χρήστη που έχουμε δημιουργήσει κι αφού έχουμε δημιουργήσει και τον αντίστοιχο φάκελο του, θα πρέπει να αντιστοιχήσουμε το χρήστη με τον προσωπικό του κατάλογο. Αυτό θα το κάνουμε για λόγους ευκολίας π.χ. σε συνδέσεις SSH ο κάθε χρήστης να συνδέεται αυτομάτως στο δικό του home directory. Πηγαίνοντας στο μενού Account Users και επιλέγοντας π.χ. τον χρήστη krantos θα μας εμφανιστεί το παράθυρο επεξεργασίας του χρήστη όπως φαίνεται στην Εικόνα 64, εκεί θα αλλάξουμε το Home Directory που είχαμε αφήσει προηγουμένως από /nonexistent σε /mnt/ii_teachers/rantos. Ακολουθούμε την ίδια διαδικασία για όλους τους χρήστες. Εικόνα 64: Αλλαγή Home Directory 44

Και για το τέλος αυτό που μας μένει είναι να δημιουργήσουμε το λεγόμενο share που μέσω του πρωτοκόλλου CIFS θα εμφανίζει τους φακέλους. Εικόνα 65: Δημιουργία CIFS Share Στο μενού Sharing Windows (CIFS) Shares έχουμε δύο επιλογές, τη δημιουργία και την προβολή των shares. Εμείς για να δημιουργήσουμε το share που χρειαζόμαστε θα πατήσουμε στο Add Windows (CIFS) Share και θα μας εμφανιστεί το παράθυρο δημιουργίας του share όπως φαίνεται παραπάνω. Εδώ συμπληρώνουμε το όνομα του share, όπως δηλαδή θα μας εμφανιστεί π.χ. στην εξερεύνηση αρχείων των Windows, κάποιο σχόλιο για το share, το μονοπάτι το οποίο θα συνδέει και διάφορες άλλες επιλογές. Αν είχαμε έναν file server ο οποίος θα ήταν ανοιχτός προς όλους χωρίς κωδικούς και δικαιώματα τότε θα μπορούσαμε να τσεκάρουμε την επιλογή Allow Guest Access. Το μόνο που μας μένει είναι να ανοίξουμε την εξερεύνηση των Windows και να πληκτρολογήσουμε στη γραμμή διεύθυνσης \\ip_freenas ώστε να μας εμφανιστεί ο φάκελος ii_teachers. Εικόνα 66: Φάκελος ii_teachers 45

Εικόνα 67: Εισαγωγή διαπιστευτηρίων για είσοδο στο φάκελο ii_teachers Εικόνα 68: Φάκελοι χρηστών και κοινόχρηστος φάκελος 46

5. Penetration testing Το κάθε ένα από τα τρία συστήματα που στήθηκαν, Windows Server, Ubuntu Server και FreeNAS ελέγχθηκαν ξεχωριστά για τρωτά σημεία, αδυναμίες κλπ με τις εφαρμογές OpenVas, Greenbone σε περιβάλλον BackTrack Linux. Εκτός του FreeNAS το οποίο βρίσκεται πίσω από το pfsense και για το οποίο δεν εντοπίστηκε απολύτως τίποτα όπως και για τα Windows, για τα Ubuntu εντοπίστηκαν αδυναμίες επιπέδου Low, στην ουσία ασήμαντες που απλά μας ενημερώνει πως υπάρχουν χωρίς να δημιουργούν προβλήματα. Η καλύτερη λύση για τη μέγιστη ασφάλεια και των τριών συστημάτων θα ήταν να μεταφερθούν όλα πίσω από το pfsense. Τα αποτελέσματα του penetration testing για τα Windows Server και Ubuntu Server φαίνονται στις παρακάτω δύο εικόνες αντίστοιχα Εικόνα 69: Αποτελέσματα penetration testing των Windows Server 47

Εικόνα 70: Αποτελέσματα penetration testing του Ubuntu Server Εικόνα 71: Αποτελέσματα επιπέδου Low για τον Ubuntu Server 48