PDA

Επιστροφή στο Forum : Stateful firewall



boeotian
07-11-08, 00:14
Γεια σας,

Ήθελα από καιρό να ασχοληθώ και να φτιάξω ένα αξιοπρεπές, σωστό και σοβαρό firewall, γιατί αυτό που έχω είναι μάπα, αρχαίο, μπλιάχ κλπ:



access-list 100 remark Firewall Configuration
access-list 100 permit udp host 212.70.192.2 eq ntp any
access-list 100 permit udp host 212.70.194.249 eq ntp any
access-list 100 permit udp host 195.170.2.248 eq ntp any
access-list 100 permit tcp host 63.208.196.95 any established
access-list 100 deny ip 10.0.0.0 0.255.255.255 any
access-list 100 deny ip 172.16.0.0 0.15.255.255 any
access-list 100 deny ip 192.168.0.0 0.0.255.255 any
access-list 100 deny ip 127.0.0.0 0.255.255.255 any
access-list 100 deny ip host 255.255.255.255 any
access-list 100 deny ip host 0.0.0.0 any
access-list 100 deny tcp any any eq 6881
access-list 100 deny udp any any eq 6881
access-list 100 deny tcp any any lt 1024 log
access-list 100 deny udp any any lt 1024 log
access-list 100 permit icmp any any
access-list 100 permit ip any any


Για να το περιγράψω με λόγια, έχω κόψει όλα τα privileged port numbers κάτω από 1024. Έχω επιτρέψει το 123 για τους NTP servers καθώς και το members.dyndns.org. Προφανώς έχω κόψει και όλα τα private networks και τα broadcast. To port 6881 δε θυμάμαι γιατί το έκοψα... κάτι evil είχε παιχτεί με αυτό από trojan/ιό.

Ο σκοπός για το firewall του 21ου αιώνα είναι να κόψεις όλες τις εισερχόμενες προσπάθειες σύνδεσης αν δεν έχουν ζητηθεί από το δίκτυό μου. Αυτό γίνεται κόβοντας τα syn requests, αν θυμάμαι καλά. 'Αρα πετάμε το κόψε όλα κάτω από 1024 και το αντικαθιστούμε με το κόψε όλα τα εισερχόμενα syn requests σε οποιοδήποτε port. Τίποτα άλλο που μου διαφεύγει;

sijune
07-11-08, 12:06
Ναι, στο κάνω copy paste αφου σε βρίσκω security freak και σε πάω

¨ *Permit ICMP echo request messages to leave your network destined for any network you have reason to communicate with.
*Permit ICMP echo reply messages to your internal hosts from any network you have reason to communicate with.
*Permit ICMP echo request messages from external hosts to servers they must access (public web servers, for example). As of this writing, a random sampling of top websites yielded several that block inbound pings to their servers and several more that permit them. As an organization, you must weigh the risks of allowing this traffic against the risks of denying this traffic and causing potential users troubleshooting difficulties.
*Permit ICMP echo reply messages from any server system to the networks where that server's users reside. Echo replies from your public web server to the Internet at large is an example of this.
*Deny every other ICMP echo message.

Μιλάμε πάντα για enterprise networks, αν αυτό το firewall το φτιάχνεις για το σπίτι είσαι οκ, όπως είσαι.
Αλλιώς πρόσθεσε και intercepts για DOS, πρόσθεσε και inspects για http,dns και ότι άλλο service αφήνεις.

Υ.Γ ελπίζω να έχεις καλή γραμμή :)

Xguru
07-11-08, 16:15
Κανένα θέμα για το setαρισμα του firewall του router για εμάς που δεν έχουμε cisco υπάρχει; Έτσι σαν guidelines με security tips καθότι οι ανάγκες του καθενός είναι διαφορετικές.

karavagos
07-11-08, 16:36
Ο σκοπός για το firewall του 21ου αιώνα είναι να κόψεις όλες τις εισερχόμενες προσπάθειες σύνδεσης αν δεν έχουν ζητηθεί από το δίκτυό μου. Αυτό γίνεται κόβοντας τα syn requests, αν θυμάμαι καλά. 'Αρα πετάμε το κόψε όλα κάτω από 1024 και το αντικαθιστούμε με το κόψε όλα τα εισερχόμενα syn requests σε οποιοδήποτε port. Τίποτα άλλο που μου διαφεύγει;

Μάλλον εννοείς επιτρέποντας μόνο τα ACK requests για το TCP traffic (κάτι που προσφέρει μια στοιχειώδη ασφάλεια από αυτούς που δεν έχουν σκοπό να σε βλάψουν). Αν κόψεις τα εισερχόμενα SYN, τότε η απάντηση του άλλου (SYN+ACK) δεν θα φτάσει ποτέ σε σένα.

Από την στιγμή όμως που θες "να κόψεις όλες τις εισερχόμενες προσπάθειες σύνδεσης αν δεν έχουν ζητηθεί από το δίκτυό μου", γιατί δεν χρησιμοποιείς το CBAC ή Reflexive Access Lists? (τα κομμένα SYN δουλεύουν εδώ)

btw, για εισερχόμενα icmp, προτείνεται να επιτρέψεις echo-reply, unreachable, administratively-prohibited, packet-too-big, time-exceeded και ίσως (αν θες να σε κάνουν ping) το echo.

boeotian
07-11-08, 17:18
Μάλλον εννοείς επιτρέποντας μόνο τα ACK requests για το TCP traffic (κάτι που προσφέρει μια στοιχειώδη ασφάλεια από αυτούς που δεν έχουν σκοπό να σε βλάψουν). Αν κόψεις τα εισερχόμενα SYN, τότε η απάντηση του άλλου (SYN+ACK) δεν θα φτάσει ποτέ σε σένα.

Κάτσε μπερδεύτικα. Δεν μπορείς να κόψεις μόνο τα εισερχόμενα syn; Προφανώς το syn+ack θα πρέπει να επιτραπεί. Αν επιτρέψεις τα established μήπως λύνεται το πρόβλημα;

To:

access-list XXX deny tcp any any syn

κόβει και το syn+ack και θα πρέπει να είναι σε permit:

access-list XXX permit tcp any any syn ack

Το δεύτερο αφήνει syn+ack ή syn or ack οπότε δεν κάνουμε τίποτα; :hmm:



Από την στιγμή όμως που θες "να κόψεις όλες τις εισερχόμενες προσπάθειες σύνδεσης αν δεν έχουν ζητηθεί από το δίκτυό μου", γιατί δεν χρησιμοποιείς το CBAC ή Reflexive Access Lists? (τα κομμένα SYN δουλεύουν εδώ)

Γιατί δεν έχω και πολύ ιδέα με inspects και RACLs. Αν αυτά είναι η καλύτερη λύση και υλοποιούν καλύτερα την firewall μοντέλο, γιατί όχι; :)



btw, για εισερχόμενα icmp, προτείνεται να επιτρέψεις echo-reply, unreachable, administratively-prohibited, packet-too-big, time-exceeded και ίσως (αν θες να σε κάνουν ping) το echo.

Ναι θέλω να με ping :)

........Auto merged post: boeotian πρόσθεσε 2 λεπτά και 6 δευτερόλεπτα αργότερα ........


Κανένα θέμα για το setαρισμα του firewall του router για εμάς που δεν έχουμε cisco υπάρχει; Έτσι σαν guidelines με security tips καθότι οι ανάγκες του καθενός είναι διαφορετικές.

Αυτό είναι πολύ χρήσιμο που λες. Θα πρέπει να αποφασίσουν οι γκουρούδες σε ένα firewall setup με λογάκια για το τι θα πρέπει να κάνει, καθώς και τις υλοποιήσεις του σε κάθε router. Τα options να είναι ξεχωριστά, έτσι ώστε να μπορεί κάποιος να τα αφαιρέσει εύκολα το security που δε χρειάζεται.

karavagos
07-11-08, 18:06
Κάτσε μπερδεύτικα. Δεν μπορείς να κόψεις μόνο τα εισερχόμενα syn; Προφανώς το syn+ack θα πρέπει να επιτραπεί. Αν επιτρέψεις τα established μήπως λύνεται το πρόβλημα;

established = ACK ή RST



To:

access-list XXX deny tcp any any syn

κόβει και το syn+ack και θα πρέπει να είναι σε permit:

access-list XXX permit tcp any any syn ack

Το δεύτερο αφήνει syn+ack ή syn or ack οπότε δεν κάνουμε τίποτα; :hmm:

Αρκεί οποιοδήποτε tcp flag από την acl να κάνει match οποιοδήποτε tcp flag από το πακέτο.

Στα τελευταία IOS όμως, έχεις την δυνατότητα να κάνεις AND/OR συνδυασμούς με τα tcp flags:



GSR-TEST(config)#ip access-list extended TEST
GSR-TEST(config-ext-nacl)#permit tcp any any ?
...
match-all Match if all specified flags are present
match-any Match if any specified flag is present
...

GSR-TEST(config-ext-nacl)#permit tcp any any match-all ?
+ack Match on ACK set
+fin Match on FIN set
+psh Match on PSH set
+rst Match on RST set
+syn Match on SYN set
+urg Match on URG set
-ack Match on ACK not set
-fin Match on FIN not set
-psh Match on PSH not set
-rst Match on RST not set
-syn Match on SYN not set
-urg Match on URG not set

GSR-TEST(config-ext-nacl)#permit tcp any any match-all +syn +ack




Γιατί δεν έχω και πολύ ιδέα με inspects και RACLs. Αν αυτά είναι η καλύτερη λύση και υλοποιούν καλύτερα την firewall μοντέλο, γιατί όχι; :)

Αυτός είναι και ο λόγος που δημιουργήθηκαν. Καλύτερα να πειραματιστείς μαζί τους (σίγουρα με το CBAC), έστω και για να πάρεις μια ιδέα.

123456789
07-11-08, 22:31
Σου προτείνω και εγώ reflexive ACLs γίνονται έυκολα!

http://www.cisco.com/en/US/products/sw/secursw/ps1018/products_tech_note09186a00800a5b9a.shtml#reflexacl

Αλλά να ξέρεις ότι φορτώνουν σχετικά το router CPU.

cprotopapas
08-11-08, 13:51
Σου προτείνω και εγώ reflexive ACLs γίνονται έυκολα!

http://www.cisco.com/en/US/products/sw/secursw/ps1018/products_tech_note09186a00800a5b9a.shtml#reflexacl

Αλλά να ξέρεις ότι φορτώνουν σχετικά το router CPU.
ΜΑΚΡΥΑ από τα reflexive ACLS.CBAC ή αν έχεις IOS που το υποστηρίζει,zone-based firewall.

boeotian
10-11-08, 16:56
ΜΑΚΡΥΑ από τα reflexive ACLS.CBAC ή αν έχεις IOS που το υποστηρίζει,zone-based firewall.

Είπαμε να φτιάξουμε το firewall του 21ου αιώνα, αλλά ας μην είναι και overkill :) Το zone-based firewall φαίνεται αρκετά δυνατό, αλλά και αυτό δε θα έχει αρνητική επίδραση στο performance του router;

Το IOS πάντως το υποστηρίζει. Με ένα απλό κόψε όλα τα incoming connections καλύπτεις το 80% των περιπτώσεων παραβίασης ασφάλειας στο δίκτυό σου.

cprotopapas
10-11-08, 22:47
Είπαμε να φτιάξουμε το firewall του 21ου αιώνα, αλλά ας μην είναι και overkill :) Το zone-based firewall φαίνεται αρκετά δυνατό, αλλά και αυτό δε θα έχει αρνητική επίδραση στο performance του router;


Όχι όση έχει το CBAC.

dkef
11-11-08, 17:26
Πάντως εγώ που υλοποίησα το zone-based policy firewall σε ένα 877 δουλεύει πολύ καλά και είναι πιο ελαφρύ από το CBAC. Και εδώ τίθεται το ερώτημα:

ZBPF και PPTP passthrough. Πρέπει να ενεργοποιήσω GRE passthrough (inbound και outbound) ή αρκεί το pptp inspection;

renegade angel
15-11-08, 16:29
Ναι, ρε παιδια για εμας τους απλους χρηστες με μη cisco router υπαρχουν τετοιες επιλογες? Στα routers του σωρου που μας δινει η φορθνετ φερ'ειπειν?

@ ADSLgr.com All rights reserved.