5 Windows 10 Ασφάλεια
Πίνακας περιεχομένων:
- Προϋποθέσεις
- Βασικές έννοιες του Firewall
- Ζώνες Firewall
- Υπηρεσίες τείχους προστασίας
- Firewall Runtime και μόνιμες ρυθμίσεις
- Εγκατάσταση και ενεργοποίηση του FirewallD
- Εργασία με Ζώνες Firewall
- Αλλαγή της ζώνης μιας διεπαφής
- Αλλαγή της προεπιλεγμένης ζώνης
- Άνοιγμα θυρίδας ή υπηρεσίας
- Δημιουργία νέας υπηρεσίας FirewallD
- Προώθηση θύρας με τείχος προστασίας
- Δημιουργία μιας σειράς κανόνων με FirewallD
- συμπέρασμα
Ένα σωστά ρυθμισμένο τείχος προστασίας είναι μία από τις πιο σημαντικές πτυχές της συνολικής ασφάλειας του συστήματος.
Το FirewallD είναι μια ολοκληρωμένη λύση τείχους προστασίας που διαχειρίζεται τους κανόνες του iptables του συστήματος και παρέχει μια διασύνδεση D-Bus για να λειτουργεί σε αυτά. Αρχίζοντας με το CentOS 7, το FirewallD αντικαθιστά το iptables ως το βασικό εργαλείο διαχείρισης τείχους προστασίας.
Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να ρυθμίσετε ένα τείχος προστασίας με το FirewallD στο σύστημα CentOS 7 και να σας εξηγήσω τις βασικές έννοιες FirewallD.
Προϋποθέσεις
Πριν ξεκινήσετε με αυτό το σεμινάριο, βεβαιωθείτε ότι είστε συνδεδεμένοι στο διακομιστή σας με ένα λογαριασμό χρήστη με δικαιώματα sudo ή με τον χρήστη root. Η καλύτερη πρακτική είναι να εκτελεστούν οι διοικητικές εντολές ως χρήστης sudo αντί για root. Εάν δεν έχετε χρήστη sudo στο σύστημα CentOS, μπορείτε να δημιουργήσετε έναν ακολουθώντας αυτές τις οδηγίες.
Βασικές έννοιες του Firewall
Το FirewallD χρησιμοποιεί τις έννοιες των ζωνών και των υπηρεσιών, αντί της αλυσίδας iptables και των κανόνων. Με βάση τις ζώνες και τις υπηρεσίες που θα διαμορφώσετε, μπορείτε να ελέγξετε ποια κίνηση επιτρέπεται ή απαγορεύεται από και προς το σύστημα.
Το FirewallD μπορεί να ρυθμιστεί και να διαχειριστεί χρησιμοποιώντας το βοηθητικό πρόγραμμα γραμμής εντολών
firewall-cmd
.
Ζώνες Firewall
Οι ζώνες είναι προκαθορισμένα σύνολα κανόνων που καθορίζουν ποια κίνηση πρέπει να επιτρέπεται βάσει του επιπέδου εμπιστοσύνης στα δίκτυα στα οποία έχει συνδεθεί ο υπολογιστής σας. Μπορείτε να αντιστοιχίσετε διεπαφές δικτύου και πηγές σε μια ζώνη.
Παρακάτω είναι οι ζώνες που παρέχονται από το FirewallD που έχουν ταξινομηθεί σύμφωνα με το επίπεδο εμπιστοσύνης της ζώνης από μη αξιόπιστους σε αξιόπιστους:
- drop: Όλες οι εισερχόμενες συνδέσεις αποσύρονται χωρίς καμία ειδοποίηση. Επιτρέπονται μόνο εξερχόμενες συνδέσεις. block: Όλες οι εισερχόμενες συνδέσεις απορρίπτονται με μηνύματα
icmp6-adm-prohibited
με icmpicmp-host-prohibited
γιαIPv4
καιicmp6-adm-prohibited
για IPv6n. Επιτρέπονται μόνο εξερχόμενες συνδέσεις. κοινό: Για χρήση σε μη αξιόπιστους κοινόχρηστους χώρους. Δεν εμπιστεύεστε άλλους υπολογιστές στο δίκτυο, αλλά μπορείτε να επιτρέψετε επιλεγμένες εισερχόμενες συνδέσεις. εξωτερική: Για χρήση σε εξωτερικά δίκτυα με ενεργοποιημένη NAT masquerading ενεργοποιημένη όταν το σύστημά σας λειτουργεί ως πύλη ή δρομολογητής. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. εσωτερική: Για χρήση σε εσωτερικά δίκτυα όταν το σύστημά σας λειτουργεί ως πύλη ή δρομολογητής. Άλλα συστήματα στο δίκτυο είναι γενικά αξιόπιστα. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. dmz: Χρησιμοποιείται για υπολογιστές που βρίσκονται στη αποστρατιωτικοποιημένη ζώνη που έχουν περιορισμένη πρόσβαση στο υπόλοιπο δίκτυο. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. εργασία: Χρησιμοποιείται για μηχανές εργασίας. Άλλοι υπολογιστές στο δίκτυο είναι γενικά αξιόπιστοι. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. σπίτι: Χρησιμοποιείται για οικιακές μηχανές. Άλλοι υπολογιστές στο δίκτυο είναι γενικά αξιόπιστοι. Επιτρέπονται μόνο επιλεγμένες εισερχόμενες συνδέσεις. αξιόπιστες: Όλες οι συνδέσεις δικτύου γίνονται αποδεκτές. Εμπιστευθείτε όλους τους υπολογιστές του δικτύου.
Υπηρεσίες τείχους προστασίας
Οι υπηρεσίες τείχους προστασίας είναι προκαθορισμένοι κανόνες που ισχύουν σε μια ζώνη και καθορίζουν τις απαραίτητες ρυθμίσεις για να επιτρέπουν την εισερχόμενη κίνηση για μια συγκεκριμένη υπηρεσία.
Firewall Runtime και μόνιμες ρυθμίσεις
Το Firewalld χρησιμοποιεί δύο διαφορετικά σετ ρυθμίσεων, το χρόνο εκτέλεσης και τη μόνιμη διαμόρφωση.
Η διαμόρφωση κατά τη διάρκεια εκτέλεσης είναι η τρέχουσα διαμόρφωση λειτουργίας και δεν είναι επίμονη στις επανεκκινήσεις. Όταν ξεκινήσει η υπηρεσία Firewall, φορτώνει τη μόνιμη διαμόρφωση, η οποία γίνεται η διαμόρφωση του χρόνου εκτέλεσης.
Από προεπιλογή, όταν κάνετε αλλαγές στη διαμόρφωση του Firewall χρησιμοποιώντας το βοηθητικό πρόγραμμα
firewall-cmd
, οι αλλαγές εφαρμόζονται στη διαμόρφωση του χρόνου εκτέλεσης. Για να κάνετε τις αλλαγές μόνιμες, θα πρέπει να χρησιμοποιήσετε την επιλογή
--permanent
.
Εγκατάσταση και ενεργοποίηση του FirewallD
-
Το Firewalld είναι εγκατεστημένο από προεπιλογή στο CentOS 7, αλλά αν δεν είναι εγκατεστημένο στο σύστημά σας, μπορείτε να εγκαταστήσετε το πακέτο πληκτρολογώντας:
sudo yum install firewalld
Η υπηρεσία Firewalld είναι απενεργοποιημένη από προεπιλογή. Μπορείτε να ελέγξετε την κατάσταση τείχους προστασίας με:
sudo firewall-cmd --state
Για να ξεκινήσετε την υπηρεσία FirewallD και να την ενεργοποιήσετε στον τύπο εκκίνησης:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Εργασία με Ζώνες Firewall
Μετά την ενεργοποίηση της υπηρεσίας FirewallD για πρώτη φορά, η
public
ζώνη ορίζεται ως προεπιλεγμένη ζώνη. Μπορείτε να δείτε την προεπιλεγμένη ζώνη πληκτρολογώντας:
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
public interfaces: eth0 eth1
Η παραπάνω έξοδος μας λέει ότι και οι διεπαφές
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:
Από την παραπάνω έξοδο, μπορούμε να δούμε ότι η δημόσια ζώνη είναι ενεργή και ορίζεται ως προεπιλογή, που χρησιμοποιείται από τις διεπαφές
eth0
και
eth1
. Επίσης, επιτρέπονται οι συνδέσεις που σχετίζονται με το πρόγραμμα-πελάτη DHCP και SSH.
sudo firewall-cmd --list-all-zones
Η εντολή εκτυπώνει μια τεράστια λίστα με τις ρυθμίσεις όλων των διαθέσιμων ζωνών.
Αλλαγή της ζώνης μιας διεπαφής
Μπορείτε εύκολα να αλλάξετε τη Ζώνη Διασύνδεσης χρησιμοποιώντας την επιλογή
--zone
σε συνδυασμό με την επιλογή
--zone
--change-interface
. Η ακόλουθη εντολή θα εκχωρήσει τη διεπαφή
eth1
στη ζώνη εργασίας:
sudo firewall-cmd --zone=work --change-interface=eth1
Επαληθεύστε τις αλλαγές πληκτρολογώντας:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Αλλαγή της προεπιλεγμένης ζώνης
Για να αλλάξετε την προεπιλεγμένη ζώνη, χρησιμοποιήστε την επιλογή
--set-default-zone
, ακολουθούμενη από το όνομα της ζώνης που θέλετε να κάνετε προεπιλογή.
Για παράδειγμα, για να αλλάξετε την προεπιλεγμένη ζώνη στο σπίτι, πρέπει να εκτελέσετε την ακόλουθη εντολή:
sudo firewall-cmd --set-default-zone=home
Επαληθεύστε τις αλλαγές με:
sudo firewall-cmd --get-default-zone
Άνοιγμα θυρίδας ή υπηρεσίας
Με το FirewallD μπορείτε να επιτρέψετε την κυκλοφορία για συγκεκριμένες θύρες βάσει προκαθορισμένων κανόνων που ονομάζονται υπηρεσίες.
Για να λάβετε μια λίστα με όλες τις προεπιλεγμένες διαθέσιμες υπηρεσίες:
sudo firewall-cmd --get-services
Μπορείτε να βρείτε περισσότερες πληροφορίες για κάθε υπηρεσία ανοίγοντας το σχετικό αρχείο.xml στον κατάλογο
/usr/lib/firewalld/services
. Για παράδειγμα, η υπηρεσία HTTP ορίζεται ως εξής:
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
sudo firewall-cmd --permanent --zone=public --add-service=http
Χρησιμοποιήστε τις
--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 από τη μόνιμη διαμόρφωση δημόσιας ζώνης.
Τι συμβαίνει εάν εκτελείτε μια εφαρμογή όπως ο διακομιστής Plex Media Server για τον οποίο δεν υπάρχει διαθέσιμη κατάλληλη υπηρεσία;
Σε καταστάσεις όπως αυτές, έχετε δύο επιλογές. Μπορείτε είτε να ανοίξετε τις κατάλληλες θύρες είτε να ορίσετε μια νέα υπηρεσία FirewallD.
Για παράδειγμα, ο διακομιστής Plex Server ακούει στη θύρα 32400 και χρησιμοποιεί το TCP, για να ανοίξει τη θύρα στη δημόσια ζώνη για την τρέχουσα περίοδο λειτουργίας χρησιμοποιώντας την επιλογή
--add-port=
:
sudo firewall-cmd --zone=public --add-port=32400/tcp
Τα πρωτόκολλα μπορούν να είναι είτε
tcp
είτε
udp
.
Για να επαληθεύσετε ότι η θύρα έχει προστεθεί με επιτυχία, χρησιμοποιήστε την επιλογή
--list-ports
:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
Για να διατηρήσετε τη θύρα
32400
ανοιχτή μετά την επανεκκίνηση, προσθέστε τον κανόνα στις μόνιμες ρυθμίσεις εκτελώντας την ίδια εντολή χρησιμοποιώντας την επιλογή
--permanent
.
Η σύνταξη για την αφαίρεση μιας θύρας είναι η ίδια με τη σύνταξη μιας θύρας. Απλά χρησιμοποιήστε το
--remove-port
αντί της επιλογής
--add-port
.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
Δημιουργία νέας υπηρεσίας 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.
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
στις ζώνες σας όπως και κάθε άλλη υπηρεσία.
Προώθηση θύρας με τείχος προστασίας
Για να προωθήσετε την επισκεψιμότητα από μια θύρα σε μια άλλη θύρα ή διεύθυνση, ενεργοποιήστε πρώτα την μετακίνηση για την επιθυμητή ζώνη χρησιμοποιώντας το διακόπτη
--add-masquerade
. Για παράδειγμα, για να ενεργοποιήσετε τη μεταμφίεση για τύπο
external
ζώνης:
sudo firewall-cmd --zone=external --add-masquerade
- Προώθηση επισκεψιμότητας από μια θύρα σε άλλη στον ίδιο διακομιστή
Στο ακόλουθο παράδειγμα, προωθούμε την κίνηση από τη θύρα
80
στη θύρα
8080
στον ίδιο διακομιστή:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- Προώθηση επισκεψιμότητας σε άλλο διακομιστή
Στο ακόλουθο παράδειγμα προωθούμε την κίνηση από τη θύρα
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
Δημιουργία μιας σειράς κανόνων με FirewallD
Στο παρακάτω παράδειγμα, θα δείξουμε πώς να ρυθμίσετε το τείχος προστασίας σας εάν χρησιμοποιούσατε έναν διακομιστή ιστού. Θεωρούμε ότι ο διακομιστής σας έχει μόνο μία διεπαφή
eth0
και θέλετε να επιτρέπετε την εισερχόμενη κίνηση μόνο σε θύρες SSH, HTTP και
-
Αλλάξτε την προεπιλεγμένη ζώνη σε dmz
Θα χρησιμοποιήσουμε τη ζώνη dmz (αποστρατιωτικοποιημένη) επειδή από προεπιλογή επιτρέπει μόνο την κίνηση SSH. Για να αλλάξετε την προεπιλεγμένη ζώνη σε dmz και να την αντιστοιχίσετε στη διεπαφή
eth0
, εκτελέστε τις ακόλουθες εντολές:sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
Άνοιγμα θυρών HTTP και
Για να ανοίξετε θύρες HTTP και HTTPS, προσθέστε μόνιμους κανόνες υπηρεσίας στη ζώνη dmz:
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
Κάντε τις αλλαγές αμέσως αποτελεσματικές επαναφορτώνοντας το τείχος προστασίας:
sudo firewall-cmd --reload
Επαληθεύστε τις αλλαγές
Για να ελέγξετε τον τύπο ρυθμίσεων διαμόρφωσης ζώνης dmz:
sudo firewall-cmd --zone=dmz --list-all
dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Η παραπάνω έξοδος μας λέει ότι το dmz είναι η προεπιλεγμένη ζώνη, εφαρμόζεται στην διεπαφή
eth0
και οι θύρες ssh (22) http (80) και https (443) είναι ανοιχτές.
συμπέρασμα
Έχετε μάθει πώς να ρυθμίσετε και να διαχειριστείτε την υπηρεσία FirewallD στο σύστημα CentOS.
Βεβαιωθείτε ότι επιτρέπετε όλες τις εισερχόμενες συνδέσεις που είναι απαραίτητες για την σωστή λειτουργία του συστήματός σας, ενώ περιορίζετε όλες τις άσκοπες συνδέσεις.
firewall firewall iptables centos ασφάλειαΠώς να ρυθμίσετε το tunneling ssh για να παρακάμψετε ένα τείχος προστασίας

Ένα τείχος προστασίας είναι ένα καλό πράγμα, αλλά αν σας σταματήσει να κάνετε κάτι, τότε SSH Tunneling είναι μια καλή επιλογή για να εξερευνήσετε.
Πώς να ρυθμίσετε ένα τείχος προστασίας με το ufw στο debian 9

Το UFW (Uncomplicated Firewall) είναι ένα φιλικό προς το χρήστη μέτωπο για τη διαχείριση των κανόνων του iptables τείχους προστασίας και ο κύριος στόχος του είναι να διευκολύνει τη διαχείριση του iptables ή όπως λέει το όνομα απλό. Σε αυτό το σεμινάριο θα σας δείξουμε πώς να ρυθμίσετε ένα τείχος προστασίας με το UFW στο Debian 9.
Πώς να ρυθμίσετε ένα τείχος προστασίας με το ufw στο ubuntu 18.04

Από προεπιλογή, το Ubuntu έρχεται με ένα εργαλείο διαμόρφωσης τείχους προστασίας που ονομάζεται UFW (Uncomplicated Firewall). Το UFW είναι ένα φιλικό προς το χρήστη μέτωπο για τη διαχείριση των κανόνων firewall του iptables και ο κύριος στόχος του είναι να διευκολύνει τη διαχείριση του iptables ή όπως λέει το όνομα απλό.