The_Mentor Δημοσ. 12 Ιουνίου 2006 Δημοσ. 12 Ιουνίου 2006 Όταν σετάρουμε τα iptables αναφερόμαστε σε μία eth κάρτα. Σε περίπτωση όμως που στην ίδια κάρτα έχουμε εσωτερική και εξωτερική ΙΡ τί γίνεται; Το πρόβλημα μου εντοπίζεται πως όταν προσπαθώ να σετάρω routing σε --dport80 -j ACCEPT τότε ανοίγει το port 139 και ο file server μένει ανοικτός προς τα έξω.
nske Δημοσ. 13 Ιουνίου 2006 Δημοσ. 13 Ιουνίου 2006 Κανονικά κάθε interface έχει μόνο μία διεύθυνση, τι ακριβώς εννοείς; Αν θέλεις κάνε μία quote το output της ifconfig. Επίσης, στα iptables δεν είναι απαραίτητο να αναφερθείς σε κάποιο συγκεκριμένο interface. Αν δεν ορίσεις διαφορετικά, προσθέτοντας κανόνες στην αλυσίδα FORWARD (π.χ. απορρίπτοντας τα πακέτα που δεν έχουν επιθυμητό source address), εφαρμόζονται σε οποιοδήποτε πακέτο εισέρχεται σε κάποιο interface και πρόκειται να δρομολογηθεί από κάποιο άλλο, άσχετα ποιά είναι αυτά τα interfaces.
apoikos Δημοσ. 13 Ιουνίου 2006 Δημοσ. 13 Ιουνίου 2006 Δεν υπάρχει περίπτωση κάνοντας ACCEPT την port 80 να ανοίγει και η 139. Κάτι άλλο κάνεις στραβά ;-) Για δώσε μια την έξοδο της iptables -L -v επιπλέον από αυτά που είπε ο nske.
The_Mentor Δημοσ. 13 Ιουνίου 2006 Μέλος Δημοσ. 13 Ιουνίου 2006 Στην eth0 είναι η εσωτερική ΙΡ με την οποία το εσωτερικό δίκτυο βλέπει τον file server και σώζει αρχεία. Επίσης χρησιμοποιούν το linux και σαν router ώστε να βλέπουν internet (και γιαυτό έχει και μια εξωτερική IP). Δηλαδή: eth0 62.Χ.Χ.246 με default 62.X.X.243 (που είναι ο ρούτερ) eth0:1 10.Χ.Χ.11 με default 62.Χ.Χ.246 (την εξωτερική του). Στο εσωτερικό δίκτυο όλοι έχουν σαν default το 10.Χ.Χ.11 άρα όποιος "κτυπάει" εκεί να δρομολογείται μέσω της 246 προς το 243 που είναι το internet. Για την λειτουργία του File server κάνω χρήση samba (port 139). Θέλω οι εσωτερικοί χρήστες να βλέπουν τον File Server κανονικά αλλά και να έχουν internet - mail - FTP - SSH. Δεν μπορώ να σετάρω τα iptables δίοτι όταν κάνω accept όλη την κίνηση στην eth0 και ελέγξω τα ports η 139 βγαίνει Wide Open (λογικά αφού τα ανοίγω όλα). Επίσης όταν πάω να του δώσω eth0:1 μου λέει πως δεν παίρνει alias. Με ποιό τρόπο όμως κινώ συγκεκριμένα πακέτα χωρίς να κόβω την εσωτερική κίνηση στο File Server αλλά και χωρίς να φαίνεται η πόρτα 139 ανοικτή στα portscan που γίνονται από έξω? Thanks εκ τον προτέρων.
apoikos Δημοσ. 13 Ιουνίου 2006 Δημοσ. 13 Ιουνίου 2006 Γενικά το σωστό από άποψη ασφαλείας είναι να κάνεις DROP by default την κίνηση (ή REJECT) και να κάνεις ACCEPT μόνο αυτά που θέλεις. Στα πλαίσια αυτά, το παρακάτω framework πρέπει να σου δουλέψει: > iptables -F INPUT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -d 10.Χ.Χ.11 -j ACCEPT iptables -A INPUT -i eth0 -s 10.x.x.0/24 -j ACCEPT Στο σημείο αυτό έχεις κάνει accept ότι είναι ήδη established, ότι έρχεται από το loopback interface, και ό,τι έρχεται από το εσωτερικό δίκτυο και «χτυπάει» στην 10.x.x.11. Επίσης, αποδέχεται ότι έρχεται από το εσωτερικό σου subnet, αλλά χτυπάει στην internetική IP. Σου υπενθυμίζω ότι τα iptables δουλεύουν με λογική σειράς, και ότι το ACCEPT είναι τερματικός προορισμός. Τα πακέτα δηλαδή που κάνουν match στην διεύθυνση προορισμού 10.χ.χ.11 σταματάνε εκεί, το ίδιο και αυτά που «χτυπάνε» την internetική IP από το εσωτερικό δίκτυο, με αποτέλεσμα τα υπόλοιπα που συνεχίζουν να είναι αυτά που έρχονται από τον έξω κόσμο. Στη συνέχεια απλά προσθέτεις τις υπηρεσίες που θες να φαίνονται απ' έξω: > iptables -A INPUT -p tcp --dport 80 -j ACCEPT .... Και τερματίζεις με μια default policy DROP: > iptables -P INPUT DROP Προτού κάνεις τα παραπάνω, βεβαιώσου ότι ταιριάζουν στις ανάγκες σου. Λείπουν αρκετά πράγματα για να γίνει ολοκληρωμένο το ruleset (π.χ. κόβει τα ICMP πακέτα, πράγμα που προσωπικά δε θεωρώ καλό). Για οποιαδήποτε άλλη απορία, εδώ είμαστε Btw, δε χρειάζεται default gateway στο eth0:1 ;-)
The_Mentor Δημοσ. 13 Ιουνίου 2006 Μέλος Δημοσ. 13 Ιουνίου 2006 Apoiko σε ευχαριστώ. Θα τα δοκιμάσω και αν μπλέξω πουθενά θα επανέλθω. Προφανώς μετά το τελευταίο θα πρέπει να κάνω και το MASQUERATING έ?
apoikos Δημοσ. 13 Ιουνίου 2006 Δημοσ. 13 Ιουνίου 2006 Apoiko σε ευχαριστώ. Θα τα δοκιμάσω και αν μπλέξω πουθενά θα επανέλθω. Προφανώς μετά το τελευταίο θα πρέπει να κάνω και το MASQUERATING έ? Το masquerading είναι τελείως διαφορετική λειτουργία από το filtering. Αν παίζει τώρα, θα παίζει και μετά ;-) Αν δεν παίζει, δίνεις απλά: > echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -d ! 10.x.x.0/24 -j SNAT --to-source 62.x.x.246. Είναι καλύτερο να χρησιμοποιείς SNAT απ' ότι MASQUERADE στην περίπτωσή σου (στατική IP), αφού έτσι γλιτώνεις ένα μικρό υπολογιστικό overhead.
The_Mentor Δημοσ. 13 Ιουνίου 2006 Μέλος Δημοσ. 13 Ιουνίου 2006 OK, Eυχαριστώ. Θα δοκιμάσω και αν κολήσω πουθενά θα επανέλθω.
nske Δημοσ. 13 Ιουνίου 2006 Δημοσ. 13 Ιουνίου 2006 Λίγο άσχετο, απλά απο περιέργεια, αν κατάλαβα καλά έχεις μία κάρτα δικτύου στο μηχάνημα, καρφωμένη σε ένα switch όπου βρίσκονται hosts του private δικτύου κι ένας router προς το internet με διεύθυνση 62.X.X.243 επίσης στο ίδιο switch; Υπάρχει λόγος που χρησιμοποιείς virtual interface και δίνεις public διεύθυνση στο μηχάνημα; Αν θέλεις φιλτράρισμα θα ήταν πιο σωστό να έβαζες μια πρόσθετη κάρτα δικτύου απομονώνοντας τον άλλον router και χωρίς να χρησιμοποιείς public addresses, ενώ αν απλά θέλεις να είναι προσβάσιμες κάποιες υπηρεσίες του μηχανήματος από το Internet θα ήταν πιο ασφαλές να χρησιμοποιήσεις destination nat από τον άλλο router -ή τουλάχιστον να μη το χρησιμοποιείς και σαν gateway. Δεν ενδείκνυται να χρησιμοποιείς το ίδιο μηχάνημα για gateway και υπηρεσίες (ειδικά προς το internet) γιατί με τις υπηρεσίες αυξάνει δραματικά ο κίνδυνος να υπονομευτεί το μηχάνημα, και μετά δίνεται η δυνατότητα σε κάποιον που υπονομεύσει το μηχάνημα να αποκτήσει ευαίσθητες πληροφορίες ολόκληρου του δικτύου.
The_Mentor Δημοσ. 13 Ιουνίου 2006 Μέλος Δημοσ. 13 Ιουνίου 2006 πρόκειται για μεγάλο intranet που μέσα του λειτουργούν web servers, AIXX, Linux, Windows 2003 OS's πίσω από Cisco Firewalls - Cisco Routers. Το configuration του δικτύου πολλές φορές (επίτρεψέ μου να πώ τις περισσότερες) υπαγορεύει τον τρόπο που σετάρεις τις μηχανές (αν είσαι της δουλείας καταλαβαίνεις τι σου λέω) και ειδικά σε μεγάλα δίκτυα ακόμα και αν κάτι πρέπει να γίνει διαφορετικά αναγκάζεσαι πολλές φορές να κάνεις υποχωρήσεις μόνο και μόνο για να έχεις πιο σύντομα το τμήμα σε λειτουργία. Το LINUX αυτή τη στιγμή για εμένα προσωπικά βρίσκεται σε DEFCON 1 μέγιστη προτεραιότητα. Παρ' όλα αυτά τα CISCO δεν πρόκειται να απενεργοποιηθούν σε καμία περίπτωση, όσο καλό και αν είναι το Firewall του Linux...
nske Δημοσ. 14 Ιουνίου 2006 Δημοσ. 14 Ιουνίου 2006 Καλά αν εννοείς ότι δε θέλεις/μπορείς να επέμβεις επειδή είναι ευαίσθητο production environment πάω πάσο (δεν είμαι της δουλειάς αλλά έχω παρατηρήσει ότι το "ό,τι παίζει δεν το πειράζουμε" είναι κανόνας στις μεγάλες εταιρίες)..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.