Χρησιμοποιώντας το Iptables σε Linux
Αυτός ο οδηγός θα προσπαθήσει να εξηγήσει πώς να χρησιμοποιήσει το iptables στο linux σε κατανοητή γλώσσα.
Περιεχόμενα[κρύβω]
|
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Το Iptables είναι ένα τείχος προστασίας βασισμένο σε κανόνες, το οποίο θα επεξεργάζεται κάθε κανόνα μέχρι να εντοπίσει ένα που ταιριάζει.
Todo: συμπεριλάβετε το παράδειγμα εδώ
Χρήση
Το βοηθητικό πρόγραμμα iptables είναι συνήθως προεγκατεστημένο στη διανομή του linux, αλλά δεν τρέχει κανένας κανένας κανόνας. Θα βρείτε το βοηθητικό πρόγραμμα εδώ στις περισσότερες διανομές:
/ sbin / iptables
Αποκλεισμός μιας ενιαίας διεύθυνσης IP
Μπορείτε να αποκλείσετε μια διεύθυνση IP χρησιμοποιώντας την παράμετρο -s, αντικαθιστώντας την 10.10.10.10 με τη διεύθυνση που προσπαθείτε να αποκλείσετε. Θα σημειώσετε σε αυτό το παράδειγμα ότι χρησιμοποιήσαμε την παράμετρο -I (ή -αποτελεί επίσης εισαγωγή) αντί για την προσθήκη, επειδή θέλουμε να βεβαιωθείτε ότι αυτός ο κανόνας εμφανίζεται πρώτα, πριν από οποιονδήποτε κανόνες επιτρεπόμενων.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Επιτρέποντας όλη την επισκεψιμότητα από μια διεύθυνση IP
Μπορείτε εναλλακτικά να επιτρέψετε την κίνηση από μια διεύθυνση IP χρησιμοποιώντας την ίδια εντολή όπως παραπάνω, αλλά αντικαθιστώντας το DROP με ACCEPT. Πρέπει να βεβαιωθείτε ότι αυτός ο κανόνας εμφανίζεται πρώτα, πριν από τους κανόνες DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Αποκλεισμός θυρίδας από όλες τις διευθύνσεις
Μπορείτε να αποκλείσετε πρόσβαση σε μια θύρα εξ ολοκλήρου μέσω του δικτύου, χρησιμοποιώντας τον διακόπτη -dport και προσθέτοντας τη θύρα της υπηρεσίας που θέλετε να αποκλείσετε. Σε αυτό το παράδειγμα, θα αποκλείσουμε τη θύρα mysql:
/ sbin / iptables -A INPUT -p tcp -dport 3306 -j DROP
Επιτρέποντας μια ενιαία θύρα από μια ενιαία διεύθυνση IP
Μπορείτε να προσθέσετε την εντολή -s μαζί με την εντολή -dport για να περιορίσετε περαιτέρω τον κανόνα σε μια συγκεκριμένη θύρα:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 - έκδοση 3306 -j ACCEPT
Προβολή των ισχυόντων κανόνων
Μπορείτε να δείτε τους τρέχοντες κανόνες χρησιμοποιώντας την ακόλουθη εντολή:
/ sbin / iptables -L
Αυτό θα σας δώσει μια έξοδο παρόμοια με την ακόλουθη:
Αλυσίδα INPUT (πολιτική ACCEPT) στόχος προορισμός προεπιλεγμένης πηγής ACCEPT all - 192.168.1.1/24 οπουδήποτε ACCEPT all - 10.10.10.0/24 οπουδήποτε DROP tcp - οπουδήποτε οπουδήποτε tcp dpt: ssh DROP tcp - οπουδήποτε οπουδήποτε tcp dpt: mysql
Η πραγματική παραγωγή θα είναι λίγο μακρύτερη, φυσικά.
Διαγραφή των ισχυόντων κανόνων
Μπορείτε να εκκαθαρίσετε όλους τους ισχύοντες κανόνες χρησιμοποιώντας την παράμετρο εκκαθάρισης. Αυτό είναι πολύ χρήσιμο εάν πρέπει να βάλετε τους κανόνες στη σωστή σειρά ή όταν δοκιμάζετε.
/ sbin / iptables -flush
Ειδικά για τη διανομή
Ενώ οι περισσότερες διανομές Linux περιλαμβάνουν μια μορφή iptables, μερικές από αυτές περιλαμβάνουν επίσης περιτυλίγματα που κάνουν τη διαχείριση λίγο πιο εύκολη. Τα πιο συχνά αυτά τα "addons" παίρνουν τη μορφή init scripts που φροντίζουν για την προετοιμασία του iptables κατά την εκκίνηση, αν και ορισμένες διανομές περιλαμβάνουν επίσης εφαρμογές full wrap-wrap που προσπαθούν να απλοποιήσουν την κοινή υπόθεση.
Gentoo
ο iptables Το σενάριο init στο Gentoo είναι ικανό να χειρίζεται πολλά κοινά σενάρια. Για αρχάριους, σας επιτρέπει να ρυθμίσετε το iptables για φόρτωση κατά την εκκίνηση (συνήθως ό, τι θέλετε):
rc-ενημέρωση προσθέστε iptables προεπιλογή
Χρησιμοποιώντας το σενάριο init, είναι δυνατή η φόρτωση και εκκαθάριση του τείχους προστασίας με μια εντολή εύκολης ανάληψης:
/etc/init.d/iptables έναρξη /etc/init.d/iptables διακοπή
Το σενάριο init χειρίζεται τις λεπτομέρειες της συνέχισης της τρέχουσας ρύθμισης τείχους προστασίας σας στην αρχή / στάση. Έτσι, το τείχος προστασίας είναι πάντα στην κατάσταση που τον αφήσατε. Αν χρειαστεί να αποθηκεύσετε χειροκίνητα έναν νέο κανόνα, το σενάριο init μπορεί να χειριστεί και αυτό:
/etc/init.d/iptables αποθήκευση
Επιπλέον, μπορείτε να επαναφέρετε το τείχος προστασίας στην προηγούμενη αποθηκευμένη κατάσταση (για την περίπτωση που δοκιμάζετε κανόνες και τώρα θέλετε να επαναφέρετε την προηγούμενη διαμόρφωση εργασίας):
/etc/init.d/iptables reload
Τέλος, το σενάριο init μπορεί να θέσει το iptables σε λειτουργία "πανικού", όπου όλες οι εισερχόμενες και εξερχόμενες κυκλοφορίες μπλοκάρονται. Δεν είμαι σίγουρος γιατί αυτή η λειτουργία είναι χρήσιμη, αλλά όλα τα τείχη προστασίας του Linux φαίνεται να έχουν.
/etc/init.d/iptables panic
Προειδοποίηση: Μην ξεκινήσετε τη λειτουργία πανικού εάν είστε συνδεδεμένοι στο διακομιστή σας μέσω SSH. εσύ θα να αποσυνδεθείτε! Η μόνη φορά που πρέπει να βάλετε το iptables σε κατάσταση πανικού είναι όσο βρίσκεστε φυσικώς μπροστά από τον υπολογιστή.