Απενεργοποιήστε και καταργήστε τις ανεπιθύμητες υπηρεσίες στην ελάχιστη εγκατάσταση RHEL/CentOS 7


Η ελάχιστη εγκατάσταση RHEL/CentOS 7 για διακομιστές συνοδεύεται από ορισμένες προεπιλεγμένες προεγκατεστημένες υπηρεσίες, όπως Postfix Mail Transfer Agent daemon, Avahi mdns daemon (σύστημα ονομάτων τομέα πολλαπλής διανομής) και την υπηρεσία Chrony, η οποία είναι υπεύθυνη για τη διατήρηση του ρολογιού του συστήματος.

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

Απαιτήσεις

  1. Ελάχιστη εγκατάσταση CentOS 7
  2. Ελάχιστη εγκατάσταση RHEL 7

Εάν σκοπεύετε να χρησιμοποιήσετε το πρόσφατα εγκατεστημένο RHEL/CentOS 7 για να φιλοξενήσετε, ας πούμε, έναν μικρό ιστότοπο που εκτελείται σε Apache ή Nginx ή για να παρέχετε υπηρεσίες δικτύου όπως το DNS , DHCP, PXE boot, διακομιστής FTP κ.λπ. ή άλλες υπηρεσίες που δεν απαιτούν την εκτέλεση Postifx MTA daemon, Chrony ή Avahi daemon, τότε γιατί πρέπει να κρατήσουμε όλους αυτούς τους περιττούς δαίμονες εγκατεστημένους ή ακόμα και να εκτελούνται στον διακομιστή σας.

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

Απενεργοποίηση/Κατάργηση των Υπηρεσιών Postfix MTA, Avahi και Chrony

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

# yum upgrade

2. Το επόμενο βήμα θα ήταν να εγκαταστήσετε ορισμένα χρήσιμα βοηθητικά προγράμματα συστήματος χρησιμοποιώντας το YUM Package Manager, όπως τα net-tools (αυτό το πακέτο παρέχει τα παλαιότερα

# yum install nano bash-completion net-tools wget curl lsof

3. Τώρα μπορείτε να ξεκινήσετε την απενεργοποίηση και την κατάργηση των προεγκατεστημένων ανεπιθύμητων υπηρεσιών. Πρώτα απ 'όλα, λάβετε μια λίστα με όλες τις ενεργοποιημένες και εκτελούμενες υπηρεσίες σας εκτελώντας την εντολή netstat σε υποδοχές δικτύου TCP, UDP και Listen State.

# netstat -tulpn  	## To output numerical service sockets

# netstat -tulp      	## To output literal service sockets

4. Όπως μπορείτε να δείτε το Postfix ξεκινά και ακούει στο localhost στη θύρα 25, ο δαίμονας Avahi συνδέεται σε όλες τις διεπαφές δικτύου και το Chronyd η υπηρεσία δεσμεύεται σε localhost και σε όλες τις διεπαφές δικτύου σε διαφορετικές θύρες. Συνεχίστε με την αφαίρεση της υπηρεσίας Postfix MTA εκδίδοντας τις ακόλουθες εντολές.

# systemctl stop postfix
# yum remove postfix

5. Στη συνέχεια, καταργήστε την υπηρεσία Chronyd, η οποία θα αντικατασταθεί από διακομιστή NTP, εκδίδοντας τις ακόλουθες εντολές.

# systemctl stop chronyd
# yum remove chrony

6. Τώρα είναι ώρα να αφαιρέσετε τον δαίμονα Avahi. Φαίνεται ότι στο RHEL/CentOS 7 ο δαίμονας Avahi είναι πολύ σφιχτός και εξαρτάται από την υπηρεσία Network Manager. Η αφαίρεση του Avahi daemon μπορεί να αφήσει το σύστημά σας χωρίς συνδέσεις δικτύου.

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

Εάν εξακολουθείτε να θέλετε να καταργήσετε εντελώς αυτήν την υπηρεσία, τότε πρέπει να επεξεργαστείτε μη αυτόματα τα αρχεία διαμόρφωσης δικτύου που βρίσκονται στο /etc/sysconfig/network-scripts/ifcfg-interface_name και, στη συνέχεια, να ξεκινήσετε και να ενεργοποιήσετε την υπηρεσία δικτύου.

Εκδώστε τις ακόλουθες εντολές για να καταργήσετε τον Avahi mdns daemon. Προσοχή: Μην επιχειρήσετε να αφαιρέσετε τον δαίμονα Avahi εάν συνδεθήκατε μέσω SSH.

# systemctl stop avahi-daemon.socket avahi-daemon.service
# systemctl disable avahi-daemon.socket avahi-daemon.service
--------- Stop here if you don't want removal --------- 

# yum remove avahi-autoipd avahi-libs avahi

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

Για να επεξεργαστείτε το NIC σας για να χρησιμοποιήσετε IPv6 και στατική διεύθυνση IP, μεταβείτε στη διαδρομή /etc/sysconfig/network-scripts/, ανοίξτε το αρχείο διεπαφής NIC (συνήθως η πρώτη κάρτα ονομάζεται ifcfg-eno1677776 και έχει ήδη ρυθμιστεί από τον Διαχειριστή δικτύου) και χρησιμοποιήστε το παρακάτω απόσπασμα ως οδηγό σε περίπτωση που σας

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
#DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
                IPADDR=192.168.1.25
                NETMASK=255.255.255.0
                GATEWAY=192.168.1.1
                DNS1=192.168.1.1
                DNS2=8.8.8.8

Οι πιο σημαντικές ρυθμίσεις εδώ που πρέπει να λάβετε υπόψη είναι:

  1. BOOTPROTO – Ορίστηκε σε καμία ή στατική – για στατική διεύθυνση IP.
  2. ONBOOT – Ορίστε ναι – για να εμφανιστεί η διεπαφή σας μετά την επανεκκίνηση.
  3. DEFROUTE – Δήλωση που σχολιάστηκε με # ή αφαιρέθηκε εντελώς – μην χρησιμοποιείτε την προεπιλεγμένη διαδρομή (Εάν τη χρησιμοποιείτε εδώ, θα πρέπει να προσθέσετε το DEFROUTE: όχι σε όλες τις διεπαφές δικτύου, που δεν χρησιμοποιείται ως προεπιλογή διαδρομή).

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

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=dhcp
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
##DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9

Όπως και στη διαμόρφωση με τη Στατική διεύθυνση IP, βεβαιωθείτε ότι το BOOTPROTO έχει οριστεί σε dhcp, η δήλωση DEFROUTE σχολιάζεται ή αφαιρείται και ότι η συσκευή έχει ρυθμιστεί σε ξεκινά αυτόματα κατά την εκκίνηση. Εάν δεν χρησιμοποιείτε IPv6, απλώς αφαιρέστε ή σχολιάστε όλες τις γραμμές που περιέχουν IPV6.

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

# service network restart	## Use this command before systemctl
# chkconfig network on
# systemctl restart network
# ifconfig
# ping domain.tld

10. Ως τελική ρύθμιση, βεβαιωθείτε ότι έχετε ορίσει ένα όνομα για το σύστημα hostname χρησιμοποιώντας το βοηθητικό πρόγραμμα hostnamectl και ελέγξτε τη διαμόρφωσή σας με το hostname< εντολή.

# hostnamectl set-hostname FQDN_system_name
# hostnamectl status
# hostname
# hostname -s   	## Short name
# hostname -f   	## FQDN name

11. Αυτό είναι όλο! Ως τελευταία δοκιμαστική εκτέλεση εντολή netstat ξανά για να δείτε ποιες υπηρεσίες εκτελούνται στο σύστημά σας.

# netstat -tulpn
# netstat -tulp

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

# netstat -tulpn

13. Ως εναλλακτική λύση στο βοηθητικό πρόγραμμα netstat, μπορείτε να εξάγετε τις υποδοχές δικτύου που εκτελούνται με τη βοήθεια της εντολής Sockets Statistics.

# ss -tulpn 

14. Κάντε επανεκκίνηση του διακομιστή σας και εκτελέστε την εντολή systemd-analize για να προσδιορίσετε την απόδοση του χρόνου εκκίνησης του συστήματός σας και, επίσης, χρησιμοποιήστε δωρεάν και Δίσκος

# free -h
# df -h
# top 

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

Διαβάστε επίσης: Διακοπή και απενεργοποίηση ανεπιθύμητων υπηρεσιών από το Linux