« Catégorie:Trucs Réseau » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
m (Truc script shell pour le par feux iptables)
m (truc maintes et maintes fois écrit et pas mis au bon endroi)
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 26 décembre 2006 à 10:34

Comment bien tirer parti d'un réseau local, d'internet, les trucs sur le mail, etc.

Sous-catégories

Cette catégorie comprend 3 sous-catégories, dont les 3 ci-dessous.

T

Pages dans la catégorie « Trucs Réseau »

Cette catégorie comprend 38 pages, dont les 38 ci-dessous.