Χρήσιμοι κανόνες «FirewallD» για τη διαμόρφωση και τη διαχείριση του τείχους προστασίας στο Linux


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

Το Firewalld αντικατέστησε τον παλιό μηχανισμό του τείχους προστασίας του Fedora (Fedora 18 και μετά), το RHEL/CentOS 7 και άλλες πιο πρόσφατες διανομές που βασίζονται σε αυτόν τον νέο μηχανισμό. Ένα από τα μεγαλύτερα κίνητρα εισαγωγής νέου συστήματος τείχους προστασίας είναι ότι το παλιό τείχος προστασίας χρειάζεται επανεκκίνηση μετά την πραγματοποίηση κάθε αλλαγής, διακόπτοντας έτσι όλες τις ενεργές συνδέσεις. Όπως αναφέρθηκε παραπάνω, ότι το πιο πρόσφατο τείχος προστασίας υποστηρίζει δυναμικές ζώνες, οι οποίες είναι χρήσιμες για τη διαμόρφωση διαφορετικών συνόλων ζωνών και κανόνων για το γραφείο ή το οικιακό σας δίκτυο μέσω μιας γραμμής εντολών ή χρησιμοποιώντας μια μέθοδο GUI.

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

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

  1. Διαμόρφωση τείχους προστασίας σε RHEL/CentOS 7

Όλα τα παραδείγματα που καλύπτονται σε αυτό το άρθρο είναι πρακτικά δοκιμασμένα στη διανομή CentOS 7 και λειτουργούν επίσης σε διανομές RHEL και Fedora.

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

systemctl status firewalld

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

firewall-cmd --get-active-zones
firewall-cmd --get-services

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

yum install firewalld firewall-config

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

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

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

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

1. Προσθήκη και αφαίρεση θυρών στο Firewalld

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

firewall-cmd --permanent --zone=public --add-port=80/tcp

Ομοίως, για να αφαιρέσετε την προστιθέμενη θύρα, απλώς χρησιμοποιήστε την επιλογή ‘–remove’ με την εντολή firewalld όπως φαίνεται παρακάτω.

firewall-cmd --zone=public --remove-port=80/tcp

Αφού προσθέσετε ή αφαιρέσετε συγκεκριμένες θύρες, βεβαιωθείτε ότι η θύρα έχει προστεθεί ή καταργηθεί χρησιμοποιώντας την επιλογή «–list-ports».

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

2. Προσθήκη και αφαίρεση υπηρεσιών στο Firewalld

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

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

firewall-cmd --zone=public --add-service=ftp
firewall-cmd --zone=public --remove-service=ftp
firewall-cmd --zone=public --list-services

3. Αποκλεισμός εισερχόμενων και εξερχόμενων πακέτων (Λειτουργία πανικού)

Εάν θέλετε να αποκλείσετε τυχόν εισερχόμενες ή εξερχόμενες συνδέσεις, πρέπει να χρησιμοποιήσετε τη λειτουργία «panic-on» για να αποκλείσετε τέτοια αιτήματα. Για παράδειγμα, ο ακόλουθος κανόνας θα διαγράψει οποιαδήποτε υπάρχουσα εγκατεστημένη σύνδεση στο σύστημα.

firewall-cmd --panic-on

Αφού ενεργοποιήσετε τη λειτουργία πανικού, δοκιμάστε να κάνετε ping σε οποιονδήποτε τομέα (π.χ. google.com) και ελέγξτε εάν η λειτουργία πανικού είναι ΕΝΕΡΓΟΠΟΙΗΣΗ χρησιμοποιώντας το '–query-panic >' επιλογή όπως αναφέρεται παρακάτω.

ping google.com -c 1
firewall-cmd --query-panic

Βλέπετε στην παραπάνω εικόνα, το ερώτημα πανικού λέει "Άγνωστος κεντρικός υπολογιστής google.com". Τώρα προσπαθήστε να απενεργοποιήσετε τη λειτουργία πανικού και, στη συνέχεια, κάντε ξανά ping και ελέγξτε.

firewall-cmd --query-panic
firewall-cmd --panic-off
ping google.com -c 1

Τώρα αυτή τη φορά, θα υπάρχει ένα αίτημα ping από το google.com..