1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#!/bin/bash
###################################
#####Déclaration des variables#####
###################################
#Adresse du réseau interne
OURNET="172.16.0.0/16"
#Adresse broadcast du réseau interne
OURBCAST="172.16.255.255"
#Espace d'adresse du réseau externe
ANYADDR="0/0"
#Nom de l'interface vers le réseau externe
EXTDEV="eth0"
#Liste des ports TCP autorisés (vide équivaut à tout autoriser)
#Note: voir pour smtp, ftp, ftp-data
#En entrée
TCPIN="www"
#En sortie
TCPOUT="www"
#Liest des ports UDP autorisés (vide équivaut à tout autoriser)
#Note: voir pour domain
#En entrée
UDPIN=""
#En sortie
UDPOUT=""
#Ecrire dans le journal: 1=écrire ""=rien faire
LOGGING=
####################################
###########Implémentation###########
####################################
#Chargement des modules
#Note Il le faut encore??
#modprobe ip_tables
#modprobe ip_conntrack #Pour pas traiter la fragmentation
#Purger iptables
#Détruit les règles
iptables -X
iptables -F
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUPOUT ACCEPT
iptables -F FORWARD
#Stratégie par défaut
iptables -P FORWARD DROP
#Anti-spoof
iptables -A FORWARD -s $OURNET -i $EXTDEV -j DROP
#Anti-smurf
iptables -A FORWARD -p icmp -i $EXTDEV -d $OURBCAST -j DROP
#Politique par défaut: tous les paquets sont refusés
iptables -A INPUT -i $EXTDEV -j DROP
#TCP - NOUVELLES CONNEXIONS ENTRANTES
#On accepte toutes les requetes de connexions provenant de l'exterieur
#uniquement sur les ports TCP autorisés
iptables -A FORWARD -i $EXTDEV -d $OURNET -p tcp --syn -m multiport --sports $TCPIN -j ACCEPT
#TCP - NOUVELLES CONNEXIONS SORTANTES
#On accepte toutes les requetes de connexions sortantes
#sur les ports TCP autorisés
#iptables - A FORWARD -i $OURDEV -d $ANYADDR -p tcp --syn -m multiport --dports $TCPOUT -j ACCEPT
#UDP - ENTRANT
#On accepte les paquets UDP entrants pour les ports autorisés et les réponses
iptables -A FORWARD -i $EXTDEV -d $OURNET -p udp -m multiport --dports $UDPIN -j ACCEPT
iptables -A FORWARD -i $EXTDEV -s $OURNET -p udp -m multiport --sports $UDPIN -j ACCEPT
#UDP - SORTANT
#On accepte les paquets UDP sortants sur les ports autorisés et les réponses
#iptables -A FORWARD -i $OURDEV -d $ANYADDR -p udp -m multiport --dports -j ACCEPT
#iptables -A FORWARD -i $OURDEV -s $ANYADDR -p udp -m multiport --sports $UDPOUT -j ACCEPT
######################################
############JOURNALISATION############
######################################
if ["$LOGGING"]
then
iptables -A FORWARD -p tcp -j LOG #Pour trafic TCP interdit
iptables -A FORWARD -p udp -j LOG #Pour trafic UDP interdit
iptables -A FORWARD -p icmp -j LOG #Pour trafic ICMP interdit
fi |
Partager