Προαπαιτούμενα
Βήμα 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
. Εάν δεν μπορείτε να το κάνετε, αυτό σημαίνει ότι έχετε ολοκληρώσει με επιτυχία όλα τα απαραίτητα βήματα.
Αυτό ολοκληρώνει το σεμινάριο μας.