Merci! Grace à votre aide, j'ai beaucoup avancé!
Voici mon script actuel:
#! /bin/bash
# Affichage du message d'accueil:
echo -e "\n\n--- SCRIPT DE PARAMÊTRAGE DU FIREWALL ---\n"
# reinitialisation du firewall...
echo "reinitialisation du firewall"
sleep 1
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
echo " [fait]"
# Bloquage des ports
echo "bloquage des ports..."
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
echo " [fait]"
# Ouverture des ports Dom0:
echo "ouverture des ports Dom0..."
# autorisation des connexions établies
echo " - aurositation des connexions établies..."
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " [fait]"
# Autorisation du loopback
echo " - autorisation du loopback..."
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo " [fait]"
# Autorisation HTTP
echo " - autorisation HTTP..."
iptables -t filter -s 192.168.0.1 -A OUTPUT -p tcp --dport 80 -j ACCEPT
echo " [fait]"
# Autorisation HTTPS
echo " - autorisation HTTPS..."
iptables -t filter -s 192.168.0.1 -A OUTPUT -p tcp --dport 443 -j ACCEPT
echo " [fait]"
# Autorisation SSH
echo " - autorisation SSH..."
iptables -t filter -s 192.168.0.1 -A OUTPUT -p tcp --dport 22 -j ACCEPT
echo " [fait]"
# Autorisation DNS
echo " - autorisation DNS..."
iptables -t filter -s 192.168.0.1 -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -s 192.168.0.1 -A OUTPUT -p udp --dport 53 -j ACCEPT
echo " [fait]"
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 10.10.10.1/24 -o eth0 -j MASQUERADE
iptables -A OUTPUT -o 192.168.0.1 -d 10.10.10.1/24 -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -o 192.168.0.1 -d 10.10.10.1/24 -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -o 192.168.0.1 -d 10.10.10.1/24 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.1:80
Les principales modifications sont que j'ai enlevé toutes les lignes "IMPUT" qui ne servaint un peu à rien (ça ouvrait finalement des ports que j'avais pas besoin). J'ai aussi amélioré le filtrage pour que le firewall ne laisse passer pour les DomU que le port 80 (tcp) et 53 (tcp/udp).
Mais j'ai encore deux gros problèmes:
- n'est-ce pas un peu risqué de laisser le FORWARD sur la politique "accept"? n'y a t'il pas moyens de le filtrer un peu plus, par exemple avec ce type de commande
iptables -P FORWARD DROP
iptables -A FORWARD -o 192.168.0.1 -d 10.0.0.1/24 -j ACCEPT
(mais qui me bloque finalement toute la configuration précédente)
- je n'arrive pas à accéder au port 80 du domU d'ip 10.10.10.1 avec le dom0... Est-ce que c'est normal? que puis-je faire pour pouvoir y avoir accès?
j'ai essayé
iptables -t nat -A PREROUTING -s localhost -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:80
mais ça ne marche pas....