BASH   169

configuration-firewall

Guest on 28th September 2021 02:43:30 PM

  1. #!/bin/sh
  2. ##
  3. # ASR8 - TP1 : firewall - iptables
  4. # Alexis Akial - Arnaud Jullemier - Édouard Lumet - Dorian Pigeau
  5. ##
  6. ##
  7.  
  8. IPTABLES=/sbin/iptable# On remet à  zéro le pare-feu en supprimant toutes les règles. On peut également écrire $IPTABLES -X et $IPTABLES -F. Cette façon de faire permet de rendre compte de toutes les chaînes et tables.
  9. nes et tables.
  10.  $IPTABLES -t filter -F
  11.  $IPTABLES -t nat -F
  12.  $IPTABLES -t mangle -F
  13.  $IPTABLES -t raw -F
  14.  $IPTABLES -t filter -P INPUT ACCEPT
  15.  $IPTABLES -t filter -P OUTPUT ACCEPT
  16.  $IPTABLES -t filter -P FORWARD ACCEPT
  17.  $IPTABLES -t nat -P PREROUTING ACCEPT
  18.  $IPTABLES -t nat -P POSTROUTING ACCEPT
  19.  $IPTABLES -t nat -P OUTPUT ACCEPT
  20.  $IPTABLES -t nat -P INPUT ACCEPT
  21.  $IPTABLES -t mangle -P PREROUTING ACCEPT
  22.  $IPTABLES -t mangle -P OUTPUT ACCEPT
  23.  $IPTABLES -t mangle -P POSTROUTING ACCEPT
  24.  $IPTABLES -t mangle -P FORWARD ACCEPT
  25.  $IPTABLES -t mangle -P INPUT ACCEPT
  26.  $IPTABLES -t raw -P OUTPUT ACCEPT
  27.  $IPTABLES -t raw -P PREROUTING ACCEPT
  28.  echo "Pare-feu - Remise à  zéro" ; sleep 1
  29.  echo "Pare-feu - Suppression des r# Interdictions : on commence par appliquer la politique DROP pour les trois chaînes
  30. r les trois chaînes
  31.  $IPTABLES -t filter -P INPUT DROP
  32.  $IPTABLES -t filter -A INPUT -j LOG --log-level info
  33.  $IPTABLES -t filter -P FORWARD DROP
  34.  $IPTABLES -t filter -A FORWARD -j LOG --log-level info
  35.  $IPTABLES -t filter -P OUTPUT DROP
  36.  $IPTABLES -t filter -A OUTPUT -j LOG --log-level info
  37.  echo "Pare-feu - Interdictions générales établies" ; sleep 1
  38.  echo "Pare-feu - Activation de la jour# Loopback
  39. (log)" ; sleep 1
  40.  
  41. # Loopback
  42.  $IPTABLES -t filt# on accepte tout le trafic entrant de l'interface de loopback (lo)
  43. l'interface de loopback (lo)
  44.  echo "Pare-feu - Autorisation l# Modprob : on charge les modules modprobe pour statefull
  45. odules modprobe pour statefull
  46.  modprobe ip_conntrack
  47.  modprobe ip_conntrack_ftp
  48.  echo "Pare-feu - Chargement de# Trafic d'entrée :
  49.  sleep 1
  50.  
  51. # Trafic d'entrée :
  52.  $IPTABLES -t filter -A FORWARD -m state --stat# on accepte sur la chaîne FORWARD (toutes interfaces) toutes les connexions établies (SYN), notre machine faisant office de routeur
  53. re machine faisant office de routeur
  54.  $IPTABLES -t filter -A FORWARD -p tcp --tcp-flags ALL SYN,ACK,FIN,RST -m limit --limit 5/second -j ACCEPT
  55.  echo "Pare-feu - Autorisation des connexions établies en entrée (statefull)" ; sleep 1
  56.  echo "Pare-feu - Limitation de la fréqu# Pings (ICMP)
  57. TCP (SYN flood)" ; sleep 1
  58.  
  59. # Pings (ICMP)
  60.  $IPTABLES -A INPUT -p# on accepte en entrée sur la chaîne INPUT (interface d'entrée) tous les paquets ICMP en y appliquant une fréquence de réception max
  61. en y appliquant une fréquence de ré# on accepte aussi les pings sur la chaîne FORWARD (toutes interfaces)
  62. les pings sur la chaîne FORWARD (toutes interfaces)
  63.  echo "Pare-feu - Autorisation des pings (ICMP) établie" ; sleep 1
  64.  echo "Pare-feu - Limitat# Sortie autorisée
  65. ce de réception des pings" ; sleep 1
  66.  
  67. ## on accepte tout en sortie, sur la chaîne OUTPUT (table filter)
  68. n accepte tout en sortie, sur la chaîne OUTPUT (table filter)
  69.  echo "Pare# Services à  autoriser en entrée
  70. s en # Autoriser HTTP/HTTPS/SMTP/DNS pour la DMZ
  71.   autoriser en entrée
  72.  
  73.   # Autoriser HTTP/HTTPS/SMTP/DNS pour la DMZ
  74.   $IPTABLES -A FORWARD -p tcp -d 192.168.10.0/24 --dport 80 -j ACCEPT
  75.   $IPTABLES -A FORWARD -p tcp -d 192.168.10.0/24 --dport 443 -j ACCEPT
  76.   $IPTABLES -A FORWARD -p tcp -d 192.168.10.0/24 --dport 25 -j ACCEPT
  77.   $IPTABLES -A FORWARD -p tcp -d 192.168.10.0/24 --dport 53 -j ACCEPT
  78.   $IPTABLES -A FORWARD -p udp -d 192.168.10.0/24 --dport 53 -j ACCEPT
  79.   echo "Pa#On autorise SSH au niveau du routeur pour une machine de l'Intranet
  80. eep 1
  81.  
  82.   #On autorise SSH au niveau du routeur pour une machine de l'Intranet
  83.   $IPTABLES -A INPUT -p tcp -s 192.168.11.2 --dport 22 -j ACCEPT
  84.   echo "Pare-feu - Autorisations particulières en entrée depuis l'Intranet établies"# Affiche les règles IPTABLES
  85. ise en place des règles terminée [OK]" ; sleep 2
  86.  
  87.  
  88. # Affiche les règles IPTABLES
  89.  echo "\n

Raw Paste


Login or Register to edit or fork this paste. It's free.