Bonjour
J'étais venu il y a deux mois pour désactiver le routage IP afin de durcir la sécurité du réseau ( http://forums.fr.ixus.net/viewtopic.php ... +++routage ). Mais visiblement, personne ne l'avait tenté, donc je me suis attelé à la tâche .
Et c'est possible: cela fonctionne parfaitement à mon boulot depuis un mois et demi, donc je me permet de vous faire part de ce travail au cas ou cela interesserai des personnes.
Le but de la manoeuvre:
Supprimer tout routage IP entre Internet et les postes de mon réseau afin de durcir la sécurité. Tous les flux sont filtrés par Squid et il y a déconnexion complète entre les PC du réseaux et l'extérieur.
La manoeuvre se déroule en trois temps:
1- Désactivation du routage IP au niveau du noyau kernel:
Il s'agit de remplacer dans le fichier /etc/sysctl.conf à la ligne 1:
"net.ipv4.ip_forward=1" par "net.ipv4.ip_forward=0"
2- Réécriture du fichier de routage du firewall:
Il faut réécrire le fichier de configuration du firewall afin que celui-ci accepte tout le trafic provenant du réseau local ou de la loopback, et seulement le trafic " de réponse" en provenance de l'Internet.
Le routage IP FORWARD est donc complètement désactivé.
Les directives "stop" "reload" et "restart" ont été aussi supprimé, car à mon sens, le firewall ne doit jamais être arrêté.
Le fichier ainsi épuré est beaucoup plus lisible donc plus sûr (moins de possibilité de mettre une faille).
Pour moi, cela donne ceci:
*************************************************************************************
#!/bin/sh
#
# $Id: rc.firewall,v 1.7.2.8 2004/11/30 20:51:37 alanh Exp $
eval $(/usr/local/bin/readhash /var/ipcop/ppp/settings)
eval $(/usr/local/bin/readhash /var/ipcop/ethernet/settings)
# See how we were called.
case "$1" in
start)
# Flush all rules and delete all custom chains
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -X
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -X
# Set up policies
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
# Reset all IPTABLES counters
/sbin/iptables -t filter -Z
# Allow everything from the loopback and the trusted "GREEN_DEV" interface
/sbin/iptables -t filter -A INPUT -i $GREEN_DEV -j ACCEPT
/sbin/iptables -t filter -A INPUT -i lo -j ACCEPT
# Allow any related traffic coming back from the Internet to the server only if destination port is above 1024
# (client random ports numbers)
/sbin/iptables -t filter -A INPUT -i $RED_DEV -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $RED_DEV -p udp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow any related icmp traffic coming back from the Internet to the server
/sbin/iptables -t filter -A INPUT -i $RED_DEV -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
;;
stop)
;;
reload)
;;
restart)
;;
*)
echo "Usage: $0 {start|stop|reload|restart}"
exit 1
;;
esac
exit 0
************************************************************************************
3- Ajouter un port fowarder pour les autres services non gérés par Squid (pop, ftp etc...)
Il s'agit ici de faire un transfert de port pour les autres services comme pop et smtp pour la messagerie. C'est ce que j'ai fait.
Voilà.
Ensuite, j'ai ajouté un filtrage des sites sous Squid (création d'un white list), et je crois que j'ai tout blindé!! Etant responsable de données sensibles, j'ai préféré mettre le paquet!!
Les PC derrière le PC IPCop étant complètement déconnectés d'Internet, je pense que la sécurité a été fortement durci, ce que je désirais.
En espérant que cela servira,
amicalement
CC
PS: POUR FRANK: Oui, tu avais raison, Franck, quand on veut quelquechose, rien de tel que de se plonger les mains dans le cambouis. Mais étant un débutant, j'ai eu un peu d'appréhension au départ. Désolé.