All pastes #205184 Raw Edit

Miscellany

public text v1 · immutable
#205184 ·published 2006-10-16 16:28 UTC
rendered paste body
#!/bin/sh -norc

# Paramètrage du réseau local (LAN = Local Area Network)
LAN_INTERFACE=eth1           ; # Interface réseau interne
LAN_IP=192.168.0.1            ; # Adresse réseau interne
LAN_NETWORK=192.168.0.0/24    ; # Réseau interne
LAN_BROADCAST=192.168.0.255   ; # Adresse de broadcast interne

WAN_INTERFACE=eth0            ; # Interface modem
WAN_IP=192.168.1.173 ;
#WAN_IP=`/sbin/ifconfig | grep "P-t-P" | sed "s/^[: a-z]*\([.0-9]*\).*/\1/g"`  ; # Récupère l'adresse réseau externe (Internet)
WAN_NETWORK=0.0.0.0/0  ; 
WAN_BROADCAST=255.255.255.0;

#on charge les modules utiles
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat


#on permet la redirection de paquets
echo 1 > /proc/sys/net/ipv4/ip_forward




#  pas de spoofing (bloque les pings)
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi 


# pas de icmp

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 



# Initialise la table Filter (par défaut tout les échanges sont refusés)
echo "+ Initialisation de la table Filter"
iptables -t filter -F
iptables -t filter -X 
iptables -t filter -P INPUT   DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT  DROP

# Initialise la table NAT (par défaut tout les échanges sont activés)
echo "+ Initialisation de la table NAT"
iptables -t nat -F
iptables -t nat -X 
iptables -t nat -P PREROUTING  ACCEPT
iptables -t nat -P OUTPUT      ACCEPT
iptables -t nat -P POSTROUTING ACCEPT



echo "+ Règles du localhost"
iptables -t filter -A OUTPUT -o lo -p all -j ACCEPT
iptables -t filter -A INPUT  -i lo -p all -j ACCEPT


echo "+ Règles du réseau local ($LAN_INTERFACE - $LAN_IP - $LAN_NETWORK)"
# Connexions firewall <-> réseau
iptables -t filter -A OUTPUT -o $LAN_INTERFACE -s $LAN_IP -d $LAN_NETWORK -p all -j ACCEPT
iptables -t filter -A INPUT  -i $LAN_INTERFACE -s $LAN_NETWORK -d $LAN_IP -p all -j ACCEPT
   
# Connexions firewall <-> broadcast réseau
iptables -t filter -A OUTPUT -o $LAN_INTERFACE -s $LAN_IP -d $LAN_BROADCAST -p all -j ACCEPT
iptables -t filter -A INPUT  -i $LAN_INTERFACE -s $LAN_BROADCAST -d $LAN_IP -p all -j ACCEPT



echo "+ truc pour accepter les résolutions de noms 53"
iptables -A INPUT -i $WAN_INTERFACE --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 53 -j ACCEPT

echo "+ on accepte le trafique www 80"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 80 -m state --state NEW,ESTABLISHED -j ACCEPT

echo "+ on accepte la connection à irc 6667"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 6667 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 6667 -m state --state NEW,ESTABLISHED -j ACCEPT

echo "+ on accepte les ssh 22"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT

echo "+ on accepte le pop de gmail 995"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 995 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 995 -m state --state NEW,ESTABLISHED -j ACCEPT

echo "+ on accepte le smtp de gmail 587"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 587 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 587 -m state --state NEW,ESTABLISHED -j ACCEPT


#echo "+ on accepte la connection a msn 1863"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 1863 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 1863 -m state --state NEW,ESTABLISHED -j ACCEPT


#echo "+ on accepte la connection a jabber 5223"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 5223 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 5223 -m state --state NEW,ESTABLISHED -j ACCEPT


#echo "+ on accepte la connection a icq 5190"
iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 5190 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 5190 -m state --state NEW,ESTABLISHED -j ACCEPT
echo "+ ftp"
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp 
#iptables -A INPUT -i $WAN_INTERFACE -p tcp --sport 7963 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o $WAN_INTERFACE -p tcp --dport 7963 -m state --state NEW,ESTABLISHED -j ACCEPT 
#Cela pour que la connexion puisse s'établir. Ensuite (et c'est la qu'on a besoin de ip_conntrack_ftp) :
#iptables -A INPUT -i $WAN_INTERFACE -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -o $WAN_INTERFACE --dport 20 -m state --state ESTABLISHED -j ACCEPT 
#Pour que serveur puisse établir la connexion pour les données (en mode actif). Et enfin :
#iptables -A INPUT -i $WAN_INTERFACE -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o $WAN_INTERFACE -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT 
#Pour que le serveur puisse établir la connexion pour les données (en mode passif). Ici aussi ip_conntrack_ftp est nécessaire.

echo "+ on accepte les connections ftp entrantes   7963"
# ssh depusi l'exterieur
iptables -A INPUT -p tcp --dport 7963   -j ACCEPT
iptables -A OUTPUT -p tcp --sport 7963    -j ACCEPT

echo "+ on accepte les connections ssh entrantes   1698"
# ssh depusi l'exterieur
iptables -A INPUT -p tcp --dport 1698   -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1698    -j ACCEPT

echo "+ on accepte les connections entrantes sur apache  3698"
# ssh depusi l'exterieur
iptables -A INPUT -p tcp --dport 3698  -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3698    -j ACCEPT




#echo "+ on accepte la connection a msn 1863"
#iptables -A INPUT -i $WAN_INTERFACE --protocol tcp --source-port 1863 -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o $WAN_INTERFACE --protocol tcp --destination-port 1863 -m state --state RELATED,NEW,ESTABLISHED -j ACCEPT