configuration d'un pare feu iptable personnel

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

configuration d'un pare feu iptable personnel

Messagepar paulriluma2 » 20 Jan 2008 12:38

Bonjour tout le monde
Je me suis conçu un petit parefeu fonctionnant avec Iptables.
Je fonctionne avec une sarge et une connection bas débit
(bon je sais, un parefeu sur une connection bas débit... mais au moins je serai paré pour quand j'aurai l'adsl...)
ça semble marcher correctement sauf que :
Je ne peux pas faire de transfert de fichier via ftp avec gFTP par exemple pour installer un site...
Je ne peux pas ouvrir la page d'administration de mon compte chez mon fournisseur d'accès en l'occurance club-internet. Ces pages fonctionnent avec ssl apparemment
J'ai par exemple bien essayé d'ajouter des lignes concernant ssl, mais comme ça ne correspond à aucun port listé dans le /etc/services, iptables me raconte que les lignes en questions sont erronées...
Donc ma question, c'est de savoir quoi faire pour ouvrir les connections sécurisées sur les pages de fournisseurs d'accès et les transferts ftp.
Voilà
Je vous mets là le parefeu en question... des fois que ça inspirerait quelqu'un
c'est conçu à partir de plusieurs parefeu proposés sur les site de trustonme et de lea linux et quelques autres documentations glanées sur le net.
Merci de toute suggestion
bonne continuation
Paul

#!/bin/sh

#fonction de chargement des modules
chargemd(){
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
echo "[les modules sont charges]"
}
#fonction de vidage des règles
vidage(){
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -F
echo "[toutes les regles sont effacees]"
}
#fonction de mise à zéro de iptable
zero(){
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
echo "[iptable permet tout partout]"
}
#fonction de mise en place du masquerading
nat(){
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
echo "[Le masquerading est en place]"
}
#surveillance minimale de ce que le parefeu interdit
jrnl(){
iptables -N LOG_DROP
iptables -A LOG_DROP #--log-prefix IPT ça n\'est pas reconnu
iptables -A LOG_DROP -j DROP
}
#régles par défaut sur la machine locale
deflo(){
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
echo "[iptable permet tout sur la machine locale]"
}
#règles par défaut sur le réseau local
defet(){
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o etho -j ACCEPT
echo "[iptable bloque l'exterieur et permet les mouvements interieurs au reseau]"
}
#regles suplementaires : ce que l'on permet
regles(){
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state NEW -m limit --limit 10/min -j ACCEPT

iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
iptables -A FORWARD -o etho -i ppp0 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport www -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport www -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport tftp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport tftp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport pop3 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport pop3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport pop3s -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport pop3s -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport smtp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport smtp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport irc -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport irc -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport domain -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport domain -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport domain -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport domain -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#pas de spoofing
if [ -e /proc/sys/net/ipv4/conf/all/ip_filter ];
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo > 1 $filtre
done
fi
echo "[pas de spoofing]"
#pas de synflood
if [ -e /proc/sys/net/ipv4/tcp_syncookies ];
then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
echo "[pas de synflood]"
}
#status : apperçu des regles en cours
status(){
iptables -L
iptables -t nat -L
}
jrnls(){
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
}
#programme du parefeu en lui-même
start(){
chargemd
vidage
zero
nat
jrnl
deflo
defet
regles
echo "[le parefeu demarre]"
}
#arret du parefeu avec conservation du masquerading
stop(){
vidage
zero
nat
echo "[le parefeu s'arrete et le masquerading reste]"
}
#redémarrage du marefeu
restart(){
stop
sleep 2
jrnl
deflo
defet
regles
echo "[le parefeu redemarre]"
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
restart
;;
'status')
status
;;
*) echo "[usage : { start | stop | restart | status }]"
esac
#EOF
paulriluma2
Matelot
Matelot
 
Messages: 3
Inscrit le: 20 Jan 2008 12:32

Messagepar jdh » 20 Jan 2008 12:56

Bonjour.

C'est bien de s'intéresser à iptables.

Perso, j'ai installé pas mal de Debian et c'est une distribution excellente.

Il y a un paquet très intéressant pour construire simplement un firewall : shorewall documenté sur http://www.shorewall.net/ . Ce paquet est le firewall des Mandrake (SNF, MNF) ...

Pour une Debian light (en mode texte), c'est assez simple de créer son firewall à partir de Shorewall même si la config est en mode texte.

En fait, j'ai aussi commencé par écrire moi-même des scripts iptables (sur Debian Potatoe puis très vite Woody). Après avoir regardé Shorewall, j'ai abandonné toute écriture de script.


Par exemple, dans Shorewall, on autorise ftp par un simple (et lisible)

accept lan net tcp ftp





Sinon je remarque

- les policies (-P) ne devraient pas être ACCEPT mais DROP (ou REJECT),
- je ne suis pas sur que les paquets icmp sont compatibles avec STATE,
- l'essentiel des règles concerne le firewall lui-même, il convient de filtrer en sortie le réseau local.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar paulriluma2 » 20 Jan 2008 14:33

Merci JDH
J'utilisais shorewall moi aussi
et puis j'ai eu envie de mieux comprendre le fonctinnement de base de tout ça
donc je m'esaie à ce petit script
alors d'abord pour tes indication
pour les premières règles
polices -P
j'ai au départ utiliser la tactique d'interdir tout avant de permettre et donc de mettre des drops sur les -P
ça ne marche pas
je ne sais si tu as testé cette tactique
mais j'ai testé plusieurs firewall proposés avec cette tactique et tout est bloqué !
Ou alors ce sont les autres règles proposées qui ne convenaient pas non plus...
quand le mets à ACCEPT j'ai l'extérieur voilà
bon ensuite
la recette icmp m'est venu de divers exemples de scripts et j'avais effectivement un doute mais je n'ai rien trouvé à ce sujet nulle part
puis
Pour la dernière remarque
Ben justement
peux-tu préciser en clair avec un exemple ?
donc de règle de filtrage du réseau local en sortie
bref il y a un truc que je ne pige pas dans la définition des cibles et ensuite dans l'ajout des règles
Merci de tout éclaircissement.
Paul
paulriluma2
Matelot
Matelot
 
Messages: 3
Inscrit le: 20 Jan 2008 12:32

Messagepar paulriluma » 20 Jan 2008 20:26

rebonjour
jdh merci pour ces indicatins mais je reviens sur ta dernière réflexion après avoir réfléchi à la chose sur le papier :
- l'essentiel des règles concerne le firewall lui-même, il convient de filtrer en sortie le réseau local.
je ne comprends pas ce que tu veux dire en fait
il me semblait contrôler les choses correctement
donc là j'ai l'impression de ne pas comprendre du tout ce que j'ai fait
et je dis ça après avoir relu pas mal de doc...
est-ce que tu peux préciser ce que tu indiques
merci d'avance
paul
paulriluma
Matelot
Matelot
 
Messages: 6
Inscrit le: 20 Jan 2008 12:27

Messagepar arapaho » 21 Jan 2008 00:41

Salut,

Concernant le comportement par défaut '-P' des chaînes, il suffit d'utiliser la cible DROP uniquement sur les chaînes de la table filter. Dans un premier temps, c'est "suffisant", au moins durant l'apprentissage des entrailles de netfilter. Utiliser un comportement DROP sur les chaînes des tables mangle, nat et raw est largement plus alambiqué.

Concernant les matches 'state' sur icmp, c'est tout à fait valide.

Concernant tes règles de transfert, 'forward', elles sont tout simplement trop permissives: tout est autorisé. Un filtrage plus important devrait être réalisé sur les paquets direction de ton réseau, évidemment, mais également en provenance de ton réseau.
La plupart des restrictions imposées concernent uniquement les chaînes INPUT et OUTPUT de la table filter. Ces chaînes traitent, respectivement, les paquets uniquement à DESTINATION et EMIS. Succinctement, un paquet à destination d'un hôte situé de l'autre côté du firewall passera certes par netfilter, mais ne traversera pas les chaînes INPUT ou OUTPUT, uniquement FORWARD. Par contre, une communication avec le firewall (un ping de celui-ci par exemple), passera uniquement par les chaînes INPUT et OUTPUT, jamais par FORWARD.

Concernant tes problèmes de connexions à certaines pages, il s'agit vraisemblablement du protocole https, soit des communications sur le port 443.

Est-ce plus clair ?
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar jdh » 21 Jan 2008 01:26

(Salut Arapaho).

Concernant les paquets icmp, il y a un champ "n° de séquence" (cf http://www.frameip.com/entete-icmp/ ). Celui-ci sert lors des ping (paquet icmp/ 8 suivi de icmp/0) : il s'agit du n° de ping qui montre la progression et éventuellement la perte de paquet.

Je peux imaginer que le module "state" peut tirer profit de ce n° de séquence. Seulement cela ne sert que pour le ping et non les autres types de paquets icmp. Donc AMHA strictement aucun intérêt parce que icmp est un protocole d'avertissement et pas vraiment de transport de données.

Néanmoins, quand j'utilisai Shorewall (je suis désormais passé à pfSense), je bannissais les paquets icmp autre que type 8 (en entrée).



Je confirme que DROP est le meilleur choix de "policies" (-P) : il est inutile de répondre "je ne traite pas ce paquet" (qui est d'ailleurs réalisé par un paquet icmp type 3 !).

Je confirme aussi qu'INPUT et OUTPUT ne concerne que le firewall tandis que la chaine FORWARD concerne le trafic traversant le firewall.

J'ajouterai dans un script type "service" (start/stop/...) la commande pour activer ou interdire le forward (echo 1|0 >/proc/sys/net/ipv4/ip_forward).

Ce qui m'avais convaincu dans Shorewall c'est la simplicité (ou limpidité) des règles iptables générées particulièrement claires à lire (iptables -vn -L).
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar paulriluma » 21 Jan 2008 09:43

Bonjour JDH et ARAPAHO
Je vous remercie de vos indicatins
Bon je vais réfléchir un peu plus à ce que vous dites là avant de dire que ce n'est pas clair
pour l'instant je ne comprends pas bien mais je viens juste de vous lire
donc je reviens plus tard avec une réponse et éventuellement de nouvelles questions...
merci d'avance
paul
paulriluma
Matelot
Matelot
 
Messages: 6
Inscrit le: 20 Jan 2008 12:27

Messagepar paulriluma » 21 Jan 2008 13:09

Bonjour tout le monde
Bon suite à vos remarques, j'ai fait divers essais.
je ne suis pas du tout sûr de bien comprendre en fait vos remarques d'une part et le fonctionnement d'iptables d'autre part. je n'ai aucune formation de base en informatique et je me débrouille en expérimentant les diverses documentations que je trouve. alors l'inconvénient c'est que souvent certaines bases m'échappent complètement...
Donc
je vais d'abord préciser l'organisation du réseau que je teste et que je tente de protèger derrière un petit parefeu. mon but est de mieux comprendre le fonctionnement d'iptable, autrement sous adsl je me remettrai derrière shorewall.

Bon : Mon réseau
là j'ai une première machine sous sarge 192.168.1.1 qui me sert de passerelle pour deux autres machines d'adresses 192.168.1.2 et 192.168.1.3. les deux machines sont sous linux, sarge et mandrake.
La machine 1 sert aussi de client pour le courrier de tout le monde, donc il y a clamav dessus.

J'ai donc fait plusieurs modifications sur mon script initial.
D'abord j'ai regroupé les variables des ports d'entrée et sorties comme suit :
#définition des variables de ports
defvar(){
tcpti="20,21,22,25,53,80,110,194,443,995"
tcpto="20,21,22,25,53,80,110,194,443,995"
udpti="21,22,53,69,80,443"
udpto="21,22,53,69,80,443"
}
de façon à pouvoir éliminer les répétitions de lignes de règles plus loin. et j'ai ajouté le port 443 pour permettre les relations à certaines pages : je n'ai aucun effet sur ce sujet, les pages spéciales de chez club-internet me sont toujours inaccessibles.
je rajoute le module defvar aux modules start et restart.
Ensuite j'ai ajouté une ligne à la fonction de mise en place du masquerading.
nat(){
echo > 1 /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
echo "[Le masquerading est en place]"
}
Ensuite, j'ai tenu compte de la confirmation selon laquelle il faut que la règle par défaut soit à DROP pour INPUT et pour FORWARD
Oui et bien je confirme que du coup je n'ai plus de communication avec l'extérieur depuis mon réseau local donc depuis 192.168.1.2 par exemple. ça marche sans histoire sur 192.168.1.1 la passerelle, mais pas sur les autres machines.
Donc j'ai les règles par défaut suivantes :
#règles par défaut sur le réseau local
defet(){
#politique par défaut
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#filtrage du réseau local
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o etho -j ACCEPT
echo "[iptable bloque l'exterieur et permet les mouvements interieurs au reseau]"
}
Ensuite pour tenir compte ou tenter de tenir compte des indications selon lesquelles il faudrait filtrer sur la chaine FORWARD et simplfier les écritures successives j'ai rédigés les règles suplémentaires comme suit :
#regles suplémentaires : les ports que l'on ouvre
regles(){
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state NEW -m limit --limit 10/min -j ACCEPT
#iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT #j'ai testé que ces deux lignes ne sont pas indispensables
#iptables -A FORWARD -o etho -i ppp0 -j ACCEPT#je les avais mises pour faire la jonction entre les interfaces ppp0 du modem externe bas débit et l'interface cate ethernet du réseau lan interne.
iptables -A INPUT -i ppp0 -p tcp -m multiport --sport $tcpti -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp -m multiport --dport $tcpto -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -m multiport --sport $udpti -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp -m multiport --dport $udpto -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -p tcp -m multiport --sport $tcpti -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp0 -i eth0 -p tcp -m multiport --dport $tcpto -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -p udp -m multiport --sport $udpti -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp0 -i eth0 -p udp -m multiport --dport $udpto -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Ben ça ne marche pas !!!
à chaque fois je fais /etc/init.d/parefeu.sh restart
Même en remettant la règle par défaut -P FORWARD -j ACCEPT !!!!
Donc honnêtement je reconnais que je n'y comprends rien du tout !
Je fais alors l'essai du parefeu sans la fonction regles : du coup je n'ai plus non plus le réseau externe depuis 192.168.1.1 : ping www.google.fr : unknown host
Donc ça veut dire que ce que je croyais avoir écrit pour le réseau local est en fait uniquement pour la passerelle ou le parefeu et que donc je n'ai rien écrit concernant le réseau interne !

Euh oui mais alors il faut écrire quoi ?

Finalement je trouve une faute de frappe sur un etho au lieu de eth0 mais en refaisant /etc/init.d/parefeu.sh restart ça ne marche pas.
Après plusieurs tests en éliminant des fonctions puis en les remettant, je reviens à la solution plus haut décrite et au lieu de faire un restart je fait un reboot : et là ça marche depuis la machine 192.168.1.2, j'ai même accès aux page spéciales et le transfert de fichier avec ftp.
Je fais un pibg depuis la passerelle c'est ok je vois des sites mais je ne peux toujours pas faire de transfert ftp avec gftp et je n'ai pas accès aux pages spéciale.
Donc seules la machines 192.168.1.1 est filtrée à doubles tour...
Bon
je ne suis pas du tout sûr d'avoir tout compris
donc j'attends encore vos critiques et analyses il faut écrire quoi pour ouvrir ce qu'il faut et protèger le réseau interne ?

De plus je voudrais savoir si vous connaissez un moyen de faire d*tester son installation par un site scannant le parefeu pour le tester ?
Voilà
Merci de toute indication parce que pour le moment ce n'est pas encore très clair pour moi tout cela
Ben c'est pas évident tout ça
à suivre
Paul
paulriluma
Matelot
Matelot
 
Messages: 6
Inscrit le: 20 Jan 2008 12:27

Messagepar arapaho » 21 Jan 2008 15:05

As-tu lu http://netfilter.org/documentation/index.html ?

A priori, je dirais que non. C'est louable de ta part de t'intéresser au comportement de netfilter, mais il faut un minimum de rigueur.

Avant de régler tes soucis de connexion, il est nécessaire que tu ais correctement assimilé les notions:
1 - de précédence des règles déclarées avec iptables,
2 - de tables et des chaines associées.

En effet, avec ton script, les paquets transitant par ton firewall, à destination ou en sortie de ce dernier atteignent au maximum la dernière règle de la fonction defet(). Aucune règle ajoutée après n'est parcourue. Tes règles sont toujours aussi permissives.

A toi de découvrir pourquoi en ayant écumé la documentation de Netfilter. Si jamais tu rencontres des problèmes supplémentaires ou si tu as trouvé pourquoi ton script n'est pas correct, tu pourras poser des questions plus précises une fois avalée la documentation de Netfilter.
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar jdh » 21 Jan 2008 15:41

Plus facile à lire pour un francophone : http://christian.caleca.free.fr/netfilter.html est assez bon !
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes


Retour vers Sécurité et réseaux

Qui est en ligne ?

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

cron