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

Πέρασα λίγο χρόνο για να σκεφτώ δύο πράγματα σχετικά με αυτό το iptables: οι περισσότεροι από αυτούς που αναζητούν αυτά τα σεμινάρια είναι αρχάριοι και δεύτερον, πολλοί ήδη αναζητούν κάτι αρκετά απλό και ήδη επεξεργασμένο.

Αυτό το παράδειγμα αφορά έναν διακομιστή ιστού, αλλά μπορείτε εύκολα να προσθέσετε περισσότερους κανόνες και να τον προσαρμόσετε στις ανάγκες σας.

Όταν δείτε το "x" αλλαγή για τα 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 # Policies Νομίζω ότι αυτός είναι ο καλύτερος τρόπος για αρχάριους και # ακόμα δεν είναι κακό, θα εξηγήσω την έξοδο (έξοδος) όλα επειδή είναι εξερχόμενες συνδέσεις #, η είσοδος απορρίπτουμε τα πάντα και κανένας διακομιστής δεν πρέπει να προωθήσει. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Διατήρηση κατάστασης. Όλα όσα είναι ήδη συνδεδεμένα (καθιερωμένα) παραμένουν ως εξής: iptables - ΜΙΑ ΕΙΣΟΔΟΣ - κατάσταση --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, δεν καθορίζουμε τη διεπαφή γιατί # θέλουμε να είναι όλα iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh μόνο εσωτερικά και από αυτό το εύρος iptables του ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # παρακολούθηση για παράδειγμα εάν έχουν zabbix ή κάποιο άλλο υπηρεσία snmp iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping καλά εξαρτάται από εσάς iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql with postgres is port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh αν θέλετε να στείλετε κάποιο email #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP διακομιστή - το πραγματικό wp ip του διακομιστή σας LAN_RANGE = "192.168.xx / 21" # εύρος LAN του δικτύου σας ή των vlan # Ip που δεν πρέπει ποτέ να εισέλθουν στο extranet,είναι να χρησιμοποιήσουμε λίγο # λογική εάν έχουμε μια καθαρά διεπαφή WAN, δεν θα πρέπει ποτέ να εισαγάγει # LAN τύπου traffic μέσω αυτής της διεπαφής 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 -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Πακέτα με το εύρος LAN για το wan, το έβαλα έτσι σε περίπτωση που έχετε # κάποιο συγκεκριμένο δίκτυο, αλλά αυτό είναι περιττό με τον ακόλουθο # κανόνα εντός του βρόχου " για "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION 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 -A OUTPUT -o $ extranet -s $ ip -j $ ACTION done

Όπως πάντα περιμένω τα σχόλιά σας, μείνετε συντονισμένοι σε αυτό το blog, σας ευχαριστώ