Ξεκινήστε με Iptables: Κρατήστε τους κακούς ανθρώπους (και τα bot) εκτός του διακομιστή σας

Αποκάλυψη: Η υποστήριξή σας βοηθά στη διατήρηση της λειτουργίας του ιστότοπου! Κερδίζουμε ένα τέλος παραπομπής για ορισμένες από τις υπηρεσίες που προτείνουμε σε αυτήν τη σελίδα.


Το Iptables είναι ένα πρόγραμμα εφαρμογής χώρου χρήστη Linux που χρησιμοποιείται για τη διαμόρφωση πινάκων IPv4 που χρησιμοποιούνται από το τείχος προστασίας του πυρήνα Linux. Το Iptables περιλαμβάνεται στις περισσότερες διανομές Linux που εκτελούνται στον πυρήνα 2.4.x ή μεταγενέστερη.

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

Σύντομη Ιστορία

Η ανάπτυξη του έργου iptables ξεκίνησε το 1998, με επικεφαλής τον Rusty Russell, έναν Αυστραλό προγραμματιστή λογισμικού. Το Iptables δημιουργήθηκε ως διάδοχος του ipchains, ένα παλαιότερο βοηθητικό πρόγραμμα τείχους προστασίας Linux που δημιουργήθηκε επίσης από τον Russell.

Καθώς το έργο επεκτάθηκε, ο Rusty Russell ίδρυσε την Netfilter Core Team το 1999. Παρήγαγε το Netfilter Linux framework και iptables, και τα κυκλοφόρησε υπό την GNU General Public License. Τον Μάρτιο του 2000, το Netfilter και τα iptables συγχωνεύτηκαν στην κύρια γραμμή του πυρήνα Linux.

Χαρακτηριστικά και Σχεδιασμός Iptables

Διαφορετικές μονάδες πυρήνα χρησιμοποιούνται για διαφορετικά πρωτόκολλα – iptables ισχύει για IPv4, ip6tables σε IPv6, arptables σε ARP και ebtables σε Ethernet frames.

Το Iptables χρησιμοποιείται για τη ρύθμιση, τη συντήρηση και τον έλεγχο των πινάκων κανόνων φίλτρου πακέτων IPv4 στον πυρήνα Linux.

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

Εάν ένα πακέτο ταιριάζει με τον κανόνα, η τύχη του καθορίζεται από την τιμή του στόχου: Το ACCEPT αφήνει το πακέτο, το DROP ρίχνει το πακέτο, το QUEUE περνά το πακέτο στο χώρο χρήστη, το RETURN συνεχίζει τον επόμενο κανόνα στην προηγούμενη αλυσίδα κλήσεων.

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

  • Φίλτρο είναι ο προεπιλεγμένος πίνακας, που περιέχει τις ενσωματωμένες αλυσίδες INPUT, FORWARD και OUTPUT.
  • Νατ χρησιμοποιείται όταν αντιμετωπίζεται ένα πακέτο που δημιουργεί μια νέα σύνδεση, που περιέχει τις ενσωματωμένες αλυσίδες PREROUTING, OUTPUT και POSTROUTING.
  • Μάγγανο – χρησιμοποιείται για εξειδικευμένη αλλαγή πακέτων, που περιέχει τις ενσωματωμένες αλυσίδες PREROUTING, INPUT, OUTPUT, FORWARD και POSTROUTING.
  • Ακατέργαστος χρησιμοποιείται για τη διαμόρφωση εξαιρέσεων από την παρακολούθηση σύνδεσης σε συνδυασμό με τον στόχο NOTRACK, παρέχοντας ενσωματωμένες αλυσίδες PREROUTING και OUTPUT.
  • Ασφάλεια χρησιμοποιείται για κανόνες δικτύου υποχρεωτικού ελέγχου πρόσβασης (MAC), με ενσωματωμένες αλυσίδες INPUT, OUTPUT και FORWARD.

Οι επιλογές που αναγνωρίζονται από τα iptables χωρίζονται σε εντολές, παραμέτρους και άλλες επιλογές.

Χρησιμοποιώντας Iptables

Το Iptables είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών προεγκατεστημένο στις περισσότερες διανομές Linux. Σε περίπτωση που πρέπει να ενημερώσετε ή να εγκαταστήσετε iptables, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:

sudo apt-get εγκατάσταση iptables

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

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

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

iptables –L

Στις περισσότερες περιπτώσεις, θα θέλετε το σύστημά σας να δέχεται συνδέσεις από προεπιλογή, χρησιμοποιώντας αυτές τις εντολές:

iptables – πολιτική ΕΙΣΟΔΟΣ ΑΠΟΔΟΧΗΣ
iptables – πολιτική ΕΞΟΔΟΣ ΑΠΟΔΟΧΗΣ
iptables – πολιτική ΠΡΟΣΟΨΗ

Μετά από αυτό, μπορείτε να χρησιμοποιήσετε iptables για να αρνηθείτε συνδέσεις από συγκεκριμένες διευθύνσεις IP ή θύρες, όπως:

iptables -A INPUT -s 192.168.10.10 -j DROP

Ή μπορείτε να αποκλείσετε συνδέσεις από μια σειρά διευθύνσεων IP όπως αυτό:

iptables -A INPUT -s 192.168.10.0/24 -j DROP

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

iptables – πολιτική INPUT DROP
iptables – πολιτική ΠΑΡΑΓΩΓΗ ΕΞΟΔΟΥ
iptables – πολιτική ΠΡΟΣΑΡΜΟΓΗ
iptables -A INPUT -s 192.168.10.10 -j ΑΠΟΔΟΧΗ

Είναι σημαντικό να σημειωθεί ότι όλες οι αλλαγές που έγιναν στους κανόνες iptables δεν θα αποθηκευτούν αυτόματα. Πρέπει να αποθηκεύσετε τις αλλαγές χειροκίνητα χρησιμοποιώντας μια εντολή που μπορεί να διαφέρει ανάλογα με τη διανομή σας. Αυτή είναι η εντολή του Ubuntu:

sudo / sbin / iptables-αποθήκευση

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

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή flush για να διαγράψετε όλους τους διαμορφωμένους κανόνες:

iptables -F

Πόροι Iptables

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

  • Το επίσημο εγχειρίδιο του Iptables είναι αναλυτικό και παρέχει μια χρήσιμη αναφορά για εντολές και παραμέτρους iptables.
  • Linux 2.4 Packet Filtering Το HOWTO Documentation είναι μια πολύ λεπτομερής περιγραφή του πακέτου φιλτραρίσματος που γράφτηκε από τον Rusty Russell. Ιδιαίτερο ενδιαφέρον παρουσιάζει η ενότητα Χρήση Iptables.
  • Iptables How To είναι μια ωραία αναδρομή των iptables.

Βιβλία Iptables

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

Με πολλούς ποιοτικούς διαδικτυακούς πόρους, δεν είναι περίεργο ότι δεν υπάρχουν περισσότερα βιβλία που ασχολούνται με το iptables. Ως εκ τούτου, ξεχωρίσαμε ένα μόνο βιβλίο για τα iptables:

  • Linux Iptables Pocket Reference από τον Gregor Purdy: Αυτή η αναφορά τσέπης θα σας βοηθήσει σε εκείνες τις κρίσιμες στιγμές όταν κάποιος σας ζητά να ανοίξετε ή να κλείσετε μια θύρα βιαστικά, είτε για να ενεργοποιήσετε κάποια σημαντική κίνηση είτε για να αποκλείσετε μια επίθεση. Το βιβλίο θα διατηρήσει τη λεπτή σύνταξη ευθεία και θα σας βοηθήσει να θυμηθείτε όλες τις τιμές που πρέπει να εισαγάγετε για να είστε όσο το δυνατόν πιο ασφαλείς.

συμπέρασμα

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

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

Το Iptables είναι ένα ισχυρό, αλλά εύκολο στη χρήση βοηθητικό πρόγραμμα. Κάθε επίδοξος γκουρού Linux πρέπει να το καταφέρει.

Περαιτέρω ανάγνωση και πόροι

Έχουμε περισσότερους οδηγούς, σεμινάρια και γραφήματα που σχετίζονται με τη χρήση υπολογιστή:

  • Εισαγωγή και πόροι προγραμματισμού Linux: αυτή η βαθιά βουτιά στον προγραμματισμό Linux μπαίνει στον πυρήνα όπου είναι όλη η δράση.
  • Προγραμματισμός δικτύου με πρίζες Διαδικτύου: μάθετε τα πάντα για τη δικτύωση στο Διαδίκτυο.

Πόροι προγραμματισμού Unix

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

Η απόλυτη λίστα των Εργαλείων για Webmasters A-Z
Πόροι προγραμματισμού Unix

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map