Hits : 2368

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


top



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 !


top