j'ai l'architecture suivante :

           --------------                             -------------
Internet - | Modem ADSL | - ppp0 - eth0 / 10.0.0.10 - | Alice     |
           | Alcatel ST |           http/ssh/smtp     | Linux 2.4 |
           --------------                             | Debian    |
                                                      -------------
                                                           |
                                                      eth1 / 10.1.0.10
                                                    masquerading / pop3
                                                           |
                                                        -------
                                                        | HUB |
                                                        -------
              -------------                              | | |
              | Kisscool  | tcp 6699 pour WinMX          | | |
              | 10.1.0.2  |------------------------------| | |
              |   WinXP   | udp 5237 pour WinMX            | |
              -------------                                | |
              -------------                                | |
              | Portable  |                                | |
              | 10.1.0.3  |--------------------------------| |
              | Win2000   |                                  |
              -------------                                  |
              -------------                                  |
              | New       |                                  |
              | 10.1.0.4  |----------------------------------|
              |   WinXP   |
              -------------

et la raison de mon mail c'est que j'ai des soucis avec iptables.
En cherchant un peu j'ai trouve je crois un bon script mais si l'un
d'entre vous s'y connait bien et peu jeter un coup d'oeil j'aprecierai :

######################## FIREWALL SCRIPT #####################
#! /bin/sh
# /etc/firewall.sh
#
# Firewall
#
# ppp0 : interface reliee a internet
# eth1 : lan (ip : 10.1.0.10)
# eth0 : dmz (ip : 10.0.0.10
# ip du serveur http de la dmz : 10.0.0.10

#efface les regles existantes des trois tables
iptables -F
iptables -t nat -F
iptables -t mangle -F

#Effacement des chaines définies
iptables -X
iptables -t nat -X

#Politique par defaut (tout rejeter)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

############ PROTECTION CONTRE LES ATTAQUES

#Protection contre l'echo en broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Protection contre les mauvais messages d'erreur
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

#Protection contre l'IP spoofing
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done

#Protection contre l'acceptation des messages ICMP redirigés
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done

#protection contre le syn-flood
iptables -A FORWARD -p TCP --syn -m limit --limit 1/s -j ACCEPT

#protection contre le test de port furtif
iptables -A FORWARD -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit
1/s -j ACCEPT

#protection contre le ping de la mort
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s
-j ACCEPT

#Loger les paquets spoofés et redirigés
for f in /proc/sys/net/ipv4/conf/*/log_martians;do
echo 1 > $f
done

############ FIN DE PROTECTION CONTRE LES ATTAQUES

# Chaines définies pour trier les paquets :
# dmz designe la dmz
# lan mon reseau local
# web le web
# fw le firewall
iptables -N lan-web
iptables -N lan-dmz
iptables -N lan-fw
iptables -N dmz-lan
iptables -N dmz-web
iptables -N dmz-fw
iptables -N web-dmz
iptables -N web-fw
iptables -N web-lan
iptables -N icmp-acc

# la loopback du firewall peut émetre dans tous les sens :
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# les connections invalides sont refusées :
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# les connections etablies ou assimilables sont acceptées en entrees comme
en forward :
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# on trie les paquets suivant les interfaces :
iptables -A INPUT -i ppp0 -j web-fw
iptables -A INPUT -i eth0 -j lan-fw
iptables -A INPUT -i eth0 -j dmz-fw
iptables -A INPUT -j DROP

# on trie les paquets en fonction de leur cheminement dans nos chaines
iptables -A FORWARD -i eth0 -o ppp0 -j lan-web
iptables -A FORWARD -i eth0 -o eth0 -j lan-dmz
iptables -A FORWARD -i eth0 -o ppp0 -j dmz-web
iptables -A FORWARD -i eth0 -o eth0 -j dmz-lan
iptables -A FORWARD -i ppp0 -o eth0 -j web-dmz
iptables -A FORWARD -i ppp0 -o eth1 -j web-lan

# Le firewall peut emettre comme il veut :
iptables -A OUTPUT -j ACCEPT

# On authorise les paquets ICMP
iptables -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type echo-request -j ACCEPT
iptables -A icmp-acc -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A icmp-acc -j DROP

# Reseau interne vers la dmz
iptables -A lan-dmz -p tcp --dport smtp -j ACCEPT
iptables -A lan-dmz -p tcp --dport pop3 -j ACCEPT
iptables -A lan-dmz -p udp --dport domain -j ACCEPT
iptables -A lan-dmz -p tcp --dport domain -j ACCEPT
iptables -A lan-dmz -p tcp --dport www -j ACCEPT
iptables -A lan-dmz -p tcp --dport https -j ACCEPT
iptables -A lan-dmz -p tcp --dport ssh -j ACCEPT
iptables -A lan-dmz -p tcp --dport auth -j ACCEPT
iptables -A lan-dmz -p tcp --dport ftp -j ACCEPT
iptables -A lan-dmz -p icmp -j icmp-acc
iptables -A lan-dmz -j DROP

# Du web vers la dmz :
iptables -A web-dmz -p tcp --dport www -j ACCEPT
#iptables -A web-dmz -p tcp --dport https -j ACCEPT
#iptables -A web-dmz -p tcp --dport ftp -j ACCEPT
iptables -A web-dmz -p icmp -j icmp-acc
iptables -A web-dmz -j DROP

# Du reseau local vers le web : on donne droit à tout
iptables -A lan-web -j ACCEPT
iptables -A lan-web -p icmp -j icmp-acc

# De la dmz vers le reseau local : tous les droits :
iptables -A dmz-lan -j ACCEPT
iptables -A dmz-lan -p icmp -j icmp-acc

# De la dmz vers le web, tous les droits également :
iptables -A dmz-web -j ACCEPT
iptables -A dmz-web -p icmp -j icmp-acc

# Du web vers le lan :
iptables -A web-lan -p tcp -d 10.1.0.2 --dport 6699 -j ACCEPT
iptables -A web-lan -p udp -d 10.1.0.2 --dport 5237 -j ACCEPT
iptables -A web-lan -j REJECT

# Règles pour les connections sur le firewall :
iptables -A web-fw -p icmp -j icmp-acc
iptables -A web-fw -j ACCEPT
iptables -A web-fw -p icmp -j icmp-acc
iptables -A dmz-fw -j ACCEPT
iptables -A lan-fw -p tcp --dport ssh -j ACCEPT
iptables -A lan-fw -p tcp --dport domain -j ACCEPT
iptables -A lan-fw -p udp --dport domain -j ACCEPT
iptables -A lan-fw -p tcp --dport smtp -j ACCEPT
#iptables -A lan-fw -p tcp --dport pop3 -j ACCEPT
iptables -A lan-fw -p ICMP --icmp-type ping -j ACCEPT
iptables -A lan-fw -p ICMP --icmp-type pong -j ACCEPT
iptables -A lan-fw -j icmp-acc
iptables -A lan-fw -j DROP

# On active le routage :
echo "1" > /proc/sys/net/ipv4/ip_forward

# Enfin on termine par les règles de nat entrant comme sortant :
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p TCP --dport 6699
--to-destination 10.1.0.2
iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p TCP --dport 5237
--to-destination 10.1.0.2
# celle la elle est inutile c'est juste pour simuler la DMZ
iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p TCP --dport www
--to-destination 10.0.0.10

#iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p TCP --dport ftp
--to-destination 10.1.0.10
#iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p TCP --dport https
--to-destination 10.1.0.10



Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à