Bonjour,
je voudrais protéger un intranet avec un routeur filtrant sous Linux.
Pouvez-vous m'aider à y apporter les corrections adéquates?
J'utilise la version 1.3.5 de iptables (comment la mettre à jour?)
eth0 est l'interface connectée au réseau externe
eth1 est l'interface connectée au réseau interne(192.168.1.0/24)
#!/bin/sh
#
# config de base
#
# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]
# Initialization de la table NAT
#
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT (est-ce équivalent à MASQUERADE? parceque MASQUERADE ne prend pas)
iptables -t nat -P OUTPUT ACCEPT
echo - Initialisation de la table NAT : [OK]
# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
echo - Autoriser SSH : [OK]
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]
# Interdire tout par défaut
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
echo - Interdire tout par défaut : [OK]
#Autoriser toutes les connexions venant du routeur
iptables -A OUTPUT -m state --state ! INVALID -j ACCEPT
echo - Autoriser toutes les connexions venant du routeur : [OK]
#Autoriser toutes les connexions venant du reseau interne
iptables -t filter -A FORWARD -i eth1 -p ALL -j ACCEPT
echo - Autoriser toutes les connexions venant du reseau interne : [OK]
# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo - Autoriser loopback : [OK]
# Gestion des connexions entrantes autorisées
#
# HTTP
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8443 -j ACCEPT --to-destination 192.168.1.1
(ici je voudrais rediriger le trafic http vers le serveur web, mais une erreur est générée lorsque je tape ces commandes)
iptables -t filter -A FORWARD -p tcp -i eth0 -o eth1 --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth0 -o eth1 --dport 443 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth0 -o eth1 --dport 8443 -j ACCEPT
cho - Autoriser serveur Web : [OK]
# FTP
modprobe ip_conntrack_ftp
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j ACCEPT --to-destination 192.168.1.1
iptables -t filter -A FORWARD -p tcp -i eth0 -o eth1 --dport 20 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth0 -o eth1 --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo - Autoriser serveur FTP : [OK]
# Mail
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 109 -j ACCEPT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 143 -j ACCEPT --to-destination 192.168.1.1
iptables -t filter -A FORWARD -i eth0 -o eth1 -p tcp --dport 25 -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o eth1 -p tcp --dport 110 -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o eth1 -p tcp --dport 109 -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o eth1 -p tcp --dport 143 -j ACCEPT
echo - Autoriser serveur Mail : [OK]
#DNS
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j ACCEPT --to-destination 192.168.1.1
iptables -t filter -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
echo - DNS : [OK]
# Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP
echo - Bloquer le Spoofing : [OK]