Η διαχείριση χρηστών είναι ένα κρίσιμο σημείο για να διατηρηθεί η ασφάλεια συστήματος. Αναποτελεσματική διαχείριση χρηστών και προνομίων οδηγούν συχνά πολλά συστήματα σε κίνδυνο. Επομένως, είναι σημαντικό να καταλάβετε πώς μπορείτε να προστατεύσετε τον διακομιστή σας μέσα από απλές και αποτελεσματικές τεχνικές διαχείρισης του λογαριασμού χρήστη.
Οι προγραμματιστές Ubuntu πήραν μια ευσυνείδητη να απενεργοποιήσουν το λογαριασμό διαχείρισης βάσης εξορισμού σε όλες τις εγκαταστάσεις Ubuntu. Αυτό δε σημαίνει ότι ο λογαριασμός βάσης έχει διαγραφεί ή δεν μπορεί να προσπελαστεί. Απλά του έχει δοθεί ένας κωδικός ο οποίος δεν ταιριάζει με καμία κρυπτογραφημένη τιμή, έτσι δεν μπορεί να συνδεθεί άμεσα μόνος του.
Αντίθετα, οι χρήστες ενθαρρύνονται να δημιουργήσουν ένα εργαλείο με όνομα sudo για να εκτελέσουν διαχειριστικά καθήκοντα του συστήματος. Το Sudo επιτρέπει σε έναν εξουσιοδοτημένο χρήστη προσωρινά να ανυψώσει τα δικαιώματά του χρησιμοποιώντας το δικό τους κωδικό αντί να πρέπει να γνωρίσουν τον κωδικό που ανήκει στο λογαριασμό βάσης. Αυτή η απλή αλλά αποτελεσματική μεθοδολογίας παρέχει ευθύνη για όλες τις ενέργειες χρήστη, και δίνει στο διαχειριστή έλεγχο για το ποιες ενέργειες ένας χρήστης μπορεί να εκτελέσει με τα συγκεκριμένα προνόμια.
-
Εάν για κάποιο λόγο θέλετε να ενεργοποιήσετε τον λογαριασμό βάσης, απλώς δώστε του έναν κωδικό:
sudo passwdΤο Sudo θα σας ζητήσει τον κωδικό σας, και μετά θα σας ζητήσει να παρέχετε έναν καινούριο κωδικό για τη βάση όπως φαίνεται παρακάτω:
[sudo] κωδικός για όνομα χρήστη:(εισάγετε τον κωδικό σας)Εισάγετε καινούριο κωδικό UNIX:(εισάγετε έναν καινούριο κωδικό για τη βάση)Πληκτρολογήστε ξανά τον κωδικό UNIX :(επαναλάβετε τον καινούριο κωδικό για τη βάση)passwd: ο κωδικός ενημερώθηκε επιτυχώς -
Για να απενεργοποιήσετε τον λογαριασμό βάσης, χρησιμοποιείστε την ακόλουθη σύνταξη passwd:
sudo passwd -l root -
Πρέπει να διαβάσετε περισσότερα για το Sudo κοιτώντας την αρχική του σελίδα:
man sudo
Εξορισμού, ο αρχικός χρήστης που δημιουργείτε από την εγκατάσταση Ubuntu είναι μέλος της ομάδας "admin" η οποία έχει προστεθεί στο αρχείο /etc/sudoers ως εξουσιοδοτημένος χρήστης sudo. Εάν επιθυμείτε να δώσετε σε οποιοδήποτε άλλο λογαριασμό πλήρη πρόσβαση βάσης μέσω sudo, απλά προσθέστε τον στην ομάδα admin.
Η διαδικασία διαχείρισης τοπικών χρηστών και ομάδων είναι άμεση και διαφέρει πολύ λίγο από τα περισσότερα λειτουργικά συστήματα GNU/Linux. Το Ubuntu και άλλες διανομές βασισμένες σε Debian, ενθαρρύνουν τη χρήση του πακέτου "adduser" για διαχείριση λογαριασμών.
-
Για να προσθέσετε ένα λογαριασμό χρήστη, χρησιμοποιείστε την ακόλουθη σύνταξη, και ακολουθήστε τις προτροπές να δώσετε κωδικό στο λογαριασμό και αναγνωρίσιμα χαρακτηριστικά όπως πλήρες όνομα, τηλέφωνο, κλπ.
sudo adduser username -
Για να διαγράψετε ένα λογαριασμό χρήστη και την πρωταρχική του ομάδα, χρησιμοποιήστε την ακόλουθη σύνταξη:
sudo deluser usernameΗ διαγραφή ενός λογαριασμού δεν διαγράφει και τον αντίστοιχο αρχικό φάκελο. Εναπόκειται σε εσάς εάν επιθυμείτε να διαγράψετε τον φάκελο χειροκίνητα ή να τον κρατήσετε σύμφωνα με τις επιθυμητές πολιτικές διατήρησης σας.
Θυμηθείτε, κάθε χρήστης που προστίθεται αργότερα με το ίδιο UID/GID με τον προηγούμενο ιδιοκτήτη τώρα έχει πρόσβαση σε αυτόν τον φάκελο εάν δεν έχετε λάβει τις κατάλληλες προφυλάξεις.
Ίσως θέλετε να αλλάξετε τις τιμές UID/GID σε κάτι πιο κατάλληλο, όπως ο λογαριασμός βάσης, και πιθανόν ακόμα και να μεταφέρετε το φάκελο για να αποφευχθούν μελλοντικές συγκρούσεις:
sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/
-
Για να κλειδώσετε ή να ξεκλειδώσετε προσωρινά ένα λογαριασμό χρήστη, χρησιμοποιήστε την ακόλουθη σύνταξη, αντιστοίχως:
sudo passwd -l username sudo passwd -u username
-
Για να προσθέσετε ή να διαγράψετε μια προσαρμοσμένη ομάδα, χρησιμοποιήστε την ακόλουθη σύνταξη, αντίστοιχα:
sudo addgroup groupname sudo delgroup groupname
-
Για να προσθέσετε μια ομάδα χρηστών, χρησιμοποιήστε την ακόλουθη σύνταξη:
sudo adduser username groupname
Όταν δημιουργείτε ένας καινούριος χρήστης, η λειτουργία adduser δημιουργεί έναν ολοκαίνουριο αρχικό κατάλογο με όνομα /home/username, αντίστοιχα. Το προεπιλεγμένο προφίλ δημιουργείτε από τα περιεχόμενα που βρίσκονται στον κατάλογο /etc/skel, που περιλαμβάνει όλα τα βασικά στοιχεία προφίλ.
Εάν ο διακομιστής σας θα είναι αρχικός για πολλαπλούς χρήστες, θα πρέπει να προσέξετε πολύ τα διακαιώματα του αρχικού καταλόγου χρήστη για να βεβαιωθείτε για την εμπιστευτικότητα. Εξορισμού, οι αρχικοί κατάλογοι χρήστη στο Ubuntu δημιουργούνται με δικαιώματα ανάγνωσης/εκτέλεσης. Αυτό σημαίνει, ότι όλοι οι χρήστες μπορούν να περιηγηθούν και και να έχουν πρόσβαση στα περιεχόμενα αρχικών καταλόγων άλλων χρηστών. Αυτό ίσως δεν είναι κατάλληλο για το περιβάλλον σας.
-
Για να επαληθεύσετε τα διακαιώματα αρχικών καταλόγων των τρεχόντων χρηστών σας, χρησιμοποιήστε την ακόλουθη σύνταξη:
ls -ld /home/usernameΗ ακόλουθη έξοδος δείχνει ότι ο κατάλογος
/home/usernameέχει διακαιώματα ανάγνωσης για όλους:drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username -
Μπορείτε να αφαιρέσετε τα δικαιώματα ανάγνωσης για όλους χρησιμοποιώντας την ακόλουθη σύνταξη:
sudo chmod 0750 /home/username
Μερικοί άνθρωποι έχουν την τάση να χρησιμοποιούν την αναδρομική επιλογή (-R) η οποία τροποποιεί αδιακρίτως όλους τους εξαρτημένους φακέλους και τα αρχεία, αλλά αυτό δεν είναι αναγκαίο, και μπορεί να αποφέρει άλλα ανεπιθύμητα αποτελέσματα. Ο γονικός κατάλογος από μόνος του είναι ικανός να εμποδίσει την παράνομη πρόσβαση σε οτιδήποτε κάτω από το γονικό κατάλογο.
Μια πολύ πιο αποτελεσματική προσέγγιση του θέματος θα ήταν να τροποποιήσετε τα εξορισμού καθολικά διακαιώματα του adduser όταν δημιουργείτε αρχικούς καταλόγους χρηστών. Απλώς επεξεργαστείτε το
/etc/adduser.confκαι ρυθμίστε τη μεταβλητήDIR_MODEσε κάτι κατάλληλο, ώστε όλοι οι καινούριοι αρχικοί κατάλογοι να λαμβάνουν τα σωστά δικαιώματα.DIR_MODE=0750
-
Αφού διορθώσετε τα δικαιώματα καταλόγου χρησιμοποιώντας τις προαναφερθείσες τεχνικές, επαληθεύστε τα αποτελέσματα χρησιμοποιώντας την ακόλουθη σύνταξη:
ls -ld /home/usernameΤα αποτελέσματα παρακάτω δείχνουν ότι τα διακαιώματα ανάγνωσης για όλους έχουν αφαιρεθεί:
drwxr-x--- 2 username username 4096 2007-10-02 20:03 username
Μια ισχυρή πολιτική κωδικού πρόσβασης είναι μία από τις πιο σημαντικές πτυχές της στάσης ασφαλείας σας. Πολλές επιτυχημένες παραβιάσεις της ασφάλειας περιλαμβάνουν απλά ωμή βία και επιθέσεις λεξικού εναντίον αδύναμων κωδικών πρόσβασης. Εάν σκοπεύετε να προσφέρετε οποιαδήποτε μορφή απομακρυσμένης πρόσβασης που να αφορά το τοπικό σύστημα κωδικού σας, βεβαιωθείτε ότι αντιμετωπίζετε ικανοποιητικά τις ελάχιστες απαιτήσεις της πολυπλοκότητας κωδικού πρόσβασης, το ανώτατο όριο διάρκειας ζωής κωδικού πρόσβασης, και τους συχνούς ελέγχους των συστημάτων ελέγχου ταυτότητας σας.
Εξορισμού, το Ubuntu απαιτεί έναν ελάχιστο μέγεθος κωδικού 4 χαρακτήρων, καθώς και μερικούς βασικούς ελέγχους εντροπίας. Αυτές οι τιμές ελέγχονται στο αρχείο /etc/pam.d/common-password, το οποίο περιγράφεται παρακάτω.
password required pam_unix.so nullok obscure min=4 max=8 md5
Εάν θα θέλατε να προσαρμόσετε το ελάχιστο μήκος σε 6 χαρακτήρες, αλλάξτε την κατάλληλη μεταβλητή σε min=6. Η τροποποίηση περιγράφεται παρακάτω.
password required pam_unix.so nullok obscure min=6 max=8 md5
|
|
|
Η μεταβλητή |
Όταν δημιουργείτε λογαριασμούς χρηστών, θα πρέπει να δημιουργήσετε μια πολιτική να έχετε ελάχιστη και μέγιστη ζωή κωδικού αναγκάζοντας τους χρήστες να αλλάζουν τους κωδικούς τους όταν λήγουν.
-
Για να δείτε εύκολα την τρέχουσα κατάσταση ενός λογαριασμού χρήστη, χρησιμοποιείστε την ακόλουθη σύνταξη:
sudo chage -l usernameΗ έξοδος παρακάτω δείχνει ενδιαφέροντα στοιχεία για το λογαριασμό χρήστη, δηλαδή ότι δεν υπάρχουν πολιτικές που εφαρμόζονται:
Τελευταία αλλαγή κωδικού : Jan 20, 2008 Ο Κωδικός λήγει : ποτέ Κωδικός ανενεργός : ποτέ Ο Λογαριασμός λήγει : ποτέ Ελάχιστος αριθμών ημερών μεταξύ αλλαγών κωδικού : 0 Μέγιστος αριθμών ημερών μεταξύ αλλαγών κωδικού : 99999 Αριθμός ημερών προειδοποίησης πριν λήξει ο κωδικός : 7 -
Για να ορίσετε οποιαδήποτε από αυτές τις τιμές, απλά χρησιμοποιείστε την ακόλουθη σύνταξη, και ακολουθήστε τις διαδραστικές προτροπές:
sudo chage usernameΤο ακόλουθο είναι επίσης ένα παράδειγμα για το πως να αλλάξετε χειροκίνητα την ρητή ημερομηνία λήξης (-E) σε 01/31/2008, την ελάχιστη ηλικία κωδικού (-m) σε 5 μέρες, την μέγιστη ηλικία κωδικού (-M) σε 90 μέρες, την περίοδο αδράνειας (-I) σε 5 μέρες μετά τη λήξη του κωδικού, και μια περίοδο προειδοποίησης (-W) 14 ημερών πριν λήξει ο κωδικός.
sudo chage -E 01/31/2008 -m 5 -M 90 -I 30 -W 14 username -
Για να επαληθεύσετε τις αλλαγές, χρησιμοποιήστε την ίδια σύνταξη που χρησιμοποιήθηκε προηγουμένως:
sudo chage -l usernameΗ έξοδος παρακάτω δείχνει τις νέες πολιτικές που έχουν θεσπιστεί για το λογαριασμός:
Τελευταία αλλαγή κωδικού : Jan 20, 2008 Ο Κωδικός λήγει : Apr 19, 2008 Κωδικός ανενεργός : May 19, 2008 Ο Λογαριασμός λήγει : Jan 31, 2008 Ελάχιστος αριθμών ημερών μεταξύ αλλαγών κωδικού : 5 Μέγιστος αριθμών ημερών μεταξύ αλλαγών κωδικού : 90 Αριθμός ημερών προειδοποίησης πριν λήξει ο κωδικός : 14
Πολλές εφαρμογές χρησιμοποιούν εναλλακτικούς μηχανισμούς πιστοποίησης οι οποίοι μπορούν εύκολα να παραβλεφθούν ακόμα και από έμπειρους διαχειριστές συστημάτων. Ως εκ τούτου, είναι σημαντικό να καταλάβετε και να ελέγξετε πως οι χρήστες πιστοποιούν την ταυτότητά τους και αποκτούν πρόσβαση σε υπηρεσίες και εφαρμογές στο διακομιστή σας.
Με το να απενεργοποιήσετε/κλειδώσετε τον λογαριασμό ενός χρήστη δε θα τον αποτρέψετε από το να συνδέετε στο διακομιστή σας εξ αποστάσεως εάν έχει στήσει στο παρελθόν ένα δημόσιο κλειδί πιστοποίησης RSA. Θα μπορεί ακόμα να αποκτά πρόσβαση κελύφους στο διακομιστή, χωρίς να χρειάζεται κωδικό. Θυμηθείτε να ελέγξετε το αρχικό κατάλογο του χρήστη για αρχεία που θα επιτρέψουν αυτού του είδους την πιστοποιημένη SSH πρόσβαση πχ. /home/username/.ssh/authorized_keys.
Διαγράψτε ή μετονομάστε τον κατάλογο .ssh/ στον αρχικό κατάλογο του χρήστη για να αποτραπούν οι περαιτέρω δυνατότητες πιστοποίησης SSH.
Σιγουρευτείτε ότι ελέγξατε για εγκατεστημένες συνδέσεις SSH από τον απενεργοποιημένο χρήστη, καθώς είναι πιθανό να έχουν υπαρκτές εισερχόμενες ή εξερχόμενες συνδέσεις. Τερματίστε όποιες βρείτε.
Περιορίστε την πρόσβαση SSH μόνο σε λογαριασμούς χρηστών που πρέπει να την έχουν. Για παράδειγμα, μπορείτε να δημιουργήσετε μια ομάδα με όνομα "sshlogin" και να εισάγετε το όνομα της ομάδας στην τιμή που είναι συναφής με τη μεταβλητή AllowGroups που βρίσκεται στο αρχείο /etc/ssh/sshd_config.
AllowGroups sshlogin
Ύστερα προσθέστε τους χρήστες στους οποίους επιτρέπεται το SSH στην ομάδα "sshlogin", και επανεκκινήστε την υπηρεσία SSH.
sudo adduser username sshlogin sudo /etc/init.d/ssh restart
Τα περισσότερα δίκτυα επιχειρήσεων απαιτούν κεντρικό έλεγχο ταυτότητας και ελέγχους πρόσβασης για όλους τους πόρους συστήματος. Εάν έχετε διαμορφώσει το διακομιστή σας να πιστοποιεί τους χρήστες από εξωτερικές βάσεις δεδομένων, βεβαιωθείτε ότι έχετε απενεργοποιήσει τους λογαριασμούς χρηστών εξωτερικά και τοπικά, με αυτόν τον τρόπο εξασφαλίζεται ότι η τοπική επαναφορά ταυτοποίησης δεν είναι δυνατή.

