Δημιουργήστε το δικό σας τείχος προστασίας με iptables χρησιμοποιώντας αυτό το απλό σενάριο μέρος 2

Τείχος προστασίας_ (δικτύωση)

Γεια σε όλους, σήμερα σας φέρνω ένα δεύτερο μέρος αυτής της σειράς σεμιναρίων στο τείχος προστασίας με iptables, πολύ απλό ώστε να μπορείτε να αντιγράψετε και να επικολλήσετε, νομίζω ότι στο τέλος της ημέρας είναι αυτό που αναζητούν όλοι οι αρχάριοι ή ακόμα και οι περισσότεροι έμπειρος, γιατί πρέπει να ανακαλύψουμε ξανά τον τροχό 100 φορές, σωστά;

Αυτή τη φορά τους λέω να προσπαθήσουν να επικεντρωθούν στην πολύ συγκεκριμένη περίπτωση του εάν θέλουμε το τείχος προστασίας μας να είναι πολύ πιο επιθετικό με μια πολιτική OUTPUT DROP. Αυτή η ανάρτηση είναι επίσης κατόπιν αιτήματος ενός αναγνώστη αυτής της σελίδας και της ανάρτησής μου. (Μέσα στο μυαλό μου wiiiiiiiiiiiii)

Ας μιλήσουμε λίγο για τα «πλεονεκτήματα και τα μειονεκτήματα» της καθιέρωσης πολιτικών Output Drop, αυτό για το οποίο μπορώ να σας πω κυρίως είναι ότι κάνει τη δουλειά πολύ πιο κουραστική και επίπονη, ωστόσο ο επαγγελματίας είναι ότι σε επίπεδο δικτύου θα έχετε ασφάλεια από ό, τι αν κάνατε καθήκοντα Για να σκεφτείτε, να σχεδιάσετε και να σχεδιάσετε τις πολιτικές καλά, θα έχετε έναν πολύ πιο ασφαλή διακομιστή.

Προκειμένου να μην κάνω ραβδώσεις ή να απομακρυνθώ από το θέμα, θα σας εξηγήσω γρήγορα με ένα παράδειγμα πώς θα έπρεπε να είναι λίγο πολύ οι κανόνες σας

iptables -A OUTPUT -o eth0 -p tcp -sport 80 -m state -state ΕΓΚΑΤΑΣΤΑΣΗ -j ΑΠΟΔΟΧΗ
-A γιατί προσθέσαμε τον κανόνα
-o αναφέρεται στην εξερχόμενη κίνηση, τότε η διεπαφή τοποθετείται εάν δεν έχει καθοριστεί επειδή ταιριάζει με όλα αυτά.
-άθλημα λιμάνι προέλευσης, παίζει σημαντικό ρόλο, διότι στις περισσότερες περιπτώσεις δεν γνωρίζουμε από ποιο λιμάνι πρόκειται να υποβάλουν το αίτημα, εάν ναι, θα μπορούσαμε να χρησιμοποιήσουμε το dport
- Λιμάνι θύρα προορισμού, όταν γνωρίζουμε εκ των προτέρων συγκεκριμένα ότι η εξερχόμενη σύνδεση πρέπει να πηγαίνει μόνο σε μια συγκεκριμένη θύρα. Πρέπει να είναι για κάτι πολύ συγκεκριμένο, όπως για παράδειγμα ένας απομακρυσμένος διακομιστής mysql.
-m state -state ΕΓΚΑΤΑΣΤΑΣΗ Αυτό είναι ήδη ένα στολίδι της διατήρησης των ήδη καθιερωμένων συνδέσεων, θα μπορούσαμε να το ερευνήσουμε σε μια μελλοντική ανάρτηση
-d για να μιλήσουμε για προορισμό, εάν θα μπορούσε να καθοριστεί, για παράδειγμα ssh σε ένα συγκεκριμένο μηχάνημα από το ip του

#!/bin/bash

# Καθαρίζουμε πίνακες iptables -F iptables -X # Καθαρίζουμε NAT iptables -t nat -F iptables -t nat -X # mangle table για πράγματα όπως PPPoE, PPP και ATM iptables -t mangle -F iptables -t mangle -X # Πολιτικές Νομίζω ότι αυτός είναι ο καλύτερος τρόπος για αρχάριους και # ακόμα δεν είναι κακοί, θα εξηγήσω όλα τα αποτελέσματα γιατί είναι εξερχόμενες συνδέσεις #, εισάγουμε απορρίπτουμε τα πάντα και δεν πρέπει να προωθηθεί κανένας διακομιστής. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Διατήρηση κατάστασης. Όλα όσα είναι ήδη συνδεδεμένα (καθιερωμένα) το αφήνουμε σαν αυτό το iptables - ΜΙΑ ΕΙΣΟΔΟΣ - κατάσταση - κατάσταση ΕΓΚΑΤΑΣΤΑΣΗ, ΣΧΕΤΙΚΟ-j ΑΠΟΔΟΧΗ
iptables -ΈΝΑ ΠΑΡΑΓΩΓΗ -m κατάσταση - κατάσταση ΕΓΚΑΤΑΣΤΑΣΗ, ΣΧΕΤΙΚΟ -J ΑΠΟΔΟΧΗ
# Συσκευή βρόχου. iptables - ΕΙΣΟΔΟΣ -i lo -j ΑΠΟΔΟΧΗ
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, δεν καθορίζουμε τη διεπαφή γιατί # θέλουμε να είναι όλα τα iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# αναχώρηση
# http, https, δεν καθορίζουμε τη διεπαφή γιατί
# θέλουμε να είναι για όλους, αλλά αν καθορίσουμε τη θύρα εξόδου
iptables -A OUTPUT -p tcp -sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh μόνο εσωτερικά και από αυτό το εύρος iptables του ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# έξοδος # ssh μόνο εσωτερικά και από αυτό το εύρος ip
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j ΑΠΟΔΟΧΗ
# παρακολούθηση για παράδειγμα, εάν έχουν zabbix ή κάποια άλλα iptables υπηρεσίας snmp -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# αναχώρηση
# παρακολούθηση για παράδειγμα εάν έχουν zabbix ή κάποια άλλη υπηρεσία snmp
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j ΑΠΟΔΟΧΗ

# icmp, ping καλό είναι η απόφασή σας iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# αναχώρηση
# icmp, το ping καλό είναι η απόφασή σας
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ intranet -j ACCEPT

#mysql with postgres is port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# έξοδος - ερώτηση που έθεσε επίσης ένας χρήστης για να δημιουργήσει έναν πολύ συγκεκριμένο # κανόνα διακομιστή: 192.168.1.2 mysql: 192.168.1.3
#mysql με postgres είναι η θύρα 5432
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j ΑΠΟΔΟΧΗ

#sendmail bueeeh αν θέλετε να στείλετε κάποια αλληλογραφία #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP διακομιστή - το πραγματικό wan ip του διακομιστή LAN_RANGE = "192.168.xx / 21" # Εύρος LAN του δικτύου σας ή των vlan # IP που δεν πρέπει ποτέ να εισέλθουν στο extranet, είναι να χρησιμοποιήσετε λίγο # λογική εάν έχουμε μια καθαρά διεπαφή WAN, δεν θα πρέπει ποτέ enter # traffic LAN type μέσω αυτής της διεπαφής SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16" # Προεπιλεγμένη ενέργεια - για εκτέλεση όταν οποιοσδήποτε κανόνας ταιριάζει ACTION = "DROP" # Πακέτα με το ίδιο ip με τον διακομιστή μου μέσω των wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -ΈΝΑ ΕΞΟΔΟΣ -o $ extranet -s $ SERVER_IP -j $ ACTION

# Πακέτα με το εύρος LAN για το wan, το έβαλα έτσι σε περίπτωση που έχετε # οποιοδήποτε συγκεκριμένο δίκτυο, αλλά αυτό είναι περιττό με τον ακόλουθο # κανόνα μέσα στο iptables βρόχου "για" - ΕΙΣΟΔΟΣ -i $ extranet -s $ LAN_RANGE -j $ ΔΡΑΣΗ
iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION

## Όλα τα δίκτυα SPOOF δεν επιτρέπονται από το wan για ip σε $ SPOOF_IPS κάνουν iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -ΈΝΑ ΕΞΟΔΟΣ -o $ extranet -s $ ip -j $ ACTION
γίνεται

Στην επόμενη κριτική θα κάνουμε εύρος λιμένων και επίσης θα καθορίσουμε πολιτικές που θα οργανώνονται με ονόματα, μεταξύ άλλων ... Περιμένω τα σχόλια και τα αιτήματά σας.


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.