# La on logue et on refuse le paquet iptables -N LOG_DROP iptables -A LOG_DROP -j LOG --log-level debug --log-prefix 'RULE 1 -- DROP ' iptables -A LOG_DROP -j DROP
# ici, on logue et on accepte le paquet iptables -N LOG_ACCEPT iptables -A LOG_ACCEPT -j LOG --log-level debug --log-prefix 'RULE 2 -- ACCEPT ' iptables -A LOG_ACCEPT -j ACCEPT
################### # Regles par defaut: # on reffuse les connexions entrantes iptables -P INPUT DROP # on refuse les connexions destinées à être forwardées iptables -P FORWARD DROP # les connexions sortantes sont refusées par défaut iptables -P OUTPUT DROP ###################
# Translation d'adresse pour tout ce qui sort vers l'internet iptables -A POSTROUTING -t nat -o $INTERNET -j MASQUERADE
# On accepte tout ce qui entre et sort de l'interface de loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au net iptables -A INPUT -i $INTERNET -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au lan iptables -A INPUT -i $LOCAL -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o $LOCAL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# on autorise le trafique web de partout iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 80 -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 443 -j ACCEPT
# Redirection du port 80 vers le port 3128 ( celui du poxy squid ) iptables -t nat -A PREROUTING -i $LOCAL -p tcp --dport 80 -j DNAT --to-destination $SERVEUR:3128 # Ici on refuse les entrantes et les paquets invalides iptables -A INPUT -i $INTERNET -m state --state NEW,INVALID -j LOG_DROP iptables -A OUTPUT -o $INTERNET -m state --state INVALID -j LOG_DROP
# Toutes les règles qui n'ont pas passé les règles du firewall seront refusées et loguées... iptables -A FORWARD -j LOG_DROP iptables -A INPUT -j LOG_DROP iptables -A OUTPUT -j LOG_DROP
après plusieurs essais je me suis rendu compte que si je commente les 3 dernières règles ainsi que iptables -P INPUT DROP et iptables -P FORWARD DROP tout marchait mais coté protection ca va carrément plus ! si vous voyez le problème... ca doit être tout con mais je vois pas ...
--------------- In a world without walls and fences, who needs Windows and Gates
Marsh Posté le 29-01-2007 à 14:03:15
slt,
j'installe une passerelle avec un firewall et un proxy squid mais je rencontre un problème au niveau du firewall :
LOCAL="eth0"
INTERNET="eth1"
PRIVATE="192.168.0.0/24"
SERVEUR="192.168.0.10"
# La on logue et on refuse le paquet
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-level debug --log-prefix 'RULE 1 -- DROP '
iptables -A LOG_DROP -j DROP
# ici, on logue et on accepte le paquet
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-level debug --log-prefix 'RULE 2 -- ACCEPT '
iptables -A LOG_ACCEPT -j ACCEPT
###################
# Regles par defaut:
# on reffuse les connexions entrantes
iptables -P INPUT DROP
# on refuse les connexions destinées à être forwardées
iptables -P FORWARD DROP
# les connexions sortantes sont refusées par défaut
iptables -P OUTPUT DROP
###################
# Translation d'adresse pour tout ce qui sort vers l'internet
iptables -A POSTROUTING -t nat -o $INTERNET -j MASQUERADE
# On accepte tout ce qui entre et sort de l'interface de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au net
iptables -A INPUT -i $INTERNET -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au lan
iptables -A INPUT -i $LOCAL -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $LOCAL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# on autorise le trafique web de partout
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 443 -j ACCEPT
# Redirection du port 80 vers le port 3128 ( celui du poxy squid )
iptables -t nat -A PREROUTING -i $LOCAL -p tcp --dport 80 -j DNAT --to-destination $SERVEUR:3128
# Ici on refuse les entrantes et les paquets invalides
iptables -A INPUT -i $INTERNET -m state --state NEW,INVALID -j LOG_DROP
iptables -A OUTPUT -o $INTERNET -m state --state INVALID -j LOG_DROP
# Toutes les règles qui n'ont pas passé les règles du firewall seront refusées et loguées...
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
après plusieurs essais je me suis rendu compte que si je commente les 3 dernières règles ainsi que iptables -P INPUT DROP et
iptables -P FORWARD DROP tout marchait mais coté protection ca va carrément plus !
si vous voyez le problème... ca doit être tout con mais je vois pas ...
---------------
In a world without walls and fences, who needs Windows and Gates