Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
debian:iptables [2020/04/16 15:50] erreur32debian:iptables [2022/11/08 16:43] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
- http://www.kultur-frankreich.de/wiki/doku.php?id=serveur_dedie:iptables  +====== Firewall IpTables ====== 
-Firewall IpTables +  
-<div class="level1">+**Configuration** 
 +  
 +Exemple de configuration d'iptables \\ 
 +Créer le dossier **/etc/firewall** dans lequel on placera un fichier //init_iptables.sh// 
  
-</div>+servant à la configuration du firewall, et un fichier flush_iptables.sh , servant à vider les règles (flush).\\
  
-Configuration +Exemple de fichier init_iptables.sh (commenter les règles inutiles): \\
-<div class="level2"> +
- Exemple de configuration d'iptables :  Créer le dossier  <strong> /etc/firewall </strong>  dans lequel on placera un fichier  <strong> init_iptables.sh </strong>  servant à la configuration du firewall, et un fichier  <strong> flush_iptables.sh </strong> , servant à vider les règles (flush).+
  
-Exemple de fichier **init_iptables.sh** (commenter les règles inutiles) : 
  
-```+<code>
 #!/bin/bash #!/bin/bash
 # IP réservées # IP réservées
- 
 RESERVED_NET="0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 3.0.0.0/8 4.0.0.0/8 5.0.0.0/8 7.0.0.0/8 10.0.0.0/8 14.0.0.0/8 RESERVED_NET="0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 3.0.0.0/8 4.0.0.0/8 5.0.0.0/8 7.0.0.0/8 10.0.0.0/8 14.0.0.0/8
 23.0.0.0/8 27.0.0.0/8 31.0.0.0/8 36.0.0.0/8 37.0.0.0/8 39.0.0.0/8 41.0.0.0/8 42.0.0.0/8 58.0.0.0/8 59.0.0.0/8 23.0.0.0/8 27.0.0.0/8 31.0.0.0/8 36.0.0.0/8 37.0.0.0/8 39.0.0.0/8 41.0.0.0/8 42.0.0.0/8 58.0.0.0/8 59.0.0.0/8
Ligne 30: Ligne 29:
 183.0.0.0/8 184.0.0.0/8 185.0.0.0/8 186.0.0.0/8 187.0.0.0/8 189.0.0.0/8 190.0.0.0/8" 183.0.0.0/8 184.0.0.0/8 185.0.0.0/8 186.0.0.0/8 187.0.0.0/8 189.0.0.0/8 190.0.0.0/8"
 echo "Paramétrage des règles du firewall..." echo "Paramétrage des règles du firewall..."
- 
 #### Initialisation  #### Initialisation 
 # Ignore les ping envoyés par broadcasts ou multicasts # Ignore les ping envoyés par broadcasts ou multicasts
-      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts +echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 # Interdit toute connexion entrante ou sortante # Interdit toute connexion entrante ou sortante
 iptables -P INPUT DROP iptables -P INPUT DROP
Ligne 40: Ligne 37:
 iptables -P OUTPUT DROP iptables -P OUTPUT DROP
 echo "- Interdire toute connexion entrante ou sortante : [OK]" echo "- Interdire toute connexion entrante ou sortante : [OK]"
- 
 # Vide toutes les règles et tables # Vide toutes les règles et tables
 iptables -F iptables -F
Ligne 52: Ligne 48:
 iptables -t mangle -X iptables -t mangle -X
 echo "- Vider toutes les règles et tables : [OK]" echo "- Vider toutes les règles et tables : [OK]"
- 
 # Création de nouvelles chaines pour loguer et droper # Création de nouvelles chaines pour loguer et droper
 iptables -N LOG_DROP_INPUT iptables -N LOG_DROP_INPUT
Ligne 67: Ligne 62:
 iptables -A INPUT -p tcp ! --syn -m state --state NEW,INVALID -j REJECT iptables -A INPUT -p tcp ! --syn -m state --state NEW,INVALID -j REJECT
 echo "- Rejeter les connexions sans bit SYN : [OK]" echo "- Rejeter les connexions sans bit SYN : [OK]"
- 
 # Ne casse pas les connexions établies # Ne casse pas les connexions établies
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 echo "- Ne pas casser les connexions établies : [OK]" echo "- Ne pas casser les connexions établies : [OK]"
- 
 ##### Règles d'autorisation ###### ##### Règles d'autorisation ######
- 
 # Autorise loopback # Autorise loopback
 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i lo -j ACCEPT
 iptables -A OUTPUT -o lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
 echo "- Autoriser loopback : [OK]" echo "- Autoriser loopback : [OK]"
- 
 # SSH # SSH
 iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/hour -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/hour -j ACCEPT
Ligne 85: Ligne 76:
 iptables -A INPUT -p tcp --dport 32 -j ACCEPT iptables -A INPUT -p tcp --dport 32 -j ACCEPT
 echo "- Autoriser SSH entrant : [OK]" echo "- Autoriser SSH entrant : [OK]"
- 
 # Ping # Ping
 iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
 iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
 echo "- Autoriser PING entrant/sortant : [OK]" echo "- Autoriser PING entrant/sortant : [OK]"
- 
 # NTP # NTP
 iptables -A OUTPUT -p udp --dport 123 -j ACCEPT iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
 echo "- Autoriser NTP sortant : [OK]" echo "- Autoriser NTP sortant : [OK]"
- 
 # DNS # DNS
 iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
Ligne 101: Ligne 89:
 iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT
 echo "- Autoriser DNS entrant/sortant : [OK]" echo "- Autoriser DNS entrant/sortant : [OK]"
- 
 # HTTP # HTTP
 iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 echo "- Autoriser HTTP entrant/sortant  : [OK]" echo "- Autoriser HTTP entrant/sortant  : [OK]"
- 
 # HTTPS # HTTPS
 iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
 iptables -A INPUT -p tcp --dport 8443 -j ACCEPT iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
 echo "- Autoriser HTTPS entrant : [OK]" echo "- Autoriser HTTPS entrant : [OK]"
- 
 # FTP # FTP
-```modprobe ip_conntrack_ftp+modprobe ip_conntrack_ftp
 iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
 iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT
Ligne 119: Ligne 104:
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 echo "- Autoriser FTP entrant/sortant : [OK]" echo "- Autoriser FTP entrant/sortant : [OK]"
- 
 # Mail # Mail
 iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT
Ligne 164: Ligne 148:
 iptables -A OUTPUT -j LOG_DROP_OUTPUT iptables -A OUTPUT -j LOG_DROP_OUTPUT
 echo "Terminé."  echo "Terminé." 
-```+</code>
  
-Fichier  <strong> flush_iptables.sh </strong : +Fichier **  flush_iptables.sh**    : 
-```+<code>
 #!/bin/bash #!/bin/bash
 echo -n "Réinitialisation des règles du firewall..." echo -n "Réinitialisation des règles du firewall..."
Ligne 189: Ligne 173:
 iptables -t mangle -X iptables -t mangle -X
 echo " [OK]" echo " [OK]"
-```+</code>
  
-Créer le fichier de chargement du firewall  <strong> /etc/init.d/firewall </strong>:  +Créer le fichier de chargement du firewall **   /etc/init.d/firewall** :  
- +<code>
-```+
 #!/bin/bash #!/bin/bash
 # Lancement du script de Firewall # Lancement du script de Firewall
Ligne 228: Ligne 211:
  
 exit  exit 
-```+</code>
  
 **Rendre ces 3 fichiers exécutable :** **Rendre ces 3 fichiers exécutable :**
-```+<code>
 chmod +x /etc/firewall/init_iptables.sh chmod +x /etc/firewall/init_iptables.sh
 chmod +x /etc/firewall/flush_iptables.sh chmod +x /etc/firewall/flush_iptables.sh
 chmod +x /etc/init.d/firewall  chmod +x /etc/init.d/firewall 
-```+</code>
  
 - Ajouter ce script au démarrage :  **update-rc.d firewall defaults**  - Ajouter ce script au démarrage :  **update-rc.d firewall defaults** 
Ligne 242: Ligne 225:
 ====== Vérifier la configuration ====== ====== Vérifier la configuration ======
  
-<div class="level2"> +Pour tester, on peut utiliser **nmap** depuis une machine distante (//sous linux comme sous windows//)
- Pour tester, on peut utiliser  <strong> nmap </strong>  depuis une machine distante (sous linux comme sous windows).  Sous Debian :  Installer  <strong> nmap </strong>  :  +
-``` apt-get update +
-    apt-get install nmap  +
-``` +
-     +
- Tester :  nmap -vv xxx.xxx.xxx.xxx  +
- Les logs sont placés dans le fichier  <strong> /var/log/messages </strong>  +
- +
  
-**Ressources** +- Sous Debian :  Installer **nmap** 
-<html> +   
-<div class="level2"+<code
-<ul> + apt-get update 
-<li class="level1"><div class="li">  Tutoriel Dedibox :   http://assistance.dedibox.fr/documentation/doku.php?id=admin:iptables </div> + apt-get install nmap  
-</li+</code
-<li class="level1"><div class="li">  Tutoriel Iptables   http://iptables-tutorial.frozentux.net/fr/book1.html </div> +   
-</li> +- Tester  nmap -vv xxx.xxx.xxx.xxx  \\ 
-<li class="level1"><div class="li">  How To Iptables :   http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html </div> + 
-</li> + Les logs sont placés dans le fichier **/var/log/messages**.  
-<li class="level1"><div class="li">  Documentation Multilingue de Netfilter et Iptables :   http://www.netfilter.org/documentation/ </div> +  
-</li> +>>  https://www.kultur-frankreich.de/wiki/doku.php?id=serveur_dedie:iptables 
-<li class="level1"><div class="li">  Bible française pour apprendre les bases de la sécurité sous Linux :   http://olivieraj.free.fr/fr/linux/information/firewall/ </div> +
-</li> +
-<li class="level1"><div class="li">  Rusty's Remarkably Unreliable Guides :   http://people.netfilter.org/~rusty/unreliable-guides/ </div> +
-</li> +
-<li class="level1"><div class="li">  Tutorial Labo-Linux de l'école Supinfo :   http://www.labo-linux.org/index.php?page=essentiels&id=478 </div> +
-</li> +
-<li class="level1"><div class="li">  Tutorial sur Lea linux   http://www.lea-linux.org/cached/index/Reseau-secu-iptables.html </div> +
-</li> +
-</ul> +
-</html>+
    
-{{tag>debian iptables}}+{{tag>debian iptables ip secu iptables}}
  • debian/iptables.1587045048.txt
  • Dernière modification : 2020/04/16 15:50
  • de erreur32