capthookb Δημοσ. 7 Μαΐου 2009 Share Δημοσ. 7 Μαΐου 2009 Έχει ασχοληθεί κανείς με kamikaze; Προσπαθώ να κάνω DROP μια IP που προσπαθεί να συνδεθεί σε κάποιο server μου αλλά μάταια. Με iptables -L βλέπω τα εξής: > Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere syn_flood tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN input_rule all -- anywhere anywhere input all -- anywhere anywhere Chain FORWARD (policy DROP) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED forwarding_rule all -- anywhere anywhere forward all -- anywhere anywhere reject all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere output_rule all -- anywhere anywhere output all -- anywhere anywhere Chain forward (1 references) target prot opt source destination zone_lan_forward all -- anywhere anywhere zone_wan_forward all -- anywhere anywhere Chain forwarding_lan (1 references) target prot opt source destination Chain forwarding_rule (1 references) target prot opt source destination Chain forwarding_wan (1 references) target prot opt source destination Chain input (1 references) target prot opt source destination zone_lan all -- anywhere anywhere zone_wan all -- anywhere anywhere Chain input_lan (1 references) target prot opt source destination Chain input_rule (1 references) target prot opt source destination Chain input_wan (1 references) target prot opt source destination Chain output (1 references) target prot opt source destination zone_lan_ACCEPT all -- anywhere anywhere zone_wan_ACCEPT all -- anywhere anywhere Chain output_rule (1 references) target prot opt source destination Chain reject (5 references) target prot opt source destination REJECT tcp -- anywhere anywhere reject-with tcp-reset REJECT all -- anywhere anywhere reject-with icmp-port-unreachable Chain syn_flood (1 references) target prot opt source destination RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 DROP all -- anywhere anywhere Chain zone_lan (1 references) target prot opt source destination input_lan all -- anywhere anywhere zone_lan_ACCEPT all -- anywhere anywhere Chain zone_lan_ACCEPT (3 references) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere Chain zone_lan_DROP (0 references) target prot opt source destination DROP all -- anywhere anywhere DROP all -- anywhere anywhere Chain zone_lan_MSSFIX (0 references) target prot opt source destination TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU Chain zone_lan_REJECT (1 references) target prot opt source destination reject all -- anywhere anywhere reject all -- anywhere anywhere Chain zone_lan_forward (1 references) target prot opt source destination zone_lan_ACCEPT all -- anywhere anywhere zone_wan_ACCEPT all -- anywhere anywhere forwarding_lan all -- anywhere anywhere zone_lan_REJECT all -- anywhere anywhere Chain zone_wan (1 references) target prot opt source destination DROP udp -- 11-11-111-111.name.domain.com anywhere DROP tcp -- 11-11-111-111.name.domain.com anywhere input_wan all -- anywhere anywhere zone_wan_REJECT all -- anywhere anywhere Chain zone_wan_ACCEPT (2 references) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere Chain zone_wan_DROP (0 references) target prot opt source destination DROP all -- anywhere anywhere DROP all -- anywhere anywhere Chain zone_wan_MSSFIX (0 references) target prot opt source destination TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU Chain zone_wan_REJECT (2 references) target prot opt source destination reject all -- anywhere anywhere reject all -- anywhere anywhere Chain zone_wan_forward (1 references) target prot opt source destination forwarding_wan all -- anywhere anywhere zone_wan_REJECT all -- anywhere anywhere Η IP που θέλω να μπλοκάρω είναι η 11.11.111.111 και φαίνεται να υπάρχει κάποιος κανόνας που κάνει τις αιτήσεις για σύνδεση DROP. Όμως στο log του server που υπάρχει πίσω από το NAT βλέπω την ip να προσπαθεί να συνδεθεί. Μήπως μπορεί κανείς να βοηθήσει; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 7 Μαΐου 2009 Share Δημοσ. 7 Μαΐου 2009 Η IP που θέλω να μπλοκάρω είναι η 11.11.111.111 και φαίνεται να υπάρχει κάποιος κανόνας που κάνει τις αιτήσεις για σύνδεση DROP. >DROP udp -- [b]11-11-111-111.name.domain.com[/b] anywhere DROP tcp -- [b]11-11-111-111.name.domain.com[/b] anywhere Είναι καλύτερα να μην δηλώνεις hostnames στους κανόνες αλλά διευθύνσεις, όπου μπορείς να το αποφύγεις. Κανονικά για το reverse DNS record κάθε διεύθυνσης πρέπει να υπάρχει και ένα A record, ώστε να κάνει resolve σε αυτήν την διεύθυνση. Αν πράγματι υπάρχει, θα παίξει κανονικά, απλά θα έχει κάποια καθυστέρηση για το resolution -οπότε και πάλι θα ήταν καλό να το αποφύγεις. Όμως κάποιοι ISPs αμελούν να φτιάξουν Α record, οπότε το reverse DNS record της διεύθυνσης δεν κάνει resolve στην διεύθυνση, δηλαδή δεν είναι ένα υπαρκτό hostname. Σε αυτή την περίπτωση οι κανόνες θα αποτυγχάνουν. Η iptables -L σκέτη δεν τυπώνει αρκετές πληροφορίες (αν δώσεις και -v θα τυπώσει περισσότερες), αλλά από αυτά που τυπώνει φαίνεται ότι τα πακέτα που σε ενδιαφέρει να πιάσεις δεν φθάνουν ποτέ στην αλυσίδα στην οποία έχεις περάσει τους κανόνες για να γίνονται DROP, αφού στην αλυσίδα "zone_wan" στέλνονται πακέτα μόνο από την αλυσίδα "input", στην οποία αλυσίδα "input" στέλνονται πακέτα μόνο από την βασική αλυσίδα "INPUT", από την οποία περνάνε μόνο τα πακέτα που κατά τον έλεγχο του routing βρίσκεται ότι έχουν προορισμό το ίδιο το μηχάνημα. Αφού κάνεις DNAT προς ένα άλλο μηχάνημα, η διεύθυνση προορισμού των πακέτων έχει αλλάξει πριν το routing decision ("PREROUTING") σε μια μη τοπική διεύθυνση, οπότε κατά το routing decision ταξινομούνται αυτόματα στην βασική αλυσίδα "FORWARD" και όχι στην "INPUT". Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
subdee Δημοσ. 7 Μαΐου 2009 Share Δημοσ. 7 Μαΐου 2009 Γιατί δε χρησιμοποιείς το hosts.deny? Απλά πρόσθεσε το ALL:<ip διεύθυνση> στο αρχειάκι. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
apoikos Δημοσ. 7 Μαΐου 2009 Share Δημοσ. 7 Μαΐου 2009 subdee: Το hosts.deny δεν είναι και πολύ αποδοτικό, για 2 βασικούς λόγους: Πρέπει το πρόγραμμα να έχει γίνει compile με υποστήριξη για tcpwrappers. Το tcpwrappers απλά κλείνει τη σύνδεση, αφού αυτή έχει ανοίξει και αποδοθεί στο πρόγραμμα. Με άλλα λόγια, έχεις ήδη δεσμεύσει resources και έχεις ήδη περάσει όλο το TCP/IP stack του πυρήνα. Αντίθετα, με το firewall δρας ένα επίπεδο κάτω, και δε φτάνει ποτέ το αντίστοιχο request στο δαίμονα που θες να προστατεύσεις. Συμπέρασμα: tcp wrappers έχει νόημα να χρησιμοποιείς μόνο σε συστήματα που δεν έχουν firewall. @firewalker: Όπως είπε και o nske, κάνε paste την έξοδο της iptables -L -v, διότι δε φαίνεται η λογική λήψης αποφάσεων στο σκέτο iptables -L. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 8 Μαΐου 2009 Share Δημοσ. 8 Μαΐου 2009 @firewalker: Όπως είπε και o nske, κάνε paste την έξοδο της iptables -L -v, διότι δε φαίνεται η λογική λήψης αποφάσεων στο σκέτο iptables -L. Μπήκε η άνοιξη και ο αγαπημένος μας moderator είναι ερωτευμένος (μπερδεύει ονόματα κ.τ.λ.). Ελπίζω όχι μαζί μου :-) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
subdee Δημοσ. 8 Μαΐου 2009 Share Δημοσ. 8 Μαΐου 2009 Ευχαριστώ apoikos, αυτό δεν το ήξερα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 9 Μαΐου 2009 Μέλος Share Δημοσ. 9 Μαΐου 2009 nske, hostname δεν έχω δηλώσει στο firewall. Απλά εμφανίζεται με την iptables -L. Να και η iptables -L -v: > Chain INPUT (policy ACCEPT 1 packets, 52 bytes) pkts bytes target prot opt in out source destination 6873 406K DROP all -- any any anywhere anywhere state INVALID 60533 6744K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 139 9128 ACCEPT all -- lo any anywhere anywhere 2215 121K syn_flood tcp -- any any anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN 4500 303K input_rule all -- any any anywhere anywhere 4500 303K input all -- any any anywhere anywhere Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1425 94524 DROP all -- any any anywhere anywhere state INVALID 6854K 954M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 97352 5879K forwarding_rule all -- any any anywhere anywhere 97352 5879K forward all -- any any anywhere anywhere 1 60 reject all -- any any anywhere anywhere Chain OUTPUT (policy ACCEPT 4 packets, 288 bytes) pkts bytes target prot opt in out source destination 11 916 DROP all -- any any anywhere anywhere state INVALID 42754 6109K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 139 9128 ACCEPT all -- any lo anywhere anywhere 21976 1430K output_rule all -- any any anywhere anywhere 21976 1430K output all -- any any anywhere anywhere Chain forward (1 references) pkts bytes target prot opt in out source destination 83739 5062K zone_lan_forward all -- br-lan any anywhere anywhere 6918 415K zone_wan_forward all -- ppp0 any anywhere anywhere Chain forwarding_lan (1 references) pkts bytes target prot opt in out source destination Chain forwarding_rule (1 references) pkts bytes target prot opt in out source destination Chain forwarding_wan (1 references) pkts bytes target prot opt in out source destination Chain input (1 references) pkts bytes target prot opt in out source destination 3152 219K zone_lan all -- br-lan any anywhere anywhere 773 42474 zone_wan all -- ppp0 any anywhere anywhere Chain input_lan (1 references) pkts bytes target prot opt in out source destination Chain input_rule (1 references) pkts bytes target prot opt in out source destination Chain input_wan (1 references) pkts bytes target prot opt in out source destination Chain output (1 references) pkts bytes target prot opt in out source destination 21976 1430K zone_lan_ACCEPT all -- any any anywhere anywhere 21976 1430K zone_wan_ACCEPT all -- any any anywhere anywhere Chain output_rule (1 references) pkts bytes target prot opt in out source destination Chain reject (5 references) pkts bytes target prot opt in out source destination 1298 75693 REJECT tcp -- any any anywhere anywhere reject-with tcp-reset 50 7534 REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable Chain syn_flood (1 references) pkts bytes target prot opt in out source destination 1257 65712 RETURN tcp -- any any anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 958 54872 DROP all -- any any anywhere anywhere Chain zone_lan (1 references) pkts bytes target prot opt in out source destination 3152 219K input_lan all -- any any anywhere anywhere 3152 219K zone_lan_ACCEPT all -- any any anywhere anywhere Chain zone_lan_ACCEPT (3 references) pkts bytes target prot opt in out source destination 86891 5282K ACCEPT all -- br-lan any anywhere anywhere 0 0 ACCEPT all -- any br-lan anywhere anywhere Chain zone_lan_DROP (0 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- br-lan any anywhere anywhere 0 0 DROP all -- any br-lan anywhere anywhere Chain zone_lan_MSSFIX (0 references) pkts bytes target prot opt in out source destination 0 0 TCPMSS tcp -- any br-lan anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU Chain zone_lan_REJECT (1 references) pkts bytes target prot opt in out source destination 0 0 reject all -- br-lan any anywhere anywhere 0 0 reject all -- any br-lan anywhere anywhere Chain zone_lan_forward (1 references) pkts bytes target prot opt in out source destination 83739 5062K zone_lan_ACCEPT all -- any any anywhere anywhere 0 0 zone_wan_ACCEPT all -- any any anywhere anywhere 0 0 forwarding_lan all -- any any anywhere anywhere 0 0 zone_lan_REJECT all -- any any anywhere anywhere Chain zone_wan (1 references) pkts bytes target prot opt in out source destination 0 0 DROP udp -- any any 11-11-111-111.name.domain.com anywhere 0 0 DROP tcp -- any any 11-11-111-111.name.domain.com anywhere 1347 83167 input_wan all -- any any anywhere anywhere 1347 83167 zone_wan_REJECT all -- any any anywhere anywhere Chain zone_wan_ACCEPT (2 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- ppp0 any anywhere anywhere 11308 736K ACCEPT all -- any ppp0 anywhere anywhere Chain zone_wan_DROP (0 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- ppp0 any anywhere anywhere 0 0 DROP all -- any ppp0 anywhere anywhere Chain zone_wan_MSSFIX (0 references) pkts bytes target prot opt in out source destination 0 0 TCPMSS tcp -- any ppp0 anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU Chain zone_wan_REJECT (2 references) pkts bytes target prot opt in out source destination 773 42474 reject all -- ppp0 any anywhere anywhere 0 0 reject all -- any ppp0 anywhere anywhere Chain zone_wan_forward (1 references) pkts bytes target prot opt in out source destination 0 0 forwarding_wan all -- any any anywhere anywhere 0 0 zone_wan_REJECT all -- any any anywhere anywhere Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 9 Μαΐου 2009 Share Δημοσ. 9 Μαΐου 2009 hostname δεν έχω δηλώσει στο firewall. Απλά εμφανίζεται με την iptables -L. Α ok, δεν το είχα σκεφτεί. Για το πρόβλημα, όπως είπα, τα πακέτα που σε ενδιαφέρει να πιάσεις δεν φθάνουν ποτέ στην αλυσίδα στην οποία έχεις περάσει τους κανόνες για να γίνονται DROP, αφού στην αλυσίδα "zone_wan" στέλνονται πακέτα μόνο από την αλυσίδα "input", στην οποία αλυσίδα "input" στέλνονται πακέτα μόνο από την βασική αλυσίδα "INPUT", από την οποία περνάνε μόνο τα πακέτα που κατά τον έλεγχο του routing βρίσκεται ότι έχουν προορισμό το ίδιο το μηχάνημα. Αφού κάνεις DNAT προς ένα άλλο μηχάνημα, η διεύθυνση προορισμού των πακέτων έχει αλλάξει πριν το routing decision ("PREROUTING") σε μια μη τοπική διεύθυνση, οπότε κατά το routing decision ταξινομούνται αυτόματα στην βασική αλυσίδα "FORWARD" και όχι στην "INPUT". Οπότε φρόντισε οι συγκεκριμένοι κανόνες να βρίσκονται στην αλυσίδα FORWARD, γιατί τώρα βρίσκονται στην INPUT. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 9 Μαΐου 2009 Μέλος Share Δημοσ. 9 Μαΐου 2009 Κατάλαβα τι εννοείς και δοκίμασα να προσθέσω τον κανόνα στην FORWARD, αλλά πάλι περνάνε τα πακέτα: > iptables -Α FORWARD -S 11.111.111.111 -j DROP Τελικά αν δεν ασχολείσαι με πρακτικά προβλήματα δεν μαθαίνεις ποτέ κάτι. Είχα ξεχάσει εντελώς (μεταξύ άλλων) πως παίζει ρόλο η σειρά με την οποία εφαρμόζονται οι κανόνες. Έτσι λοιπόν με το append (-A) δε δουλεύει: > iptables -L FORWARD Chain FORWARD (policy DROP) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED forwarding_rule all -- anywhere anywhere forward all -- anywhere anywhere reject all -- anywhere anywhere DROP all -- 111.111.111.user.domain.com anywhere ενώ με το Insert (iptables -I) ο κανόνας μπαίνει πρώτος στη λίστα και κάνει αυτό που θέλω, πριν φύγει το πακέτο που θέλω να μπλοκάρω από κάποιο άλλο κανόνα: > iptables -L FORWARD Chain FORWARD (policy DROP) target prot opt source destination DROP all -- 111.111.111.user.domain.com anywhere DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED forwarding_rule all -- anywhere anywhere forward all -- anywhere anywhere reject all -- anywhere anywhere Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 9 Μαΐου 2009 Share Δημοσ. 9 Μαΐου 2009 Ναι, >Chain FORWARD (policy DROP 0 packets, 0 bytes) [b]target prot opt in out source destination [/b] forward all -- any any anywhere anywhere Οποιοσδήποτε κανόνας βρίσκεται μετά από αυτόν, αναγκαστικά δεν έχει τη δυνατότητα να κάνει match πακέτα που προέρχονται ή προορίζονται για τα br-lan και ppp0 interfaces, αφού τα πακέτα θα τερματίσουν με ACCEPT στην αλυσίδα zone_lan_ACCEPT (FORWARD > forward > zone_lan_forward > zone_lan_ACCEPT). Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.