stateful firewall issues (Was Re: Think Simple!)

george zakinthinos at freemail.gr
Fri Sep 1 06:52:56 EEST 2006


Giorgos Keramidas wrote:
> On 2006-08-30 19:39, maria <zakinthinos at freemail.gr> wrote:
> 
>>Giorgos Keramidas wrote:
>>
> 
>>περα απο το confuzed 127.0.0.1 'i want to startx' τα λοιπα ειναι
>>προσπαθειες να αντιμετωπιστουν INVALID πακετα πριν φθασουν να
>>ελεγχθουν για state
> 
> 
> Γιατί;
> 
> Ετσι μπορεί να κόψεις νωρίς "κάποια" invalid πακέτα, αλλά βάζεις ένα
> ΤΕΡΑΣΤΙΟ ΚΑΙ ΑΧΡΗΣΤΟ overhead στα πακέτα που είναι ήδη μέρος μιας
> σύνδεσης -- τα οποία όπως έγραψα παραπάνω είναι η συντριπτική πλειοψηφία
> των πακέτων σε ένα workstation που δουλεύω εγώ τόσο καιρό.
> 

το κομματι που δικαιολογει το γιατι υπαρχουν οι ελεγχοι
των "INVALID" "εξαιρεσεων" ειναι ακριβως παρακατω, και
εγω παρατηρησα οτι υπαρχουν 64.510 ports ανοιχτα και
οτι δεν ελεγχω με ποιον host επικοινωνει ο χρηστης,
η απορια μου ειναι "εαν βασιζομαι μονο στο state checking
ειμαι αρκετα ασφαλης ?"

(ας βαλουμε και μερικα checkpoints πριν, η
εκπληκτικη λογικη του μπακαλη)

> 
>>>8) Επιτρέπεις έτσι απλά και ανενδοίαστα όλα τα incoming connections για
>>> ports από 1024 και άνω.  ΑΥΤΟ ΔΕΝ ΕΙΝΑΙ ΚΑΛΗ ΙΔΕΑ!  Υπάρχουν περίπου
>>> 64.510 διαφορετικοί λόγοι γιατί αυτό είναι βλακεία, αλλά θα σε αφήσω
>>> να τους ανακαλύψεις ξεχωριστά τον καθένα, καθώς θα στήνεις νέα
>>> services στο μηχάνημά σου.
> 
> 
>>το ολο ζουμι της ιστοριας και η βασικη ερωτηση ειναι εδω
>>
>>ειναι προφανες οτι αφηνω πολλα ports ανοιχτα αλλα οι παρακατω γραμμες
>>λενε (?)
>>
>>#αφησε τον χρηστη να κανει νεα connections
>>#εχε το NEW εφόσον το POLICY ειναι DROP
>>
>>iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -s
>>$PPP_LOCAL -j ACCEPT
>>
>>
>>#επετρεψε του να παραλαβει τα html data και
>>#βαλε kai udp για να κανει resolve

# επετρεψε του να παραλαβει τα οποια data δημιουργσησε
# γενικα προσπαθησε μεσω των states να εισαι adaptive
# σε οτι συνδεσεις ξεκινα με οποιονδηποτε host και
# και σε οποιοδηποτε port και να τον αφηνεις να κανει
# την δουλεια του

>>
>>iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -p tcp -d $PPP_LOCAL --dport 1024: -j ACCEPT
>>iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -p udp -d $PPP_LOCAL --dport 1024: -j ACCEPT
> 
> 

> 
>>με αλλα λογια επιτρεπουμε να ερθουν πραγματα που εχει ξεκινησει ο
>>ιδιος ο χρηστης και αφορουν δικες του συνδεσεις
>>
>>δεν τον περιοριζουμε ουτε με ποιον host θα επικοινωνησει ουτε σε τι
>>port
> 
> 
> Ετσι κι αλλιώς δεν περιορίζεσαι αν υπάρχει stateful firewall.

ναι αλλα ενα καλο "πακετακι" που θα εκμεταλλευεται bugs
των iptables μπορει να μου αλλαξει τα φωτα αφου ο
μονος περιορισμος ειναι το state check

> 
> 
>>ο περιορισμος που υιοθετουμε ειναι οτι με βαση το RELATED,ESTABLISHED,
>>πρεπει το πακετο να ανηκει σε συνδεση που εχει ξεκινησει ο χρηστης
>>
>>τα bugs των iptables και ενας καλος tcp/ip programmer παιζουν ρολο
>>εφ'οσον η μονη γραμμη αμυνας ειναι το tcp state και το σε ποια συνδεση
>>ανηκει ενα πακετο
> 
> 
> Δεν είμαι σίγουρος ότι ξέρω 100% τι κάνει το 'RELATED' αλλά για να το
> λες, κάτι θα ξέρεις.
> 
> 

τα παραπανω κυριως "ρωτανε" εαν τα assumptions που
εχω υιοθετησει ειναι αρκετα ασφαλη, ακριβως 'ΔΕΝ
ΓΝΩΡΙΖΩ' εαν το RELATED,ESTABLISHED περιορισμος
ειναι αρκετα ασφαλης

εαν θες προσπαθησε να κατανοησεις λιγο καλυτερα μονο
τις γραμμες που γραφονται εδω (γιατι αυτες ειναι
οι σημαντικες) και να επικεντρωθεις στο ποσο 'ανθεκτικο'
ειναι το setup και οχι στο ποσο αποδοτικο/βελτιστο


κυριως δες οτι οι δυο γραμμες της INPUT γινονται
RELATED με τις NEW συνδεσεις της OUTPUT



normal disclaimer οτι και παλι αλλαξα οτι εγραφες
applies


γιωργος

____________________________________________________________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.




More information about the Linux-greek-users mailing list