[Tutoriel] Désactivation du routage IP

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[Tutoriel] Désactivation du routage IP

Messagepar cassiusclay » 01 Juil 2005 16:16

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é. :?
cassiusclay
Matelot
Matelot
 
Messages: 9
Inscrit le: 21 Avr 2005 11:28

Messagepar cabugs » 04 Juil 2005 10:16

Bonjour cassiusclay,

Je pense que ta politique par défaut de tout laisser passer en sortie (/sbin/iptables -P OUTPUT ACCEPT) n'est pas l'idéal si tu veux sécuriser à fond ton réseau. Si un des postes sur ton réseau local est infecté, le "malware" va pouvoir sortir tranquillement pour initier une connexion, non ?
Je me trompe peut-être car je ne connais pas bien squid et il fait peut être le nécessaire mais là je pense que tu introduis une faille dans ta sécurité.

Sinon pour le reste ça m'a l'air plutôt pas mal :wink:

librement et fraternellemnt
cabugs
Matelot
Matelot
 
Messages: 4
Inscrit le: 18 Mai 2005 11:06
Localisation: Reims

Messagepar antolien » 04 Juil 2005 15:07

Bonjour cabugs,

Pour information, la chaine output en accept autorise toute connexion vers l'exterieur issue d'un processus local. En aucun cas la sortie d'une interface vers une autre (chaine FORWARD qui est mise à DROP ce qui est correct)
De plus comme le routage ip est désactivé (ip_forward), même si la politique était en ACCEPT , les requettes des clients du lan ne passeraient pas.
D'ailleurs je ne sais pas où se trouve le masquerading sous ipcop, mais si c'est dans ce fichier, les connexions ne s'établiront même pas puisqu'elles sortiraient avec une ip privée.

Donc c'est plutot correct comme tuto.
Avatar de l’utilisateur
antolien
Amiral
Amiral
 
Messages: 3134
Inscrit le: 31 Août 2002 00:00

Messagepar cabugs » 05 Juil 2005 11:47

Pour information, la chaine output en accept autorise toute connexion vers l'exterieur issue d'un processus local. En aucun cas la sortie d'une interface vers une autre (chaine FORWARD qui est mise à DROP ce qui est correct)

Tout à fait d'accord là dessus antolien.
Mais les connexions de ses "hôtes LAN" sont redirigées vers SQUID. C'est donc Squid (processus local) qui va gérer les échanges avec l'extérieur donc le traffic passera bien par la chaîne OUTPUT non ? c'est donc là qu'il faut appliquer une bonne sécurité.
Après il ne faudrait ouvrir que les ports nécessaires et faire de l'IDS/IPS là-dessus. Après comme je l'ai dis précédemment c'est peut être bien géré par Squid.
cabugs
Matelot
Matelot
 
Messages: 4
Inscrit le: 18 Mai 2005 11:06
Localisation: Reims


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité