Το προφίλ μας στο Google Plus
11

Το δικό σας openSUSE, εκεί ψηλά!

Έχει γεμίσει το cloud με hosts που τρέχουν Ubuntu, φίλες και φίλοι. Σκοντάφτουμε επίσης διαρκώς και σε εγκαταστάσεις με Debian ή CentOS, αλλά το openSUSE πού είναι; Η διανομή Linux που δέχεται διαρκώς κι επιμελώς updates από τη στιβαρή, εταιρική εκδοχή server της SUSE, πού στο καλό κρύβεται στο cloud;

Επίμονα τα ερωτήματα κι αναζητούν εναγωνίως απάντηση. Προσφάτως είπαμε να σταματήσουμε ν’ αναρωτιόμαστε κι αποφασίσαμε να ψάξουμε το θέμα λίγο καλύτερα. Γρήγορα υποψιαστήκαμε ότι αυτή η, φαινομενική τουλάχιστον, απουσία του openSUSE από το cloud, ίσως οφείλεται εν μέρει στο ότι VPS providers όπως η DigitalOcean δεν το περιλαμβάνουν στις διαθέσιμες επιλογές για guest OS. Υπάρχουν όμως κι άλλοι μεγάλοι παίκτες του χώρου, όπως είναι η Linode, οι οποίοι έχουν ήδη ξεκινήσει να προσφέρουν το openSUSE ως επιλογή. Εκτός από δημοφιλείς providers βρίσκουμε κι άλλους, λιγότερο γνωστούς αλλά σίγουρα αξιόλογους, οι οποίοι στα VPS και στους physical servers που ενοικιάζουν υποστηρίζουν και το openSUSE. Κατά νου έχουμε τη Γερμανική Hetzner Online, μια εταιρεία με datacenters σε Νυρεμβέργη και Φρανκφούρτη στα οποία, παρεμπιπτόντως, χρησιμοποιούνται αποκλειστικά ανανεώσιμες πηγές ενέργειας.

Το openSUSE πάντως εξακολουθεί να μην είναι το OS που περιμένεις να τρέχει ένας server στο cloud. Ίσως το φαινόμενο να οφείλεται στο documentation — και συγκεκριμένα στην έλλειψη αυτού. Θα γνωρίζετε την κατάσταση με το Ubuntu: Όποιο θέμα κι αν σκεφτούμε, όποιο εγχείρημα κι αν ξεκινήσουμε, το πιθανότερο είναι ότι θα βρούμε να διαβάσουμε σχετικά guides και HOWTOs. Αν και σε μικρότερο βαθμό, το ίδιο ισχύει και για άλλες διανομές Linux όπως, π.χ., είναι το Debian, το Fedora ή το CentOS. Για το openSUSE, όμως; Χμ, για το openSUSE ισχύει το “Καλή τύχη”. Ας μη γελιόμαστε: Το πλούσιο documentation για μια διανομή Linux όχι μόνο κρατάει τους υπάρχοντες χρήστες κοντά της, αλλά της φέρνει και νέους χρήστες. Φυσικά, ισχύει και το αντίστροφο.

Θα μπορούσαμε να παρομοιάσουμε τις διανομές Linux με πλανήτες και το documentation με την ατμόσφαιρα ενός πλανήτη. Φανταστείτε λοιπόν ότι έχετε την ευκαιρία να επισκεφτείτε έναν πλανήτη. Θα πηγαίνατε σε κάποιον με αραιή ή καθόλου ατμόσφαιρα ή σε κάποιον με πλούσια ατμόσφαιρα όπου μάλιστα μπορείτε άνετα ν’ αναπνέετε, χωρίς ειδικό εξοπλισμό; Αν είσαστε ήδη σε έναν τέτοιο πλανήτη, πόσο εύκολα θα τον εγκαταλείπατε για κάποιον άλλον με φτωχότερη ατμόσφαιρα; Ας πούμε ότι αισθάνεστε περιπετειώδεις κι αποφασίζετε να πάτε σε έναν πλανήτη με όχι-και-τόσο-καλή ατμόσφαιρα. Έτσι, για την εμπειρία. Με όλον τον απαραίτητο εξοπλισμό βάζετε μπρος και κάποια στιγμή φτάνετε σ’ αυτόν τον άλλον πλανήτη, με την αραιή ατμόσφαιρα. Μάλιστα. Για πείτε μας τώρα, πόσο θα μείνετε εκεί;

Ο πλανήτης του openSUSE, φίλες και φίλοι, είναι πολύ όμορφος κι ενδιαφέρων και χωρίς ιδιαίτερη σεισμική ή ηφαιστειακή δραστηριότητα, θα μπορούσε όμως να ‘χει καλύτερη ατμόσφαιρα. Το γιατί δεν έχει καλύτερη ατμόσφαιρα δεν θα μας απασχολήσει ιδιαίτερα. Είναι που δεν είμαστε κοσμολόγοι, ούτε καν γεωλόγοι. Και πριν αυτή η παρομοίωση πάψει να ‘ναι χρήσιμη και γίνει απλά ενοχλητική, ας επιστρέψουμε στο προκείμενο. Και το προκείμενο είναι ότι το openSUSE δεν συναντάται τόσο συχνά στο cloud, εν πολλοίς διότι η ατμόσφαιρα –sorry, το διαθέσιμο documentation εννοούμε– άνετα θα μπορούσε να ‘ναι πλουσιότερο.

Αντί να καθόμαστε και να θεωρητικολογούμε και να καταλήγουμε σε μάλλον αδιάφορες διαπιστώσεις, τι θα λέγατε να σηκώσουμε τα μανίκια και να πιάσουμε δουλειά; Εννοούμε βεβαίως να στρωθούμε και να γράψουμε documentation για το openSUSE. Όχι για να κατεβάσουμε άλλες διανομές από τα βάθρα τους στο cloud, αλλά γιατί ίσως πείσουμε μερικούς από εσάς να επιλέξετε το openSUSE για το επόμενο VPS σας. Αν το πετύχουμε θα χαρούμε, ενώ κι εσείς σίγουρα δεν θα το μετανιώσετε.

Το παρόν άρθρο είναι το πρώτο μιας νέας μίνι σειράς του deltaHacker. Στο πλαίσιό της θ’ αναπτύξουμε θέματα που ενδιαφέρουν όσους έχουν –ή σκέφτονται ν’ αποκτήσουν– VPS με openSUSE, επιθυμώντας να στήσουν το site τους ή γενικά κάποια web εφαρμογή. Αναλυτικότερα, στο πρώτο άρθρο ασχολούμαστε με τα ακόλουθα:

  • αγορά VPS με openSUSE, από τη Hetzner Online
  • πρώτη απομακρυσμένη σύνδεση και ρυθμίσεις
  • ενίσχυση της ασφάλειας
  • βασικές εργασίες διαχείρισης συστήματος
  • λήψη snapshot (προαιρετικό)

Χωρίς άλλες περιστροφές, ας περάσουμε επιτέλους στο προκείμενο.

VPS με openSUSE από τη Hetzner
Δεν έχει νόημα να σας δείξουμε πώς ακριβώς αγοράζετε VPS από τη Hetzner. Αξίζει όμως να σημειώσουμε ευθύς εξαρχής ότι θα εκπλαγείτε ευχάριστα με τις τιμές. Η εταιρεία ονομάζει τα VPS που προσφέρει vServers και διαθέτει έξι διαφορετικά μοντέλα. Το πιο φθηνό, το CX10, διαθέτει έναν εικονικό επεξεργαστή, 1GB RAM, δίσκο SSD στα 25GB, 2TB δωρεάν traffic κι ένα δωρεάν snapshot. Όλα αυτά με κόστος 3,90 ευρώ ανά μήνα χωρίς ΦΠΑ, επομένως 4,80 ευρώ/μήνα τελική τιμή. Δεν θέλουμε τώρα να κάνουμε συγκρίσεις με άλλους γνωστούς VPS providers, δείτε όμως το κόστος και τα χαρακτηριστικά ανάλογων VPS από άλλες εταιρείες. Μπορεί η διαφορά κόστους για τα εισαγωγικά VPS να ‘ναι μικρή, διευρύνεται όμως αισθητά με τα μεγαλύτερα VPS. Εμείς, π.χ., αυτή τη στιγμή έχουμε δύο:

  • ένα CX20 (2 cores, 2GB RAM, 50GB SSD, 5TB traffic, 2 δωρεάν snapshots) για 10,10 ευρώ/μήνα τελική τιμή
  • ένα CX30 (2 cores, 4GB RAM, 100GB SSD, 8TB traffic, 3 δωρεάν snapshots) για 17,47 ευρώ/μήνα τελική τιμή

Στο CX30 έχουμε ήδη μεταφέρει δύο sites μας, ενώ πρόκειται να μεταφέρουμε και το deltahacker.gr. Το δε CX20 το χρησιμοποιούμε πειραματικά, κυρίως ως πλατφόρμα δοκιμών για άρθρα που ετοιμάζουμε για το περιοδικό — καλή ώρα όπως αυτό.

Σημείωση. Κατά την αγορά VPS από τη Hetzner Online υποδεικνύουμε το guest OS που θέλουμε να τρέχει. Οι επιλογές μας είναι Windows, Fedora, CentOS, Ubuntu, Debian και βεβαίως openSUSE Leap.

Λίγα λεπτά μετά την αρχικοποίηση νέου VPS από τη Hetzner λαμβάνουμε σχετικό ενημερωτικό email. Στο μήνυμα αναφέρονται ο τύπος του VPS, το δημόσιο IP του και το προσωρινό συνθηματικό του χρήστη root. Εννοείται ότι, αφού συνδεθούμε μέσω SSH στον server, η πρώτη μας δουλειά θα είναι ν' αλλάξουμε το εν λόγω password. Εναλλακτικά, κατά τη δημιουργία VPS έχουμε τη δυνατότητα να υποδείξουμε το δημόσιο κλειδί SSH του τοπικού μας χρήστη, το οποίο θα προστεθεί στο αρχείο .ssh/authorized_keys του απομακρυσμένου root. Έτσι, από τον *συγκεκριμένο* τοπικό λογαριασμό θα συνδεόμαστε στον απομακρυσμένο λογαριασμό του root χωρίς πληκτρολόγηση password.

Λίγα λεπτά μετά την αρχικοποίηση νέου VPS από τη Hetzner λαμβάνουμε σχετικό ενημερωτικό email. Στο μήνυμα αναφέρονται ο τύπος του VPS, το δημόσιο IP του και το προσωρινό συνθηματικό του χρήστη root. Εννοείται ότι, αφού συνδεθούμε μέσω SSH στον server, η πρώτη μας δουλειά θα είναι ν’ αλλάξουμε το εν λόγω password. Εναλλακτικά, κατά τη δημιουργία VPS έχουμε τη δυνατότητα να υποδείξουμε το δημόσιο κλειδί SSH του τοπικού μας χρήστη, το οποίο θα προστεθεί στο αρχείο .ssh/authorized_keys του απομακρυσμένου root. Έτσι, από τον συγκεκριμένο τοπικό λογαριασμό θα συνδεόμαστε στον απομακρυσμένο λογαριασμό του root χωρίς πληκτρολόγηση password. Περισσότερα για τα passwordless SSH logins μπορείτε να διαβάσετε εδώ.

Προαιρετικά, αν διαθέτουμε κάποιο domain τότε μπορούμε να αντιστοιχίσουμε το ίδιο ή κάποιο subdomain του στο νέο VPS. Στο παράδειγμα, από το web panel του nameserver που συνοδεύει τον προσωπικό μας mailserver, στο νέο VPS έχουμε αντιστοιχίσει το subdomain με όνομα vatnajokull.colder.xyz. Έτσι, αντί για το IP του VPS αρκεί να πληκτρολογούμε το πολύ πιο απλό vatnajokull.colder.xyz :P

Προαιρετικά, αν διαθέτουμε κάποιο domain τότε μπορούμε να αντιστοιχίσουμε το ίδιο ή κάποιο subdomain του στο νέο VPS. Στο παράδειγμα, από το web panel του nameserver που συνοδεύει τον προσωπικό μας mailserver, στο νέο VPS έχουμε αντιστοιχίσει το subdomain με όνομα vatnajokull.colder.xyz. Έτσι, αντί για το IP του VPS αρκεί να πληκτρολογούμε το πολύ πιο απλό vatnajokull.colder.xyz :P

Μια όψη του web panel της Hetzner, όπου φαίνονται τα δύο VPS μας. Θα παρατηρήσετε ότι το web panel δεν είναι ό,τι πιο εύχρηστο ή 'διαισθητικό' υπάρχει Εκεί Έξω (TM). Προσφέρει μολαταύτα ένα πλούσιο σύνολο λειτουργιών στον ενδιαφερόμενο χρήστη. Δείτε, π.χ., ότι παρέχεται δυνατότητα για αυτόματες ειδοποιήσεις μέσω email, κάθε φορά που ξεπερνιούνται συγκεκριμένα όρια στη διακίνηση των πακέτων.

Μια όψη του web panel της Hetzner, όπου φαίνονται τα δύο VPS μας. Θα παρατηρήσετε ότι το web panel δεν είναι ό,τι πιο εύχρηστο ή “διαισθητικό” υπάρχει Εκεί Έξω (TM). Προσφέρει μολαταύτα ένα πλούσιο σύνολο λειτουργιών στον ενδιαφερόμενο χρήστη. Δείτε, π.χ., ότι παρέχεται δυνατότητα για αυτόματες ειδοποιήσεις μέσω email, κάθε φορά που ξεπερνιούνται συγκεκριμένα όρια στη διακίνηση των πακέτων.

Ένας γρήγορος έλεγχος για το (α) αν το DNS resolving δουλεύει, (β) το VPS μας είναι προσβάσιμο από το Internet.

Ένας γρήγορος έλεγχος για το (α) αν το DNS resolving δουλεύει, (β) το VPS μας είναι προσβάσιμο από το Internet.

Από το web panel της Hetzner παρέχεται κονσόλα VNC για καθένα από τα VPS μας. Στο screenshot φαίνεται ξεκάθαρα ότι το λειτουργικό του VPS (openSUSE Leap) έχει φορτώσει επιτυχώς. Αν θέλουμε συνδεόμαστε στο λογαριασμό του root μέσω της κονσόλας, πληκτρολογώντας το αντίστοιχο συνθηματικό. Είναι όμως πολύ πιο βολικό να συνδεόμαστε μέσω SSH από τον αγαπημένο μας client ή απλά από τη γραμμή εντολών ενός τερματικού. Εμείς αυτό ακριβώς κάνουμε, οπότε αυτό και σας προτείνουμε.

Από το web panel της Hetzner παρέχεται κονσόλα VNC για καθένα από τα VPS μας. Στο screenshot φαίνεται ξεκάθαρα ότι το λειτουργικό του VPS (openSUSE Leap) έχει φορτώσει επιτυχώς. Αν θέλουμε συνδεόμαστε στο λογαριασμό του root μέσω της κονσόλας, πληκτρολογώντας το αντίστοιχο συνθηματικό. Είναι όμως πολύ πιο βολικό να συνδεόμαστε μέσω SSH από τον αγαπημένο μας client ή απλά από τη γραμμή εντολών ενός τερματικού. Εμείς αυτό ακριβώς κάνουμε, οπότε αυτό και σας προτείνουμε.

Πρώτη σύνδεση, hostname και domain name
Κατά την πρώτη μας σύνδεση στο VPS μέσω SSH κάνουμε login στο λογαριασμό του root. Αν κατά τη δημιουργία του VPS δεν υποδείξατε το δημόσιο κλειδί του τοπικού σας χρήστη –εμείς, π.χ., δεν το υποδείξαμε–, τώρα θα χρειαστεί να πληκτρολογήσετε το προσωρινό password του απομακρυσμένου χρήστη root. Αυτό το βρίσκουμε στο email που στέλνει η Hetzner αμέσως μετά την αρχικοποίηση του VPS. Πρώτο μας μέλημα είναι η αλλαγή του προσωρινού password, χρησιμοποιώντας το εργαλείο passwd:

openSUSE-421-64-minimal:~ # passwd
New password: 
Retype new password: 
passwd: password updated successfully
openSUSE-421-64-minimal:~ #

Θα παρατηρήσετε ότι το prompt του VPS εμπεριέχει το όνομα και την έκδοση του λειτουργικού (openSUSE 42.1), την εκδοχή του (64bit), καθώς και το είδος της εγκατάστασης (minimal). Στην πραγματικότητα, το prompt είναι ίδιο με το hostname του μηχανήματος:

openSUSE-421-64-minimal:~ # hostname
openSUSE-421-64-minimal

Αν θέλετε να αλλάξετε το hostname (εμείς θέλαμε), ένας τρόπος για να το πετύχετε είναι με τη βοήθεια του YaST. Εδώ πλέον δεν είναι Ubuntu, στη διάθεσή μας έχουμε ένα πανίσχυρο αλλά και βολικό εργαλείο διαχείρισης συστήματος, οπότε γιατί να μην το χρησιμοποιούμε σε κάθε ευκαιρία; Το module του YaST που θα μας εξυπηρετήσει είναι το lan, οπότε πληκτρολογούμε:

openSUSE-421-64-minimal:~ # yast lan

Κατά την αρχικοποίηση του module θα σας ζητηθεί άδεια για την εγκατάσταση του πακέτου SuSEfirewall2. Δώστε την, αφού σε λίγο θα χρειαστεί να ρυθμίσουμε και το firewall του VPS — ξανά με τη βοήθεια του αντίστοιχου module του YaST.

Η εγκατάσταση του openSUSE στο VPS είναι minimal, γι' αυτό και κατά την ενεργοποίηση του YaST module ονόματι lan μάς ζητείται άδεια για την εγκατάσταση του πακέτου SuSEfirewall2. Προτείνεται να τη δώσουμε.

Η εγκατάσταση του openSUSE στο VPS είναι minimal, γι’ αυτό και κατά την ενεργοποίηση του YaST module ονόματι lan μάς ζητείται άδεια για την εγκατάσταση του πακέτου SuSEfirewall2. Προτείνεται να τη δώσουμε.

Στο text interface του YaST μετακινούμαστε από στοιχείο σε στοιχείο με χρήση του πλήκτρου [Tab], των πλήκτρων του δρομέα ή με τον κατάλληλο συνδυασμό πλήκτρων. Για παράδειγμα, εμείς τώρα θέλουμε να πάμε στην κατηγορία Hostname/DNS και γι’ αυτό πατάμε το συνδυασμό πλήκτρων [ALT+S]. Για τον κατάλληλο συνδυασμό ανά περίπτωση, απλά παρατηρήστε τους κίτρινους χαρακτήρες. Στην κατηγορία Hostname/DNS, δίνουμε:

  • [ALT+T] και σβήνουμε το υπάρχον hostname, πληκτρολογώντας στη θέση του το επιθυμητό (εμείς γράψαμε vatnajokull)
  • [ALT+D] και πληκτρολογούμε ένα domain name (εμείς δώσαμε colder.xyz)
  • [ALT+I] και για το Modify DNS configuration επιλέγουμε το Only Manually
  • [ALT+O] για την επικύρωση των αλλαγών.

Το YaST θα κάνει ό,τι προβλέπεται και θα τερματιστεί. Προκειμένου να εφαρμοστούν οι αλλαγές για το domain name ανοίγουμε το αρχείο /etc/resolv.conf και πάνω από τους nameservers προσθέτουμε τη γραμμή search colder.xyz. Φυσικά, στη θέση του colder.xyz εσείς θα βάλετε το δικό σας domain name. Δείτε τα περιεχόμενα του /etc/resolv.conf από το VPS μας:

### Hetzner Online GmbH installimage
# nameserver config
search colder.xyz
nameserver 213.133.100.100
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 2a01:4f8:0:a0a1::add:1010
nameserver 2a01:4f8:0:a102::add:9999
nameserver 2a01:4f8:0:a111::add:9898

Για να τσεκάρετε ότι οι αλλαγές εφαρμόστηκαν, αποσυνδεθείτε από το VPS, συνδεθείτε και πάλι, παρατηρήστε το prompt και χρησιμοποιήστε το εργαλείο hostname (μία φορά σκέτο κι άλλη μία με την παράμετρο -f).

Ρύθμιση hostname και domain name μέσα από το module του YaST ονόματι lan.

Ρύθμιση hostname και domain name μέσα από το module του YaST ονόματι lan.

Αναβάθμιση πακέτων και πυρήνα
Αρχικά φρεσκάρουμε την τοπική βάση με τα περιεχόμενα των απομακρυσμένων αποθετηρίων (repositories). Λόγω της εγκατάστασης του SuSEfirewall2, η οποία έγινε πριν λίγο από πλευράς YaST, το φρεσκάρισμα είναι μάλλον περιττό αυτή τη στιγμή. Καλού κακού όμως το επαναλαμβάνουμε:

vatnajokull:~ # zypper ref
Repository 'openSUSE-42.1-0' is up to date.                                                                                                   
Repository 'openSUSE-Leap-42.1-Oss' is up to date.                                                                                            
Repository 'openSUSE-Leap-42.1-Update' is up to date.                                                                                         
Repository 'openSUSE-Leap-42.1-Update-Non-Oss' is up to date.                                                                                 
All repositories have been refreshed.

Πράγματι, οι πληροφορίες περί των repositories ήταν ενημερωμένες — ή τουλάχιστον αυτό συνέβη στην περίπτωσή μας. Για να δούμε τώρα αν υπάρχουν πακέτα που χρειάζονται αναβάθμιση, απλά γράφουμε:

vatnajokull:~ # zypper lu

Θα διαπιστώσετε ότι, πράγματι, ενημερωμένες εκδόσεις πακέτων υπάρχουν — και μάλιστα είναι ουκ ολίγες. Η διαδικασία της αναβάθμισης ξεκινά πληκτρολογώντας:

vatnajokull:~ # zypper patch

Ίσως διαπιστώσετε ότι πρόκειται ν’ αναβαθμιστεί το ίδιο το zypper, καθώς και κάποιες συνοδευτικές βιβλιοθήκες. Απαντήστε καταφατικά στην ερώτηση για αναβάθμιση κι όταν η διαδικασία ολοκληρωθεί δώστε και πάλι zypper patch. Τη δεύτερη φορά θα δείτε ότι πολλά περισσότερα πακέτα πρόκειται ν’ αναβαθμιστούν. Αν πρόκειται ν’ αναβαθμιστεί κι ο πυρήνας, θα πάρετε μήνυμα που προτρέπει για επανεκκίνηση του συστήματος αμέσως μετά την αναβάθμιση. Σας συστήνουμε να μην την καθυστερήσετε.

Είναι εξάλλου καλή ιδέα να ρυθμίσουμε το openSUSE ώστε, περιοδικά κι αυτόματα, να κατεβάζει και να εφαρμόζει τυχόντα διαθέσιμα updates — και κατά νου έχουμε κυρίως τα updates που αφορούν στην ασφάλεια. Για άλλη μια φορά θα προσφύγουμε στο YaST, αλλά πρώτα θα εγκαταστήσουμε το σχετικό module:

vatnajokull:~ # zypper -n in yast2-online-update-configuration

Αμέσως μετά το φορτώνουμε

vatnajokull:~ # yast online_update_configuration

κι από το text interface του κάνουμε τις επιλογές μας. (Ναι, το όνομα του πακέτου έχει παύλες αλλά το όνομα του module έχει underscores.) Δείτε το screenshot που ακολουθεί, διαβάστε φυσικά και τη συνοδευτική περιγραφή.

Στο συγκεκριμένο παράδειγμα φροντίζουμε ώστε κάθε μέρα να γίνεται αυτόματος έλεγχος για ενημερώσεις. Τα patches που η εγκατάστασή τους απαιτεί αλληλεπίδραση με το χρήστη τα προσπερνάμε, επιλέγουμε να μην αποδεχόμαστε αυτομάτως τις άδειες χρήσης, θέλουμε να συμπεριλαμβάνονται τα όποια προτεινόμενα updates, ενώ για οικονομία bandwidth επιδιώκουμε τη χρήση delta RPMs. Τέλος, δεν επιθυμούμε να εγκαθίστανται αυτόματα ενημερώσεις για κάθε κατηγορία πακέτων, αλλά μόνο γι' αυτά που αφορούν στον package manager και στο YaST, βεβαίως και για εκείνα που αφορούν στην ασφάλεια.

Στο συγκεκριμένο παράδειγμα φροντίζουμε ώστε κάθε μέρα να γίνεται αυτόματος έλεγχος για ενημερώσεις. Τα patches που η εγκατάστασή τους απαιτεί αλληλεπίδραση με το χρήστη τα προσπερνάμε, επιλέγουμε να μην αποδεχόμαστε αυτομάτως τις άδειες χρήσης, θέλουμε να συμπεριλαμβάνονται τα όποια προτεινόμενα updates, ενώ για οικονομία bandwidth επιδιώκουμε τη χρήση delta RPMs. Τέλος, δεν επιθυμούμε να εγκαθίστανται αυτόματα ενημερώσεις για κάθε κατηγορία πακέτων, αλλά μόνο γι’ αυτά που αφορούν στον package manager και στο YaST, βεβαίως και για εκείνα που αφορούν στην ασφάλεια.

Δημιουργία νέου λογαριασμού χρήστη με δικαιώματα διαχειριστή
Έως αυτή τη στιγμή εργαζόμασταν από το λογαριασμό του root. Γενικά, αυτό πρέπει να το αποφεύγουμε. Για λόγους ασφαλείας –αλλά και προστασίας του συστήματος από τους ίδιους μας τους εαυτούς– καλό είναι να δημιουργήσουμε ένα λογαριασμό απλού χρήστη και να συνδεόμαστε σ’ αυτόν. Ο συγκεκριμένος χρήστης θα έχει δυνατότητα για εκτέλεση εργασιών με δικαιώματα root, με τη βοήθεια του sudo. Έτσι, τις δυνατότητες του root θα τις έχουμε μόνον όποτε τις χρειαζόμαστε και για λίγο χρόνο. Την περισσότερη ώρα θα βρισκόμαστε στο λογαριασμό του απλού μας χρήστη, μέσα από τον οποίο δεν είναι εύκολο να καταλύουμε την ασφάλεια του συστήματος, βεβαίως ούτε και να φέρνουμε τα πάνω κάτω και γενικά να τα κάνουμε όλα μαντάρα. Κατά τα αναμενόμενα, το νέο λογαριασμό χρήστη θα τον δημιουργήσουμε με τη βοήθεια του YaST:

vatnajokull:~ # yast users

Δείτε τα τρία screenshots που ακολουθούν.

Στην κατηγορία Users επιβεβαιώνουμε ότι δεν υπάρχει κάποιος λογαριασμός απλού χρήστη στο σύστημα. Για να προσθέσουμε νέο λογαριασμό πατάμε το συνδυασμό πλήκτρων [ALT+A].

Στην κατηγορία Users επιβεβαιώνουμε ότι δεν υπάρχει κάποιος λογαριασμός απλού χρήστη στο σύστημα. Για να προσθέσουμε νέο λογαριασμό πατάμε το συνδυασμό πλήκτρων [ALT+A].

Πληκτρολογούμε στη συνέχεια το πλήρες όνομα, το username και βεβαίως το password (δύο φορές) για το λογαριασμό του νέου χρήστη. Τσεκάρουμε το Receive System Mail, ώστε τα email που στέλνουν οι υπηρεσίες του συστήματος στον root να φτάνουν στο νέο μας χρήστη. Το Disable User Login δεν το τσεκάρουμε, αφού θέλουμε να είμαστε σε θέση να συνδεόμαστε αλληλεπιδραστικά στο λογαριασμό. Επικυρώνουμε τις ενέργειές μας με ένα [ALT+O].

Πληκτρολογούμε στη συνέχεια το πλήρες όνομα, το username και βεβαίως το password (δύο φορές) για το λογαριασμό του νέου χρήστη. Τσεκάρουμε το Receive System Mail, ώστε τα email που στέλνουν οι υπηρεσίες του συστήματος στον root να φτάνουν στο νέο μας χρήστη. Το Disable User Login δεν το τσεκάρουμε, αφού θέλουμε να είμαστε σε θέση να συνδεόμαστε αλληλεπιδραστικά στο λογαριασμό. Επικυρώνουμε τις ενέργειές μας με ένα [ALT+O].

Ο νέος λογαριασμός είναι έτοιμος. Είναι του χρήστη με username το sub0, ο οποίος ανήκει στο group ονόματι users.

Ο νέος λογαριασμός είναι έτοιμος. Είναι του χρήστη με username το sub0, ο οποίος ανήκει στο group ονόματι users.

Θέλουμε τώρα ο νέος μας χρήστης να μπορεί και να εκτελεί εργασίες με δικαιώματα root, καθώς και να το πετυχαίνει αυτό με τη βοήθεια του εργαλείου sudo (όπως στο Ubuntu, ξέρετε). Προς τούτο, φορτώνουμε στο YaST το module με όνομα sudo:

vatnajokull:~ # yast sudo

Θα τροποποιήσουμε τους κανόνες που ισχύουν για το sudo, ειδικά όσον αφορά στο χρήστη sub0. Δείτε, παρακαλούμε πολύ, τα screenshots που ακολουθούν.

Ξεκινάμε εστιάζοντας στην κατηγορία Rules for sudo. Θέλουμε να προσθέσουμε ένα νέο κανόνα για τον χρήστη με username το sub0. Πατάμε, λοιπόν, το συνδυασμό πλήκτρων [CTRL+A].

Ξεκινάμε εστιάζοντας στην κατηγορία Rules for sudo. Θέλουμε να προσθέσουμε ένα νέο κανόνα για τον χρήστη με username το sub0. Πατάμε, λοιπόν, το συνδυασμό πλήκτρων [CTRL+A].

Επιλέγουμε το username του χρήστη που μας ενδιαφέρει και φροντίζουμε ώστε Host or Host Alias = RunAs or RunAs Alias = ALL. Επιθυμούμε εξάλλου να μη χρειάζεται πληκτρολόγηση password για τον sub0 (τσεκ στο No Password), κάθε φορά που χρησιμοποιεί το sudo. Σε λίγο άλλωστε θα φροντίσουμε ώστε στο λογαριασμό του sub0 να γίνεται σύνδεση μόνο με SSH key-based authentication. Έτσι, αν το ιδιωτικό μας κλειδί είναι προστατευμένο --όπως οφείλει να είναι--, προστατευμένος θα 'ναι κι ο λογαριασμός του sub0. Δεν έχουμε τελειώσει με το νέο κανόνα για το sudo. Για τη συνέχεια πατάμε [ALT+A].

Επιλέγουμε το username του χρήστη που μας ενδιαφέρει και φροντίζουμε ώστε Host or Host Alias = RunAs or RunAs Alias = ALL. Επιθυμούμε εξάλλου να μη χρειάζεται πληκτρολόγηση password για τον sub0 (τσεκ στο No Password), κάθε φορά που χρησιμοποιεί το sudo. Σε λίγο άλλωστε θα φροντίσουμε ώστε στο λογαριασμό του sub0 να γίνεται σύνδεση μόνο με SSH key-based authentication. Έτσι, αν το ιδιωτικό μας κλειδί είναι προστατευμένο –όπως οφείλει να είναι–, προστατευμένος θα ‘ναι κι ο λογαριασμός του sub0. Δεν έχουμε τελειώσει με το νέο κανόνα για το sudo. Για τη συνέχεια πατάμε [ALT+A].

Στο pop-up που εμφανίζεται φροντίζουμε ώστε Command = ALL και μετά πατάμε το συνδυασμό πλήκτρων [ALT+O].

Στο pop-up που εμφανίζεται φροντίζουμε ώστε Command = ALL και μετά πατάμε το συνδυασμό πλήκτρων [ALT+O].

Ιδού οι παράμετροι του νέου κανόνα...

Ιδού οι παράμετροι του νέου κανόνα…

...και ιδού κι όλοι οι κανόνες για το sudo. Αν είμαστε ικανοποιημένοι με τη δουλειά μας, παγιώνουμε τις αλλαγές με [ALT+O].

…και ιδού κι όλοι οι κανόνες για το sudo. Αν είμαστε ικανοποιημένοι με τη δουλειά μας, παγιώνουμε τις αλλαγές με [ALT+O].

Πριν συνεχίσουμε αξίζει να βεβαιωθούμε ότι ο νέος κανόνας για το sudo δουλεύει σωστά, μ’ άλλα λόγια ότι μας δίνει προσωρινά δικαιώματα root και μάλιστα χωρίς να πληκτρολογούμε κάποιο password:

sub0@vatnajokull:~> sudo ls -lha /root
total 32K
drwx------  6 root root 4.0K Nov 15 23:45 .
drwxr-xr-x 22 root root 4.0K Nov  6 14:33 ..
-rw-------  1 root root 2.6K Nov 15 23:46 .bash_history
drwx------  3 root root 4.0K Nov 14 06:46 .config
drwx------  2 root root 4.0K Sep 30  2015 .gnupg
drwxr-xr-x  3 root root 4.0K Feb 23  2016 .local
drwx------  2 root root 4.0K Feb 23  2016 .ssh
-rw-------  1 root root 2.9K Nov 15 23:45 .viminfo

Όταν είναι απαραίτητο να βρισκόμαστε στο λογαριασμό του root, μπορούμε να μεταβαίνουμε σ’ αυτόν πληκτρολογώντας

sub0@vatnajokull:~> sudo su

Βελτίωση ασφάλειας για απομακρυσμένες συνδέσεις
Στο σημείο αυτό έχουμε δύο χρήστες στο σύστημα, τον root και τον sub0 — ή όπως αλλιώς είναι το username του δικού σας. Σε κάθε λογαριασμό συνδεόμαστε μέσω SSH πληκτρολογώντας το αντίστοιχο password. Για λόγους ασφαλείας θα ρυθμίσουμε τον OpenSSH server ώστε η μοναδική αποδεκτή μέθοδος authentication να ‘ναι αυτή που βασίζεται στα δημόσια κλειδιά SSH. Επιπρόσθετα, η απευθείας σύνδεση μέσω SSH στο λογαριασμό του root θα απαγορεύεται.

Οφείλουμε πρώτα να μεταφέρουμε στο VPS το δημόσιο κλειδί SSH του τοπικού μας χρήστη — συγκεκριμένα θα το προσθέσουμε στο αρχείο .ssh/authorized_keys του (απομακρυσμένου) sub0. Το τι σημαίνει αυτό, πώς επιτυγχάνεται και πολλά περισσότερα για το SSH key-based authentication, μπορείτε να διαβάσετε εδώ. Μετά τη μεταφορά, στο λογαριασμό του sub0 θα συνδεόμαστε μέσω SSH και χωρίς την πληκτρολόγηση του αντίστοιχου password. Προσοχή, όμως: Αυτό θα είναι δυνατόν μόνον εφόσον ξεκινάμε τη σύνδεση από τον τοπικό λογαριασμό του χρήστη, το δημόσιο κλειδί του οποίου έχουμε μεταφέρει. Πριν προχωρήσουμε, λοιπόν, καλό θα ήταν να μεταφέρουμε στο VPS τα δημόσια κλειδιά κι άλλων χρηστών μας, από άλλα μηχανήματά μας. Μια ιδέα είναι να έχουμε όλα τα δημόσια κλειδιά κάπου στο cloud, π.χ., στο Dropbox ή σε μια εγκατάσταση του ownCloud, και να τα κατεβάζουμε στο VPS που θέλουμε, π.χ., με τη βοήθεια του wget.

Ας ρυθμίσουμε τώρα τον OpenSSH server στο VPS μας. Με δικαιώματα διαχειριστή (sudo) ανοίγουμε το αρχείο /etc/ssh/sshd_config με τον editor της προτίμησής μας:

sub0@vatnajokull:~> sudo vi /etc/ssh/sshd_config

Αν δεν πολυσυμπαθείτε το vi χρησιμοποιήστε το nano (εγκαταστήστε το με ένα sudo zypper -n in nano). Στο sshd_config φροντίζουμε ώστε:

  • το PermitRootLogin yes να γίνει PermitRootLogin no
  • το #PubkeyAuthentication yes να γίνει PubkeyAuthentication yes
  • το PasswordAuthentication yes να γίνει PasswordAuthentication no
  • το #ChallengeResponseAuthentication yes να γίνει ChallengeResponseAuthentication no.

Αποθηκεύουμε τις αλλαγές, εγκαταλείπουμε τον editor κι αναγκάζουμε τον OpenSSH server να λάβει υπόψη τις αλλαγές:

sub0@vatnajokull:~> sudo systemctl reload sshd.service

Πολύ ωραία. Αν όλα έγιναν σωστά, τώρα θα πρέπει να είμαστε σε θέση για απομακρυσμένες συνδέσεις στο λογαριασμό του sub0 χωρίς την πληκτρολόγηση password. Επιχειρώντας εξάλλου σύνδεση στο λογαριασμό του root, θα παίρνουμε μήνυμα λάθους. Παράδειγμα:

cvar@ohsuse:~> ssh root@vatnajokull.colder.xyz
Permission denied (publickey).

Ακόμη κι αν μεταφέρουμε το κατάλληλο δημόσιο κλειδί στο αρχείο .ssh/authorized_keys του root, εξαιτίας της οδηγίας PermitRootLogin no στο /etc/ssh/sshd_config η απευθείας απομακρυσμένη πρόσβαση θα συνεχίσει να απαγορεύεται.

Ρύθμιση κι ενεργοποίηση firewall
Στο VPS μας δεν υπάρχει τείχος προστασίας ενεργοποιημένο, αλλά αυτό αλλάζει εύκολα. Από το λογαριασμό του απλού μας χρήστη, πληκτρολογούμε:

sub0@vatnajokull:~> sudo yast2 firewall

Δείτε τα screenshots που ακολουθούν και διαβάστε τις αντίστοιχες περιγραφές.

Θέλουμε το firewall να ενεργοποιείται με την εκκίνηση του λειτουργικού, γι' αυτό και στην κατηγορία ρυθμίσεων Start-Up (βλ. αριστερά) φροντίζουμε ώστε να είναι επιλεγμένο το Enable Firewall Automatic Starting. Το θέλουμε επίσης ενεργό και τώρα, οπότε πηγαίνουμε πάνω από το Start Firewall Now και πατάμε το [Enter].

Θέλουμε το firewall να ενεργοποιείται με την εκκίνηση του λειτουργικού, γι’ αυτό και στην κατηγορία ρυθμίσεων Start-Up (βλ. αριστερά) φροντίζουμε ώστε να είναι επιλεγμένο το Enable Firewall Automatic Starting. Το θέλουμε επίσης ενεργό και τώρα, οπότε πηγαίνουμε πάνω από το Start Firewall Now και πατάμε το [Enter].

Στην κατηγορία ρυθμίσεων Interfaces φροντίζουμε ώστε το eth0, το οποίο είναι το ένα και μοναδικό network interface του VPS μας, να ανήκει στο External Zone.

Στην κατηγορία ρυθμίσεων Interfaces φροντίζουμε ώστε το eth0, το οποίο είναι το ένα και μοναδικό network interface του VPS μας, να ανήκει στο External Zone.

Πηγαίνουμε μετά στην κατηγορία Allowed Services. Πρόκειται να υποδείξουμε τις δικτυακές υπηρεσίες στις οποίες θα επιτρέπεται πρόσβαση από τον έξω κόσμο. Αρχικά, για το Allowed Services for Selected Zone επιλέγουμε το External Zone. Για το Services to Allow διαλέγουμε το Secure Shell Server και πατάμε [ALT+A]. Μόλις υποδείξαμε ότι θέλουμε να επιτρέπονται οι συνδέσεις στον OpenSSH server από το Internet, αλλά σε καμία άλλη υπηρεσία. Πατάμε [ALT+N] για το επόμενο και τελευταίο βήμα.

Πηγαίνουμε μετά στην κατηγορία Allowed Services. Πρόκειται να υποδείξουμε τις δικτυακές υπηρεσίες στις οποίες θα επιτρέπεται πρόσβαση από τον έξω κόσμο. Αρχικά, για το Allowed Services for Selected Zone επιλέγουμε το External Zone. Για το Services to Allow διαλέγουμε το Secure Shell Server και πατάμε [ALT+A]. Μόλις υποδείξαμε ότι θέλουμε να επιτρέπονται οι συνδέσεις στον OpenSSH server από το Internet, αλλά σε καμία άλλη υπηρεσία. Πατάμε [ALT+N] για το επόμενο και τελευταίο βήμα.

Στο κεντρικό πλαίσιο βλέπουμε όλες τις επιλογές κι αλλαγές που πρόκειται να εφαρμοστούν. Ρίξτε μια ματιά και βεβαιωθείτε ότι: α) το firewall θα ξεκινά αυτόματα κατά το boot του openSUSE, β) θα ενεργοποιηθεί αμέσως μετά την έξοδό μας από το YaST, γ) θα επιτρέπει τις συνδέσεις στον OpenSSH server από το Internet, δ) θα απαγορεύει τις συνδέσεις οπουδήποτε αλλού. Πατάμε [ALT+F] για την εφαρμογή των αλλαγών.

Στο κεντρικό πλαίσιο βλέπουμε όλες τις επιλογές κι αλλαγές που πρόκειται να εφαρμοστούν. Ρίξτε μια ματιά και βεβαιωθείτε ότι: (α) το firewall θα ξεκινά αυτόματα κατά το boot του openSUSE, (β) θα ενεργοποιηθεί αμέσως μετά την έξοδό μας από το YaST, (γ) θα επιτρέπει τις συνδέσεις στον OpenSSH server από το Internet, (δ) θα απαγορεύει τις συνδέσεις οπουδήποτε αλλού. Πατάμε [ALT+F] για την εφαρμογή των αλλαγών.

Ένας τρόπος για να βεβαιωθούμε ότι το firewall λειτουργεί όπως θέλουμε, είναι να επανεκκινήσουμε το VPS

sub0@vatnajokull:~> sudo reboot

κι αφού φορτώσει να κάνουμε ένα port scanning, π.χ., με τη βοήθεια του nmap. Δείτε το ακόλουθο παράδειγμα, όπου σκανάρουμε το vatnajokull.colder.xyz από το τερματικό ενός MacBook:

mbpr15:~ cvar$ sudo nmap -sS -sV -O -p1-65535 vatnajokull.colder.xyz

Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-19 09:52 CET
Nmap scan report for vatnajokull.colder.xyz (88.99.14.133)
Host is up (0.026s latency).
Not shown: 65533 filtered ports
PORT     STATE  SERVICE VERSION
22/tcp   open   ssh     OpenSSH 6.6.1 (protocol 2.0)
3544/tcp closed teredo
Device type: WAP|general purpose|media device|phone
Running (JUST GUESSING): Linux 3.X|4.X|2.6.X (91%), Linksys embedded (91%), Google Android 4.X (85%)
OS CPE: cpe:/o:linux:linux_kernel cpe:/h:linksys:ea3500 cpe:/o:linux:linux_kernel:3.13 cpe:/o:linux:linux_kernel:4.2 cpe:/o:linux:linux_kernel:3.x cpe:/o:linux:linux_kernel:2.6 cpe:/o:google:android:4.0
Aggressive OS guesses: Linksys EA3500 WAP (91%), Linux 3.13 or 4.2 (86%), Linux 3.2 - 4.4 (86%), XBMCbuntu Frodo v12.2 (Linux 3.X) (85%), Linux 2.6.32 - 2.6.36 (85%), Android 4.0 (85%)
No exact OS matches for host (test conditions non-ideal).

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 115.93 seconds
mbpr15:~ cvar$

Θα παρατηρήσετε ότι εκτός από το port 22/TCP, το οποίο αναμενόμενα είναι ανοικτό λόγω OpenSSH server, ανοικτό είναι και το 3544/TCP. Το nmap εντόπισε το εν λόγω ανοικτό port όχι επειδή το firewall του openSUSE κάνει του κεφαλιού του, αλλά διότι το δημόσιο IP του vatnajokull.colder.xyz είναι διαφορετικό από το IP που έχει το eth0 interface του VPS: έτσι είναι το μοντέλο δικτύωσης που ακολουθεί η Hetzner, η οποία για την πρόσβαση στα VPS υλοποιεί τεχνικές NAT.

Να σημειώσουμε τέλος ότι με το firewall module του YaST, που μόλις χρησιμοποιήσαμε, ουσιαστικά ρυθμίσαμε το γνωστό iptables του Linux. Προκειμένου να δούμε όλους τους κανόνες που ισχύουν για όλες τις αλυσίδες, στο τερματικό μας γράφουμε:

sub0@vatnajokull:~> sudo iptables -S

Το module του YaST ονόματι firewall μας επιτρέπει να συντάσσουμε εύκολα κανόνες για το iptables του Linux, χωρίς να είμαστε experts. Αν και προηγουμένως ορίσαμε μόνον έναν κανόνα, ώστε οι εισερχόμενες συνδέσεις στο port 22/TCP να γίνονται αποδεκτές, στην πραγματικότητα το YaST έχει κάνει αρκετή δουλειά στο παρασκήνιο.

Το module του YaST ονόματι firewall μας επιτρέπει να συντάσσουμε εύκολα κανόνες για το iptables του Linux, χωρίς να είμαστε experts. Αν και προηγουμένως ορίσαμε μόνον έναν κανόνα, ώστε οι εισερχόμενες συνδέσεις στο port 22/TCP να γίνονται αποδεκτές, στην πραγματικότητα το YaST έχει κάνει αρκετή δουλειά στο παρασκήνιο.

Στους κανόνες που συντάσσει το YaST θα παρατηρήσετε ότι συμπεριλαμβάνει και παραμέτρους για προστασία από όσους επιχειρούν να καταχραστούν τους πόρους του μηχανήματος. Για παράδειγμα, το firewall δεν δέχεται πάνω από τρεις απόπειρες το λεπτό για σύνδεση μέσω SSH. Από εκεί και πέρα η Hetzner υλοποιεί και τεχνικές αντιμετώπισης επιθέσεων DDoS, οι οποίες μάλιστα παρέχονται χωρίς κάποια έξτρα χρέωση. Δεν έχουμε ακόμα διαπιστώσει κατά πόσο είναι αποτελεσματικές στην πράξη. Με δεδομένο πάντως ότι κατά καιρούς διάφοροι καλοθελητές τεστάρουν τις αντοχές του deltaΗacker, σκεφτόμαστε πως όταν με το καλό μεταφέρουμε το site στη Hetzner δεν αποκλείεται ν’ αποκτήσουμε ίδια άποψη για τους μηχανισμούς προστασίας DDoS της εταιρείας.

Προαιρετικό: Λήψη snapshot για ολόκληρο το VPS
Στο σημείο αυτό θεωρούμε ότι έχουμε έναν ικανοποιητικά ασφαλή κι ευέλικτο server με openSUSE στο cloud, χωρίς να περιλαμβάνει περιττό λογισμικό και υπηρεσίες. Ουσιαστικά, είναι ό,τι πρέπει για να χτίσουμε την όποια δικτυακή εφαρμογή σχεδιάζουμε και καλό θα ήταν να μπορούσαμε να επιστρέφαμε ανά πάσα στιγμή σ’ αυτό το σημείο της εξέλιξής του, π.χ., στην περίπτωση που γίνει κάποιο μπέρδεμα και τα ‘χουμε κάνει μαντάρα. Αναφερόμαστε βεβαίως σ’ εμάς και μόνον, φίλες και φίλοι, αφού είμαστε σίγουροι ότι εσείς δεν τα κάνετε ποτέ μαντάρα. Ευτυχώς η Hetzner επιτρέπει τη δημιουργία δύο δωρεάν snapshots για τα vServers της κατηγορίας CX20, επομένως και γι’ αυτό με το οποίο δουλεύουμε στο πλαίσιο του παρόντος άρθρου. Τα snapshots δημιουργούνται κι επαναφέρονται από το web panel της Hetzner.

Για τη δημιουργία snapshot πηγαίνουμε στο web panel της Hetzner, επιλέγουμε τον vServer που μας ενδιαφέρει και, αφού βεβαιωθούμε ότι το VPS είναι powered-off, απλά κάνουμε ένα κλικ στο κουμπάκι Create.

Για τη δημιουργία snapshot πηγαίνουμε στο web panel της Hetzner, επιλέγουμε τον vServer που μας ενδιαφέρει και, αφού βεβαιωθούμε ότι το VPS είναι powered-off, απλά κάνουμε ένα κλικ στο κουμπάκι Create.

Ύποπτα γρήγορα παίρνουμε το ακόλουθο μήνυμα: 'Η επιθυμητή δράση επί του vServer ολοκληρώθηκε επιτυχώς' (ή κάπως έτσι). Είναι δυνατόν να ελήφθη τόσο γρήγορα το snapshot; Κρίνοντας εκ του αποτελέσματος, ναι, είναι.

Ύποπτα γρήγορα παίρνουμε το ακόλουθο μήνυμα: “Η επιθυμητή δράση επί του vServer ολοκληρώθηκε επιτυχώς” (ή κάπως έτσι). Είναι δυνατόν να ελήφθη τόσο γρήγορα το snapshot; Κρίνοντας εκ του αποτελέσματος, ναι, είναι.

Μετά τη λήψη του snapshot, καλό είναι να του δώσουμε ένα περιγραφικό όνομα. Για την επαναφορά ενός snapshot φροντίζουμε ώστε ο αντίστοιχος vServer να είναι κλειστός κι απλά πατάμε στο κουμπί Restore (στα δεξιά του αντίστοιχου snapshot). Παρατηρήστε εξάλλου ότι η Hetzner επιτρέπει τη μετατροπή των snapshots σε πρότυπα (templates). Ένα snapshot είναι κάτι σαν ανεξάρτητο snapshot, υπό την έννοια ότι δεν αντιστοιχίζεται σε συγκεκριμένο VPS και μπορεί ν' αναπτυχθεί 'πάνω' από έναν οποιονδήποτε εικονικό server -- αρκεί ο εικονικός του δίσκος να έχει μέγεθος όχι μικρότερο από μέγεθος του εικονικού δίσκου στο template.

Μετά τη λήψη του snapshot, καλό είναι να του δώσουμε ένα περιγραφικό όνομα. Για την επαναφορά ενός snapshot φροντίζουμε ώστε ο αντίστοιχος vServer να είναι κλειστός κι απλά πατάμε στο κουμπί Restore (στα δεξιά του αντίστοιχου snapshot). Παρατηρήστε εξάλλου ότι η Hetzner επιτρέπει τη μετατροπή των snapshots σε πρότυπα (templates). Ένα snapshot είναι κάτι σαν ανεξάρτητο snapshot, υπό την έννοια ότι δεν αντιστοιχίζεται σε συγκεκριμένο VPS και μπορεί ν’ αναπτυχθεί “πάνω” από έναν οποιονδήποτε εικονικό server — αρκεί ο εικονικός του δίσκος να έχει μέγεθος όχι μικρότερο από μέγεθος του εικονικού δίσκου στο template.

11 Responses to “Το δικό σας openSUSE, εκεί ψηλά!”

  1. zarzonis | 21/11/2016 at 15:32

    Πολύ χρήσιμο άρθρο. Είπα να δοκιμάσω τα openSUSΕ για server μιας και ήθελα να μεταφέρω το server μου. Παρήγγειλα το βασικό πακέτο από το hentzer αλλά δε μπορώ να βρω με τίποτα τους DNS που πρέπει να βάλω στο gandi για να συνδέσω το domain με το server.

    • zarzonis | 23/11/2016 at 23:21

      Μετά από αρκετό ψάξιμο, βρήκα λύση και τη γράφω σε περίπτωση που χρειαστεί σε κάποιον. Θέλει να παραγγείλεις το πακέτο Domain Registration Robot το οποίο είναι δωρεάν για τους πελάτες των vServer και dedicated server. Μπορεί να λέει τιμή αλλά όταν προχωράς την παραγγελία δεν χρεώνει. Όταν κάνεις την παραγγελία, σου στέλνουν ένα email το οποίο περιέχει ένα συμβόλαιο. Αυτό δυστυχώς πρέπει να το κατεβάσεις, να το εκτυπώσεις και έπειτα να το συμπληρώσεις με το χέρι και να το στείλεις με email ή fax. Αν δεν το κάνεις, το Domain Registration Robot δεν ενεργοποιείται στο λογαριασμό σου. Ηλεκτρονική υπογραφή του συμβολαίου δεν είναι έγκυρη. Το δοκίμασα. Αφού τα κάνεις όλα αυτά και ενεργοποιηθεί το Domain Registration Robot, πρέπει να βάλεις τους παρακάτω nameservers στον domain registar που χρησιμοποιείς:
      DNS1: ns1.first-ns.de
      DNS2: robotns2.second-ns.de
      DNS3: robotns3.second-ns.com
      Τέλος, από το control panel πρέπει να δημιουργήσεις ένα custom DNS Entry και να γράψεις το zone file με το χέρι, όχι όπως σε άλλα site που επιλέγεις τί είδους record θέλεις και μετά την τιμή του. Το δικό μου ενδεικτικά είναι το παρακάτω:

      $TTL 1800
      @ IN SOA ns1.first-ns.de. hostmaster.spyroszarzonis.com. (
      2016112300 ; serial
      10800 ; refresh
      3600 ; retry
      604800 ; expire
      1800 ) ; minimum

      spyroszarzonis.com. IN NS robotns3.second-ns.com.
      spyroszarzonis.com. IN NS robotns2.second-ns.de.
      spyroszarzonis.com. IN NS ns1.first-ns.de.

      spyroszarzonis.com. IN A 88.99.38.111
      http://www.spyroszarzonis.com. IN CNAME spyroszarzonis.com.

      Αν και η συγκεκριμένη διαδικασία με αποθάρρυνε λίγο μιας και απαιτεί χρόνο, εντούτοις δεν αντιμετώπισα άλλο πρόβλημα προς το παρόν. Χρειάστηκε να μιλήσω με το support τους για να μου πουν τί πρέπει να κάνω για να ενεργοποιηθεί το Domain Registration Robot και οι απαντήσεις τους ήταν στο 5λεπτο.

  2. nekten | 22/11/2016 at 20:00

    Εξαιρετικό άρθρο!

    Ακολουθώντας τις οδηγίες του αρθρογράφου απέκτησα έναν ολοκαίνουργιο VPS στην Hetzner Online.
    Πηγαίνοντας και ενα βήμα παρακάτω είπα να πάρω από την ίδια εταιρεία και ένα Storage Box για το backUp των προσωπικών μου αρχείων.
    Εδώ αρχίζουν οι ερωτήσεις!
    Α- Είναι δυνατόν να κάνω προσάρτηση (mount) το Storage Box (SB) κάτω από το /home/user ;
    Β- Πως μπορώ να στείλω κρυπτογραφημένα τα αρχεία μου στο SB;
    Γ- Εφόσον ολοκληρώσω επιτυχώς τα Α και Β πως μπορω να έχω εύκολη πρόσβαση ΚΑΙ αποκρυπτογράφηση από οποιονδήποτε πελάτη (client) όπως PC, Smartphone κλπ;

    Μάλλον τα ερωτήματα μου είναι πολλά αλλά ίσως είναι μια καλή ευκαιρία για ένα κατατοπιστικό άρθρο.

    Σας ευχαριστώ εκ των προτέρων,
    Νεκτάριος

    • subZraw | 29/11/2016 at 11:43

      Καλημέρα :)

      Α. Δεν είμαι βέβαιος αν γίνεται, αλλά η αγορά και ρύθμιση storage box είναι ήδη στην to-do list μου. Όταν θα έχω νεότερα θα ετοιμάσω σχετικό αρθράκι.

      Β. Με διάφορους τρόπους. Μπορείς, π.χ., να τα κρυπτογραφείς με το GnuPG και μετά να τα στέλνεις.

      Γ. Μια λύση είναι η εγκατάσταση του NextCloud. Θα ακολουθήσει σχετικό άρθρο!

      Have fun, BTW!

      • nekten | 30/11/2016 at 13:19

        Καλημέρα σε όλους ;-)

        Α. Γίνεται αν και όχι αυτόματα…
        Κάνω mount με την εντολή σε crontab:
        @reboot myusername sleep 3;sudo mount.cifs -o user=storageserverusername,pass=serverpassword,uid=myusername,gid=users //storageserverusername.your-storagebox.de/backup /mountdirectory

        B. Προς το παρόν χρησιμοποιώ το ENCFS

        Γ. Μάλλον το NEXTCLOUD είναι η βολικότερη λύση αλλά το ψάχνω ακόμα…

        Τα λέμε… :-)

        • nekten | 04/12/2016 at 12:13

          Ακόμη εδώ!

          Το πρόβλημα με το Nextcloud είναι οτι όσο και αν προσπάθησα δεν μπόρεσα να βρω λύση στο να τοποθετηθούν τα Nextcloud home users directories στον προσαρτημένο τόμο και όχι κάτω απο το root directory του Apache.
          Δεν ξέρω εαν δώσω στο config του Apache ως root directory τον προσαρτημένο δίσκο, απενεργοποίησω το αυτόματο boot αλλά σε crontab δηλώσω καθυστερημένη εκκίνηση μετά το mount του απομακρυσμένου δίσκου, μπορεί να δουλέψει….

          • subZraw | 06/01/2017 at 15:06

            Γεια χαρά :) Ακόμα δεν έχω πιάσει το θέμα του Storage Box, αλλά είναι στα υπόψη. Σκέφτομαι ότι αυτά που θα θέλεις είναι α) αυτόματη προσάρτηση του απομακρυσμένου δίσκου μέσω WebDAV και β) μετακίνηση του data directory του Nextcloud στον απομακρυσμένο δίσκο. Για το πώς γίνεται *σωστά* το τελευταίο μπορείς να διαβάσεις στο https://deltahacker.gr/?p=17061.

  3. dadmcleader | 09/02/2017 at 01:18

    Γεια σας και απο μενα .Θα ηθελα να ρωτησω θα μπορουσε ενα vps της εταιριας αυτης να χρησιμοποιηθει σαν seedbox για αυξηση του ratio ας πουμε σε εναν semi -private tracker χωρις προειδοποιητικα μηνυματα dmca ?

    • subZraw | 09/02/2017 at 07:30

      Γεια χαρά,
      Δεν είμαι σίγουρος ότι μπορείς να χρησιμοποιήσεις τη Hetzner γι’ αυτό το σκοπό, θα στοιχημάτιζα όμως πως όχι. Για να βεβαιωθείς θα πρέπει να τους ρωτήσεις.

  4. dadmcleader | 09/02/2017 at 17:32

    Μηπως εχετε υποψη καποια καλη εταιρια να προσφερει seedboxes για αυτο το σκοπο περα απο την hetzner?

    • subZraw | 10/02/2017 at 12:00

      Χμ, προσωπικά δεν έχω κάνει κάποια έρευνα. Την τελευταία φορά που είχα ρίξει μια γρήγορη ματιά, θυμάμαι ότι κάποιοι πρότειναν providers από Ινδία. Αλλά ό,τι και να σου πω τώρα, μάλλον δεν θα έχει κάποια αξία.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων