Αρχική ρύθμιση διακομιστή CentOS 7: ένας παραδοσιακός κατάλογος ελέγχου για σύγχρονο Linux


Δημοσιεύτηκε:

Ενημερώθηκε:


Άρθρα › Αρχική ρύθμιση διακομιστή CentOS 7: ένας παραδοσιακός κατάλογος ελέγχου για σύγχρονο Linux

Κατάσταση το 2026 και ασφαλής χρήση

Συμπέρασμα: Μην ξεκινήσετε μια νέα έκδοση παραγωγής στο CentOS Linux 7: έφτασε στο τέλος της ζωής του στις 30 Ιουνίου 2024. Σε ένα υποστηριζόμενο σύστημα οικογένειας RHEL, ενημερώστε μέσω DNF, δημιουργήστε επώνυμους διαχειριστές, διαμορφώστε σκόπιμα το χρόνο και το όνομα κεντρικού υπολογιστή, διατηρήστε το τείχος προστασίας ενεργοποιημένο και διατηρήστε το SELuxinpuxin.

Τι θα μάθετε

  • Ποιες βασικές ρυθμίσεις προσπαθούσε να καθορίσει η αρχική λίστα ελέγχου CentOS 7.
  • Πώς ο κύκλος ζωής, η διαχείριση πακέτων, το systemd, το τείχος προστασίας και το SELinux αλλάζουν την απόφαση του 2026.
  • Πώς να αντιμετωπίζετε μια παλιά ακολουθία εντολών ως απόδειξη μετεγκατάστασης και όχι ως ασφαλές πρότυπο κατασκευής.

Σε ποιους απευθύνεται: Διαχειριστές που κληρονομούν έναν κεντρικό υπολογιστή CentOS 7 ή μεταφράζουν ένα παλιό βιβλίο εκτέλεσης σε μια υποστηριζόμενη πλατφόρμα.

Ισχύει το 2026: Οι παρακάτω εντολές διατηρούνται ως ιστορικό υλικό CentOS 7. Μην απενεργοποιήσετε μόνιμα το SELinux για να λειτουργήσει μια εφαρμογή. Η Red Hat συνιστά την επιβολή της λειτουργίας και τα προσωρινά επιτρεπτά διαγνωστικά μόνο όταν είναι απαραίτητο. Δημιουργήστε και δοκιμάστε μια μετεγκατάσταση αντί να βασίζεστε σε αρχειοθετημένα πακέτα.

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

Επίσημες πηγές

Επισκόπηση

Αυτή η ενότητα περιγράφει τις πρώτες απαραίτητες ρυθμίσεις μετά την εγκατάσταση του CentOS. Έχει κατασκευαστεί χρησιμοποιώντας το CentOS 7.6 (1810).

Περιεχόμενα

  1. βασική ρύθμιση
  2. Σύνοψη

1. βασική ρύθμιση

Αυτή η ενότητα περιγράφει τις βασικές ρυθμίσεις που απαιτούνται αμέσως μετά την εγκατάσταση του CentOS.

1-1. Έλεγχος του λειτουργικού συστήματος

Αρχικά, ελέγξτε ότι έχετε εγκαταστήσει το σωστό λειτουργικό σύστημα.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

'CentOS Linux release 7.6.1810 (Core)' είναι το εγκατεστημένο λειτουργικό σύστημα. Ελέγξτε ότι είναι σωστή.

1-2. Εγκατάσταση του εργαλείου

Αμέσως μετά την εγκατάσταση, βασικές εντολές όπως η ifconfig δεν μπορούν να εκτελεστούν. Ως εκ τούτου, η εγκατάσταση πραγματοποιείται έτσι ώστε οι βασικές εντολές δικτύωσης και άλλες εντολές να μπορούν να εκτελεστούν από τις εντολές yum.

Πραγματοποιήστε το αν είναι απαραίτητο, καθώς είναι δυνατό να εκσυγχρονίσετε ό,τι έχει ήδη εγκατασταθεί με το 'yum -y update'.

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools···Η εντολή ifconfig και άλλες μπορούν να χρησιμοποιηθούν μετά την εγκατάσταση.

wget···Κυριολεκτικά, αλλά μπορεί να χρησιμοποιηθεί η εντολή wget. Εν συντομία, αυτή η εντολή στέλνει ένα αίτημα http.

tcpdump···Κυριολεκτικά, αλλά μπορεί να χρησιμοποιηθεί και η εντολή tcpdump. Εν συντομία, μπορεί να παρακολουθεί τις αιτήσεις που αποστέλλονται στον διακομιστή.

traceroute···Κυριολεκτικά, αλλά μπορεί να χρησιμοποιηθεί και η εντολή traceroute. Εν συντομία, δείχνει τη διαδρομή της IP προορισμού.

1-3. Απενεργοποίηση του selinux

Απενεργοποιήστε το selinux καθώς είναι ενεργοποιημένο και μπορεί να συμπεριφερθεί απροσδόκητα.

Αρχικά, το selinux είναι μια ρύθμιση που σχετίζεται με την ασφάλεια. Αν είστε σε θέση να το χρησιμοποιήσετε, μπορείτε να το ενεργοποιήσετε, αλλά αν είναι δύσκολο, απενεργοποιήστε το. Η απενεργοποίηση του selinux δεν καθιστά απαραίτητα την ασφάλεια ευάλωτη. Είναι πιο πιθανό να προκαλέσει προβλήματα αν είναι ενεργοποιημένο, αν και προσωπικά δεν το καταλαβαίνω καλά. Η απλή εξήγηση είναι ότι το selinux είναι ένα μέτρο ασφαλείας μετά την παραβίαση του διακομιστή (ρυθμισμένο για να ελαχιστοποιεί τη ζημιά σε περίπτωση παραβίασης), οπότε είναι μάλλον πιο σημαντικό να λάβετε μέτρα ασφαλείας για να αποτρέψετε την παραβίαση του διακομιστή.

Ακολουθούν τα βήματα για την απενεργοποίηση.

[username@hostname ~]$ getenforce
Disabled

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

[username@hostname ~]$ vi /etc/selinux/config


config【Πριν από την αλλαγή】


SELINUX=enforcing


config【μετά την αλλαγή】


SELINUX=disabled

'SELINUX' και 'SELINUXTYPE', αλλά το 'SELINUX' είναι αυτό που πρέπει να αλλάξει. Σημειώστε ότι αν αλλάξετε το "SELINUXTYPE" κατά λάθος, ο διακομιστής δεν θα ξεκινήσει.

Κάντε επανεκκίνηση του διακομιστή και η διαμόρφωση θα τεθεί σε ισχύ.

1-4. πρόσθετος επιχειρησιακός χρήστης

Η είσοδος και η εργασία ως χρήστης root είναι επικίνδυνη, οπότε προσθέστε έναν χρήστη για να συνδεθείτε. Σε ένα επόμενο βήμα, απενεργοποιήστε τη σύνδεση του χρήστη root.

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

Ακολουθούν τα βήματα για την προσθήκη χρηστών.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

Σημείωση:xxxxxxxx είναι το όνομα του χρήστη που θα προστεθεί. Ορίστε οποιονδήποτε κωδικό πρόσβασης.

1-5. Αλλαγή κωδικού πρόσβασης χρήστη root

Αν δεν είστε ο χρήστης root, μεταβείτε στον χρήστη root με την εντολή su - και εκτελέστε την ακόλουθη εντολή

[username@hostname ~]$ su -
[root@hostname ~]# passwd

Σημείωση:Ορίστε οποιονδήποτε κωδικό πρόσβασης.

Ποτέ μην εγκαταλείπετε τον αρχικό κωδικό πρόσβασης. Ο κωδικός πρόσβασης 'root' είναι ο χειρότερος. Οι κωδικοί πρόσβασης "password" και "1234" είναι επίσης αρκετά επικίνδυνοι. Καλό είναι να έχει τουλάχιστον οκτώ ψηφία, συμπεριλαμβανομένων των αλφαριθμητικών συμβόλων.

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

1-6. Ρύθμιση παραμέτρων για την απαγόρευση συνδέσεων από μη λειτουργικούς χρήστες (απαγορεύει τις συνδέσεις από τον χρήστη root και άλλους χρήστες).

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

Ακολουθούν τα βήματα για την απενεργοποίηση της σύνδεσης του χρήστη root και την προσθήκη χρηστών που μπορούν να συνδεθούν. Μεταβείτε σε χρήστη root και, στη συνέχεια, αλλάξτε το αρχείο ρυθμίσεων. (Είναι δυνατόν να μεταβείτε σε χρήστη root με το 'su-', απλά δεν μπορείτε να συνδεθείτε).

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Πριν από την αλλαγή】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【μετά την αλλαγή】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Σημείωση:xxxxxxxx είναι το λειτουργικό όνομα χρήστη που μόλις προσθέσατε.


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

Ελέγξτε τη σύνταξη και επανεκκινήστε το sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

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


1-7. συγχρονισμός χρόνου

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

Ελέγξτε την εκκίνηση της διαδικασίας συγχρονισμού του χρόνου (chronyd). Ελέγξτε την κατάσταση συγχρονισμού της ώρας. Σημειώστε ότι το CentOS7 είναι το 'chronyd', αλλά τα προηγούμενα είναι το 'ntpd', οπότε να είστε προσεκτικοί αν είστε στο 6 ή σε προηγούμενες εκδόσεις.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: ημέρα (του μήνα) 2020-11-29 16:30:43 JST
  Universal time: ημέρα (του μήνα) 2020-11-29 07:30:43 UTC
        RTC time: ημέρα (του μήνα) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Είναι εντάξει αν η 'Τοπική ώρα' ταιριάζει με την τρέχουσα ώρα, η 'Ενεργοποίηση NTP' είναι ναι και η 'Συγχρονισμός NTP' είναι ναι.


1-8. Ρυθμίσεις ελέγχου ταυτότητας κλειδιού

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

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

Παρακάτω περιγράφεται η διαδικασία για τη ρύθμιση του ελέγχου ταυτότητας με κλειδί.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

Σημείωση:xxxxxxxx είναι το όνομα του πρόσθετου επιχειρησιακού χρήστη.

Σημείωση:Μετά την εκτέλεση της εντολής "ssh-keygen -t rsa -b 2048", θα σας ζητηθεί απάντηση, όλες οι προεπιλεγμένες τιμές και πατήστε "Enter". Ρύθμιση και χωρίς κωδικό πρόσβασης. (Η εισαγωγή ενός κωδικού πρόσβασης παρέχει πρόσθετη ασφάλεια ως έλεγχος ταυτότητας με κλειδί συν έλεγχο ταυτότητας με κωδικό πρόσβασης, αλλά σε αυτή την περίπτωση δεν απαιτείται κωδικός πρόσβασης).


Στη συνέχεια, ελέγξτε ότι το κλειδί έχει δημιουργηθεί.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

Σημείωση:xxxxxxxx είναι το όνομα του πρόσθετου επιχειρησιακού χρήστη.

Ελέγξτε ότι το ιδιωτικό κλειδί "id_rsa" δημόσιο κλειδί "id_rsa.pub" είναι αποθηκευμένο.

Μετονομάστε το δημόσιο κλειδί και μετακινήστε τον κατάλογο για τη λήψη του ιδιωτικού κλειδιού.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

Σημείωση:xxxxxxxx είναι το όνομα του πρόσθετου επιχειρησιακού χρήστη.

Διαγράψτε το ιδιωτικό κλειδί (id_rsa) από το διακομιστή αφού το μετακινήσετε τοπικά.

Μετακινήστε το /home/xxxxxxxxxx/id_rsa στο local. (Πηγαίνετε π.χ. στο WinSCP).

Μετά τη μετακίνηση, εκτελέστε την εντολή delete.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

Σημείωση:xxxxxxxx είναι το όνομα χρήστη που προστέθηκε στο βήμα (3).

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

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

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Πριν από την αλλαγή】


PasswordAuthentication yes


sshd_config【μετά την αλλαγή】


PasswordAuthentication no

Ελέγξτε τη σύνταξη και επανεκκινήστε το sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Με αυτόν τον τρόπο ολοκληρώνεται η ρύθμιση του κλειδιού ελέγχου ταυτότητας.


2. περίληψη

Περιγράψαμε τις αρχικές ρυθμίσεις που απαιτούνται κατά την εγκατάσταση του CentOS.

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

Αυτά είναι τα βασικά βήματα και οι περιορισμοί που πρέπει να ληφθούν υπόψη.