Αρχική εγκατάσταση διακομιστή με CentOS/RHEL 8


Σε αυτό το άρθρο, θα σας καθοδηγήσουμε στα πρώτα βασικά βήματα που πρέπει να εφαρμόσετε μετά την εγκατάσταση ενός ελάχιστου διακομιστή CentOS/RHEL 8 χωρίς γραφικό περιβάλλον, προκειμένου να ανακτήσετε τις πληροφορίες σχετικά με το εγκατεστημένο σύστημα, το υλικό πάνω από το οποίο εκτελείται ο διακομιστής και διαμορφώστε άλλες συγκεκριμένες εργασίες συστήματος, όπως ενημέρωση συστήματος, δικτύωση, δικαιώματα root, διαμόρφωση ssh, διαχείριση υπηρεσιών και άλλα.

Απαιτήσεις

  1. Οδηγός εγκατάστασης CentOS 8
  2. Ελάχιστη εγκατάσταση RHEL 8
  3. Ενεργοποιήστε τη συνδρομή RHEL στο RHEL 8

Σημαντικό: Πρέπει να έχετε ενεργοποιημένη μια Συνδρομητική Υπηρεσία Red Hat στον διακομιστή σας RHEL 8 για να πραγματοποιήσετε ενημέρωση συστήματος και εγκατάσταση λογισμικού.

Βήμα 1: Ενημερώστε το λογισμικό συστήματος

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

dnf check-update
dnf update

Μόλις ολοκληρωθεί η διαδικασία αναβάθμισης λογισμικού, για να απελευθερώσετε χώρο στο δίσκο, μπορείτε να διαγράψετε όλα τα ληφθέντα πακέτα λογισμικού με όλες τις πληροφορίες των αποθετηρίων προσωρινής αποθήκευσης εκτελώντας την ακόλουθη εντολή.

dnf clean all

Βήμα 2: Εγκαταστήστε τα βοηθητικά προγράμματα συστήματος

Αυτά τα ακόλουθα βοηθητικά προγράμματα συστήματος μπορεί να είναι πολύ χρήσιμα για καθημερινές εργασίες διαχείρισης συστήματος: nano, vim editor, wget & curl (βοηθητικά προγράμματα που χρησιμοποιούνται κυρίως για τη λήψη πακέτων μέσω δικτύου) net-tools (βοηθητικά προγράμματα για τη διαχείριση τοπικής δικτύωσης) lsof (χρήσιμο για εύρεση λίστας ανοιχτών αρχείων κατά διαδικασία) και συμπλήρωση bash (αυτόματη συμπλήρωση γραμμής εντολών).

dnf install nano vim wget curl net-tools lsof bash-completion

Βήμα 3: Ρύθμιση ονόματος κεντρικού υπολογιστή και δικτύωσης

Στο CentOS/RHEL 8, υπάρχει ένα ευρύ φάσμα εργαλείων που περιλαμβάνονται στα αποθετήρια που χρησιμοποιούνται για τη διαμόρφωση και τη διαχείριση δικτύων, από τη μη αυτόματη αλλαγή του αρχείου διαμόρφωσης δικτύου έως τη χρήση εντολών όπως ifconfig, ip, nmcli και nmtui.

Το πιο εύκολο βοηθητικό πρόγραμμα που μπορεί να χρησιμοποιήσει ένας αρχάριος για να διαμορφώσει και να διαχειριστεί διαμορφώσεις δικτύου, όπως ο ορισμός ονόματος κεντρικού υπολογιστή δικτύου και η διαμόρφωση στατικής διεύθυνσης IP, είναι η χρήση του βοηθητικού προγράμματος γραμμής εντολών γραφικών nmtui.

Ορισμός ονόματος κεντρικού υπολογιστή στο CentOS 8

Για να ορίσετε ή να αλλάξετε το όνομα κεντρικού υπολογιστή του συστήματος, εκτελέστε την ακόλουθη εντολή nmtui-hostname, η οποία θα σας ζητήσει να εισαγάγετε το όνομα κεντρικού υπολογιστή του υπολογιστή σας και να πατήσετε OK για να ολοκληρώσετε, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

nmtui-hostname

Ορισμός στατικής διεύθυνσης IP στο CentOS 8

Για να διαμορφώσετε μια διεπαφή δικτύου, εκτελέστε την ακόλουθη εντολή nmtui-edit, η οποία θα σας ζητήσει να επιλέξετε τη διεπαφή που θέλετε να διαμορφώσετε από το μενού, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

nmtui-edit

Μόλις κάνετε κλικ στο κουμπί Επεξεργασία, θα σας ζητηθεί να ρυθμίσετε τις ρυθμίσεις IP της διεπαφής δικτύου όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Όταν τελειώσετε, μεταβείτε στο OK χρησιμοποιώντας ένα πλήκτρο [tab] για να αποθηκεύσετε τη διαμόρφωση και να τερματίσετε.

Μόλις ολοκληρώσετε τη ρύθμιση παραμέτρων δικτύου, πρέπει να εκτελέσετε την ακόλουθη εντολή για να εφαρμόσετε τις νέες ρυθμίσεις δικτύου επιλέγοντας τη διεπαφή που θέλετε να διαχειριστείτε και πατήστε την επιλογή Απενεργοποίηση/Ενεργοποίηση για να απενεργοποιήσετε και να εμφανίσετε τη διεπαφή με τις ρυθμίσεις IP, όπως παρουσιάζονται στο παρακάτω στιγμιότυπο οθόνης.

nmtui-connect

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

ifconfig enp0s3
ip a
ping -c2 google.com

Μπορείτε επίσης να χρησιμοποιήσετε άλλα χρήσιμα βοηθητικά προγράμματα δικτύου, όπως το ethtool και το mii-tool για να ελέγξετε την ταχύτητα της διεπαφής δικτύου, την κατάσταση σύνδεσης δικτύου και να λάβετε πληροφορίες σχετικά με τις διεπαφές δικτύου μηχανών.

ethtool enp0s3
mii-tool enp0s3

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

netstat -tulpn
ss -tulpn
lsof -i4 -6

Βήμα 4: Δημιουργήστε έναν νέο λογαριασμό χρήστη

Συνιστάται πάντα να έχετε έναν κανονικό χρήστη με δικαιώματα root για να κάνει διαχειριστικές εργασίες όταν χρειάζεται. Για να εκχωρήσετε δικαιώματα root σε έναν κανονικό χρήστη, πρώτα δημιουργήστε έναν χρήστη με την εντολή useradd, ορίστε τον κωδικό πρόσβασης και προσθέστε έναν χρήστη στην ομάδα τροχών διαχείρισης.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Για να επαληθεύσετε ότι ο νέος χρήστης έχει δικαιώματα root, συνδεθείτε στο σύστημα με τα διαπιστευτήρια του χρήστη και εκτελέστε την εντολή dnf με δικαιώματα Sudo όπως φαίνεται.

su - ravisaive
sudo dnf update

Βήμα 5: Ρύθμιση σύνδεσης χωρίς κωδικό πρόσβασης SSH στο CentOS 8

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

su - ravisaive
ssh-keygen -t RSA

Μόλις δημιουργηθεί το κλειδί, θα σας ζητήσει να εισαγάγετε τη φράση πρόσβασης για να ασφαλίσετε το ιδιωτικό κλειδί. Μπορείτε να εισαγάγετε μια ισχυρή φράση πρόσβασης ή να επιλέξετε να αφήσετε κενή τη φράση πρόσβασης, εάν θέλετε να αυτοματοποιήσετε εργασίες διαχείρισης μέσω διακομιστή SSH.

Μόλις δημιουργηθεί το κλειδί SSH, πρέπει να αντιγράψετε το δημιουργημένο ζεύγος δημόσιων κλειδιών σε έναν απομακρυσμένο διακομιστή εκτελώντας την εντολή ssh-copy-id με το όνομα χρήστη και τη διεύθυνση IP του απομακρυσμένου διακομιστή όπως φαίνεται.

ssh-copy-id [email 

Μόλις αντιγραφεί το κλειδί SSH, μπορείτε τώρα να προσπαθήσετε να συνδεθείτε στον απομακρυσμένο διακομιστή Linux χρησιμοποιώντας το ιδιωτικό κλειδί ως μέθοδο ελέγχου ταυτότητας. Θα πρέπει να μπορείτε να συνδεθείτε αυτόματα χωρίς ο διακομιστής SSH να ζητά κωδικό πρόσβασης.

[email 

Βήμα 6: Διασφάλιση απομακρυσμένων συνδέσεων SSH

Εδώ, θα ασφαλίσουμε λίγο περισσότερο τον διακομιστή μας απενεργοποιώντας την απομακρυσμένη πρόσβαση SSH στον λογαριασμό root στο αρχείο διαμόρφωσης SSH.

vi /etc/ssh/sshd_config

Βρείτε τη γραμμή που λέει #PermitRootLogin yes, αφαιρέστε το σχόλιο της γραμμής διαγράφοντας το # από την αρχή της γραμμής και τροποποιήστε τη γραμμή σε.

PermitRootLogin no

Στη συνέχεια, επανεκκινήστε τον διακομιστή SSH για να εφαρμόσετε τις πρόσφατες νέες αλλαγές.

systemctl restart sshd

Τώρα επαληθεύστε τη διαμόρφωση προσπαθώντας να συνδεθείτε ως λογαριασμός root, θα λάβετε το σφάλμα πρόσβασης SSH Permission Denied όπως φαίνεται.

ssh [email 

Υπάρχουν σενάρια όπου μπορεί να θέλετε να αποσυνδέσετε όλες τις απομακρυσμένες συνδέσεις SSH αυτόματα στον διακομιστή σας μετά από μια συγκεκριμένη περίοδο αδράνειας.

Βήμα 7: Διαμόρφωση τείχους προστασίας στο CentOS 8

Στο CentOS/RHEL 8, το προεπιλεγμένο τείχος προστασίας είναι το Τείχος προστασίας, το οποίο χρησιμοποιείται για τη διαχείριση κανόνων iptables στον διακομιστή. Για να ενεργοποιήσετε και να ξεκινήσετε την υπηρεσία τείχος προστασίας στον διακομιστή, εκτελέστε τις ακόλουθες εντολές.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Για να ανοίξετε μια εισερχόμενη σύνδεση σε μια συγκεκριμένη υπηρεσία (SSH), πρέπει πρώτα να επαληθεύσετε ότι η υπηρεσία υπάρχει στους κανόνες τείχους προστασίας και, στη συνέχεια, να προσθέσετε τον κανόνα για την υπηρεσία προσθέτοντας το διακόπτη --permanent στις εντολές όπως φαίνεται.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Εάν θέλετε να ανοίξετε εισερχόμενες συνδέσεις σε άλλες υπηρεσίες δικτύου, όπως HTTP ή SMTP, απλώς προσθέστε τους κανόνες όπως φαίνεται καθορίζοντας το όνομα της υπηρεσίας.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

Για να προβάλετε όλους τους κανόνες του τείχους προστασίας στον διακομιστή, εκτελέστε την ακόλουθη εντολή.

firewall-cmd --permanent --list-all

Βήμα 8: Καταργήστε τις ανεπιθύμητες υπηρεσίες στο CentOS 8

Συνιστάται ανεπιφύλακτα μετά την εγκατάσταση ενός νέου διακομιστή CentOS/RHEL 8, πρέπει να καταργήσετε και να απενεργοποιήσετε τις ανεπιθύμητες υπηρεσίες που εκτελούνται από προεπιλογή στον διακομιστή για να μειώσετε τις επιθέσεις στον διακομιστή.

Για να παραθέσετε όλες τις υπηρεσίες δικτύου που εκτελούνται, συμπεριλαμβανομένων των TCP και UDP στον διακομιστή, εκτελέστε την εντολή ss ή την εντολή netstat όπως φαίνεται στο παρακάτω παράδειγμα.

ss -tulpn
OR
netstat -tulpn

Οι παραπάνω εντολές θα αναφέρουν ορισμένες ενδιαφέρουσες υπηρεσίες που εκτελούνται από προεπιλογή στον διακομιστή, όπως ο διακομιστής αλληλογραφίας Postfix. Εάν δεν σκοπεύετε να φιλοξενήσετε σύστημα αλληλογραφίας στο διακομιστή, πρέπει να το σταματήσετε και να το αφαιρέσετε από το σύστημα όπως φαίνεται.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

Εκτός από την εντολή ss και την εντολή netstat, μπορείτε επίσης να εκτελέσετε εντολές ps, top ή pstree για να ανακαλύψετε και να αναγνωρίσετε όλες τις ανεπιθύμητες υπηρεσίες και να τις αφαιρέσετε από το σύστημα.

dnf install psmisc
pstree -p

Βήμα 9: Διαχείριση υπηρεσιών στο CentOS 8

Στο CentOS/RHEL 8, η διαχείριση όλων των υπηρεσιών και των δαίμονων γίνεται μέσω μιας εντολής systemctl και μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να παραθέσετε όλες τις ενεργές, εκτελούμενες, εξόδους ή αποτυχημένες υπηρεσίες.

systemctl list-units

Για να ελέγξετε εάν ένας δαίμονας ή υπηρεσία ενεργοποιείται αυτόματα κατά την εκκίνηση του συστήματος, εκτελέστε την ακόλουθη εντολή.

systemctl list-unit-files -t service

Για να μάθετε περισσότερα σχετικά με την εντολή systemctl, διαβάστε το άρθρο μας που εξηγεί – Πώς να διαχειριστείτε υπηρεσίες χρησιμοποιώντας το «Systemctl» στο Linux.

Αυτό είναι όλο! Σε αυτό το άρθρο, εξηγήσαμε μερικές βασικές ρυθμίσεις και εντολές που κάθε διαχειριστής συστήματος Linux πρέπει να γνωρίζει και να εφαρμόζει σε ένα πρόσφατα εγκατεστημένο σύστημα CentOS/RHEL 8 ή προκειμένου να εκτελεί καθημερινές εργασίες στο σύστημα .