Acrobase  

Καλώς ήρθατε στην AcroBase.
Δείτε εδώ τα πιο πρόσφατα μηνύματα από όλες τις περιοχές συζητήσεων, καθώς και όλες τις υπηρεσίες της AcroBase.
H εγγραφή σας είναι γρήγορη και εύκολη.

Επιστροφή   Acrobase > Υπολογιστές και Τεχνολογία > Πληροφορική και Επικοινωνία > Linux
Ομάδες (Groups) Τοίχος Άρθρα acrobase.org Ημερολόγιο Φωτογραφίες Στατιστικά

Notices

Δεν έχετε δημιουργήσει όνομα χρήστη στην Acrobase.
Μπορείτε να το δημιουργήσετε εδώ

Απάντηση στο θέμα
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 27-01-11, 23:48
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
iptables & ip6tables ruleset για IPv4 & IPv6

Να ένα IPv4 + IPv6 firewalling setup (από το ip6table-save, δυστυχώς). Έχω αφαιρέσει αρκετούς κανόνες που δεν έχουν σχέση με setups άλλων. Το ruleset δείχνει άκομψο γιατί το φτιάχνω με scripts (πολλά for loops) και η συντήρησή του δε γίνεται από command line.

Προφανώς ΔΕΝ προσφέρω καμμία απολύτως εγγύηση για αυτό το ruleset. Υποθέστε ότι είναι ήδη compromised πριν το διαβάσετε και το καταλάβετε. Η εφαρμογή κρίσης, γνώσης και κοινής λογικής είναι υποχρεωτικές. Αν θέλετε σοβαρό firewalling/security προσαρμοσμένο στις ανάγκες σας, είναι μέρος της δουλειάς μου. Μιλήστε μου.

Firewalling policy: τίποτα δεν επιτρέπεται προς τα μέσα εκτός μερικών ICMP πακέτων και ssh (22/tcp) από συγκεκριμένα τοπικά subnets (10.0.0.0/8, 192.168.0.0/16 και 172.16.0.0/16). Τα πάντα επιτρέπονται προς τα έξω. Χρησιμοποιείται stateful filtering.

Το IPv6 ruleset επιτρέπει echo (ping) προς το IPv6 IP address $MY_IPV6_IP. Πρέπει να κάνετε find replace το «$MY_IPV6_IP» με την πραγματική διεύθυνση του προσωπικού σας μηχανήματος (πχ 2001:666:42::deaf:cafe:babe/128). Για routers όλη αυτή η διαδικασία περιπλέκεται σημαντικά. Δείτε το RFC 4890 για ένα παράδειγμα.

Προσοχή: αυτό το ruleset πιθανότατα κλείνει χρήσιμες υπηρεσίες. Σίγουρα κλείνει το IPP (CUPS — printing), το CIFS/SMB/Netbios (Windows printing/sharing) και το Bonjour/Zeroconf/MDNS (multicast DNS) που πιθανότατα χρειάζονται σε σύγχρονα τοπικά δίκτυα.

1. IPv4 (iptables)

Κώδικας:
# Generated by iptables-save v1.4.8 on Thu Jan 27 22:23:19 2011
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Jan 27 22:23:19 2011
# Generated by iptables-save v1.4.8 on Thu Jan 27 22:23:19 2011
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Thu Jan 27 22:23:19 2011
# Generated by iptables-save v1.4.8 on Thu Jan 27 22:23:19 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:CHKICMP - [0:0]
:CHKICMP6 - [0:0]
:EGRESS - [0:0]
:INGRESS - [0:0]
-A INPUT -j INGRESS 
-A INPUT -j LOG --log-prefix "default_policy(DROP):" 
-A FORWARD -j INGRESS 
-A FORWARD -j LOG --log-prefix "default_policy(DROP):" 
-A CHKICMP -p icmp -m icmp --icmp-type 0 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 3 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 30 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A CHKICMP -p icmp -j LOG --log-prefix "icmp(DROP):" 
-A CHKICMP -p icmp -j DROP 
-A INGRESS -i lo+ -j ACCEPT 
-A INGRESS -p icmp -j CHKICMP 
-A INGRESS -p tcp -m tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT 
-A INGRESS -s 10.0.0.0/8 -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT 
-A INGRESS -s 172.16.0.0/16 -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT 
-A INGRESS -s 192.168.0.0/16 -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT 
-A INGRESS -p tcp -m tcp --dport 22 -j LOG --log-prefix "ssh(DROP):" 
-A INGRESS -p tcp -m tcp --dport 22 -j DROP 
-A INGRESS -p icmp -j CHKICMP 
-A INGRESS -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INGRESS -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INGRESS -m state --state INVALID -j LOG --log-prefix "fwerr_invalid(DROP):" 
-A INGRESS -m state --state INVALID -j DROP 
-A INGRESS -m state --state NEW -j LOG --log-prefix "fwerr_unprivileged(DROP):" 
-A INGRESS -m state --state NEW -j DROP 
-A INGRESS -j LOG --log-prefix "fwerr_attack(DROP):" 
-A INGRESS -j DROP 
COMMIT
# Completed on Thu Jan 27 22:23:19 2011


1. IPv6 (ip6tables)


Κώδικας:
# Generated by ip6tables-save v1.4.8 on Thu Jan 27 22:34:54 2011
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Jan 27 22:34:54 2011
# Generated by ip6tables-save v1.4.8 on Thu Jan 27 22:34:54 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:CHKICMP - [0:0]
:CHKICMP6 - [0:0]
:EGRESS - [0:0]
:INGRESS - [0:0]
-A INPUT -j INGRESS 
-A INPUT -m rt --rt-type 0 -j LOG --log-prefix "ipv6_RH0(DROP)" 
-A INPUT -m rt --rt-type 0 -j DROP 
-A INPUT -j LOG --log-prefix "default_policy(DROP):" 
-A FORWARD -j INGRESS 
-A FORWARD -m rt --rt-type 0 -j LOG --log-prefix "ipv6_RH0(DROP)" 
-A FORWARD -m rt --rt-type 0 -j DROP 
-A FORWARD -j LOG --log-prefix "default_policy(DROP):" 
-A OUTPUT -m rt --rt-type 0 -j LOG --log-prefix "ipv6_RH0(DROP)" 
-A OUTPUT -m rt --rt-type 0 -j DROP 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j ACCEPT 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j ACCEPT 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j ACCEPT 
-A CHKICMP6 -d ff00::/8 -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j LOG --log-prefix "icmp6(DROP):" 
-A CHKICMP6 -d ff00::/8 -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j DROP 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 1 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 1 -j ACCEPT 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 2 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 2 -j ACCEPT 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 3/0 -j ACCEPT 
-A CHKICMP6 -d $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 3/1 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 3/0 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 3/1 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 4/1 -j ACCEPT 
-A CHKICMP6 -s $MY_IPV6_IP -p ipv6-icmp -m icmp6 --icmpv6-type 4/2 -j ACCEPT 
-A CHKICMP6 -p ipv6-icmp -m icmp6 --icmpv6-type 4/0 -j ACCEPT 
-A CHKICMP6 -p ipv6-icmp -j LOG --log-prefix "icmp6(DROP):" 
-A CHKICMP6 -p ipv6-icmp -j DROP 
-A INGRESS -i lo+ -j ACCEPT 
-A INGRESS -p ipv6-icmp -j CHKICMP6 
-A INGRESS -p tcp -m tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT 
-A INGRESS -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT 
-A INGRESS -p tcp -m tcp --dport 22 -j LOG --log-prefix "ssh(DROP):" 
-A INGRESS -p tcp -m tcp --dport 22 -j DROP 
-A INGRESS -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INGRESS -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INGRESS -m state --state INVALID -j LOG --log-prefix "fwerr_invalid(DROP):" 
-A INGRESS -m state --state INVALID -j DROP 
-A INGRESS -m state --state NEW -j LOG --log-prefix "fwerr_unprivileged(DROP):" 
-A INGRESS -m state --state NEW -j DROP 
-A INGRESS -j LOG --log-prefix "fwerr_attack(DROP):" 
-A INGRESS -j DROP 
COMMIT
# Completed on Thu Jan 27 22:37:31 2011

Τελευταία επεξεργασία από το χρήστη Morgul : 28-01-11 στις 10:43
Απάντηση με παράθεση
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην Morgul για αυτό το μήνυμα:
Archmage (27-01-11)
  #2  
Παλιά 28-01-11, 02:36
Το avatar του χρήστη zaphod
zaphod Ο χρήστης zaphod δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 01-06-11 00:25
fwbuilder

Δοκίμασες το FWBuilder; Μ'έχει βολέψει αρκετά καλά για δημιουργία iptables scripts σε 2-3 μηχανάκια (IPv4 μόνο μέχρι τώρα).
Απάντηση με παράθεση
  #3  
Παλιά 28-01-11, 10:29
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από zaphod Εμφάνιση μηνυμάτων
Δοκίμασες το FWBuilder; Μ'έχει βολέψει αρκετά καλά για δημιουργία iptables scripts σε 2-3 μηχανάκια (IPv4 μόνο μέχρι τώρα).
Αυτό το ruleset είναι της πλάκας (και του λείπουν πολλά custom chains κλπ). Συνήθως έχω τόσο γελοία custom ανάγκες [0], που αφ'ενός δε νομίζω να βρω κάτι που τις καλύπτει, αφ'ετέρου έχω ένα script framework τόσο ώριμο που με βολεύει εξαιρετικά. Είναι και σχεδιασμένο για να μπορεί να κάνει two-tier recover (failsafe setup, κι αν δε δουλέψει αυτό, accept all packets [1]) αν είσαι remotely και κλειδωθείς απ'έξω. Πλέον έχει και μπλιμπλίκια όπως παράλληλη προσθήκη rules σε IPv4 και IPv6 με αυτόματο rewriting των IPv4 διευθύνσεων στις αντίστοιες IPv6. Επειδή είμαι καρατεμπέλης και βαριέμαι να γράφω. [2]

[0] Πχ LDAP search για VPN tunnel endpoints και άνοιγμα σχετικών ports/IPs, ή country-based blocking με ipsets και geoIP.
[1] Δεν έχει χρειαστεί ποτέ να χρησιμοποιήσει το luser mode, αλλά το failsafe με έχει σώσει δεκάδες φορές από μικρά syntax errors ή μεγάλα filtering bugs.
[2] Κι επειδή αργά ή γρήγορα θα γίνει κάποιο λάθος.
Απάντηση με παράθεση
  #4  
Παλιά 28-01-11, 10:30
alan Ο χρήστης alan δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 17-02-21 22:33
Η διαθεσή μου τώρα:
Προσωπική προτίμηση είναι η κονσόλα και custom scripts για τέτοιες εργασίες.
Ένα επίσης καλό πλαίσιο είναι το shorewall με 'πάρα' πολλές δυνατότητες παραμετροποίησης καθώς και το Arno's Project.
Απάντηση με παράθεση
  #5  
Παλιά 28-01-11, 13:29
Qluser Ο χρήστης Qluser δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 24-02-23 19:01
Αρχική Δημοσίευση από Morgul Εμφάνιση μηνυμάτων
Κώδικας:
-A CHKICMP -p icmp -m icmp --icmp-type 0 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 3 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 30 -j ACCEPT 
-A CHKICMP -p icmp -m icmp --icmp-type 11 -j ACCEPT
Ίσως θέλεις και το 12 (parameter problem).

Τι είναι το 30; Το μου φτάνει μόνο μέχρι 18.
Απάντηση με παράθεση
  #6  
Παλιά 28-01-11, 17:44
alan Ο χρήστης alan δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 17-02-21 22:33
Η διαθεσή μου τώρα:
Αρχική Δημοσίευση από Qluser Εμφάνιση μηνυμάτων
Τι είναι το 30; Το μου φτάνει μόνο μέχρι 18.
(σε περίπτωση που δεν το έχεις βρει ακόμη) έχει να κάνει με το traceroute

http://www.networksorcery.com/enp/pr...icmp/msg30.htm
http://filibusta.crema.unimi.it/docs/rfc/msg30.htm

Δες το RFC-1393
Απάντηση με παράθεση
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην alan για αυτό το μήνυμα:
Qluser (30-01-11)
  #7  
Παλιά 28-01-11, 22:23
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Qluser Εμφάνιση μηνυμάτων
Ίσως θέλεις και το 12 (parameter problem).

Τι είναι το 30; Το μου φτάνει μόνο μέχρι 18.
Χμ, νόμιζα ότι το είχα ήδη αυτό. Θα το βάλω.

Το 30 δεν έχω ιδέα τι είναι (update: σύμφωνα με αυτό, είναι traceroute) Αυτό το κομμάτι δε θυμάμαι ούτε πότε γράφτηκε, ούτε από πού βρέθηκε (αν δεν το έγραψα μόνος μου).
Απάντηση με παράθεση
  #8  
Παλιά 30-01-11, 14:09
Qluser Ο χρήστης Qluser δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 24-02-23 19:01
Αρχική Δημοσίευση από alan Εμφάνιση μηνυμάτων
(σε περίπτωση που δεν το έχεις βρει ακόμη) έχει να κάνει με το traceroute
Μόνο που δεν έχει καμμία σχέση με το traceroute που εννοεί ο περισσότερος κόσμος, δηλαδή αυτά που στέλνουν UDP ή ICMP echo πακετάκι με αυξανόμενο TTL και ανιχνεύουν το route από τα εισερχόμενα ICMP time exceeded.

Δες το RFC-1393
(Experimental status). Έψαξα για υλοποιήσεις του, αλλά βρήκα μόνο μία (lft) και ακόμα κι εκεί η επιλογή είναι απενεργοποιημένη (commented out) και δεν φαίνεται να δουλεύει. Έτσι κι αλλιώς απαιτεί υποστήριξη από όλους τους ενδιάμεσους routers (εκτός από το ICMP 30 θέλει και IP option 18) οπότε μάλλον μπορούμε να το θεωρήσουμε νεκρό.
Απάντηση με παράθεση
  #9  
Παλιά 30-01-11, 14:49
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Qluser Εμφάνιση μηνυμάτων
(Experimental status). Έψαξα για υλοποιήσεις του, αλλά βρήκα μόνο μία (lft) και ακόμα κι εκεί η επιλογή είναι απενεργοποιημένη (commented out) και δεν φαίνεται να δουλεύει. Έτσι κι αλλιώς απαιτεί υποστήριξη από όλους τους ενδιάμεσους routers (εκτός από το ICMP 30 θέλει και IP option 18) οπότε μάλλον μπορούμε να το θεωρήσουμε νεκρό.
Εγώ πάντως το DROP rule δεν το βγάζω.

If it ain't broke, don't fix it.
Απάντηση με παράθεση
  #10  
Παλιά 30-01-11, 15:31
Qluser Ο χρήστης Qluser δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 24-02-23 19:01
Αρχική Δημοσίευση από Morgul Εμφάνιση μηνυμάτων
Εγώ πάντως το DROP rule δεν το βγάζω.
ACCEPT έχεις ;-) Πάντως πληροφοριακά στα netfilter logs μου δεν υπάρχει ούτε ένα τέτοιο ("PROTO=ICMP TYPE=30") από το 2007 τουλάχιστον.
Απάντηση με παράθεση
  #11  
Παλιά 30-01-11, 17:36
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Qluser Εμφάνιση μηνυμάτων
ACCEPT έχεις ;-) Πάντως πληροφοριακά στα netfilter logs μου δεν υπάρχει ούτε ένα τέτοιο ("PROTO=ICMP TYPE=30") από το 2007 τουλάχιστον.
Μόνο στην έκδοση που έχω ανεβάσει εδώ. Οι εκδόσεις που χρησιμοποιώ είναι διαφορετικές. Ενδέχεται να μην έχω δει κανένα τέτοιο ποτέ, αλλά αν αυτό το έβαλα μόνος μου, το έβαλα όταν μάθαινα packet filtering και απλά έμεινε.

Προς το παρόν περισσότερο με παιδεύει (παίδευε) το IPv6 πάνω από OpenVPN (learning experience — στον επόμενο γύρω θα αναστήσω το IPSec να δω αν παίζει [1]).


[1] Στην αρχή είχα IPSec, και μου είχε πάρει καμμιά βδομάδα να πείσω τα Windows των συνεργατών μου να το δουν και να δουλέψουν μαζί του χωρίς προβλήματα. Μετά ανοίξαμε το γραφείο στην Αθήνα, και ανακαλύψαμε ότι η Viβόδι έκοβε και το EH και το ΕSP. Μετά από λίγο probing ανακαλύψαμε ότι έκοβε τα πάντα εκτός από TCP, UDP και λίγο ICMP. *αναστεναγμός*. Μετά απ'αυτό, με μεγάλη λύπη ξηλώσαμε το IPSec και πήγαμε σε OpenVPN. Μερικούς μήνες μετά ερωτευτήκαμε την ευκολία του στησίματος του OpenVPN σε Windows και μας έμεινε παντού.
Απάντηση με παράθεση
Απάντηση στο θέμα


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες)
 
Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι σε λειτουργία

Που θέλετε να σας πάμε;


Όλες οι ώρες είναι GMT +3. Η ώρα τώρα είναι 23:50.



Forum engine powered by : vBulletin Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.