screwman Δημοσ. 30 Μαρτίου 2010 Share Δημοσ. 30 Μαρτίου 2010 Υο σε όλους... Αυτό είναι το /etc/sysconfig/iptables μου: >:INPUT ACCEPT [43200:22881138] :FORWARD DROP [0:0] :OUTPUT ACCEPT [71131:19089570] -A INPUT -i lo -j ACCEPT -A INPUT -i eth1 -j ACCEPT -A INPUT -i ! eth1 -p udp -m udp --dport 67 -j REJECT --reject-with icmp-port-unreachable -A INPUT -i ! eth1 -p udp -m udp --dport 53 -j REJECT --reject-with icmp-port-unreachable -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A FORWARD -d 192.168.1.0/255.255.255.0 -i eth1 -j DROP -A FORWARD -s 192.168.1.0/255.255.255.0 -i eth1 -j ACCEPT -A FORWARD -d 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT COMMIT και χρησιμοποιώ το κάτωθι για να κάνω forward σε ένα άλλο μηχάνημα που τρέχει VNC server: >iptables -t nat -A PREROUTING -p tcp --dport 5902 -i eth0 -j DNAT --to 192.168.1.10:5901 Δουλεύει όπως πρέπει. Αλλά, τι γίνεται άμα θέλω να κόψω τα connect εκτός από συγκεκριμένες IP? Π.χ., εάν θέλω connect μόνο από τις 172.20.35.0/24 και από όλες τις άλλες να κάνει reject? Δοκίμασα αυτό: >iptables -A INPUT -p tcp --dport 5902 -m iprange --src-range 172.20.35.1-172.20.35.254 -j ACCEPT αλλά δεν δουλεύει... και υποψιάζομαι ότι φταίει κάτι μικρό... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 30 Μαρτίου 2010 Share Δημοσ. 30 Μαρτίου 2010 Βάλε ένα rule ακριβώς κάτω από αυτόν που θα κάνει reject για όλα τα src-range. Το iptables σταματάει στο πρώτο rule που θα κάνει match το πακέτο που κάνει inspect εκείνη την ώρα. Αν δεν δηλώσεις το reject που σου λέω, κανένα rule δεν θα του κάνει match οπότε το πακέτο θα γίνει allow από default. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
imitheos Δημοσ. 30 Μαρτίου 2010 Share Δημοσ. 30 Μαρτίου 2010 Υο σε όλους... Αυτό είναι το /etc/sysconfig/iptables μου: >:INPUT ACCEPT [43200:22881138] :FORWARD DROP [0:0] :OUTPUT ACCEPT [71131:19089570] .... και χρησιμοποιώ το κάτωθι για να κάνω forward σε ένα άλλο μηχάνημα που τρέχει VNC server: >iptables -t nat -A PREROUTING -p tcp --dport 5902 -i eth0 -j DNAT --to 192.168.1.10:5901 Δουλεύει όπως πρέπει. Αλλά, τι γίνεται άμα θέλω να κόψω τα connect εκτός από συγκεκριμένες IP? Π.χ., εάν θέλω connect μόνο από τις 172.20.35.0/24 και από όλες τις άλλες να κάνει reject? Δοκίμασα αυτό: >iptables -A INPUT -p tcp --dport 5902 -m iprange --src-range 172.20.35.1-172.20.35.254 -j ACCEPT αλλά δεν δουλεύει... και υποψιάζομαι ότι φταίει κάτι μικρό... Όπως είπε και ο NullScan μπορείς να βάλεις ένα rule που να κάνει reject όλες τις υπόλοιπες IP. Δηλαδή όπως το έχεις θα γίνει: > iptables -A INPUT -p tcp --dport 5902 -m iprange --src-range 172.20.35.1-172.20.35.254 -j ACCEPT iptables -A INPUT -p tcp --dport 5902 -j REJECT Ακόμη, δεν είναι απαραίτητο να χρησιμοποιείς iprange. Μπορεί να γίνει και πιο απλό: > iptables -A INPUT -p tcp --dport 5902 -s 172.20.35.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 5902 -j REJECT Όπως βλέπουμε η πολιτική που έχεις ορίσει για την INPUT αλυσίδα είναι ACCEPT οπότε οι παραπάνω δύο κανόνες μπορούν να ενωθούν στον εξής ένα: > iptables -A INPUT -p tcp --dport 5902 ! -s 172.20.35.0/24 -j REJECT Ελπίζω να μη σε μπέρδεψα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
screwman Δημοσ. 31 Μαρτίου 2010 Μέλος Share Δημοσ. 31 Μαρτίου 2010 Ρε σεις, θεοί και οι δύο! Αυτό με το ! έψαχνα και εγώ και δεν το έβρισκα... εδώ θα μου πεις βέβαια ότι δεν σκέφτηκα να βάλω κανόνα να τα κάνει reject... Φχαριστώ πολύ και τους δύο. Και μία ίσως βλαμμένη ερώτηση: πρώτα περνάνε έλεγχο οι κανόνες του INPUT και μετά του PREROUTING? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
imitheos Δημοσ. 31 Μαρτίου 2010 Share Δημοσ. 31 Μαρτίου 2010 Ρε σεις, θεοί και οι δύο! Αυτό με το ! έψαχνα και εγώ και δεν το έβρισκα... εδώ θα μου πεις βέβαια ότι δεν σκέφτηκα να βάλω κανόνα να τα κάνει reject... Φχαριστώ πολύ και τους δύο. Και μία ίσως βλαμμένη ερώτηση: πρώτα περνάνε έλεγχο οι κανόνες του INPUT και μετά του PREROUTING? Οι INPUT,OUTPUT,FORWARD είναι αλυσίδες του πίνακα filter. H Prerouting είναι αλυσίδα του nat στην περίπτωσή σου (υπάρχει και στον πίνακα mangle). Όταν λαμβάνεις ένα πακέτο, πρώτα περνάει από την Prerouting του nat, γίνονται πιθανές μετaφράσεις (όπως στη δική σου περίπτωση μεταφράζεται στο 192.168.1.10) και έπειτα ελέγχονται οι κανόνες στην INPUT ή στην FORWARD. Στο tutorial του iptables εξηγεί όλες τις αλυσίδες αναλυτικά. Αν βαριέσαι να το διαβάσεις βρήκα στο images.google.com μια εικόνα που δείχνει την σειρά. http://linuxzoo.net/notes/img/firewall-01.png Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.