Χρησιμοποιεί το ubuntu nftables?
Πώς να εγκαταστήσετε nftables στο Ubuntu
Εικόνα 1: NFTables TCP/IP μοντέλο
Ξεκινήστε με τα nftables
Estamos traduciendo nuestros guías y tutoriales al español. Es Posible que usted esté viendo una traducción generada automáticamente. Estamos Trabajando Con Traductores Profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Δημιουργήστε λογαριασμό linode για να δοκιμάσετε αυτόν τον οδηγό με πίστωση $ .
Αυτή η πίστωση θα εφαρμοστεί σε οποιεσδήποτε έγκυρες υπηρεσίες που χρησιμοποιούνται κατά τις πρώτες σας ημέρες.
Το Nftables αντικαθιστά τα επιτυχημένα iptables και τα σχετικά πλαίσια του που βασίζονται στο Netfilter. Με τα NFTables να βελτιώνουν την απόδοση και τη χρηστικότητα, αλλά και σημαντικές αλλαγές στη σύνταξη και τη χρήση. Χρησιμοποιήστε αυτόν τον οδηγό για να ξεκινήσετε να μαθαίνετε για το τι είναι τα nftables και πώς διαφέρει από τα iPtables. Ακολουθήστε μαζί με το παράδειγμα αυτού του οδηγού για να εφαρμόσετε τους δικούς σας κανόνες σε nftables και να πάρετε μια πρακτική ιδέα για το τι μπορεί να κάνει.
Τι είναι τα nftables?
Το NFTables είναι ένα πλαίσιο ταξινόμησης πακέτων Linux που αντικαθιστά την υποδομή NetFilter πίσω από iptables, IP6Tables, Arptables και Ebtables. Τα πλαίσια που χρησιμοποιούν την Legacy Netfilter Infrastructure καταργούνται σταδιακά από τις μεγάλες κατανομές Linux. Αυτά τα πλαίσια έχουν αρχίσει να υιοθετούν NFTables ως προεπιλεγμένο πλαίσιο ταξινόμησης πακέτων.
Παρά την πανταχού παρούσα, η αρχιτεκτονική της έχει αρκετούς υποκείμενους περιορισμούς και αναποτελεσματικότητα και αυτές θα μπορούσαν να επιλυθούν μόνο με θεμελιώδη επανασχεδιασμό. Αυτός ο επανασχεδιασμός είναι αυτό που ο Nftables έχει ξεκινήσει να ολοκληρώσει.
nftables vs. Iptables
Το Nftables διατηρεί μερικά από τα γνωστά μέρη της υποδομής Netfilter και των iPtables. Όπως και με τα iPtables, τα Nftables εξακολουθούν να χρησιμοποιούν τους πίνακες, τις αλυσίδες και τους κανόνες ιεραρχίας – πίνακες που περιέχουν αλυσίδες και αλυσίδες που περιέχουν κανόνες. Ενώ τα NFTables αλλάζουν τη σύνταξη γραμμής εντολών, διατηρεί ένα στρώμα συμβατότητας που σας επιτρέπει να εκτελείτε εντολές iptables πάνω από τον πυρήνα Nftables.
Οι Nftables εισάγουν επίσης σημαντικές αλλαγές στη χρήση από τα iPtables. Για ένα, όπως αναφέρθηκε παραπάνω, η σύνταξη γραμμής εντολών για τα NFTables είναι διαφορετική. Αυτό που ακολουθεί είναι πρόσθετες αξιοσημείωτες διαφορές μεταξύ των nftables και των iptables.
- Σε αντίθεση με τα iptables, τα nftables δεν έχουν προκαθορισμένους πίνακες ή αλυσίδες, οι οποίες πηγαίνουν προς τη βελτίωση της απόδοσης.
- Στα NFTables, οι κανόνες μπορούν να λάβουν πολλαπλές ενέργειες, σε αντίθεση με τον περιορισμό των Iptables σε μία μόνο ενέργεια ανά κανόνα.
- Το Nftables έρχεται με μια οικογένεια διευθύνσεων INET που σας επιτρέπει να δημιουργείτε εύκολα πίνακες που ισχύουν τόσο για το IPv4 όσο και για το IPv6.
- Το σύνολο κανόνων της Nftables αντιπροσωπεύεται από μια δυναμική συνδεδεμένη λίστα, η οποία βελτιώνει τη διατήρηση της διατήρησης των κανόνων σε σύγκριση με το μονολιθικό blob του IPTables.
Επιπλέον, η γενική υποδομή του Nftables ανοίγει νέες επιλογές για τη δομή του στοιχείου κανόνων, επιτρέποντας ακόμη και τις πολυδιάστατες δομές “δέντρων”. Μπορείτε να το χρησιμοποιήσετε για να μειώσετε σημαντικά τον αριθμό των κανόνων που ερωτήθηκαν για να καθορίσετε την κατάλληλη ενέργεια για ένα πακέτο.
Πώς να εγκαταστήσετε nftables
Δεν χρειάζεται να εγκαταστήσετε nftables εάν χρησιμοποιείτε μία από τις ακόλουθες εκδόσεις διανομής ή αργότερα:
- Debian 10 (Buster)
- Ubuntu 20.10 (Groovy Gorilla)
- Εκατοστό 8
- Fedora 32
Διαφορετικά, μπορείτε να εγκαταστήσετε με μη αυτόματο τρόπο τα NFTables χρησιμοποιώντας τα παρακάτω βήματα. Αυτά τα βήματα λειτουργούν για το Debian 9, Ubuntu 18.04 και Centos 7, και αργότερα απελευθερώσεις αυτών των διανομών.
Πριν ξεκινήσεις
- Εάν δεν το έχετε ήδη κάνει, δημιουργήστε έναν λογαριασμό linode και υπολογίστε την παρουσία. Δείτε το να ξεκινήσετε με το Linode και να δημιουργήσετε οδηγούς υπολογιστών.
- Ακολουθήστε τη ρύθμιση και την εξασφάλιση ενός υπολογιστικού οδηγού στιγμιότυπων για να ενημερώσετε το σύστημά σας. Μπορεί επίσης να επιθυμείτε να ορίσετε τη ζώνη ώρας, να ρυθμίσετε το όνομα του κεντρικού υπολογιστή σας, να δημιουργήσετε έναν περιορισμένο λογαριασμό χρήστη και να Harden SSH Access.
Αυτός ο οδηγός είναι γραμμένος για χρήστες μη ριζών. Οι εντολές που απαιτούν αυξημένα προνόμια είναι προθέματα με sudo . Εάν δεν είστε εξοικειωμένοι με την εντολή sudo, ανατρέξτε στον Οδηγό χρηστών και ομάδων του Linux.
Βήματα εγκατάστασης
- Εγκαταστήστε τα nftables.
- Στις διανομές Debian και Ubuntu, χρησιμοποιήστε την εντολή:
Sudo Apt Εγκατάσταση Nftables
Sudo Yum Εγκαταστήστε Nftables
Sudo SystemCtl Ενεργοποιήστε τα NFTables Sudo SystemCtl Start Nftables
sudo apt εγκατάσταση iptables-nftables-compat sudo iptables-save> iptables.dump sudo iptables-restore-translate -f iptables.dump>.NFT sudo nft -f ruleset.nft
Μπορείτε να επαληθεύσετε την εισαγωγή με τη λήψη μιας λίστας πινάκων τώρα σε nftables.
Πίνακες λίστας sudo nft
Πώς να χρησιμοποιήσετε nftables
Αυτή η ενότητα καταρρέει κάθε ένα από τα κύρια συστατικά στα Nftables, παρέχοντας τις πιο χρήσιμες εντολές τους. Στο τέλος αυτού του οδηγού, μπορείτε να βρείτε μια επίδειξη για το πώς να δημιουργήσετε ένα σύνολο κανόνων εργασίας και να το δείτε σε δράση.
Τραπέζια
Οι πίνακες είναι το υψηλότερο επίπεδο της ιεραρχίας Nftables. Ένας δεδομένος πίνακας αντιστοιχεί σε μία οικογένεια διευθύνσεων και περιέχει αλυσίδες που φιλτράρουν τα πακέτα σε αυτήν την οικογένεια διευθύνσεων.
- Για να δημιουργήσετε έναν πίνακα, χρησιμοποιήστε την εντολή παραδείγματος. Αντικαταστήστε το example_table παρακάτω και σε επόμενα παραδείγματα, με περιγραφικό όνομα για τον πίνακα.
sudo nft προσθήκη πίνακα inet example_table
Πίνακες λίστας sudo nft
sudo nft delete table inet example_table
sudo nft flush table inet example_table
Αλυσίδες
Αλυσίδα
Πώς να εγκαταστήσετε nftables στο Ubuntu
Εικόνα 1: NFTables TCP/IP μοντέλο
Ξεκινήστε με τα nftables
Estamos traduciendo nuestros guías y tutoriales al español. Es Posible que usted esté viendo una traducción generada automáticamente. Estamos Trabajando Con Traductores Profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Δημιουργήστε λογαριασμό linode για να δοκιμάσετε αυτόν τον οδηγό με πίστωση $ .
Αυτή η πίστωση θα εφαρμοστεί σε οποιεσδήποτε έγκυρες υπηρεσίες που χρησιμοποιούνται κατά τις πρώτες σας ημέρες.
νησί Αντικαθιστά τα επιτυχημένα iptables και τα σχετικά πλαίσια που βασίζονται στο Netfilter. Με τα NFTables να βελτιώνουν την απόδοση και τη χρηστικότητα, αλλά και σημαντικές αλλαγές στη σύνταξη και τη χρήση. Χρησιμοποιήστε αυτόν τον οδηγό για να ξεκινήσετε να μαθαίνετε για το τι είναι τα nftables και πώς διαφέρει από τα iPtables. Ακολουθήστε μαζί με αυτόν τον οδηγό’Παράδειγμα για να εφαρμόσετε τους δικούς σας κανόνες σε nftables και να πάρετε μια πρακτική ιδέα για το τι μπορεί να κάνει.
Τι είναι τα nftables?
Το Nftables είναι ένα πλαίσιο ταξινόμησης πακέτων Linux που αντικαθιστά το Νευρώνα Η υποδομή πίσω από iptables, IP6Tables, Arptables και Ebtables. Τα πλαίσια που χρησιμοποιούν την Legacy Netfilter Infrastructure καταργούνται σταδιακά από τις μεγάλες κατανομές Linux. Αυτά τα πλαίσια έχουν αρχίσει να υιοθετούν NFTables ως προεπιλεγμένο πλαίσιο ταξινόμησης πακέτων.
Παρά την πανταχού παρούσα, η αρχιτεκτονική της έχει αρκετούς υποκείμενους περιορισμούς και αναποτελεσματικότητα και αυτές θα μπορούσαν να επιλυθούν μόνο με θεμελιώδη επανασχεδιασμό. Αυτός ο επανασχεδιασμός είναι αυτό που ο Nftables έχει ξεκινήσει να ολοκληρώσει.
nftables vs. Iptables
Το Nftables διατηρεί μερικά από τα γνωστά μέρη της υποδομής Netfilter και των iPtables. Όπως και με τα iPtables, τα Nftables εξακολουθούν να χρησιμοποιούν τους πίνακες, τις αλυσίδες και τους κανόνες ιεραρχίας – πίνακες που περιέχουν αλυσίδες και αλυσίδες που περιέχουν κανόνες. Ενώ τα NFTables αλλάζουν τη σύνταξη γραμμής εντολών, διατηρεί ένα στρώμα συμβατότητας που σας επιτρέπει να εκτελείτε εντολές iptables πάνω από τον πυρήνα Nftables.
Οι Nftables εισάγουν επίσης σημαντικές αλλαγές στη χρήση από τα iPtables. Για ένα, όπως αναφέρθηκε παραπάνω, η σύνταξη γραμμής εντολών για τα NFTables είναι διαφορετική. Αυτό που ακολουθεί είναι πρόσθετες αξιοσημείωτες διαφορές μεταξύ των nftables και των iptables.
- Σε αντίθεση με τα iptables, τα nftables δεν έχουν προκαθορισμένους πίνακες ή αλυσίδες, οι οποίες πηγαίνουν προς τη βελτίωση της απόδοσης.
- Σε nftables, οι κανόνες μπορούν να λάβουν πολλαπλές ενέργειες, σε αντίθεση με τα iPtables’ Περιορισμός σε μία μόνο ενέργεια ανά κανόνα.
- Το Nftables έρχεται με μια οικογένεια διευθύνσεων INET που σας επιτρέπει να δημιουργείτε εύκολα πίνακες που ισχύουν τόσο για το IPv4 όσο και για το IPv6.
- νησί’ Το σύνολο κανόνων αντιπροσωπεύεται από μια δυναμική λίστα συνδεδεμένη, η οποία βελτιώνει το μέτρο των κανόνων’η συντήρηση σε σύγκριση με τα iPtables’ Μονολιθικό blob κανόνες.
Επιπλέον, nftables’ Η γενική υποδομή σετ ανοίγει νέες επιλογές για τη δομή του στοιχείου κανόνων, επιτρέποντας ακόμη και πολυδιάστατη “δέντρο” δομές. Μπορείτε να το χρησιμοποιήσετε για να μειώσετε σημαντικά τον αριθμό των κανόνων που ερωτήθηκαν για να καθορίσετε την κατάλληλη ενέργεια για ένα πακέτο.
Πώς να εγκαταστήσετε nftables
Δεν χρειάζεται να εγκαταστήσετε nftables εάν χρησιμοποιείτε μία από τις ακόλουθες εκδόσεις διανομής ή αργότερα:
- Debian 10 (Buster)
- Ubuntu 20.10 (Groovy Gorilla)
- Εκατοστό 8
- Fedora 32
Διαφορετικά, μπορείτε να εγκαταστήσετε με μη αυτόματο τρόπο τα NFTables χρησιμοποιώντας τα παρακάτω βήματα. Αυτά τα βήματα λειτουργούν για το Debian 9, Ubuntu 18.04 και Centos 7, και αργότερα απελευθερώσεις αυτών των διανομών.
Πριν ξεκινήσεις
- Εάν δεν το έχετε ήδη κάνει, δημιουργήστε έναν λογαριασμό linode και υπολογίστε την παρουσία. Δείτε το να ξεκινήσετε με το Linode και να δημιουργήσετε οδηγούς υπολογιστών.
- Ακολουθήστε τη ρύθμιση και την εξασφάλιση ενός υπολογιστικού οδηγού στιγμιότυπων για να ενημερώσετε το σύστημά σας. Μπορεί επίσης να επιθυμείτε να ορίσετε τη ζώνη ώρας, να ρυθμίσετε το όνομα του κεντρικού υπολογιστή σας, να δημιουργήσετε έναν περιορισμένο λογαριασμό χρήστη και να Harden SSH Access.
Αυτός ο οδηγός είναι γραμμένος για χρήστες μη ριζών. Οι εντολές που απαιτούν αυξημένα προνόμια είναι προθέματα με sudo . Αν εσύ’Δεν είναι εξοικειωμένοι με την εντολή sudo, ανατρέξτε στον Οδηγό χρηστών και ομάδων του Linux.
Βήματα εγκατάστασης
- Εγκαταστήστε τα nftables.
- Στις διανομές Debian και Ubuntu, χρησιμοποιήστε την εντολή:
Sudo Apt Εγκατάσταση Nftables
Sudo Yum Εγκαταστήστε Nftables
Sudo SystemCtl Ενεργοποιήστε τα NFTables Sudo SystemCtl Start Nftables
sudo apt εγκατάσταση iptables-nftables-compat sudo iptables-save> iptables.dump sudo iptables-restore-translate -f iptables.dump>.NFT sudo nft -f ruleset.nft
Μπορείτε να επαληθεύσετε την εισαγωγή με τη λήψη μιας λίστας πινάκων τώρα σε nftables.
Πίνακες λίστας sudo nft
Πώς να χρησιμοποιήσετε nftables
Αυτή η ενότητα καταρρέει κάθε ένα από τα κύρια συστατικά στα Nftables, παρέχοντας τις πιο χρήσιμες εντολές τους. Στο τέλος αυτού του οδηγού, μπορείτε να βρείτε μια επίδειξη για το πώς να δημιουργήσετε ένα σύνολο κανόνων εργασίας και να το δείτε σε δράση.
Τραπέζια
Οι πίνακες είναι το υψηλότερο επίπεδο της ιεραρχίας Nftables. Ένας δεδομένος πίνακας αντιστοιχεί σε μία οικογένεια διευθύνσεων και περιέχει αλυσίδες που φιλτράρουν τα πακέτα σε αυτήν την οικογένεια διευθύνσεων.
Για να δημιουργήσετε έναν πίνακα, χρησιμοποιήστε την εντολή παραδείγματος. Αντικαταστήστε το example_table παρακάτω και σε επόμενα παραδείγματα, με περιγραφικό όνομα για τον πίνακα.
sudo nft προσθήκη πίνακα inet example_table
Πίνακες λίστας sudo nft
sudo nft delete table inet example_table
sudo nft flush table inet example_table
Αλυσίδες
Οι αλυσίδες ζουν κάτω από τραπέζια και πακέτα φίλτρου. Μπορείτε να επισυνάψετε κάθε κανόνα Nftables σε μια αλυσίδα έτσι ώστε τα πακέτα “αλιευμένος” στην αλυσίδα’Το φίλτρο S μεταβιβάζεται στη συνέχεια στην αλυσίδα’κανόνες.
Οι αλυσίδες μπορεί να είναι δύο ειδών. Βάση Οι αλυσίδες λειτουργούν ως σημεία εισόδου για πακέτα που προέρχονται από τη στοίβα δικτύου. Τακτικός Οι αλυσίδες δεν λειτουργούν ως φίλτρα, αλλά μπορούν να λειτουργήσουν ως στόχοι άλματος. Μπορούν να βοηθήσουν στον έλεγχο της ροής και της οργάνωσης των nftables σας.
Για να δημιουργήσετε μια βασική αλυσίδα, χρησιμοποιήστε μια εντολή όπως η εντολή παραδείγματος παρακάτω. Αντικαταστήστε το example_chain, εδώ και αργότερα, με ένα περιγραφικό όνομα αλυσίδας.
sudo nft add αλυσίδα inet example_table example_chain ''
sudo nft προσθήκη αλυσίδας inet example_table example_chain
sudo nft delete αλυσίδα inet example_table example_chain
sudo nft αλυσίδα inet example_table example_chain
Κανόνας
Οι κανόνες λαμβάνουν τα πακέτα που φιλτράρονται από αλυσίδες και λαμβάνουν δράση με βάση το αν ταιριάζουν με συγκεκριμένα κριτήρια. Κάθε κανόνας αποτελείται από δύο μέρη, τα οποία ακολουθούν τον πίνακα και την αλυσίδα στην εντολή. Πρώτον, ο κανόνας έχει μηδέν ή περισσότερο εκφράσεις που δίνουν τα κριτήρια για τον κανόνα. Δεύτερον, ο κανόνας έχει ένα ή περισσότερα δηλώσεις που καθορίζουν τη δράση ή τις ενέργειες που λαμβάνονται όταν ένα πακέτο ταιριάζει με τον κανόνα’εκφράσεις. Τόσο οι εκφράσεις όσο και οι δηλώσεις αξιολογούνται από αριστερά προς τα δεξιά. Δείτε το ακόλουθο παράδειγμα για την προσθήκη ενός κανόνα για να λάβετε μια κατανομή αυτών των δύο τμημάτων.
Για να δημιουργήσετε έναν κανόνα, χρησιμοποιήστε μια εντολή παρόμοια με το παράδειγμα. Αυτός ο κανόνας παίρνει πακέτα από το example_chain και επιτρέπει σε όσους αντιπροσωπεύουν την κυκλοφορία TCP στη θύρα 22:
sudo nft προσθήκη κανόνα inet example_table example_chain tcp dport 22 μετρητής αποδοχή
- Εδώ, το τμήμα TCP Dport 22 περιέχει τον κανόνα’δύο εκφράσεις. Ταιριάζει με πακέτα TCP και στη συνέχεια ταιριάζει όταν αυτά τα πακέτα κατευθύνονται στη θύρα 22.
- Ο μετρητής αποδοχής περιέχει τον κανόνα’S δύο δηλώσεις. Πρώτον, τα πακέτα που ταιριάζουν με τον κανόνα’S Counter, διατηρώντας έναν τρέχοντα αριθμό πακέτων που ταιριάζουν με τον κανόνα. Δεύτερον, τα αντιστοιχισμένα πακέτα γίνονται αποδεκτά.
- Να γνωρίζετε ότι οι εντολές ετυμηγορίας, όπως η αποδοχή και η πτώση, η τελική επεξεργασία του κανόνα, έτσι ώστε να τοποθετηθούν στον κανόνα’στείλετε.
sudo nft προσθήκη κανόνα inet example_table example_chain θέση 3 tcp dport 22 μετρητής αποδοχή
sudo nft πίνακας λίστας inet example_table
Ομοίως, μπορείτε να χρησιμοποιήσετε μια εντολή όπως το παράδειγμα για να αναφέρετε όλους τους κανόνες μέσα στο example_chain στο example_table .
Sudo NFT List Chain inet example_table example_chain
sudo nft διαγραφή κανόνα inet example_table example_chain handle 2
Εδώ, η λαβή είναι ένα αναγνωριστικό για τον κανόνα που διαγράφετε. Μπορείτε να πάρετε έναν κανόνα’S Handle χρησιμοποιώντας την επιλογή -a κατά την εκτέλεση της εντολής για τους κανόνες καταχώρισης, όπως στο:
sudo nft πίνακας λίστας inet example_table -a
Παράδειγμα χρήσης Nftables
Παρακάτω, μπορείτε να ακολουθήσετε για να δημιουργήσετε ένα σύνολο κανόνων. Το παράδειγμα κανόνων χρησιμοποιεί έναν πίνακα INET, δύο αλυσίδες – ένα για τα εισερχόμενα πακέτα και το άλλο για εξερχόμενη – και έναν κανόνα για κάθε αλυσίδα.
Δημιουργήστε έναν πίνακα, inet-table .
sudo nft προσθέστε πίνακα inet inet-table
Sudo NFT Προσθήκη αλυσίδας αλυσίδας inet inet-table-filter-chain '< type filter hook output priority 0; >"
sudo nft προσθήκη κανόνα inet inet-table-filter-chain ip daddr 8.8.8.8 μετρητής
Sudo NFT Add Chain INET INET-Table-Filter-Chain '< type filter hook input priority 0; >'sudo nft προσθέτοντας κανόνα inet inet-table-filter-chain tcp dport 3030 μετρητής
sudo nft πίνακας λίστας inet inet-table
Θα πρέπει να πάρετε την έξοδο παρόμοια με τα εξής:
Πίνακας IP inet-table < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 0 bytes 0 >αλυσίδα φίλτρου εισόδου < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 0 bytes 0 >>
Από το μηχάνημα που εκτελείται nftables, ping τη διεύθυνση προορισμού που καθορίζεται στον πρώτο κανόνα.
ping -c 1 8.8.8.8
192.0.2.0: 3030
Πίνακας IP inet-table < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 1 bytes 84 >αλυσίδα φίλτρου εισόδου < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 1 bytes 64 >>
Περισσότερες πληροφορίες
Μπορεί να επιθυμείτε να συμβουλευτείτε τους ακόλουθους πόρους για πρόσθετες πληροφορίες σχετικά με αυτό το θέμα. Ενώ αυτά παρέχονται με την ελπίδα ότι θα είναι χρήσιμα, παρακαλούμε να σημειώσετε ότι δεν μπορούμε να εγγυηθούμε για την ακρίβεια ή την επικαιρότητα των εξωτερικών φιλοξενούμενων υλικών.
- νησί
- Οι οικογενειακές οικογένειες απευθύνονται σε οικογένειες
- Ρύθμιση αλυσίδων σε nftables
Αυτή η σελίδα δημοσιεύθηκε αρχικά την Παρασκευή 9 Ιουλίου 2021.
Πώς να εγκαταστήσετε nftables στο Ubuntu
Σε αυτό το άρθρο, θα μάθουμε πώς να αλλάζουμε ένα τείχος προστασίας Linux από τα iPtables σε Nftables στο Ubuntu. Το iPtables, το οποίο βασίζεται στη μονάδα Netfilter Linux Kernel, είναι σήμερα το προεπιλεγμένο τείχος προστασίας για πολλές διανομές Linux. Προστατεύει από πολλαπλούς φορείς απειλής και επιτρέπει στον διακομιστή σας να εμποδίζει την ανεπιθύμητη κυκλοφορία με βάση ένα συγκεκριμένο σύνολο κανόνων.
Το Nftables είναι ένα νέο υποσύστημα του πυρήνα Linux που αντικαθιστά διάφορα τμήματα του πλαισίου Netfilter (πάνω στο οποίο βασίζεται το iPtables), το οποίο επιτρέπει βελτιωμένη λειτουργικότητα. Αυτές οι αλλαγές εφαρμόστηκαν στον πυρήνα έκδοση 3.13. Αυτή η ενότητα ενισχύει τη λειτουργικότητα τύπου τείχους προστασίας του NetFilter για τη φιλτράρισμα της κυκλοφορίας δικτύου. Το προηγμένο πλαίσιο των NFTables διαμορφώνεται μετά το σύστημα φίλτρου πακέτων Berkeley (BPF), το οποίο χρησιμοποιεί ένα βασικό σύνολο εκφράσεων για την κατασκευή ομαδοποιημένων, σύνθετων κανόνων φιλτραρίσματος. Το’Αξίζει να επισημάνετε ότι αυτό δεν είναι μια ενημέρωση για τα iPtables, αλλά μια αντικατάσταση. Το iPtables θα αντικατασταθεί σύντομα από τα Nftables στα περισσότερα συστήματα ως ενιαία ενοποιημένη πλατφόρμα, παρέχοντας τη διαμόρφωση τείχους προστασίας πάνω από ένα εικονικό μηχάνημα στο Kernel.
Πώς διαφέρει τα nftables από τα iptables?
Στο Iptables, υπάρχουν αρκετές αλυσίδες και πίνακες που φορτώνονται από προεπιλογή.
Σε nftables, δεν υπάρχουν προεπιλεγμένες αλυσίδες ή πίνακες.
Στο Iptables, υπάρχει μόνο ένας στόχος ανά κανόνα.
Σε nftables, μπορείτε να εκτελέσετε πολλαπλές ενέργειες μέσα σε έναν κανόνα.
Στα nftables, υπάρχει ένα εργαλείο που ονομάζεται IPset. Η χρήση του IPSet επιτρέπει τη λίστα πολλαπλών δικτύων ή διευθύνσεων που μπορούν να αντιστοιχιστούν σε έναν μόνο κανόνα.
Στη δομή των iptables, υπάρχουν τέσσερα εργαλεία ανά οικογένεια:
- Iptables
- IP6Tables
- αρπακτικά
- εξαφάνιση
Τα Nftables περιέχουν ένα στρώμα συμβατότητας που περιλαμβάνει όλα αυτά τα εργαλεία, τα οποία επιτρέπουν τη χρήση της σύνταξης των παλαιών κανόνων iptables κανόνες.
Ποια είναι τα οφέλη των nftables?
Τα κύρια πλεονεκτήματα των NFTables είναι:
- Αρχιτεκτονική που έχει χτιστεί στον πυρήνα
- Μια σύνταξη που ενοποιεί τα εργαλεία iptables σε ένα εργαλείο γραμμής εντολών
- Ένα στρώμα συμβατότητας που επιτρέπει τη σύνταξη της χρήσης των κανόνων iptables.
- Μια νέα, εύκολο να μάθει σύνταξη.
- Απλοποιημένη διαδικασία προσθήκης κανόνων τείχους προστασίας.
- Βελτιωμένη αναφορά σφαλμάτων.
- Μείωση της αναπαραγωγής κώδικα.
- Καλύτερες συνολικές επιδόσεις, διατήρηση και σταδιακές αλλαγές στο φιλτράρισμα κανόνων.
Κανόνας σύγκριση
.Όλες οι πληροφορίες τείχους προστασίας είναι ορατά χρησιμοποιώντας ένα εργαλείο γραμμής εντολών που ονομάζεται NFT. Το NFT χρησιμοποιεί έναν μόνο κανόνα για διευθύνσεις IPv4 και IPv6 αντί να χρησιμοποιεί πολλαπλούς κανόνες για κάθε εργασία. Δεν λαμβάνει πλήρη έλεγχο του backend του τείχους προστασίας και δεν θα διαγράψει τους κανόνες τείχους προστασίας που εγκαθίστανται από άλλα εργαλεία ή χρήστες. Το NFT βελτιώνει επίσης το σύνολο κανόνων τείχους προστασίας προσθέτοντας τις επιλογές για την καταγραφή και την άρνηση λειτουργιών στον ίδιο κανόνα. Τέλος, το νέο backend NFT είναι σχεδόν 100% συμβατό με προϋπάρχουσες διαμορφώσεις τείχους προστασίας.
Εδώ είναι ένας απλός κανόνας πτώσης για ένα IP σε nftables:
NFT Προσθήκη κανόνα IP Filter output IP DADDR 10.10.10.10 πτώση
Στο Iptables, ο κανόνας θα ήταν:
iptables -a output -d 10.10.10.10 -J πτώση
Αυτά τα παρακάτω παραδείγματα δημιουργούν ένα σύνολο κανόνων τείχους προστασίας που επιτρέπει την κυκλοφορία IPv6 σε διάφορες υπηρεσίες λιμένων.
root@host [~]# nft Προσθήκη κανόνα IP6 φίλτρο εισόδους tcp dport Αποδοχή root@host [~]# nft Προσθήκη κανόνα IP6 φίλτρο εισόδου ICMPV6 τύπου < nd-echo-request, nd-router-advert, neighbor-solicit, nd-neighbor-advert >αποδέχομαι
Ακολουθούν μερικά άλλα παραδείγματα:
#Review Τρέχουσα διαμόρφωση: root@host [~]# nft ruleset #Add Ένας νέος πίνακας, με την οικογένεια "inet" και πίνακα "φίλτρο": root@host [~] < type filter hook input priority 0 \; policy accept \># Προσθέστε έναν νέο κανόνα, για να αποδεχτείτε αρκετές θύρες TCP: root@host [~]# nft Προσθήκη κανόνα inet filter input tcp dport \ < ssh, telnet, https, http \>Αποδοχή # για να εμφανίσετε τις λαβές κανόνα: root@host [~] # nft -Handle -Numeric List Chain Family Table Chain # για να διαγράψετε έναν κανόνα: root@host [~] # nft delete rule inet int input handle 3 #.τολμηρός
Αυτή είναι μια γρήγορη επισκόπηση των αντικαταστάσεων drop-in που χρησιμοποιούνται:
Εγκατάσταση Debian/Ubuntu
.Η μέθοδος για την εγκατάσταση των nftables σε διακομιστή Debian/Ubuntu είναι πολύ απλός. Στην παρακάτω ενότητα, έχουμε αποθηκεύσει το τρέχον σύνολο κανόνων iptables σε ένα .Το αρχείο TXT, επανεξέτασε το αρχείο, το μεταφράστηκε σε μια μορφή αναγνώσιμης NFT και στη συνέχεια το εισήγαγε στο νέο NFT runeset.
root@host: ~# iptables-save> fwrules.txt root@host: ~# cat fwrules.txt root@host: ~# iptables-restore-translate -f fwrules.txt root@host: ~# iptables-restore-translate -f fwrules.TXT>.nft
Στο δεύτερο μέρος της διαδικασίας, εγκαθιστούμε τα NFTables και το εργαλείο IPTables-Nftables-Compat (το οποίο φορτώνει τους κανόνες στο υποσύστημα πυρήνα NF_Tables) και τέλος, επιτρέπουμε την υπηρεσία.
root@host: ~# apt intid nftables root@host: ~# apt intid iptables-nftables-compat root@host: ~# SystemCtl Ενεργοποίηση NFTables.υπηρεσία
Στην τελευταία ενότητα, τραβήξουμε το προηγούμενο σύνολο κανόνων από το σύνολο κανόνων.αρχείο nft. Στη συνέχεια εξετάζουμε το μέτρο των κανόνων με το ‘λίστα’ σημαία.
root@host: ~# nft -f κανόνες κανόνων.nft root@host: ~# nft Λίστα λίστας Πίνακας Πίνακας IP NAT < chain PREROUTING < type nat hook prerouting priority 0; policy accept; >αλυσίδα < type nat hook input priority 0; policy accept; >έξοδος αλυσίδας < type nat hook output priority 0; policy accept; >αλυσίδα < type nat hook postrouting priority 0; policy accept; >> Πίνακας IP MANGLE < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >αλυσίδα < type filter hook input priority 0; policy accept; >αλυσίδα < type filter hook forward priority 0; policy accept; >έξοδος αλυσίδας < type filter hook output priority 0; policy accept; >αλυσίδα < type filter hook postrouting priority 0; policy accept; >> Πίνακας IP RAW < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >έξοδος αλυσίδας < type filter hook output priority 0; policy accept; >> φίλτρο IP πίνακα < chain INPUT < type filter hook input priority 0; policy accept; >αλυσίδα < type filter hook forward priority 0; policy accept; >έξοδος αλυσίδας < type filter hook output priority 0; policy accept; >> Πίνακας φίλτρου INET < chain input < type filter hook input priority 0; policy accept; >αλυσίδα < type filter hook forward priority 0; policy accept; >έξοδος αλυσίδας < type filter hook output priority 0; policy accept; >> root@host: ~#
Σύνοψη εντολών NFT
#nft Επιλογές εντολών και σύνταξη root@host [~]# nft [-nnscaesupyj] [-i Directory] [-f FileName | -I | CMD ...] root@host [~]# nft -h χρήση: nft [επιλογές] [cmds. ] Επιλογές: -H,. -f, - -αρχείο ανάγνωσης εισόδου από -i, - -αλληλεπίδραση εισόδου ανάγνωσης από διαδραστική CLI -N, -Νεραμερική όταν καθορίζεται μία φορά, εμφανίστε τις διευθύνσεις δικτύου αριθμητικά (προεπιλεγμένη συμπεριφορά). Καθορίστε δύο φορές για να εμφανίσετε επίσης υπηρεσίες Διαδικτύου (αριθμοί θύρας) αριθμητικά αριθμητικά. Καθορίστε τρεις φορές για να εμφανίσετε επίσης πρωτόκολλα, αναγνωριστικά χρήστη και αναγνωριστικά ομάδας αριθμητικά. -S,. -N Μεταφράστε διευθύνσεις IP σε ονόματα. -A, -Handle Rule Rule Handle. -e, -echo echo τι έχει προστεθεί, εισαγάγει ή αντικατασταθεί. -Εγώ, - -includepath Προσθήκη στις διαδρομές που αναζητούνται Συμπεριλάβετε αρχεία. Η προεπιλογή είναι: /etc -Debug Καθορίστε το επίπεδο εντοπισμού σφαλμάτων (Scanner, Parser, Eval, Netlink, MNL, Proto -CTX, Segtree, ALL) root@host [~]# nft -v nftables v0.8.2 (Joe Btfsplk)
Firewalld και Nftables
Τι γίνεται με το Firewalld? Ευτυχώς, το firewalld αλληλεπιδρά εύκολα με τα nftables μέσω της ίδιας της εντολής NFT. Στην εικόνα του τείχους προστασίας παρακάτω, βλέπουμε πώς αλληλεπιδρούν επί του παρόντος οι iptables και firewalld μεταξύ τους.
Ένα πρόωρο ζήτημα με iptables και firewalld ήταν ότι το Firewalld ανέλαβε τον πλήρη έλεγχο του τείχους προστασίας στο διακομιστή. Τώρα, όταν χρησιμοποιείτε τα nftables ως backend, αυτό δεν ισχύει πλέον, καθώς τα nftables θα επιτρέψουν πολλούς χώρους ονομάτων και το Firewalld θα πετύχει τους κανόνες, τα σύνολα και τις αλυσίδες στο τραπέζι τείχους προστασίας. Αυτό αποφεύγει πολλές συγκρούσεις που μπορούν να συναντηθούν με άλλο λογισμικό που δεν αλληλεπιδρούν άμεσα με το Firewalld. Στις επερχόμενες κυκλοφορίες, το Nftables θα ενημερωθεί για να χρησιμοποιήσει τα νέα libnftables.
Επαναφέρω
Εάν για κάποιο λόγο, πρέπει να επανέλθετε στο παλιό backend, μπορείτε εύκολα να το κάνετε με επαναφορά του ‘τείχος προστασίας‘ καταχώρηση /etc/firewalld/firewalld.τολμηρός πίσω στο ‘Iptables‘, και στη συνέχεια επανεκκινήστε το firewalld.
Μάθετε πώς αυτή η νέα υπηρεσία μπορεί να χωρέσει στο συνολικό σας σχέδιο ασφαλείας για το διακομιστή σας. Ακόμα αβέβαιος για το πώς να το εφαρμόσετε στον διακομιστή Ubuntu ή να έχετε πρόσθετες ερωτήσεις? Οι τεχνικοί υποστήριξής μας στέκονται για να προσφέρουν τη βοήθειά μας στην απάντηση σε αυτές και σε οποιεσδήποτε άλλες ερωτήσεις που μπορεί να έχετε σχετικά με αυτήν την τεχνολογία.
Σχετικά Άρθρα:
- Πώς να φτιάξεις “Αυτός ο ιστότοπος μπορεί’να παρέχει μια ασφαλή σύνδεση” Λάθος
- Πώς να εγκαταστήσετε το MongoDB στο almalinux
- Πώς να εγκαταστήσετε το postgresql στο almalinux
- Πώς να χρησιμοποιήσετε το WP Toolkit για να εξασφαλίσετε και να ενημερώσετε το WordPress
- Πώς να εγκαταστήσετε και να διαμορφώσετε το Ansible στο almalinux
- Πώς να εγκαταστήσετε το Redis μέσα σε ένα δοχείο Easyapache 4 στο CPanel
Σχετικά με τον συγγραφέα: David Singer
Είμαι G33K, Linux Blogger, Developer, Student και πρώην συγγραφέας τεχνολογίας για το LiquidWeb.com. Το πάθος μου για όλα τα τεχνικά τα πράγματα οδηγεί το κυνήγι μου για όλα τα coolz. Χρειάζομαι συχνά διακοπές αφού επιστρέψω από τις διακοπές.
Γίνετε μέλος της λίστας αλληλογραφίας μας για να λάβετε νέα, συμβουλές, στρατηγικές και έμπνευση που χρειάζεστε για να αναπτύξετε την επιχείρησή σας
Τι’S NENG στην Ασφάλεια για το Ubuntu 22.04 LTS?
Κανονικό Ubuntu 22.04 LTS είναι η τελευταία μακροπρόθεσμη έκδοση υποστήριξης του Ubuntu, ενός από τον κόσμο’είναι οι πιο δημοφιλείς διανομές Linux. Ως μακροπρόθεσμη έκδοση υποστήριξης, Ubuntu 22.04 LTS θα υποστηριχθεί για 10 χρόνια, λαμβάνοντας τόσο εκτεταμένες ενημερώσεις ασφαλείας όσο και Kernel LivePatching μέσω συνδρομής Ubuntu Advantage (η οποία είναι δωρεάν για προσωπική χρήση). Αυτό συνεχίζει το σημείο αναφοράς των εκδόσεων Ubuntu LTS που χρησιμεύουν ως το πιο ασφαλές θεμέλιο για την ανάπτυξη και την ανάπτυξη εφαρμογών και υπηρεσιών Linux. Σε αυτήν την ανάρτηση ιστολογίου, ρίχνουμε μια ματιά στα διάφορα χαρακτηριστικά ασφαλείας και βελτιώσεις που έχουν μεταφερθεί σε αυτή τη νέα κυκλοφορία από το Ubuntu 20.04 απελευθέρωση LTS. Για μια πιο λεπτομερή εξέταση ορισμένων από αυτά τα χαρακτηριστικά, φροντίστε να ελέγξετε τα προηγούμενα άρθρα αυτής της σειράς που καλύπτουν τις βελτιώσεις που παρέχονται σε κάθε προσωρινή απελευθέρωση του Ubuntu τα τελευταία 2 χρόνια μεταξύ 20.04 LTS και 22.04 LTS.
Βελτιστοποιημένοι πυρήνες Linux
Ubuntu 22.Το 04 LTS εισάγει βελτιστοποιημένες εκδόσεις πυρήνα για διαφορετικές πλατφόρμες. Για συσκευές επιφάνειας εργασίας πιστοποιημένων OEM, το ανάντη V5.17 πυρήνας χρησιμοποιείται ως βασική γραμμή, ενώ όλες οι άλλες πλατφόρμες επιφάνειας εργασίας και διακομιστών βασίζονται στο V5.15 πυρήνας. Ένας τεράστιος αριθμός αλλαγών και βελτιώσεων ασφαλείας έχουν πάει στον πυρήνα Linux από το V5.4 πυρήνας του Ubuntu 20.04 LTS, συμπεριλαμβανομένων:
Ειδικές βελτιώσεις ασφαλείας υλικού
Πληροφορία’Το S Software Guard Extensions (SGX) παρέχει ασφαλή θύλακα που υποστηρίζονται από υλικό, τις οποίες οι εφαρμογές μπορούν να χρησιμοποιήσουν είτε για την αποθήκευση ευαίσθητων δεδομένων είτε. Ubuntu 22.04 Το LTS επιτρέπει την υποστήριξη αυτής της λειτουργίας, η οποία υπάρχει στους επεξεργαστές Intel για αρκετά χρόνια. Ενώ για πλατφόρμες βραχίονα, υποστήριξη για το ARMV8.5 Η επέκταση ετικετών μνήμης είναι τώρα διαθέσιμη σε συσκευές ARM64. Αυτή η λειτουργία στοχεύει στην πρόληψη των προβλημάτων ασφάλειας μνήμης, επισημαίνοντας τις διευθύνσεις μνήμης με ένα κλειδί που δεν μπορεί εύκολα. Οι διαδικασίες χρήστη μπορούν τώρα να επιτρέψουν την ετικέτα μνήμης για επιλεγμένες περιοχές μνήμης για να βοηθήσουν στην πρόληψη των επιθέσεων διαφθοράς μνήμης. Τέλος, η AMD Secure Encrypted Virtualisation (SEV) υποστηρίζεται επίσης από το υποσύστημα Virtualisation KVM, για την προστασία των καταχωρητών εικονικών μηχανών που έχουν πρόσβαση από το λειτουργικό σύστημα υποδοχής.
Γενικές βελτιώσεις ασφαλείας του πυρήνα
Υπάρχουν επίσης πολλά άλλα γενικά, ανεξάρτητα από την πλατφόρμα, χαρακτηριστικά ασφαλείας του πυρήνα, συμπεριλαμβανομένων και νέων χαρακτηριστικών ασφαλείας, όπως ο βασικός προγραμματισμός, καθώς και διάφορες βελτιώσεις σκλήρυνσης. Από τις πρώτες περιπτώσεις των ευπάθειας μικροαρχιτεκτονικών πλευρικών καναλιών (δηλαδή. Specter κ.λπ.) ανακαλύφθηκαν για πρώτη φορά πριν από 4 χρόνια, οι προγραμματιστές εργάζονται σε ένα μέσο για τις διαδικασίες για τον έλεγχο του τρόπου με τον οποίο προγραμματίζονται σε πυρήνες συμμετρικής πολλαπλής επεξεργασίας (SMT). Τα αδέλφια SMT μοιράζονται πόρους υλικού CPU μεταξύ τους και έτσι μπορεί να είναι αρκετά δύσκολο να αποφευχθούν διάφορες επιθέσεις πλευρικής καναλιού υλικού ως αποτέλεσμα. Παρέχεται τώρα υποστήριξη για τον βασικό προγραμματισμό, η οποία επιτρέπει στις διαδικασίες να ελέγχουν ποια νήματα θα προγραμματιστούν σε όλα τα αδέλφια SMT και έτσι μπορεί να τους επιτρέψει να προστατεύουν τις ευαίσθητες πληροφορίες από τη διαρροή σε άλλες μη αξιόπιστες διαδικασίες στο σύστημα.
Η τυχαιοποίηση του Kernel Stack παρέχει ένα μέτρο σκλήρυνσης για να εμποδίσει τους επιτιθέμενους που επιθυμούν να εκτελέσουν επιθέσεις διαφθοράς μνήμης μέσα στον πυρήνα. Τοποθετώντας τη στοίβα πυρήνα σε διαφορετική μετατόπιση στις επόμενες κλήσεις συστήματος, οι επιτιθέμενοι δεν είναι σε θέση να εκτελούν επιθέσεις με την πρώτη διαρροή μιας διεύθυνσης στοίβας πυρήνα και στη συνέχεια στη συνέχεια να αντικαταστήσουν αυτή τη μνήμη σε μια μεταγενέστερη κλήση συστήματος. Κλείνοντας αυτό το πιθανό φορέα επίθεσης Ubuntu 22.Το 04 LTS παρέχει μια πιο αμυντική πλατφόρμα ενάντια στις επιθέσεις του πυρήνα.
Το υποσύστημα BPF έχει επίσης δει ορισμένες βελτιώσεις ασφαλείας, συμπεριλαμβανομένου του περιορισμού της χρήσης του σε προνομιούχες διαδικασίες από προεπιλογή, καθώς και τις αρχικές προσπάθειες υποστήριξης υπογεγραμμένων προγραμμάτων BPF επίσης. Και τα δύο αυτά μέτρα αποσκοπούν στην ελαχιστοποίηση της πιθανότητας αυτό το επιθετικό υποσύστημα να μπορεί να χρησιμοποιηθεί για να επιτεθεί στον πυρήνα, ενώ παράλληλα επιτρέπει να χρησιμοποιείται από τους προγραμματιστές και τους διαχειριστές του συστήματος, όπως απαιτείται, όπως απαιτείται.
Τέλος, η συμπερίληψη της νέας μονάδας ασφαλείας Linux Linux παρέχει έναν άλλο μηχανισμό για την εφαρμογή Sandboxing για να προχωρήσει μαζί με τις πιο παραδοσιακές μεθόδους μέσω Apparmor ή Selinux. Το Landlock επιτρέπει στις εφαρμογές να καθορίσουν τη δική τους πολιτική (και έτσι είναι πιο παρόμοια με τα φίλτρα SECCOMP) σε αντίθεση με το Apparmor και το SELINUX που έχουν σχεδιαστεί για να επιτρέπουν στον διαχειριστή του συστήματος να διαμορφώσει τις παγκόσμιες πολιτικές συστήματος σε μια σειρά εφαρμογών. Όταν συνδυάζεται με τη στοίβαξη του LSM, το Landlock μπορεί να χρησιμοποιηθεί σε συνδυασμό με το Apparmor για να παρέχει μια προσέγγιση Depence-in-Depth στην απομόνωση εφαρμογής.
Βελτιώσεις ασφαλείας χρηστών
Με κάθε νέα κυκλοφορία του Ubuntu, υπάρχει η ευκαιρία να ανανεώσουμε το φάσμα των πακέτων λογισμικού που παρέχονται στο αρχείο Ubuntu στις τελευταίες ανάντη κυκλοφορίες τους. Ubuntu 22.04 Το LTS δεν αποτελεί εξαίρεση, φέρνοντας ενημερώσεις σε μια σειρά σχετικών πακέτων ασφαλείας, όπως το OpenSSL, το OpenSSH, το NFTables, το GCC και ακόμη και το ταπεινό κέλυφος bash.
OpenSSL 3
Ubuntu 22.04 LTS πλοία με την τελευταία σημαντική κυκλοφορία του σεβάσμιου εργαλείου κρυπτογραφίας, OpenSSL. Στο OpenSSL 3, πολλοί αλγόριθμοι κληρονομιάς έχουν καταργηθεί και απενεργοποιηθεί από προεπιλογή – συμπεριλαμβανομένων των MD2 και DES. Αυτοί και άλλοι αλγόριθμοι που υποβλήθηκαν σε καταργή. Με την απενεργοποίηση αυτών από προεπιλογή, οι χρήστες και οι εφαρμογές προστατεύονται από κρυπτογραφικές επιθέσεις εναντίον αυτών των λιγότερο ασφαλών αλγορίθμων.
Openssh ux βελτιώσεις για μάρκες fido/u2f
Ένας άλλος στυλοβάτης του οικοσυστήματος ασφαλείας Linux είναι το OpenSSH, παρέχοντας ασφαλή πρόσβαση απομακρυσμένου κελύφους σε συστήματα Linux. Έχουν συμβεί επτά κυκλοφορίες OpenSsh από την έκδοση 8.2 συμπεριλήφθηκαν στο προηγούμενο Ubuntu 20.04 LTS Release, φέρνοντας μια σειρά βελτιώσεων για τους διαχειριστές του συστήματος, τους προγραμματιστές και τους χρήστες. Συγκεκριμένα, η χρήση των σημάτων ασφαλείας υλικού U2F/FIDO έχει βελτιωθεί σημαντικά στο OpenSSH 8.9, προσφέροντας σημαντικά οφέλη από τους χρήστες όταν χρησιμοποιείτε αυτές τις συσκευές ελέγχου ταυτότητας δεύτερου παράγοντα για απομακρυσμένη πρόσβαση.
nftables ως προεπιλεγμένο backend τείχους προστασίας
Η τείχη προστασίας στο Linux αποτελείται από δύο εξαρτήματα – τον μηχανισμό τείχους προστασίας μέσα στον πυρήνα του Linux και τα εργαλεία που χρησιμοποιούνται για τη διαμόρφωση αυτού από το χώρο των χρηστών. Ο πυρήνας Linux υποστήριξε παραδοσιακά δύο διαφορετικά υποσυστήματα για πολιτικές τείχους προστασίας – iptables / xtables και τα νεότερα nftables. Το NFTables προσφέρει σημαντικά οφέλη τόσο όσον αφορά την απόδοση όσο και την ευελιξία κατά τη δημιουργία και την ανάπτυξη κανόνων τείχους προστασίας, ιδιαίτερα για συστήματα IPv4/IPv6 διπλής στοίβας. Το παραδοσιακό Iptables Το εργαλείο διαχείρισης χρηστών διαμορφώνει τώρα το νησί πυρήνα backend, ενώ το νέο nft Το εργαλείο χρήστη είναι επίσης παρόν για να επιτρέψει τη δημιουργία πιο ευέλικτων κανόνων που δεν υποστηρίζονται από το παραδοσιακό Iptables παράδειγμα.
GCC 11 και Bash 5.1
GCC 11.Το 2 φέρνει βελτιωμένες δυνατότητες στατικής ανάλυσης, επιτρέποντας στους προγραμματιστές να ανιχνεύουν και να αποκαθιστούν πιθανές ευπάθειες λογισμικού και άλλα θέματα κατά τη διάρκεια του κύκλου ανάπτυξης. Αυτό περιλαμβάνει υποστήριξη για την ανίχνευση πιθανής απελευθέρωσης χωρίς χρήση, μηδενικού δείκτη, διαρροής μνήμης και μη ασφαλών κλήσεων από τις συνθήκες χειριστή σήματος. Χρησιμοποιώντας το Ubuntu 22.04 LTS Ως βάση για τις αναπτυξιακές τους πλατφόρμες, οι προγραμματιστές λογισμικού μπορούν να βοηθήσουν να διασφαλίσουν ότι ο κώδικας που γράφει είναι όσο το δυνατόν πιο σωστή και δωρεάν ελάττωμα.
Οι προγραμματιστές και οι διαχειριστές συστημάτων θα επωφεληθούν επίσης από τη συμπερίληψη του Bash 5.1. Αυτή η απελευθέρωση του σεβάσμικου κελύφους περιλαμβάνει φυσική υποστήριξη για βελτιωμένη παραγωγή ψευδοαυαπλασιασμού μέσω της μεταβλητής $ srandom. Σε αντίθεση με την ιστορική τυχαία μεταβλητή $, το $ srandom προέρχεται από τον πυρήνα’S /dev /urandom Ασφαλής συσκευή τυχαίας πηγής, εξασφαλίζοντας ότι η παραγωγή της δεν μπορεί εύκολα να προβλεφθεί από πιθανούς επιτιθέμενους.
Ιδιωτικοί καταλόγοι κατοικίας
Παραδοσιακά συστήματα Ubuntu επέλεξαν την ευκολία της κοινής πρόσβασης στον χρήστη’S Home Direnories, υποστηρίζοντας περιπτώσεις χρήσης όπως κοινόχρηστους υπολογιστές σε πανεπιστημιακά και οικιακά περιβάλλοντα. Ωστόσο, καθώς το τοπίο της τεχνολογίας έχει εξελιχθεί και το Ubuntu έχει κυριαρχήσει σε άλλους τομείς όπως το cloud computing και το internet of thing (IoT), μια πιο αμυντική προσέγγιση θεωρείται απαραίτητη για την προστασία των χρηστών και των δεδομένων τους. Ubuntu 22.04 Το LTS επιτρέπει τώρα στους ιδιωτικούς καταλόγους κατοικιών από προεπιλογή, εξασφαλίζοντας ότι τα δεδομένα χρηστών δεν είναι προσβάσιμα σε άλλους χωρίς τη ρητή άδειά τους.
Συνολικά, το φάσμα των βελτιώσεων ασφαλείας στο Ubuntu 22.Το 04 LTS το καθιστά την πιο ασφαλή απελευθέρωση του Ubuntu μέχρι σήμερα, αξιοποιώντας και βασίζοντας τα διάφορα άλλα χαρακτηριστικά σκλήρυνσης και ασφάλειας που από καιρό αποτελούν βασικό μέρος του Ubuntu. Επιπλέον, ενημερώσεις ασφαλείας και Kernel LivePatching για 22.04 LTS παρέχονται και τα δύο για δέκα χρόνια μέσω συνδρομής Ubuntu Advantag.
Μιλήστε μαζί μας σήμερα
Ενδιαφέρεστε για τη λειτουργία του Ubuntu στον οργανισμό σας?
Ρύθμιση τείχους προστασίας Nftables
Από: Jeroen Van Kessel | 1η Ιουνίου, 2020 | Διαβάστε 10 λεπτά
Το Nftables (NetFilter) ενοποιεί τους πίνακες σε ένα νέο τείχος προστασίας Linux με βάση τον πυρήνα. Οι περισσότερες κατανομές Linux μετατοπίζονται από τα iPtables σε NFTables ως προεπιλεγμένο πλαίσιο τείχους προστασίας τους. Το Nftables είναι τώρα η προεπιλογή στο Debian 10, Ubuntu 20.04, Rhel 8, Suse 15 και Fedora 32. Ώρα να μεταναστεύσετε!
Αυτή η ανάρτηση ιστολογίου επεξεργάζεται το πώς να ρυθμίσετε τα NFTables με βάση ένα μοντέλο περιμετρικού, το οποίο απεικονίζεται μεταφορικά στην εικόνα 1. Κοιτάξτε σε ένα μοντέλο δικτύου μηδενικής εμπιστοσύνης εάν θέλετε να γεμίσετε τα κενά μιας προσέγγισης που βασίζεται σε περιμετρικά. Δείτε επίσης το PF εάν χρειάζεστε μια ισχυρή λύση τείχους προστασίας στην άκρη του δικτύου σας.
Εικόνα 1: Fort Bourtange, Ολλανδία (Φωτογραφία από την Elise Van Heck)
Ξεκινώντας με Nftables
Πρώτα εγκαθιστούμε τα nftables:
$ sudo apt -get install nftables -y
$ nft -v nftables v0.9.3 (Topsy)
Στη συνέχεια ενεργοποιούμε τα nftables κατά την εκκίνηση και ξεκινήστε τον δαίμονα:
$ sudo systemctl ενεργοποιήστε τα nftables $ sudo systemctl start nftables $ sudo systemctl Κατάσταση nftables nftables.Υπηρεσία - Nftables Loaded: Loaded (/lib/systemd/system/nftables.υπηρεσία; άτομα με ειδικές ανάγκες; Προεπιλογή προμηθευτή: Ενεργοποίηση) Ενεργός: Ενεργός (έξοδος); Πριν από 1s docs: man: nft (8) http: // wiki.νησί.Org Process: 16565 execStart =/usr/sbin/nft -f/etc/nftables.Conf (κωδικός = exited, status = 0/επιτυχία) Κύριο PID: 16565 (κωδικός = exited, status = 0/επιτυχία)
Πώς λειτουργούν τα nftables
Το NFTables είναι ουσιαστικά ένα φίλτρο δικτύου, το οποίο επίσης αναφέρεται ως λίστα ελέγχου πρόσβασης δικτύου (ACL) που σας επιτρέπει να ελέγχετε τις ροές δεδομένων δικτύου. Αυτά τα φίλτρα δικτύου είναι ιεραρχικά και εξαρτώνται από την τάξη. Το σχήμα 1 δείχνει τον τρόπο λειτουργίας του NFTables με βάση το μοντέλο TCP/IP:
Εικόνα 1: NFTables TCP/IP μοντέλο
Ας ξεκινήσουμε από το κάτω μέρος στο μοντέλο TCP/IP. Ο σύνδεσμος δεδομένων είναι το σημείο όπου μπορείτε να εξορθολογίσετε την κυκλοφορία για συγκεκριμένες (εικονικές) NICs (κάρτες διασύνδεσης δικτύου) με βάση το εισερχόμενο VNIC (IIFName) και το Explicing VNIC (OIFName). Με αυτόν τον τρόπο μπορείτε να καταμετρήσετε την κυκλοφορία δεδομένων (e.σολ. Https) από τη διαχείριση της κυκλοφορίας (e.σολ. SSH ή VNC).
Στη σύνδεση δεδομένων, το πρωτόκολλο ARP (πρωτόκολλο ανάλυσης διευθύνσεων) χρησιμοποιείται για την επίλυση μιας διεύθυνσης IP σε διεύθυνση MAC. Κατά τη διάρκεια της αρχικής εκπομπής ARP, μια κακόβουλη οντότητα θα μπορούσε να προσπαθήσει να συσχετίσει τη διεύθυνση MAC με τη διεύθυνση IP της ζητούμενης διεύθυνσης IP του κεντρικού υπολογιστή, προκαλώντας την κυκλοφορία που προορίζεται για την αποστολή αυτής της διεύθυνσης IP στον οικοδεσπότη του εισβολέα. Μπορείτε να ελέγξετε την κυκλοφορία ARP στο τμήμα φίλτρου ARP (1).
Το επόμενο επάνω είναι το στρώμα TCP/IP Internetwork και Transport με φίλτρο IP και φίλτρο IP6 (2). Αυτά τα φίλτρα μας βοηθούν να διαμορφώσουμε την κυκλοφορία δικτύου από τον κεντρικό υπολογιστή μας (SADDR) σε τμήματα δικτύου ή σε άλλο κεντρικό υπολογιστή (DADDR). Τα NFTables μπορούν να φιλτράρουν πακέτα με βάση το πρωτόκολλο δικτύου, τη θύρα προορισμού (DPORT), τη θύρα προέλευσης (Sport) και την κατάσταση της περιόδου σύνδεσης (κατάσταση CT). Μικρή σημείωση – Το πρωτόκολλο ICMP είναι στην πραγματικότητα μέρος του πρωτοκόλλου IP και επομένως λειτουργεί τεχνικά στο επίπεδο Internetwork. Στην ιδανική περίπτωση, οι πίνακες IP και IP6 θα πρέπει να εμποδίζουν οποιαδήποτε επισκεψιμότητα δικτύου (DROP), εκτός εάν επιτρέπεται ρητά (αποδοχή).
Το NFTables είναι ένα φίλτρο δικτύου και όχι ένα γειτονικό τείχος προστασίας εφαρμογών (3) (3). Οι θύρες δικτύου συχνά μπερδεύονται για ελέγχους δικτύου εφαρμογών. Να γνωρίζετε ότι ένας κακόβουλος ηθοποιός μπορεί να σήραγγα ένα αντίστροφο κέλυφος πάνω από τη θύρα TCP 443 (HTTPS) ή τη θύρα UDP 53 (DNS). Το φιλτράρισμα της εφαρμογής (L7) μπορεί να συμπληρώσει αυτά τα κενά, αξιοποιώντας έναν πληρεξούσιο ιστού για την κυκλοφορία HTTPS και τα συστήματα πρόληψης εισβολών (IPS) για την απόρριψη κακόβουλης κυκλοφορίας σε άλλα πρωτόκολλα δικτύου, ακόμη και πάνω από το ICMP. Το DPI (Deep Packet Inspection) είναι η λέξη -κλειδί εδώ.
Πώς να διαμορφώσετε τα nftables
Θα επεξεργαστούμε απευθείας τα /etc /nftables.COND Config αρχείο αντί να χρησιμοποιείτε το NFT CLI (NFT ADD) και (NFT DELETE). Αυτό το αρχείο ρυθμίσεων φορτώνεται από προεπιλογή κατά την εκκίνηση. Πρέπει να είστε root (sudo) για να ορίσετε φίλτρα τείχους προστασίας σε λιμένες κάτω από 1024.
$ sudo cp /etc /nftables.conf /etc /nftables.τολμηρός.bak $ sudo vi /etc /nftables.τολμηρός
Ορίζουμε πρώτα μεταβλητές που μπορούμε να χρησιμοποιήσουμε αργότερα στο σύνολο κανόνων μας:
DEFINE NIC_NAME = "ETH0" Ορίστε το NIC_MAC_GW = "DE: AD: BE: EF: 01: 01" DEFINE NIC_IP = "192.168.1.12 "Ορίστε το local_inetw = < 192.168.0.0/16 >Ορίστε το local_inetwv6 = < fe80::/10 >καθορίστε το DNS_SERVERS = < 1.1.1.1, 8.8.8.8 >καθορίστε το ntp_servers = < time1.google.com, time2.google.com, time3.google.com, time4.google.com >Ορίστε το DHCP_SERVER = "192.168.1.1 "
Τα NFTables χαρτογραφούν αυτόματα τα ονόματα πρωτοκόλλων δικτύου σε αριθμούς θύρας (e.σολ. Https <> 443). Στο παράδειγμά μας, επιτρέπουμε μόνο τις εισερχόμενες συνεδρίες που ξεκινήσαμε (CT State ίδρυσε αποδοχή) από εφήμερους λιμένες (Dport 32768-65535). Να γνωρίζετε ότι μια εφαρμογή ή ο διακομιστής ιστού θα πρέπει να επιτρέπουν τις νέες συνεδρίες (CT STATE NENC).
Πίνακας φίλτρου IP < chain input < type filter hook input priority 0; policy drop; iifname "lo" accept iifname "lo" ip saddr != 127.0.0.0/8 drop iifname $NIC_NAME ip saddr 0.0.0.0/0 ip daddr $NIC_IP tcp sport < ssh, http, https, http-alt >TCP DPORT 32768-65535 CT Κράτος ίδρυσε την αποδοχή του IIFName $ nic_name ip saddr $ ntp_servers ip daddr $ nic_ip udp sport ntp udp dport botdc Udpppppppppppp_ -65535 CT State ίδρυσε log Αποδοχή iifname $ nic_name ip saddr $ dns_servers ip daddr $ nic_ip udp sport dommp type chate echo-reeply state recovise exclain exclain < type filter hook output priority 0; policy drop; oifname "lo" accept oifname "lo" ip daddr != 127.0.0.0/8 drop oifname $NIC_NAME ip daddr 0.0.0.0/0 ip saddr $NIC_IP tcp dport < ssh, http, https, http-alt >TCP Sport 32768-65535 CT Κράτος Νέο, καθιερωμένο Accept Oifname $ NIC_Name IP DADDR $ NTP_SERVERS IP SADDR $ NIC_IP UDP DPORT NTP UDP Sport 32768-655535 CT STATY, 768-655535 CT Κράτος Νέο, καθιερωμένο log Αποδοχή oifname $ nic_name ip daddr $ dns_servers ip saddr $ nic_ip udp dport dommp type type echo echo echo < type filter hook forward priority 0; policy drop; >>
Το επόμενο μπλοκ κώδικα χρησιμοποιείται για την εμπλοκή των εισερχόμενων και της εξερχόμενης κυκλοφορίας IPv6, εκτός από τις αιτήσεις ping (ICMPv6 Type Echo-Request) και την ανακάλυψη δικτύου IPv6 (ND-Router-Advert, ND-γεγκεφού-συντροφιά, ND-Neighbor-Advert). Τα VNICS συχνά παρέχονται αυτόματα με διευθύνσεις IPv6 και παραμένουν ανέγγιχτα. Αυτές οι διεπαφές μπορούν να κακοποιηθούν από κακόβουλες οντότητες για τη σήραγγα εμπιστευτικά δεδομένα ή ακόμα και από ένα κέλυφος.
Πίνακας IP6 φίλτρο < chain input < type filter hook input priority 0; policy drop; iifname "lo" accept iifname "lo" ip6 saddr != ::1/128 drop iifname $NIC_NAME ip6 saddr $LOCAL_INETWv6 icmpv6 type < destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-reply, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert >CT State ίδρυσε την αποδοχή> Αλυσίδα εξόδου < type filter hook output priority 0; policy drop; oifname "lo" accept oifname "lo" ip6 daddr != ::1/128 drop oifname $NIC_NAME ip6 daddr $LOCAL_INETWv6 icmpv6 type echo-request ct state new,established accept >αλυσίδα < type filter hook forward priority 0; policy drop; >>
Το τελευταίο μπλοκ κώδικα χρησιμοποιείται για την κυκλοφορία ARP που περιορίζει τα πλαίσια δικτύου εκπομπής ARP:
Πίνακας φίλτρου ARP < chain input < type filter hook input priority 0; policy accept; iif $NIC_NAME limit rate 1/second burst 2 packets accept >έξοδος αλυσίδας < type filter hook output priority 0; policy accept; >>
$ sudo systemctl Επανεκκίνηση nftables && systemctl status nftables && nft Λίστα λίστας κανόνων
Σκέψεις
Βεβαιωθείτε ότι έχετε δοκιμάσει τις θύρες σας είναι πραγματικά ανοιχτές ή κλειστές. Μπορείτε να χρησιμοποιήσετε το NC, το Telnet ή το TCPDUMP για αυτό.
Τα nftables μπορούν να καταγράψουν ενέργειες στο/var/log/syslog . Θα πρέπει να εκμεταλλευτείτε το rsyslog για να προωθήσετε τα αρχεία καταγραφής στην αγαπημένη σας λύση SIEM για να αποκτήσετε μια καλύτερη ιδέα του δικτύου σας.
Με το σωστό σκελετό, τα Nftables διευκολύνουν τη ζωή για τους μηχανικούς της DevOps να εφαρμόζουν τείχη προστασίας μικροεπισυρισμού. Οι μηχανικοί DevOps μπορούν να παρέχουν κανόνες αρθρωτού τείχους προστασίας σε κεντρικούς υπολογιστές με το Linux χρησιμοποιώντας ένα εργαλείο διαχείρισης διαμόρφωσης όπως το Ansible. Αυτά τα κανόνες κανόνων τείχους προστασίας ωθούνται και φορτώνονται με βάση την βασική λειτουργία του VM ή του δοχείου. Για παράδειγμα, οι διακομιστές βάσης δεδομένων θα πρέπει να μιλάνε μόνο με ένα περιορισμένο υποσύνολο διακομιστών ιστού. Αυτός ο τρόπος παροχής κανόνων τείχους προστασίας σε επίπεδο υποδοχής θα πρέπει να μειώσει την επιφάνεια επίθεσης για πλευρική κίνηση από έναν κακόβουλο ηθοποιό.
Αυτή η ανάρτηση ιστολογίου απλώς άγγιξε τις δυνατότητες πυρήνα τείχους προστασίας των NFTables. Δείτε τη σελίδα Wiki Nftables για περισσότερες τεχνικές τείχους προστασίας. Λάβετε υπόψη ότι μια λύση τείχους προστασίας δεν αντικαθιστά απαραιτήτως άλλο. Εξετάστε επίσης ένα τείχος προστασίας άκρων εάν δεν έχετε τομέα δικτύου μηδενικής εμπιστοσύνης.
Συζήτηση και ερωτήσεις
Πνευματικά δικαιώματα 2019 – 2023 Cryptsus. Ολα τα δικαιώματα διατηρούνται.
Ο κώδικας βρίσκεται κάτω από την άδεια New Berkeley Software Distribution (BSD) επειδή μας ενδιαφέρει η οικοδόμηση ενός πιο ανοιχτού κόσμου.