IPTABLES – Mini Tutorial
http://www.frozentux.net/documents/iptables-tutorial/
Το λογισμικό το οποίο χρησιμοποιούμε ως firewall στο linux ονομάζεται iptables.
Υποστηρίζει πολιτικές – αλυσίδες – κανόνες.
Οι αλυσίδες δεν είναι τίποτα άλλο από ένα σύνολο κανόνων.
Οι αλυσίδες που έχει by default είναι 3:
INPUT – FORWARD – OUTPUT
INPUT : Ελέγχει την εισερχόμενη προς το μηχάνημα κίνηση.
FORWARD : Ελέγχει τις προωθήσεις μεταξύ protocol & ip.
OUTPUT : Ελέγχει την εξερχόμενη από το μηχάνημα κίνηση.
Για να δούμε τις αλυσίδες πληκτρολογούμε την παρακάτω εντολή:
iptables -L -v
Για να διαγράψουμε ζώνες πληκτρολογούμε:
iptables -X
ή
iptables -X name_of_chain
Για να κάνουμε flush reset στις αλυσίδες πληκτρολογούμε:
iptables -F
Πως ορίζουμε καθολικές πολιτικές:
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
ή
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
Με την εντολή
netstat -nepltu
παρατηρούμε τις ανοιχτές συνδέσεις όπου έχει το μηχάνημά μας προς το δίκτυο.
Για να κλείσουμε μία από τις ανοιχτές συνδέσεις που έχουμε μπορούμε να πληκτρολογήσουμε:
iptables -A INPUT -p TCP --dport 2222 -j DROP
Με την παραπάνω εντολή προσθέτουμε ( -Α ) έναν κανόνα στην αλυσίδα INPUT,
μέσω του TCP Protocol και ορίζουμε τον κανόνα DROP στην destination tcp port 2222
Destination tcp port : Είναι η πόρτα προορισμού του πακέτου tcp που έρχεται ως εισερχόμενη κίνηση
προς το μηχάνημά μας.
Με την παρακάτω εντολή κλείνουμε την πόρτα 80 ώστε να μην μπορούμε να περάσουμε πακέτα από την
συγκεκριμένη πόρτα προς τα έξω.
iptables -A OUTPUT -p TCP --dport 80 -j DROP
Χρησιμοποιώντας την παρακάτω εντολή μπορούμε να κάνουμε redirect μία local tcp port σε μία άλλη:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
Πως κόβω μία συγκεκριμένη ip για όλα τα πρωτόκολλα:
iptables -A INPUT -s SPAMMER_IP -j DROP
Πως κάνω REDIRECT μία πόρτα σε μία άλλη ΕΚΤΟΣ εάν έρχεται το αίτημα από συγκεκριμένη εφαρμογή.
iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner squid -j REDIRECT --to-ports 3128
Πως βλέπουμε τα ΝΑΤ μας
iptables -L -t nat
Πως κάνουμε flush τα ΝΑΤ μας :
iptables -F -t nat
Πως βλέπουμε τα mangle μας :
iptables -L -t mangle
iptables -L iptables -L -t nat iptables -L -t mange cat /proc/net/ip_conntrack iptables -I INPUT 1 -p tcp --dport 80 -m string --string "cmd.exe" --algo bm -j DROP
Imitate TCP Wrapper
iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 158.255.214.14-158.255.214.15 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
be aware of the order (number) of rules !