Par feu

 

creer le fichier par

touch.par-feu.sh

##

## test  iptables

#

#  vider et supprimer les chaines

iptables -F

iptables -X

#

# pointer par defaut sur DROP

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#

# ACCEPT NAT

iptables -t nat -F

iptables -t nat -X

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

#

# MANGLE

#

# ouvrir les portes

#

iptables -A INPUT -i lo -d 0.0.0.0/0 -s 0.0.0.0/0 -j ACCEPT

iptables -A OUTPUT -o lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

#

iptables -A INPUT -i eth0 -d 192.168.1.0/24 -s 192.168.1.0/24 -j ACCEPT

iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT

#

# eth2

#

iptables -A OUTPUT -o eth2 -s 82.66.178.173 -d 0.0.0.0/0 -p tcp --sport 80 -j ACCEPT

iptables -A OUTPUT -o eth2 -s 82.66.178.173 -d 0.0.0.0/0 -p tcp --sport 22 -j ACCEPT

iptables -A INPUT -i eth2 -s 0.0.0.0/0 -d 82.66.178.173 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth2 -s 66.150.40.75 -d 0.0.0.0/0 -p all -j DROP

iptables -A INPUT -i eth2 -s 0.0.0.0/0 -d 82.66.178.173 -p tcp --dport 22 -j ACCEPT

#

## ip_contrack

#

iptables -A OUTPUT -o eth2 -s 82.66.178.173 -d 0.0.0.0/0 -p all -m state --state ! INVALID -j ACCEPT

iptables -A INPUT -i eth2 -s 0.0.0.0/0 -d 82.66.178.173 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth2 -d 82.66.178.173 -p tcp --dport 80 -m state --state ! INVALID -j ACCEPT

#####iptables -A INPUT -i eth2 -d 82.66.178.173 -p tcp --dport 80 -m state --state ! 66.150.40.75 -j DROP

iptables -A OUTPUT -o eth2 -s 82.66.178.173 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i eth2 -d 82.66.178.173 -p tcp --dport 22 -m state --state ! INVALID -j ACCEPT

iptables -A OUTPUT -o eth2 -s 82.66.178.173 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT

#

## forward

#

iptables -A FORWARD -i eth0 -o eth2 -s 192.168.1.0/24 -d 0.0.0.0/0 -m state --state ! INVALID -j ACCEPT

iptables -A FORWARD -i eth2 -o eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

#

## masquerade

#

iptables -t nat -A POSTROUTING -o eth2 -s 192.168.1.0/24 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

#

## icmp-pings

#

#iptables -A INPUT -i eth2 -s 0.0.0.0/0 -d 82.66.178.173 -p icmp -m state --state ! INVALID

#iptables -A OUTPUT -o eth2 -s 82.66.178.173 -d 0.0.0.0/0 -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT

#

##FLAGS

#

iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 10/s -j ACCEPT

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#

## Logger les scans

#

iptables -N PSCAN

iptables -A PSCAN -p tcp -m limit --limit 10/s -j LOG --log-prefix "TCP Scan?"

iptables -A PSCAN -p udp -m limit --limit 10/s -j LOG --log-prefix "UDP Scan?"

iptables -A PSCAN -p icmp -m limit --limit 10/s -j LOG --log-prefix "ICMP Scan?"

iptables -A PSCAN -f      -m limit --limit 10/s -j LOG --log-prefix "FLAG Scan?"

iptables -A PSCAN -j DROP

#

## Dropper et logger les Scan

#

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j PSCAN

iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j PSCAN

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j PSCAN

iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j PSCAN

#

## logs

#iptables -A INPUT -j LOG

#### FIN ####


On rend exécutable le script et on le lance.

chmod o+x nom du par feu.sh