Έκδοση Firewalld 1.0

Παρουσιάζεται μια έκδοση του δυναμικά ελεγχόμενου τείχους προστασίας τείχους προστασίας 1.0, που υλοποιείται με τη μορφή περιτυλίγματος πάνω από τα φίλτρα πακέτων nftables και iptables. Το Firewalld εκτελείται ως διαδικασία παρασκηνίου που σας επιτρέπει να αλλάζετε δυναμικά κανόνες φίλτρου πακέτων μέσω D-Bus χωρίς να χρειάζεται να φορτώσετε ξανά τους κανόνες φίλτρου πακέτων ή να διακόψετε τις καθιερωμένες συνδέσεις. Το έργο χρησιμοποιείται ήδη σε πολλές διανομές Linux, συμπεριλαμβανομένων των RHEL 7+, Fedora 18+ και SUSE/openSUSE 15+. Ο κώδικας του τείχους προστασίας είναι γραμμένος σε Python και έχει άδεια χρήσης σύμφωνα με την άδεια GPLv2.

Για τη διαχείριση του τείχους προστασίας, χρησιμοποιείται το βοηθητικό πρόγραμμα firewall-cmd, το οποίο, κατά τη δημιουργία κανόνων, δεν βασίζεται σε διευθύνσεις IP, διεπαφές δικτύου και αριθμούς θυρών, αλλά σε ονόματα υπηρεσιών (για παράδειγμα, για να ανοίξετε την πρόσβαση στο SSH πρέπει να τρέξτε το “firewall-cmd —add —service= ssh”, για να κλείσετε το SSH – “firewall-cmd –remove –service=ssh”). Για να αλλάξετε τη διαμόρφωση του τείχους προστασίας, μπορούν επίσης να χρησιμοποιηθούν η γραφική διεπαφή firewall-config (GTK) και η μικροεφαρμογή firewall-applet (Qt). Η υποστήριξη για τη διαχείριση τείχους προστασίας μέσω του τείχους προστασίας D-BUS API είναι διαθέσιμη σε έργα όπως το NetworkManager, το libvirt, το podman, το docker και το fail2ban.

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

  • Το backend που του επέτρεπε να λειτουργεί πάνω από τα iptables έχει κηρυχθεί απαρχαιωμένο. Η υποστήριξη για iptables θα διατηρηθεί στο άμεσο μέλλον, αλλά αυτό το backend δεν θα αναπτυχθεί.
  • Η λειτουργία προώθησης εντός ζώνης είναι ενεργοποιημένη και ενεργοποιημένη από προεπιλογή για όλες τις νέες ζώνες, επιτρέποντας την ελεύθερη μετακίνηση πακέτων μεταξύ διεπαφών δικτύου ή πηγών κίνησης εντός μιας ζώνης (δημόσια, μπλοκ, αξιόπιστη, εσωτερική κ.λπ.). Για να επιστρέψετε την παλιά συμπεριφορά και να αποτρέψετε την προώθηση πακέτων εντός μιας ζώνης, μπορείτε να χρησιμοποιήσετε την εντολή "firewall-cmd -permanent -zone public -remove-forward".
  • Οι κανόνες που σχετίζονται με τη μετάφραση διευθύνσεων (NAT) έχουν μετακινηθεί στην οικογένεια πρωτοκόλλων "inet" (προηγουμένως προστέθηκαν στις οικογένειες "ip" και "ip6", γεγονός που οδήγησε στην ανάγκη αντιγραφής κανόνων για IPv4 και IPv6). Η αλλαγή μας επέτρεψε να απαλλαγούμε από τα διπλότυπα όταν χρησιμοποιούμε το ipset - αντί για τρία αντίγραφα καταχωρήσεων ipset, χρησιμοποιείται πλέον ένα.
  • Η ενέργεια "προεπιλογή" που καθορίζεται στην παράμετρο "--set-target" ισοδυναμεί τώρα με "απόρριψη", π.χ. όλα τα πακέτα που δεν εμπίπτουν στους κανόνες που ορίζονται στη ζώνη θα αποκλειστούν από προεπιλογή. Γίνεται εξαίρεση μόνο για πακέτα ICMP, τα οποία εξακολουθούν να επιτρέπονται. Για να επιστρέψετε την παλιά συμπεριφορά για τη δημόσια προσβάσιμη ζώνη "έμπιστης" ζώνης, μπορείτε να χρησιμοποιήσετε τους ακόλουθους κανόνες: firewall-cmd —μόνιμο —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACCEPT firewall-cmd —permanent — πολιτική allowForward —add-ingress -zone public firewall-cmd —permanent —policy allowForward —add-egress-zone trusted firewall-cmd —reload
  • Οι πολιτικές θετικής προτεραιότητας εκτελούνται τώρα αμέσως πριν εκτελεστεί ο κανόνας "--set-target catch-all", δηλ. τη στιγμή πριν από την προσθήκη της τελικής πτώσης, απορρίψτε ή αποδεχτείτε κανόνες, συμπεριλαμβανομένων των ζωνών που χρησιμοποιούν "--set-target drop|reject|accept".
  • Ο αποκλεισμός ICMP ισχύει πλέον μόνο για τα εισερχόμενα πακέτα που απευθύνονται στον τρέχοντα κεντρικό υπολογιστή (είσοδος) και δεν επηρεάζει τα πακέτα που ανακατευθύνονται μεταξύ των ζωνών (προς τα εμπρός).
  • Η υπηρεσία tftp-client, που σχεδιάστηκε για την παρακολούθηση των συνδέσεων για το πρωτόκολλο TFTP, αλλά ήταν σε μη χρησιμοποιήσιμη μορφή, καταργήθηκε.
  • Η «άμεση» διεπαφή έχει καταργηθεί, επιτρέποντας την άμεση εισαγωγή κανόνων έτοιμου φίλτρου πακέτων. Η ανάγκη για αυτήν τη διεπαφή εξαφανίστηκε μετά την προσθήκη της δυνατότητας φιλτραρίσματος ανακατευθυνόμενων και εξερχόμενων πακέτων.
  • Προστέθηκε η παράμετρος CleanupModulesOnExit, η οποία αλλάζει σε "όχι" από προεπιλογή. Χρησιμοποιώντας αυτήν την παράμετρο, μπορείτε να ελέγξετε την εκφόρτωση λειτουργικών μονάδων πυρήνα μετά τον τερματισμό της λειτουργίας του τείχους προστασίας.
  • Επιτρέπεται η χρήση ipset κατά τον προσδιορισμό του συστήματος στόχου (προορισμού).
  • Προστέθηκαν ορισμοί για υπηρεσίες WireGuard, Kubernetes και netbios-ns.
  • Εφαρμοσμένοι κανόνες αυτόματης συμπλήρωσης για zsh.
  • Η υποστήριξη Python 2 έχει διακοπεί.
  • Ο κατάλογος των εξαρτήσεων έχει συντομευθεί. Για να λειτουργήσει το τείχος προστασίας, εκτός από τον πυρήνα του Linux, απαιτούνται πλέον οι μόνες βιβλιοθήκες python dbus, gobject και nftables και τα πακέτα ebtables, ipset και iptables ταξινομούνται ως προαιρετικά. Το διακοσμητικό και το ολίσθημα βιβλιοθηκών python έχουν αφαιρεθεί από τις εξαρτήσεις.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο