CLOUD CONCEPT
Νερατζιωτίσσης 15, Μαρούσι, Αθήνα, 15124, Αττική
+30 211 8005 401
info@c2.gr
Όταν κάνουμε εγκατάσταση για πρώτη φορά το Debian ένα νέο server , υπάρχουν κάποιες ρυθμίσεις που πρέπει να κάνουμε νωρίς για να αυξηθει η ασφάλεια και τη χρηστικότητα του server και να δημιουργηθεί ένα σταθερό υπόβαθρο για μελλοντική χρήση . Πάμε να δούμε ποιες είναι αυτές .
Για να συνδεθούε στο server , θα πρέπει να γνωρίζουμε τη public IP του και τον κωδικό πρόσβασης για το λογαριασμό χρήστη "root".
Εάν δεν είστε ήδη συνδεδεμένοι στο διακομιστή σας, προχωρήστε και συνδεθείτε ως χρήστης root χρησιμοποιώντας την ακόλουθη εντολή (αντικαταστήστε την επισημασμένη λέξη με τη δημόσια διεύθυνση IP του διακομιστή σας):
ssh root@SERVER_IP_ADDRESS
Ολοκληρώστε τη διαδικασία σύνδεσης αποδεχόμενοι την προειδοποίηση σχετικά με την αυθεντικότητα του κεντρικού υπολογιστή, αν εμφανίζεται, και στη συνέχεια παρέχετε τον κύριο έλεγχο ταυτότητας (κωδικό πρόσβασης ή ιδιωτικό κλειδί). Εάν είναι η πρώτη φορά που συνδέεστε στο διακομιστή με έναν κωδικό πρόσβασης, θα σας ζητηθεί επίσης να αλλάξετε τον κωδικό πρόσβασης του root.
O χρήστης root :
Ο χρήστης root είναι ο χρήστης διαχείρισης σε περιβάλλον Linux που έχει πολύ ευρεία προνόμια. Λόγω των αυξημένων προνομίων του λογαριασμού root, καλό είναι να μην γίνεται τακτικά η χρήση του , καθώς ο χρήστης root έχει την άδεια να κάνει μέχρι και καταστροφικές αλλαγές στο σύστημα , ακόμα και άθελα του.
Το επόμενο βήμα είναι να δημιουργηθεί ένας εναλλακτικός λογαριασμός χρήστη με περιορισμένα δικαιώματα για καθημερινή χρήση .
Μόλις συνδεθούμε ως root, είμαστε έτοιμοι να προσθέσουμε τον νέο λογαριασμό χρήστη που θα χρησιμοποιούμε για να συνδεθούμε από εδώ και στο εξής.
Για παράδειγμα , θα χρησιμοποιήσουμε ως username "demo", αλλά εσείς προφανώς θα ορίσετε αυτό που θέλετε:
adduser demo
Θα μας γίνουν μερικές ερωτήσεις, ξεκινώντας από τον κωδικό πρόσβασης του λογαριασμού.
Εισαγάγουμε έναν ισχυρό κωδικό πρόσβασης και συμπληρώνουμε οποιαδήποτε από τις πρόσθετες πληροφορίες θέλουμε. Αυτό δεν είναι απαραίτητο και απλά πατάμε "ENTER" σε οποιοδήποτε πεδίο θέλουμε να παραλέιψουμε.
Τώρα, έχουμε ένα νέο λογαριασμό χρήστη με περιορισμένα δικαιώματα. Ωστόσο, ενδέχεται μερικές φορές να χρειαστεί να εκτελέσουμε εργασίες με δικαιώματα διαχειριστή.
Για αυτό υπάρχει η εντολή sudo. Βάζοντας το sudo μπροστά απο μια εντολή , την εκτελεί με δικαιώματα διαχειριστή , και μας γλυτώνει από τον κόπο να πρέπει να κάνουμε log out και έπειτα login με τον λογαριασμό root .
Για να μπορεί να γίνει όμως η χρήση της sudo , πρέπει ο χρήστης να ανήκει στο group sudo του Debian , δηλαδή την ομάδα χρηστών που έχουν δικαίωμα να τη χρησιμοποιούν .
Ως root, εκτελούμε αυτήν την εντολή για να προσθέσουμε τον νέο χρήστη στην ομάδα sudo (αντικαταστήστε την επισημασμένη λέξη με το νέο σας χρήστη):
gpasswd -a demo sudo
Τώρα ο χρήστης demo μπορεί να τρέξει εντολές με δικαιώματα διαχειριστή!
Το επόμενο βήμα στη διασφάλιση του server είναι να ρυθμίσετε τον έλεγχο ταυτότητας δημόσιου κλειδιού για τον νέο σας χρήστη. Η ρύθμιση αυτή θα αυξήσει την ασφάλεια του server απαιτώντας ένα ιδιωτικό κλειδί SSH για να γίνει η σύνδεση .
Δημιουργήστε ένα ζεύγος κλειδιών
Αν δεν έχετε ήδη ένα ζεύγος κλειδιών SSH, το οποίο αποτελείται από ένα δημόσιο και ιδιωτικό κλειδί, πρέπει να δημιουργήσετε ένα ακολουθόντας αυτό το tutorial. Αν έχετε ήδη ένα κλειδί που θέλετε να χρησιμοποιήσετε, μεταβείτε στο βήμα Αντιγραφή του δημόσιου κλειδιού.
Αντιγραφή του Public Key
Αφού δημιουργήσουμε ένα ζευγάρι κλειδιών SSH, θέλουμε να αντιγράψουμε το public key στο νέο μας server. Θα πούμε δύο εύκολους τρόπους για να γίνει αυτό.
Επιλογή 1: Με χρήση της ssh-copy-id
Αν είναι εγκατεστημένο το ssh-copy-id script, μπορούμε να το χρησιμοποιήσουμε για να εγκαταστήσουμε το public key σε οποιονδήποτε χρήστη για τον οποίο ξέρουμε τα credentials του.
ssh-copy-id demo@SERVER_IP_ADDRESS
Αφού βάλουμε σωστά τον κωδικό , είμαστε έτοιμοι .
Επιλογή 2: Χειροκίνητη εγκατάσταση του κλειδιού
Υποθέτοντας ότι δημιουργήσατε ένα ζεύγος κλειδιών SSH χρησιμοποιώντας το προηγούμενο βήμα, χρησιμοποιούμε την ακόλουθη εντολή στο command prompt του τοπικού μηχανήματος για να εκτυπώθει το δημόσιο κλειδί (id_rsa.pub):
cat ~/.ssh/id_rsa.pub
Αυτή θα εκτυπώσει το public SSH key , το οποίο θα πρέπει να μοιάζει με το εξής:
id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
Επιλέγουμε το δημόσιο κλειδί και το αντιγράφουμε στο πρόχειρο.
Προσθέτουμε το δημόσιο κλειδί στον νέο απομακρυσμένο χρήστη
Για να ενεργοποιήθει η χρήση του κλειδιού SSH για έλεγχο ταυτότητας ως νέος απομακρυσμένος χρήστης, πρέπει να προστεθεί πρώτα σε ένα ειδικό αρχείο στον οικείο κατάλογο του χρήστη.
Στον server, ως χρήστης root, πληκτρολογούμε την ακόλουθη εντολή για να μεταβούμε στον νέο χρήστη (αντικαταστήστε το δικό σας όνομα χρήστη):
su – demo
Τώρα είμαστε στον αρχικό directory του νέου χρήστη σας.
Δημιουργούμε ένα νέο directory με όνομα .ssh και περιορίζουμε τα δικαιώματα του με τις ακόλουθες εντολές:
mkdir .ssh
chmod 700 .ssh
Τώρα ανοίγουμε ένα αρχείο στο .ssh που ονομάζεται authorized_keys με έναν text editor .
vi .ssh/authorized_keys
Τώρα εισαγάγουμε το public key (το οποίο θα πρέπει να βρίσκεται στο πρόχειρο ) .
Κάνουμε αποθήκευση και έξοδο.
Τώρα περιορίσαμε τα δικαιώματα του αρχείου authorized_keys με αυτήν την εντολή:
chmod 600 .ssh/authorized_keys
Πληκτρολογούμε αυτήν την εντολή μία φορά για να επιστρέψουμε στον χρήστη root:
Exit
Τώρα μπορούμε να συνδεθούμε με SSH ως νέο χρήστης, χρησιμοποιώντας το private key ως έλεγχο ταυτότητας.
Τώρα που έχουμε τον νέο λογαριασμό θα τροποποιήσουμε τη διαμόρφωση του Daemon SSH (το πρόγραμμα που μας επιτρέπει να συνδεθούμε εξ αποστάσεως) για να αποκλείσουμε την απομακρυσμένη πρόσβαση SSH στο λογαριασμό root.
Ξεκινάμε ανοίγοντας το αρχείο ρυθμίσεων με έναν text editor ως root:
vi /etc/ssh/sshd_config
Στη συνέχεια, πρέπει να βρούμε τη γραμμή που μοιάζει με αυτή:
/etc/ssh/sshd_config (before)
PermitRootLogin yes
Εδώ έχουμε την επιλογή να απενεργοποιήσουμε τη σύνδεση root μέσω SSH. Αυτό είναι γενικά ασφαλής επιλογή αφού μπορούμε τώρα να έχουμε πρόσβαση στον server μας μέσω του κανονικού λογαριασμού χρήστη και να αυξήσουμε τα προνόμια όταν είναι απαραίτητο.
Τροποποιήουμε αυτήν τη γραμμή σε no έτσι ώστε να απενεργοποιήθεί η σύνδεση root:
/etc/ssh/sshd_config (after)
PermitRootLogin no
Η απενεργοποίηση της απομακρυσμένης root σύνδεσης συνιστάται σε κάθε server!
Όταν τελειώσουμε με τις αλλαγές , αποθηκεύουμε και κλείνουμε το αρχείο χρησιμοποιώντας τη μέθοδο που χρησιμοποιήσαμε προηγουμένως (CTRL-X, τότε Y και ENTER).
Τώρα που έχουμε κάνει την αλλαγή μας, πρέπει να ξεκινήσουμε ξανά την υπηρεσία SSH, ώστε να φορτώσει τη νέα διαμόρφωση.
Πληκτρολογούμε:
service ssh restart
Τώρα θα πρέπει να δοκιμάσουμε τις νέες ρυθμίσεις . Δεν θέλουμε να αποσυνδεθούμε μέχρι να μπορέσουμε να επιβεβαιώσουμε ότι οι νέες συνδέσεις μπορούν να δημιουργηθούν με επιτυχία.
Ανοίγουμε ένα νέο παράθυρο τερματικού στο τοπικό μηχάνημα. Στο νέο παράθυρο, πρέπει να ξεκινήσουμε μια νέα σύνδεση στο server . Αυτή τη φορά, αντί να χρησιμοποιήσουμε το λογαριασμό root, θέλουμε να χρησιμοποιήσουμε το νέο λογαριασμό που δημιουργήσαμε.
Θα συνδεθούμε με αυτή την εντολή :
ssh demo@SERVER_IP_ADDRESS
Θα μας ζητηθεί ο κωδικός πρόσβασης του νέου χρήστη που ρυθμίσαμε.
Αν όλα είναι καλά, θα βγούμε από τις περιόδους σύνδεσης πληκτρολογώντας:
Exit
Σε αυτό το σημείο, έχουμε δημιουργήσει μια σταθερή βάση για το server και μπορούμε να εγκαταστήσουμε το λογισμικό που θέλουμε !