« Catégorie:Trucs Réseau » : différence entre les versions
m (catégorie trucs) |
m (Truc script shell pour le par feux iptables) |
||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Trucs]] | [[Catégorie:Trucs]] | ||
Comment bien tirer parti d'un réseau local, d'internet, les trucs sur le mail, etc. | Comment bien tirer parti d'un réseau local, d'internet, les trucs sur le mail, etc. | ||
== Truc script shell pour le par feux iptables == | |||
Je propose un petit script qui aidera les débutant pour iptables avec un ou 2 lien a disposition | |||
il est loin d'être complet, il gere que les regles de bases, INPUT, OUTPUT. | |||
ce qui suffi largement sous linux, pour les experts il n'on pas besoin de ce script. | |||
Q.-Déja pourquoi un script ? | |||
R.-Parce qu'il permet d'être transportable, donc il est possible de le sauvgarder et de le modifier facilment. | |||
Le scripte avec les commantaires :) | |||
Début du script | |||
---- | |||
#!/bin/sh | |||
PATH=/usr/eth0cal/sbin:/usr/eth0cal/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin/iptables | |||
DAEMON=/etc/init.d/fw | |||
NAME=fw | |||
ID=$$ | |||
DESC="Par Feux 1.13" | |||
FAMOPTS="-T 0" | |||
set -e | |||
case "$1" in | |||
start) | |||
#variable ceci facilite la lisibilité et permet de modifier facilment les paramettres les plus #courament utiliser. | |||
MAC="-m mac --mac-source XX:XX:XX:XX:XX:XX" | |||
#note: n'est pas indispansable! | |||
MACROUTEUR="-m mac --mac-source XX:XX:XX:XX:XX:XX" | |||
RL="192.168.0.0/16" | |||
#l'id de l'utilisateur en console taper :id pour le connaître | |||
id="1000" | |||
echo "Démarage de $DESC Pour l'user $id" | |||
#Mise a zero des regle (par précaution) | |||
# | |||
# On remet la police par défaut à ACCEPT | |||
# | |||
iptables -P INPUT ACCEPT | |||
iptables -P FORWARD ACCEPT | |||
iptables -P OUTPUT ACCEPT | |||
# | |||
# On remet les polices par défaut pour la table NAT | |||
# | |||
iptables -t nat -P PREROUTING ACCEPT | |||
iptables -t nat -P POSTROUTING ACCEPT | |||
iptables -t nat -P OUTPUT ACCEPT | |||
# | |||
# On vide (flush) toutes les règles existantes | |||
# | |||
iptables -F | |||
iptables -t nat -F | |||
# | |||
# Et enfin, on efface toutes les chaînes qui ne | |||
# sont pas à defaut dans la table filter et nat | |||
iptables -X | |||
iptables -t nat -X | |||
#============================================================================================ | |||
# policy defaut | |||
iptables -P INPUT DROP | |||
#============================================================================================ | |||
#règle de filtrage | |||
#Pour émettre un service Cupsys | |||
#iptables -A INPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT | |||
#Service DNS | |||
#Contacter un DNS, surtout si le réseau local en comporte un, est important, | |||
#même pour les services DNS sur Internet, | |||
#entres autres avec votre FAI ; il faut donc ouvrir les protocoles (TCP) et UDP | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 53 -j ACCEPT | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 53 -j ACCEPT | |||
#Service SaMBa | |||
# EPMAP => définit toutes les RPC ! | |||
iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 135 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 135 -j ACCEPT | |||
# NetBios-NS | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 137 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 137 -j ACCEPT | |||
# NetBios-DGM => exploration du réseau (basé sur SMB browser service) | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 138 -j ACCEPT | |||
# NetBios-SSN => partage fichiers, imprimantes par Microsoft | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 139 -j ACCEPT | |||
# SMB/IP => partage fichiers, imprimantes par SaMBa | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 445 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 445 -j ACCEPT | |||
#Service SSH | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 22 -j ACCEPT | |||
#Service FTP | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 21 -j ACCEPT | |||
#Ce proteger contre les ping , mai en permettre quelque un | |||
iptables -A INPUT -p icmp -m limit --limit 16/d -j ACCEPT | |||
#de cette manière, une erreur ICMP passera, mais votre passerelle ne répondra pas aux reste ICMP. | |||
iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT | |||
#Ouverture des port pour les navigateurs | |||
iptables -A INPUT -p tcp -m multiport --source-ports 21,80,81,82,83,84,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#laisser msn sortire fichier compris | |||
iptables -A INPUT -p tcp -m multiport --source-port 1863,6891 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#laisser sortire IRC | |||
iptables -A INPUT -p tcp --sport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#Les e-mail | |||
iptables -A INPUT -p tcp -m multiport --source-port 119,110,25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#on autorise le transfere dans le reseau local ceci est a éviter ! | |||
#iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT | |||
# Le service xvnc4viewer (mode graphique de pc a pc) | |||
iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 5900 -j ACCEPT | |||
#loopack | |||
iptables -A INPUT -i lo -j ACCEPT | |||
#on autorise le multicast DNS sur IP (pas d'adress mac en OUTPUT) et le port 5353 sinon gnome plente a l'arret! | |||
#iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 224.0.0.0/24 -j ACCEPT | |||
#iptables -A INPUT -i eth0 -d 192.168.1.0/24 -s 224.0.0.0/24 -j ACCEPT | |||
# on log ce qui est stopper | |||
#iptables -A INPUT -i eth0 -j LOG -m limit --limit 1/d --log-prefix="INPUT Final: " --log-level debug | |||
#iptables -A INPUT -i eth0 -j LOG --log-prefix="N1 INPUT Final: " --log-level debug | |||
#=================================SECTION OUTPUT============================================================= | |||
# policy defaut | |||
iptables -P OUTPUT DROP | |||
#=========================================================================================================== | |||
#règle de filtrage | |||
#Pour émettre un service Cupsys | |||
iptables -A OUTPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT | |||
#Service DNS | |||
#Contacter un DNS, surtout si le réseau local en comporte un, est important, | |||
#même pour les services DNS sur Internet, | |||
#entres autres avec votre FAI ; il faut donc ouvrir les protocoles TCP et UDP | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 53 -m owner --uid-owner $id -j ACCEPT | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --dport 53 -m owner --uid-owner $id -j ACCEPT | |||
#Service SaMBa | |||
# EPMAP => définit toutes les RPC ! | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $id -j ACCEPT | |||
iptables -A OUTPUT -p udp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $id -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 135 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 135 -j ACCEPT | |||
# NetBios-NS | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 137 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 137 -j ACCEPT | |||
# NetBios-DGM => exploration du réseau (basé sur SMB browser service) | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 138 -j ACCEPT | |||
# NetBios-SSN => partage fichiers, imprimantes par Microsoft | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 139 -j ACCEPT | |||
# SMB/IP => partage fichiers, imprimantes par SaMBa | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 445 -j ACCEPT | |||
#iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 445 -j ACCEPT | |||
#Service SSH | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 22 -m owner --uid-owner $id -j ACCEPT | |||
#Service FTP | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 21 -m owner --uid-owner $id -j ACCEPT | |||
#Ce proteger contre les ping , mai en permettre quelque un | |||
iptables -A OUTPUT -p icmp -m limit --limit 16/d -j ACCEPT | |||
#de cette manière, une erreur ICMP passera, mais votre passerelle ne répondra pas aux reste ICMP. | |||
iptables -A OUTPUT -p icmp -m state --state RELATED -j ACCEPT | |||
#Ouverture des port pour les navigateurs | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 21,80,81,82,83,84,8080 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#laisser msn sortire fichier compris | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 1863,6891 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#laisser sortire IRC | |||
iptables -A OUTPUT -p tcp --dport 6667 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#Les e-mail | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 119,110,25 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
#on autorise le transfere dans le reseau local ceci est a éviter ! | |||
#iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT | |||
#on autorise le loopack | |||
iptables -A OUTPUT -o lo -j ACCEPT | |||
#on autorise le multicast DNS sur IP (pas d'adress mac en OUTPUT) et le port 5353 sinon gnome plente a l'arret! | |||
#iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 224.0.0.0/24 -j ACCEPT | |||
#iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -s 224.0.0.0/24 -j ACCEPT | |||
#iptables -A OUTPUT -o eth0 -j ACCEPT | |||
#iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -j ACCEPT | |||
# Le service xvnc4viewer (mode graphique de pc a pc) | |||
#iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 5900 -j ACCEPT | |||
# on log ce qui est stopper | |||
#iptables -A OUTPUT -o eth0 -j LOG --log-prefix="N2 OUTPUT Final: " --log-level debug | |||
echo "!! Chargement terminer !!" | |||
;; | |||
root) | |||
#==================================================================================================================== | |||
#==================================================================================================================== | |||
# ROOT ID 0 | |||
#==================================================================================================================== | |||
#==================================================================================================================== | |||
MAC="-m mac --mac-source 00:0A:EE:55:22:2F" | |||
MACROUTEUR="-m mac --mac-source 00:00:00:00:00:00" | |||
RL="192.168.0.0/16" | |||
idroot="0" | |||
echo "!! PASSAGE EN MODE ROOT !!" | |||
echo "!! Effacement !!" | |||
#On efface les regles pour root | |||
# | |||
# On remet la police par défaut à ACCEPT | |||
# | |||
iptables -P INPUT ACCEPT | |||
iptables -P FORWARD ACCEPT | |||
iptables -P OUTPUT ACCEPT | |||
# | |||
# On remet les polices par défaut pour la table NAT | |||
# | |||
iptables -t nat -P PREROUTING ACCEPT | |||
iptables -t nat -P POSTROUTING ACCEPT | |||
iptables -t nat -P OUTPUT ACCEPT | |||
# | |||
# On vide (flush) toutes les règles existantes | |||
# | |||
iptables -F | |||
iptables -t nat -F | |||
# | |||
# Et enfin, on efface toutes les chaînes qui ne | |||
# sont pas à defaut dans la table filter et nat | |||
iptables -X | |||
iptables -t nat -X | |||
echo "!! Chargement un moment s'il vou plaît !!" | |||
#============================================================================================ | |||
# policy defaut | |||
iptables -P INPUT DROP | |||
#============================================================================================ | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 53 -j ACCEPT | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 53 -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 22 -j ACCEPT | |||
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 21 -j ACCEPT | |||
iptables -A INPUT -p icmp -m limit --limit 16/d -j ACCEPT | |||
iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-ports 21,80,81,82,83,84,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-port 1863,6891 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp --sport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT -p tcp -m multiport --source-port 119,110,25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 5900 -j ACCEPT | |||
iptables -A INPUT -i lo -j ACCEPT | |||
#=================================SECTION OUTPUT============================================================= | |||
# policy defaut | |||
iptables -P OUTPUT DROP | |||
#=========================================================================================================== | |||
iptables -A OUTPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 53 -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --dport 53 -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -p udp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 22 -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 21 -m owner --uid-owner $idroot -j ACCEPT | |||
iptables -A OUTPUT -p icmp -m limit --limit 16/d -j ACCEPT | |||
iptables -A OUTPUT -p icmp -m state --state RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 21,80,81,82,83,84,8080 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 1863,6891 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp --dport 6667 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -p tcp -m multiport --destination-port 119,110,25 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | |||
iptables -A OUTPUT -o lo -j ACCEPT | |||
echo "!! Chargement terminer !!" | |||
;; | |||
stop) | |||
echo -n "Stopping $DESC: " | |||
# | |||
# On remet la police par défaut à ACCEPT | |||
# | |||
iptables -P INPUT ACCEPT | |||
iptables -P FORWARD ACCEPT | |||
iptables -P OUTPUT ACCEPT | |||
# | |||
# On remet les polices par défaut pour la table NAT | |||
# | |||
iptables -t nat -P PREROUTING ACCEPT | |||
iptables -t nat -P POSTROUTING ACCEPT | |||
iptables -t nat -P OUTPUT ACCEPT | |||
# | |||
# On vide (flush) toutes les règles existantes | |||
# | |||
iptables -F | |||
iptables -t nat -F | |||
# | |||
# Et enfin, on efface toutes les chaînes qui ne | |||
# sont pas à defaut dans la table filter et nat | |||
iptables -X | |||
iptables -t nat -X | |||
echo "$NAME." | |||
;; | |||
*) | |||
N=/etc/init.d/$NAME | |||
echo "Usage: /etc/init.d/fw {start|stop|root} " $DAEMON >&2 | |||
exit 1 | |||
;; | |||
esac | |||
exit 0 | |||
---- | |||
Fin du script | |||
Voila c'es tun exemple a adapter selon vos besoin. ici j'efface les regle aux depart pour eviter par la suite de taper un /etc/ini.d/fw stop puis un /etc/ini.d/fw start! | |||
Quand a root il ne devrai pas pouvoire sortire !!!!! | |||
attention eglament a la vertion d'iptables ici j'ai la vertion 1.3.5 avec les module aproprier. | |||
un peut de doc :) | |||
http://www.linux-france.org/prj/inetdoc/guides |
Version du 9 novembre 2006 à 08:40
Comment bien tirer parti d'un réseau local, d'internet, les trucs sur le mail, etc.
Truc script shell pour le par feux iptables
Je propose un petit script qui aidera les débutant pour iptables avec un ou 2 lien a disposition
il est loin d'être complet, il gere que les regles de bases, INPUT, OUTPUT. ce qui suffi largement sous linux, pour les experts il n'on pas besoin de ce script.
Q.-Déja pourquoi un script ? R.-Parce qu'il permet d'être transportable, donc il est possible de le sauvgarder et de le modifier facilment.
Le scripte avec les commantaires :) Début du script
- !/bin/sh
PATH=/usr/eth0cal/sbin:/usr/eth0cal/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin/iptables DAEMON=/etc/init.d/fw NAME=fw ID=$$ DESC="Par Feux 1.13" FAMOPTS="-T 0" set -e
case "$1" in
start)
- variable ceci facilite la lisibilité et permet de modifier facilment les paramettres les plus #courament utiliser.
MAC="-m mac --mac-source XX:XX:XX:XX:XX:XX"
- note: n'est pas indispansable!
MACROUTEUR="-m mac --mac-source XX:XX:XX:XX:XX:XX" RL="192.168.0.0/16"
- l'id de l'utilisateur en console taper :id pour le connaître
id="1000"
echo "Démarage de $DESC Pour l'user $id"
- Mise a zero des regle (par précaution)
- On remet la police par défaut à ACCEPT
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
- On remet les polices par défaut pour la table NAT
iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT
- On vide (flush) toutes les règles existantes
iptables -F iptables -t nat -F
- Et enfin, on efface toutes les chaînes qui ne
- sont pas à defaut dans la table filter et nat
iptables -X iptables -t nat -X
- ============================================================================================
- policy defaut
iptables -P INPUT DROP
- ============================================================================================
- règle de filtrage
- Pour émettre un service Cupsys
- iptables -A INPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT
- Service DNS
- Contacter un DNS, surtout si le réseau local en comporte un, est important,
- même pour les services DNS sur Internet,
- entres autres avec votre FAI ; il faut donc ouvrir les protocoles (TCP) et UDP
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 53 -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 53 -j ACCEPT
- Service SaMBa
- EPMAP => définit toutes les RPC !
iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 135 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 135 -j ACCEPT
- NetBios-NS
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 137 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 137 -j ACCEPT
- NetBios-DGM => exploration du réseau (basé sur SMB browser service)
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 138 -j ACCEPT
- NetBios-SSN => partage fichiers, imprimantes par Microsoft
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 139 -j ACCEPT
- SMB/IP => partage fichiers, imprimantes par SaMBa
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 445 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 445 -j ACCEPT
- Service SSH
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 22 -j ACCEPT
- Service FTP
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 21 -j ACCEPT
- Ce proteger contre les ping , mai en permettre quelque un
iptables -A INPUT -p icmp -m limit --limit 16/d -j ACCEPT
- de cette manière, une erreur ICMP passera, mais votre passerelle ne répondra pas aux reste ICMP.
iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT
- Ouverture des port pour les navigateurs
iptables -A INPUT -p tcp -m multiport --source-ports 21,80,81,82,83,84,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- laisser msn sortire fichier compris
iptables -A INPUT -p tcp -m multiport --source-port 1863,6891 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- laisser sortire IRC
iptables -A INPUT -p tcp --sport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- Les e-mail
iptables -A INPUT -p tcp -m multiport --source-port 119,110,25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- on autorise le transfere dans le reseau local ceci est a éviter !
- iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT
- Le service xvnc4viewer (mode graphique de pc a pc)
iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 5900 -j ACCEPT
- loopack
iptables -A INPUT -i lo -j ACCEPT
- on autorise le multicast DNS sur IP (pas d'adress mac en OUTPUT) et le port 5353 sinon gnome plente a l'arret!
- iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 224.0.0.0/24 -j ACCEPT
- iptables -A INPUT -i eth0 -d 192.168.1.0/24 -s 224.0.0.0/24 -j ACCEPT
- on log ce qui est stopper
- iptables -A INPUT -i eth0 -j LOG -m limit --limit 1/d --log-prefix="INPUT Final: " --log-level debug
- iptables -A INPUT -i eth0 -j LOG --log-prefix="N1 INPUT Final: " --log-level debug
- =================================SECTION OUTPUT=============================================================
- policy defaut
iptables -P OUTPUT DROP
- ===========================================================================================================
- règle de filtrage
- Pour émettre un service Cupsys
iptables -A OUTPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT
- Service DNS
- Contacter un DNS, surtout si le réseau local en comporte un, est important,
- même pour les services DNS sur Internet,
- entres autres avec votre FAI ; il faut donc ouvrir les protocoles TCP et UDP
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 53 -m owner --uid-owner $id -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --dport 53 -m owner --uid-owner $id -j ACCEPT
- Service SaMBa
- EPMAP => définit toutes les RPC !
iptables -A OUTPUT -p tcp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $id -j ACCEPT iptables -A OUTPUT -p udp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $id -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 135 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 135 -j ACCEPT
- NetBios-NS
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 137 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 137 -j ACCEPT
- NetBios-DGM => exploration du réseau (basé sur SMB browser service)
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 138 -j ACCEPT
- NetBios-SSN => partage fichiers, imprimantes par Microsoft
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 139 -j ACCEPT
- SMB/IP => partage fichiers, imprimantes par SaMBa
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 445 -j ACCEPT
- iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 445 -j ACCEPT
- Service SSH
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 22 -m owner --uid-owner $id -j ACCEPT
- Service FTP
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 21 -m owner --uid-owner $id -j ACCEPT
- Ce proteger contre les ping , mai en permettre quelque un
iptables -A OUTPUT -p icmp -m limit --limit 16/d -j ACCEPT
- de cette manière, une erreur ICMP passera, mais votre passerelle ne répondra pas aux reste ICMP.
iptables -A OUTPUT -p icmp -m state --state RELATED -j ACCEPT
- Ouverture des port pour les navigateurs
iptables -A OUTPUT -p tcp -m multiport --destination-port 21,80,81,82,83,84,8080 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- laisser msn sortire fichier compris
iptables -A OUTPUT -p tcp -m multiport --destination-port 1863,6891 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- laisser sortire IRC
iptables -A OUTPUT -p tcp --dport 6667 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- Les e-mail
iptables -A OUTPUT -p tcp -m multiport --destination-port 119,110,25 -m owner --uid-owner $id -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- on autorise le transfere dans le reseau local ceci est a éviter !
- iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT
- on autorise le loopack
iptables -A OUTPUT -o lo -j ACCEPT
- on autorise le multicast DNS sur IP (pas d'adress mac en OUTPUT) et le port 5353 sinon gnome plente a l'arret!
- iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 224.0.0.0/24 -j ACCEPT
- iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -s 224.0.0.0/24 -j ACCEPT
- iptables -A OUTPUT -o eth0 -j ACCEPT
- iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -j ACCEPT
- Le service xvnc4viewer (mode graphique de pc a pc)
- iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 5900 -j ACCEPT
- on log ce qui est stopper
- iptables -A OUTPUT -o eth0 -j LOG --log-prefix="N2 OUTPUT Final: " --log-level debug
echo "!! Chargement terminer !!"
;;
root)
- ====================================================================================================================
- ====================================================================================================================
- ROOT ID 0
- ====================================================================================================================
- ====================================================================================================================
MAC="-m mac --mac-source 00:0A:EE:55:22:2F" MACROUTEUR="-m mac --mac-source 00:00:00:00:00:00" RL="192.168.0.0/16" idroot="0" echo "!! PASSAGE EN MODE ROOT !!" echo "!! Effacement !!"
- On efface les regles pour root
- On remet la police par défaut à ACCEPT
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
- On remet les polices par défaut pour la table NAT
iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT
- On vide (flush) toutes les règles existantes
iptables -F iptables -t nat -F
- Et enfin, on efface toutes les chaînes qui ne
- sont pas à defaut dans la table filter et nat
iptables -X iptables -t nat -X echo "!! Chargement un moment s'il vou plaît !!"
- ============================================================================================
- policy defaut
iptables -P INPUT DROP
- ============================================================================================
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 53 -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --sport 53 -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MACROUTEUR -s $RL -d $RL -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT iptables -A INPUT -p udp -m multiport --source-port 135,137,138,445 $MAC -s $RL -d $RL -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 22 -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 21 -j ACCEPT iptables -A INPUT -p icmp -m limit --limit 16/d -j ACCEPT iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-ports 21,80,81,82,83,84,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-port 1863,6891 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --sport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport --source-port 119,110,25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT $MAC -m state --state NEW,ESTABLISHED,RELATED -p TCP --sport 5900 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT
- =================================SECTION OUTPUT=============================================================
- policy defaut
iptables -P OUTPUT DROP
- ===========================================================================================================
iptables -A OUTPUT -m state --state NEW -p TCP --dport 631 -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 53 -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP --dport 53 -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -p udp -m multiport --destination-port 135,137,138,445,5900 -s $RL -d $RL -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 22 -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p TCP --dport 21 -m owner --uid-owner $idroot -j ACCEPT iptables -A OUTPUT -p icmp -m limit --limit 16/d -j ACCEPT iptables -A OUTPUT -p icmp -m state --state RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --destination-port 21,80,81,82,83,84,8080 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --destination-port 1863,6891 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 6667 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --destination-port 119,110,25 -m owner --uid-owner $idroot -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT echo "!! Chargement terminer !!" ;;
stop)
echo -n "Stopping $DESC: "
- On remet la police par défaut à ACCEPT
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
- On remet les polices par défaut pour la table NAT
iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT
- On vide (flush) toutes les règles existantes
iptables -F iptables -t nat -F
- Et enfin, on efface toutes les chaînes qui ne
- sont pas à defaut dans la table filter et nat
iptables -X iptables -t nat -X
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME echo "Usage: /etc/init.d/fw {start|stop|root} " $DAEMON >&2 exit 1 ;; esac
exit 0
Fin du script Voila c'es tun exemple a adapter selon vos besoin. ici j'efface les regle aux depart pour eviter par la suite de taper un /etc/ini.d/fw stop puis un /etc/ini.d/fw start! Quand a root il ne devrai pas pouvoire sortire !!!!!
attention eglament a la vertion d'iptables ici j'ai la vertion 1.3.5 avec les module aproprier.
un peut de doc :) http://www.linux-france.org/prj/inetdoc/guides
Sous-catégories
Cette catégorie comprend 4 sous-catégories, dont les 4 ci-dessous.
T
- Trucs courrier (8 P)
- Trucs Internet (3 P)
- Trucs transfert de fichiers (6 P)
- Trucs web (17 P)
Pages dans la catégorie « Trucs Réseau »
Cette catégorie comprend 39 pages, dont les 39 ci-dessous.
A
C
- Trucs:Changer le hostname
- Trucs:Client Linux avec Serveur d\'impression Windows
- Trucs:Commande pour reconnecter une livebox
- Trucs:Configuration de bind chrooté sur Mandrake 9.1
- Trucs:Configurer inetd.conf
- Trucs:Configurer sshdfilter sur une Mandriva2008.0 pour qu'il travaille avec shorewall comme pare-feu
- Trucs:Connection SSH sans mot de passe
- Trucs:Connexion avec Freetelecom (en cas de probleme)
- Trucs:Connexion avec un serveur Novell
- Trucs:Conversion decimal hexadecimal
- Trucs:Créer un serveur de stream en Shell uniquement