Προαπαιτούμενα
Βήμα 1: Εγκατάσταση sudo
Βήμα 2: Προσθήκη του χρήστη sudo
Βήμα 3: Προσθήκη του νέου χρήστη στην ομάδα τροχών (προαιρετικό)
Η διαφορά μεταξύ τροχού και sudo.
Βήμα 4: Βεβαιωθείτε ότι το αρχείο sudoers έχει ρυθμιστεί σωστά
Βήμα 5: Επιτρέποντας σε έναν χρήστη που δεν ανήκει ούτε στον τροχό ούτε στην ομάδα sudo να εκτελέσει την εντολή sudo
Βήμα 6: Επανεκκίνηση του διακομιστή SSHD
Βήμα 7: Δοκιμή
Βήμα 8: Απενεργοποιήστε την άμεση πρόσβαση root
Η χρήση ενός sudoχρήστη για πρόσβαση σε διακομιστή και εκτέλεση εντολών σε επίπεδο ρίζας είναι μια πολύ κοινή πρακτική μεταξύ Linux και Unix Systems Administrator. Η χρήση ενός sudoχρήστη συχνά συνδυάζεται με την απενεργοποίηση της άμεσης πρόσβασης root στον διακομιστή κάποιου σε μια προσπάθεια να αποτραπεί η μη εξουσιοδοτημένη πρόσβαση.
Σε αυτό το σεμινάριο, θα καλύψουμε τα βασικά βήματα για την απενεργοποίηση της άμεσης πρόσβασης root, τη δημιουργία ενός χρήστη sudo και τη ρύθμιση της ομάδας sudo σε CentOS, Debian και FreeBSD.
Προαπαιτούμενα
- Ένας πρόσφατα εγκατεστημένος διακομιστής Linux με την προτιμώμενη διανομή σας.
- Ένα πρόγραμμα επεξεργασίας κειμένου εγκατεστημένο στον διακομιστή είτε είναι nano, vi, vim, emacs.
Βήμα 1: Εγκατάσταση sudo
Debian
apt-get install sudo -y
CentOS
yum install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
ή
pkg install sudo
Βήμα 2: Προσθήκη του χρήστη sudo
Ένας sudoχρήστης είναι ένας κανονικός λογαριασμός χρήστη σε μια μηχανή Linux ή Unix.
Debian
adduser mynewusername
CentOS
adduser mynewusername
FreeBSD
adduser mynewusername
Βήμα 3: Προσθήκη του νέου χρήστη στην ομάδα τροχών (προαιρετικό)
Η ομάδα τροχών είναι μια ομάδα χρηστών που περιορίζει τον αριθμό των ατόμων που μπορούν suνα κάνουν root. Η προσθήκη του sudoχρήστη σας στην wheelομάδα είναι εντελώς προαιρετική, αλλά συνιστάται.
Σημείωση: Στο Debian, η sudoομάδα βρίσκεται συχνά αντί για wheel. Ωστόσο, μπορείτε να προσθέσετε μη αυτόματα την wheelομάδα χρησιμοποιώντας την groupaddεντολή. Για τους σκοπούς αυτού του σεμιναρίου, θα χρησιμοποιήσουμε την sudoομάδα για το Debian.
Η διαφορά μεταξύ wheelκαι sudo.
Στο CentOS και στο Debian, ένας χρήστης που ανήκει στην wheelομάδα μπορεί να εκτελέσει suκαι να ανέβει απευθείας στο root. Εν τω μεταξύ, ένας sudoχρήστης θα είχε χρησιμοποιήσει το sudo suπρώτο. Ουσιαστικά, δεν υπάρχει καμία πραγματική διαφορά εκτός από τη σύνταξη που χρησιμοποιείται για να γίνει root και οι χρήστες που ανήκουν και στις δύο ομάδες μπορούν να χρησιμοποιήσουν την sudoεντολή.
Debian
usermod -aG sudo mynewusername
CentOS
usermod -aG wheel mynewusername
FreeBSD
pw group mod wheel -m mynewusername
Βήμα 4: Βεβαιωθείτε ότι το sudoersαρχείο σας έχει ρυθμιστεί σωστά
Είναι σημαντικό να διασφαλίσετε ότι το sudoersαρχείο που βρίσκεται μέσα /etc/sudoersέχει ρυθμιστεί σωστά, ώστε να επιτρέπεται sudo usersη αποτελεσματική χρήση της sudoεντολής. Για να το πετύχουμε αυτό, θα προβάλουμε τα περιεχόμενα /etc/sudoersκαι θα τα επεξεργαστούμε όπου χρειάζεται.
Debian
vim /etc/sudoers
ή
visudo
CentOS
vim /etc/sudoers
ή
visudo
FreeBSD
vim /etc/sudoers
ή
visudo
Σημείωση: Η visudoεντολή θα ανοίξει /etc/sudoersχρησιμοποιώντας τον προτιμώμενο επεξεργαστή κειμένου του συστήματος (συνήθως vi ή vim) .
Ξεκινήστε τον έλεγχο και την επεξεργασία κάτω από αυτήν τη γραμμή:
# Allow members of group sudo to execute any command
Αυτή η ενότητα /etc/sudoersσυχνά μοιάζει με αυτό:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Σε ορισμένα συστήματα, ενδέχεται να μην βρείτε %wheelαντί για %sudo; Σε αυτή την περίπτωση, αυτή θα ήταν η γραμμή κάτω από την οποία θα ξεκινούσατε την τροποποίηση.
Εάν η γραμμή που ξεκινά με %sudoστο Debian ή %wheelστο CentOS και στο FreeBSD δεν σχολιαστεί (με πρόθεμα #) , αυτό σημαίνει ότι το sudo έχει ήδη ρυθμιστεί και είναι ενεργοποιημένο. Στη συνέχεια, μπορείτε να προχωρήσετε στο επόμενο βήμα.
Βήμα 5: Επιτρέποντας σε έναν χρήστη που δεν ανήκει wheelούτε στην sudoομάδα ούτε στην ομάδα να εκτελέσει την sudoεντολή
Είναι δυνατόν να επιτραπεί σε έναν χρήστη που δεν ανήκει σε καμία από τις ομάδες χρηστών να εκτελέσει την sudoεντολή απλά προσθέτοντάς τους /etc/sudoersως εξής:
anotherusername ALL=(ALL) ALL
Βήμα 6: Επανεκκίνηση του διακομιστή SSHD
Για να εφαρμόσετε τις αλλαγές που κάνατε στο /etc/sudoers, πρέπει να επανεκκινήσετε τον διακομιστή SSHD ως εξής:
Debian
/etc/init.d/sshd restart
CentOS 6
/etc/init.d/sshd restart
CentOS 7
systemctl restart sshd.service
FreeBSD
/etc/rc.d/sshd start
Βήμα 7: Δοκιμή
Αφού επανεκκινήσετε τον διακομιστή SSH, αποσυνδεθείτε και, στη συνέχεια, συνδεθείτε ξανά ως το δικό σας και sudo user, στη συνέχεια, προσπαθήστε να εκτελέσετε ορισμένες εντολές δοκιμής ως εξής:
sudo uptime
sudo whoami
Οποιαδήποτε από τις παρακάτω εντολές θα επιτρέψει στο sudo userνα γίνει root.
sudo su -
sudo -i
sudo -S
Σημειώσεις:
- Η
whoamiεντολή θα επιστρέψει rootόταν συνδυαστεί με sudo.
- Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης του χρήστη σας κατά την εκτέλεση της
sudoεντολής, εκτός εάν δώσετε ρητή εντολή στο σύστημα να μην σας ζητήσει sudo usersτους κωδικούς πρόσβασης. Λάβετε υπόψη ότι δεν συνιστάται η πρακτική.
Προαιρετικά: επιτρέπεται sudoχωρίς να εισάγετε τον κωδικό πρόσβασης του χρήστη
Όπως εξηγήθηκε προηγουμένως, αυτή δεν είναι μια συνιστώμενη πρακτική και περιλαμβάνεται σε αυτό το σεμινάριο μόνο για σκοπούς επίδειξης.
Προκειμένου να επιτραπεί σας sudo userγια να εκτελέσει την sudoεντολή χωρίς να ζητηθεί για τον κωδικό τους, κατάληξη τη γραμμή πρόσβασης σε /etc/sudoersμε NOPASSWD: ALLως εξής:
%sudo ALL=(ALL:ALL) ALL NOPASSWD: ALL
Σημείωση: Πρέπει να κάνετε επανεκκίνηση του διακομιστή SSHD για να εφαρμόσετε τις αλλαγές.
Βήμα 8: Απενεργοποιήστε την άμεση πρόσβαση root
Τώρα που επιβεβαιώσατε ότι μπορείτε να χρησιμοποιήσετε sudo userχωρίς προβλήματα, ήρθε η ώρα για το όγδοο και τελευταίο βήμα, απενεργοποιώντας την άμεση πρόσβαση root.
Αρχικά, ανοίξτε /etc/ssh/sshd_configχρησιμοποιώντας τον αγαπημένο σας επεξεργαστή κειμένου και βρείτε τη γραμμή που περιέχει την ακόλουθη συμβολοσειρά. Μπορεί να έχει πρόθεμα #χαρακτήρα.
PermitRootLogin
Ανεξάρτητα από το πρόθεμα ή την τιμή της επιλογής στο /etc/ssh/sshd_config, πρέπει να αλλάξετε αυτήν τη γραμμή ως εξής:
PermitRootLogin no
Τέλος, επανεκκινήστε τον διακομιστή SSHD.
Σημείωση: Μην ξεχάσετε να δοκιμάσετε τις αλλαγές σας επιχειρώντας να κάνετε SSH στον διακομιστή σας ως root. Εάν δεν μπορείτε να το κάνετε, αυτό σημαίνει ότι έχετε ολοκληρώσει με επιτυχία όλα τα απαραίτητα βήματα.
Αυτό ολοκληρώνει το σεμινάριο μας.