« Parefeu Simplifié » : différence entre les versions

Aller à la navigation Aller à la recherche
1 021 octets ajoutés ,  il y a 13 ans
Ajout section NAT si variable ISROUTERNAT=true, suppression d'un if de Misterfreeze car erreur (mais peut-être nécessaire?)
(→‎Autoriser au cas par cas en sortie : Correction orthographique)
(Ajout section NAT si variable ISROUTERNAT=true, suppression d'un if de Misterfreeze car erreur (mais peut-être nécessaire?))
Ligne 32 : Ligne 32 :
### END INIT INFO
### END INIT INFO
   
   
# Exemple de configuration de pare-feu
#------------------------Explications----------------------------------#
#
#
# Défauts :
# Défauts :
Ligne 39 : Ligne 39 :
#  utilisez '-i INTERFACE' dans la variables $IPTABLES.
#  utilisez '-i INTERFACE' dans la variables $IPTABLES.
#
#
# - Par défaut, le script autorise tout en sortie. Pour changer ce comportement
# - Par défaut, le script autorise tout en sortie.  
veuillez indiquer les numéros de port en question dans les variables $REMOTE_TCP_SERVICES
Pour changer ce comportement veuillez indiquer les numéros
#                                                     et/ou    $REMOTE_UDP_SERVICES
de port en question dans les variables
#         $REMOTE_TCP_SERVICES
#   et/ou    $REMOTE_UDP_SERVICES
#
# - Pour configurer une machine routeur,
#  changez la valeur de la variable
#  ISROUTERNAT à true, ainsi que
#  les interfaces ethx et ethy selon votre configuration
#        ethx correspond à l'interface du LAN
#        ethy correspond à l'interface reliée à la truc-box
#
#
# description: Active/Désactive le pare-feu au démarrage
# description: Active/Désactive le pare-feu au démarrage
#
#
#---------------------------------------------------------------
#----------------------------------------------------------------------#
 
#------------------------VARIABLES-------------------------------------#
readonly IPTABLES=/sbin/iptables
readonly IPTABLES=/sbin/iptables
 
# Services que le système offrira au réseau, à séparer avec des espaces
# Services que le système offrira au réseau, à séparer avec des espaces
# ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222
# ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222
Ligne 57 : Ligne 67 :
REMOTE_TCP_SERVICES=""  
REMOTE_TCP_SERVICES=""  
REMOTE_UDP_SERVICES=""  
REMOTE_UDP_SERVICES=""  
 
# Pour une machine faisant office de routeur avec NAT,
# changer la valeur de la variable ISROUTERNAT à 1.
ISROUTERNAT=false
# ethx correspond à l'interface du LAN
# ethy correspond à l'interface reliée à la truc-box
ethx="eth1"
ethy="eth0"
#----------------------------------------------------------------------#
 
if ! [ -x $IPTABLES ]; then   
if ! [ -x $IPTABLES ]; then   
exit 0
exit 0
fi
fi
   
   
#----------------------------FONCTIONS---------------------------------#
fw_start () {
fw_start () {
   
   
Ligne 85 : Ligne 105 :
$IPTABLES -t filter -A INPUT -p icmp -j DROP
$IPTABLES -t filter -A INPUT -p icmp -j DROP
   
   
# Sortie autorisée, si aucun port autorisé en n'est défini
# Sortie autorisée, si aucun port autorisé en sortie n'est défini
         if [ ! -n "$REMOTE_TCP_SERVICES"] && [ ! -n "$REMOTE_UDP_SERVICES" ]; then
         if [ -z "$REMOTE_TCP_SERVICES"] && [ -z "$REMOTE_UDP_SERVICES" ]; then
                $IPTABLES -t filter -P OUTPUT ACCEPT
            $IPTABLES -t filter -P OUTPUT ACCEPT
         fi
         fi
   
   
Ligne 94 : Ligne 114 :
$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT
done
done
 
for PORT in $UDP_SERVICES; do
for PORT in $UDP_SERVICES; do
$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT
$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT
Ligne 107 : Ligne 127 :
$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
done
done
if [ -n "$REMOTE_TCP_SERVICES" ] || [ -n "$REMOTE_UDP_SERVICES" ] ; then
echo "Parefeu - Mise en place des règles : [OK]"
                && echo "Parefeu - Mise en place des règles : [OK]"
        fi
   
   
# Décommenter les lignes après les traits
if $ISROUTERNAT ; then
# pour une machine faisant office de routeur avec NAT
$IPTABLES -A INPUT -i $ethx -j ACCEPT
#
$IPTABLES -A INPUT -p icmp -j ACCEPT
# ethx correspond à l'interface du LAN
$IPTABLES -A FORWARD -i $ethy -o $ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
# ethy correspond à l'interface reliée à la truc-box
$IPTABLES -A FORWARD -o $ethy -j ACCEPT
# -------------------------------------------
$IPTABLES -t nat -A POSTROUTING -o $ethy -j MASQUERADE
echo "Parefeu - Routeur avec NAT : [OK]"
#$IPTABLES -A INPUT -i ethx -j ACCEPT
fi
#$IPTABLES -A INPUT -p icmp -j ACCEPT
#$IPTABLES -A FORWARD -i ethy -o ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
#$IPTABLES -A FORWARD -o ethy -j ACCEPT
#$IPTABLES -t nat -A POSTROUTING -o ethy -j MASQUERADE
#echo "Parefeu - Routeur avec NAT : [OK]"
   
   
# Toutes les autres connexions sont enregistrées dans syslog
# Toutes les autres connexions sont enregistrées dans syslog
Ligne 166 : Ligne 178 :
$IPTABLES -L --line-numbers
$IPTABLES -L --line-numbers
}
}
message_touvabien () {
echo "                    |//"
echo "                  (o o)"
echo "+------------oOO----(_)------------------+"
echo "|~~~~~~~~~~¤ Bonne nouvelle! ¤~~~~~~~~~~~|"
echo "|~~~~¤ Votre parefeu est configuré ¤~~~~ |"
echo "|~~~~~~~~~~~~¤ avec succès ¤ ~~~~~~~~~~~~|"
echo "----------------------oOO----------------+"
echo "                  |__|__|"
echo "                  || ||"
echo "                  ooO Ooo"
}
#----------------------------------------------------------------------#
   
   
case "$1" in
case "$1" in
Ligne 172 : Ligne 198 :
fw_stop  
fw_stop  
  fw_start
  fw_start
if [ $? -eq 0 ]; then
message_touvabien
fi
echo "done."
echo "done."
  ;;
  ;;
159

modifications

Menu de navigation