Android

Πώς να ρυθμίσετε και να διαχειριστείτε το τείχος προστασίας σε centos 8

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Πίνακας περιεχομένων:

Anonim

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

Το CentOS 8 διαθέτει ένα δαίμονα τείχους προστασίας που ονομάζεται firewall. Πρόκειται για μια ολοκληρωμένη λύση με διασύνδεση D-Bus που σας επιτρέπει να διαχειρίζεστε δυναμικά το τείχος προστασίας του συστήματος.

Σε αυτό το σεμινάριο, θα μιλήσουμε για τον τρόπο ρύθμισης και διαχείρισης του τείχους προστασίας στο CentOS 8. Θα εξηγήσουμε επίσης τις βασικές έννοιες FirewallD.

Προϋποθέσεις

Για να ρυθμίσετε τις παραμέτρους της υπηρεσίας τείχους προστασίας, πρέπει να συνδεθείτε ως χρήστης root ή χρήστη με δικαιώματα sudo.

Βασικές έννοιες του Firewall

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

Το τείχος προστασίας μπορεί να ρυθμιστεί και να διαχειριστεί χρησιμοποιώντας το βοηθητικό πρόγραμμα γραμμής εντολών firewall-cmd .

Στο CentOS 8, το iptables αντικαθίσταται από το nftables ως το προεπιλεγμένο backend του τείχους προστασίας για το daemon firewall.

Ζώνες Firewall

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

Παρακάτω είναι οι ζώνες που παρέχονται από το FirewallD που έχουν ταξινομηθεί σύμφωνα με το επίπεδο εμπιστοσύνης της ζώνης από μη αξιόπιστους σε αξιόπιστους:

  • drop: Όλες οι εισερχόμενες συνδέσεις αποσύρονται χωρίς καμία ειδοποίηση. Επιτρέπονται μόνο εξερχόμενες συνδέσεις. block: Όλες οι εισερχόμενες συνδέσεις απορρίπτονται με μηνύματα icmp6-adm-prohibited με icmp icmp-host-prohibited για IPv4 και icmp6-adm-prohibited για IPv6n. Επιτρέπονται μόνο εξερχόμενες συνδέσεις. κοινό: Για χρήση σε μη αξιόπιστους κοινόχρηστους χώρους. Δεν εμπιστεύεστε άλλους υπολογιστές στο δίκτυο, αλλά μπορείτε να επιτρέψετε επιλεγμένες εισερχόμενες συνδέσεις. εξωτερική: Για χρήση σε εξωτερικά δίκτυα με ενεργοποιημένη NAT masquerading ενεργοποιημένη όταν το σύστημά σας λειτουργεί ως πύλη ή δρομολογητής. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. εσωτερική: Για χρήση σε εσωτερικά δίκτυα όταν το σύστημά σας λειτουργεί ως πύλη ή δρομολογητής. Άλλα συστήματα στο δίκτυο είναι γενικά αξιόπιστα. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. dmz: Χρησιμοποιείται για υπολογιστές που βρίσκονται στη αποστρατιωτικοποιημένη ζώνη που έχουν περιορισμένη πρόσβαση στο υπόλοιπο δίκτυο. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. εργασία: Χρησιμοποιείται για μηχανές εργασίας. Άλλοι υπολογιστές στο δίκτυο είναι γενικά αξιόπιστοι. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. σπίτι: Χρησιμοποιείται για οικιακές μηχανές. Άλλοι υπολογιστές στο δίκτυο είναι γενικά αξιόπιστοι. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. αξιόπιστες: Όλες οι συνδέσεις δικτύου γίνονται αποδεκτές. Εμπιστευθείτε όλους τους υπολογιστές του δικτύου.

Υπηρεσίες τείχους προστασίας

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

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

Firewall Runtime και μόνιμες ρυθμίσεις

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

Η διαμόρφωση χρόνου εκτέλεσης είναι η τρέχουσα διαμόρφωση λειτουργίας και δεν παραμένει στην επανεκκίνηση. Όταν ξεκινά ο daemon firewall, φορτώνει τη μόνιμη διαμόρφωση, η οποία γίνεται η διαμόρφωση του χρόνου εκτέλεσης.

Από προεπιλογή, όταν κάνετε αλλαγές στη διαμόρφωση του Firewall χρησιμοποιώντας το βοηθητικό πρόγραμμα firewall-cmd , οι αλλαγές εφαρμόζονται στη διαμόρφωση του χρόνου εκτέλεσης. Για να γίνουν οι αλλαγές μόνιμες, προσθέστε την επιλογή - --permanent στην εντολή.

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

  1. Αλλάξτε τη διαμόρφωση χρόνου εκτέλεσης και την καθιστά μόνιμη:

    sudo firewall-cmd sudo firewall-cmd --runtime-to-permanent

    Αλλάξτε τη μόνιμη διαμόρφωση και επαναλάβετε τη φόρτωση του daemon firewall:

    sudo firewall-cmd --permanent sudo firewall-cmd --reload

Ενεργοποίηση του FirewallD

Στο CentOS 8, το firewalld είναι εγκατεστημένο και ενεργοποιημένο από προεπιλογή. Εάν για κάποιο λόγο δεν είναι εγκατεστημένο στο σύστημά σας, μπορείτε να εγκαταστήσετε και να ξεκινήσετε τον δαίμονα πληκτρολογώντας:

sudo dnf install firewalld sudo systemctl enable firewalld --now

Μπορείτε να ελέγξετε την κατάσταση της υπηρεσίας τείχους προστασίας με:

sudo firewall-cmd --state

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

Ζώνες Firewall

Η προεπιλεγμένη ζώνη είναι αυτή που χρησιμοποιείται για όλα όσα δεν έχουν εκχωρηθεί ρητά σε άλλη ζώνη.

Μπορείτε να δείτε την προεπιλεγμένη ζώνη πληκτρολογώντας:

sudo firewall-cmd --get-default-zone

public

Για να λάβετε μια λίστα με όλες τις διαθέσιμες ζώνες, πληκτρολογήστε:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

Για να δείτε τις ενεργές ζώνες και τις διεπαφές δικτύου που τους έχουν εκχωρηθεί:

sudo firewall-cmd --get-active-zones

Η παρακάτω έξοδος δείχνει ότι οι διεπαφές eth0 και eth1 έχουν εκχωρηθεί στη public ζώνη:

public interfaces: eth0 eth1

Μπορείτε να εκτυπώσετε τις ρυθμίσεις διαμόρφωσης ζώνης με:

sudo firewall-cmd --zone=public --list-all

public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

Από την παραπάνω έξοδο, μπορούμε να δούμε ότι η δημόσια ζώνη είναι ενεργή και χρησιμοποιεί τον προεπιλεγμένο στόχο, ο οποίος είναι REJECT . Η έξοδος δείχνει επίσης ότι η ζώνη χρησιμοποιείται από τις διεπαφές eth0 και eth1 και επιτρέπει την κίνηση DHCP client και SSH.

sudo firewall-cmd --list-all-zones

Η εντολή εκτυπώνει μια τεράστια λίστα με τις ρυθμίσεις όλων των διαθέσιμων ζωνών.

Αλλαγή στόχου ζώνης

Ο στόχος ορίζει την προεπιλεγμένη συμπεριφορά της ζώνης για την εισερχόμενη κίνηση που δεν έχει οριστεί. Μπορεί να οριστεί σε μία από τις ακόλουθες επιλογές: default , ACCEPT , REJECT και DROP .

Για να ορίσετε το στόχο της ζώνης, καθορίστε τη ζώνη με την επιλογή --zone και τον στόχο με την επιλογή --zone --set-target .

Για παράδειγμα, για να αλλάξετε τον στόχο της public ζώνης στο DROP θα εκτελέσετε:

sudo firewall-cmd --zone=public --set-target=DROP

Αντιστοίχιση διεπαφής σε διαφορετική ζώνη

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

Για να αντιστοιχίσετε μια διεπαφή σε διαφορετική ζώνη, καθορίστε τη ζώνη με την επιλογή --zone και τη διεπαφή με την επιλογή --zone --change-interface .

Για παράδειγμα, η ακόλουθη εντολή εκχωρεί τη διεπαφή eth1 στη ζώνη work :

sudo firewall-cmd --zone=work --change-interface=eth1

Επαληθεύστε τις αλλαγές πληκτρολογώντας:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

Αλλαγή της προεπιλεγμένης ζώνης

Για να αλλάξετε την προεπιλεγμένη ζώνη, χρησιμοποιήστε την επιλογή --set-default-zone , ακολουθούμενη από το όνομα της ζώνης που θέλετε να κάνετε προεπιλογή.

Για παράδειγμα, για να αλλάξετε την προεπιλεγμένη ζώνη στο home θα εκτελέσετε την ακόλουθη εντολή:

sudo firewall-cmd --set-default-zone=home

Επαληθεύστε τις αλλαγές με:

sudo firewall-cmd --get-default-zone

home

Δημιουργία νέων ζωνών

Το Firewalld σας επιτρέπει επίσης να δημιουργήσετε τις δικές σας ζώνες. Αυτό είναι βολικό όταν θέλετε να δημιουργήσετε κανόνες ανά εφαρμογή.

Στο παρακάτω παράδειγμα θα δημιουργήσουμε μια νέα ζώνη που ονομάζεται memcached , θα ανοίξει η θύρα 11211 και θα επιτρέψει την πρόσβαση μόνο από τη διεύθυνση IP 192.168.100.30 :

  1. Δημιουργία ζώνης:

    sudo firewall-cmd --new-zone=memcached --permanent

    Προσθέστε τους κανόνες στη ζώνη:

    sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent

    Επαναφορτίστε τον δαίμονα του τείχους προστασίας για να ενεργοποιήσετε τις αλλαγές:

    sudo firewall-cmd --reload

Υπηρεσίες Firewall

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

Για να λάβετε μια λίστα με όλες τις προεπιλεγμένες διαθέσιμες υπηρεσίες:

sudo firewall-cmd --get-services

Μπορείτε να βρείτε περισσότερες πληροφορίες για κάθε υπηρεσία ανοίγοντας το σχετικό αρχείο.xml στον κατάλογο /usr/lib/firewalld/services . Για παράδειγμα, η υπηρεσία HTTP ορίζεται ως εξής:

/usr/lib/firewalld/services/http.xml

WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages. WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

Για να επιτρέπεται η εισερχόμενη κυκλοφορία HTTP (θύρα 80) για διασυνδέσεις στη δημόσια ζώνη, μόνο για την τρέχουσα περίοδο λειτουργίας (διαμόρφωση χρόνου εκτέλεσης) πληκτρολογήστε:

sudo firewall-cmd --zone=public --add-service=http Αν --zone την προεπιλεγμένη ζώνη, μπορείτε να αφήσετε εκτός της επιλογής --zone .

Για να επαληθεύσετε ότι η υπηρεσία προστέθηκε με επιτυχία, χρησιμοποιήστε την επιλογή --list-services :

sudo firewall-cmd --zone=public --list-services

ssh dhcpv6-client

Για να διατηρήσετε τη θύρα 80 ανοικτή μετά από μια επανεκκίνηση εκτελέστε ξανά την ίδια εντολή με την επιλογή --permanent ή εκτελέστε:

sudo firewall-cmd --runtime-to-permanent

Χρησιμοποιήστε τις --list-services μαζί με την επιλογή --permanent για να επαληθεύσετε τις αλλαγές σας:

sudo firewall-cmd --permanent --zone=public --list-services

ssh dhcpv6-client

Η σύνταξη για την κατάργηση της υπηρεσίας είναι ίδια με την προσθήκη μιας. Απλά χρησιμοποιήστε την --remove-service αντί της σημαίας --add-service :

sudo firewall-cmd --zone=public --remove-service=http --permanent

Η παραπάνω εντολή καταργεί την υπηρεσία http από τη μόνιμη διαμόρφωση δημόσιας ζώνης.

Δημιουργία νέας υπηρεσίας FirewallD

Όπως έχουμε ήδη αναφέρει, οι προεπιλεγμένες υπηρεσίες αποθηκεύονται στον κατάλογο /usr/lib/firewalld/services . Ο ευκολότερος τρόπος δημιουργίας μιας νέας υπηρεσίας είναι η αντιγραφή ενός υπάρχοντος αρχείου υπηρεσίας στον κατάλογο /etc/firewalld/services , ο οποίος είναι ο τόπος για υπηρεσίες που έχουν δημιουργηθεί από τους χρήστες και η τροποποίηση των ρυθμίσεων του αρχείου.

Για παράδειγμα, για να δημιουργήσετε έναν ορισμό υπηρεσίας για τον Plex Media Server, μπορείτε να χρησιμοποιήσετε το αρχείο υπηρεσίας SSH:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

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

Στο παρακάτω παράδειγμα, ανοίγουμε τις θύρες 1900 UDP και 32400 TCP.

/etc/firewalld/services/plexmediaserver.xml

plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere. plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.

Αποθηκεύστε το αρχείο και επαναλάβετε τη φόρτωση της υπηρεσίας FirewallD:

sudo firewall-cmd --reload

Τώρα μπορείτε να χρησιμοποιήσετε την υπηρεσία plexmediaserver στις ζώνες σας όμοια με οποιαδήποτε άλλη υπηρεσία.

Άνοιγμα θυρών και IP πηγών

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

Άνοιγμα IP πηγής

Για να επιτρέψετε σε όλες τις εισερχόμενες κυκλοφορίες από μια συγκεκριμένη διεύθυνση IP (ή περιοχή), καθορίστε τη ζώνη με την επιλογή --zone και την πηγή προέλευσης IP με την επιλογή --zone --add-source .

Για παράδειγμα, για να επιτρέψετε σε όλες τις εισερχόμενες μεταφορές από το 192.168.1.10 στη public ζώνη, εκτελέστε:

sudo firewall-cmd --zone=public --add-source=192.168.1.10

Κάντε το νέο κανόνα επίμονο:

sudo firewall-cmd --runtime-to-permanent

Επαληθεύστε τις αλλαγές χρησιμοποιώντας την ακόλουθη εντολή:

sudo firewall-cmd --zone=public --list-sources

192.168.1.10

Η σύνταξη για την αφαίρεση μιας πηγής IP είναι ίδια με την προσθήκη ενός. Απλά χρησιμοποιήστε την επιλογή --remove-source αντί της επιλογής --add-source :

sudo firewall-cmd --zone=public --remove-source=192.168.1.10

Άνοιγμα θύρας προέλευσης

Για να επιτρέψετε την εισερχόμενη κυκλοφορία σε μια συγκεκριμένη θύρα, καθορίστε τη ζώνη με την επιλογή --zone και τη θύρα και το πρωτόκολλο με την επιλογή --zone --add-port .

Για παράδειγμα, για να ανοίξετε τη θύρα 8080 στη δημόσια ζώνη για την τρέχουσα συνεδρία που τρέχετε:

sudo firewall-cmd --zone=public --add-port=8080/tcp

Το πρωτόκολλο μπορεί να είναι είτε tcp , udp , sctp ή dccp .

Επαληθεύστε τις αλλαγές:

sudo firewall-cmd --zone=public --list-ports

8080

Για να διατηρήσετε την θύρα ανοιχτή μετά την επανεκκίνηση, προσθέστε τον κανόνα στις μόνιμες ρυθμίσεις εκτελώντας την ίδια εντολή χρησιμοποιώντας τη σημαία --permanent ή εκτελώντας:

sudo firewall-cmd --runtime-to-permanent

Η σύνταξη για την αφαίρεση μιας θύρας είναι η ίδια με τη σύνταξη μιας θύρας. Απλά χρησιμοποιήστε το --remove-port αντί της επιλογής --add-port .

sudo firewall-cmd --zone=public --remove-port=8080/tcp

Προώθηση θυρών

Για να προωθήσετε την επισκεψιμότητα από μια θύρα σε μια άλλη θύρα, ενεργοποιήστε πρώτα την μετακίνηση για την επιθυμητή ζώνη χρησιμοποιώντας την επιλογή --add-masquerade . Για παράδειγμα, για να ενεργοποιήσετε τη μεταμφίεση για την external ζώνη, πληκτρολογήστε:

sudo firewall-cmd --zone=external --add-masquerade

Προώθηση επισκεψιμότητας από μια θύρα σε άλλη στη διεύθυνση IP

Στο ακόλουθο παράδειγμα, προωθούμε την κίνηση από τη θύρα 80 στη θύρα 8080 στον ίδιο διακομιστή:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

Προώθηση επισκεψιμότητας σε άλλη διεύθυνση IP

Στο ακόλουθο παράδειγμα προωθούμε την κίνηση από τη θύρα 80 στη θύρα 80 σε ένα διακομιστή με IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2

Προώθηση επισκεψιμότητας σε άλλο διακομιστή σε διαφορετική θύρα

Στο ακόλουθο παράδειγμα προωθούμε την κίνηση από τη θύρα 80 στη θύρα 8080 σε ένα διακομιστή με IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2

Για να παραμείνει ο κανόνας προς τα εμπρός, χρησιμοποιήστε:

sudo firewall-cmd --runtime-to-permanent

συμπέρασμα

Έχετε μάθει πώς να ρυθμίσετε και να διαχειριστείτε την υπηρεσία firewall στο σύστημα CentOS 8.

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

firewall firewall centos security