Documentation technique groupe rush A
Conventions
Commandes
Dans cette documentation, les commandes à taper apparaissent dans un cadre comme
ceci:
linux1# ls -la
linux1# ps aux
freebsd1$ ping 192.168.200.4
Dans cet exemple, la signification des différents signes est la suivante:
- linux1 signifie que
la commande est à taper sur la machine linux1
- # signifie que la commande est à taper sous le
compte root
- $ signifie que la commande est à taper sousun
compte utilisateur qui ne possède pas de privilèges particuliers
Configuration noyau
Lorsqu'une configuration dans le noyau Linux est nécessaire, nous la
décrivons en donnant son chemin complet dans l'arborescence, par exemple:
- Power Management Options (ACPI, APM)
- Power Management Support
- Software Suspend (EXPERIMENTAL) <*>
- Suspend to disk support <M>
Le
<*> signifie que l'option est à
activer de manière statique dans le noyau. Le
<M> signifie que l'option est à compiler en tant
que module.
Glossaire
Les liens qui apparaissent comme ceci:
VLAN désignent une entrée de glossaire sur
laquelle il est possible de cliquer pour obtenir la définition d'un terme ou
d'un acronyme (le clic ouvre une nouvelle fenêtre).
Composition du groupe A
Sous-groupe A (Attaque) |
Nom | Prénom | Login | Rôle |
Plaskocinski | Thomas | plasko_t | Chef groupe, chef sous-groupe |
Neou | Nita | neou_n | |
Wastiaux | Luc | wastia_l | |
Vu | Hoang-anh-dung | vu_h | |
Benne | Jeremy | benne_j | |
Sous-groupe C (Cible) |
Nom | Prénom | Login | Rôle |
Limage | Nicolas | limage_n | |
Chevalier | Arthur | cheval_a | Chef sous-groupe |
Coudurier | Baptiste | coudur_b | |
Joubert | Thomas | jouber_t | |
Sokhna | Dieme | dieme_s | |
Sous-groupe D (Défense) |
Nom | Prénom | Login | Rôle |
Villette | Nicolas | villet_n | |
Ngo | Joel | ngo_j | |
Desticourt | Guillaume | destic_g | Chef sous-groupe |
De paix de coeur | Hugo | de-pai_h | |
Elie | Damien | elie_d | |
Configuration physique du réseau
Pour l'exercice, le réseau est configuré d'une façon spécifique. Les switches
qui fournissent sont configurés pour partitionner les ports, ainsi:
- Certains ports n'autorisent une connectivité que au sein d'un même VLAN
- Certains ports autorisent une connectivité vers l'extérieur, et donc vers
le proxy
Configuration temporaire
Certaines machines possèdent plusieurs interfaces et sont connectées à un cable
de chaque type dans l'objectif de relier les différents réseaux entre eux. Dans
un premier temps, pour le jour 1 et le jour 2, une configuration temporaire a
été mise en place, en effet:
- Tous les postes requièrent un accès à internet pour accéder aux
documentations online (web)
- Les postes requièrent une connection entre eux pour permettre l'échange de
fichiers, le debugging de connections (ping, tcpdump etc)
Nous avons donc mis en place la configuration suivante:
(cliquer sur l'image pour obtenir une vue en plein ecran (nouvelle fenetre))
Réalités matérielles
En pratique, le premier jour, le bocal nous a remis un plan du réseau dans son
état habituel, et non en configuration rush. Après quelques heures de
tatonnement et en utilisant
ping,
arping,
tcpdump, nous sommes
arrivés à une configuration qui nous permette de travailler correctement.
Configuration d'une machine Linux (2.4/2.6) en routeur NAT
Que ce soit pour les configuration temporaires ou pour la configuration finale,
nous utilisons des machines en tant que routeur. Nos routeurs utilisent
NAT, car
ne disposant pas de configuration spéciale à l'extérieur, nos adresses internes
ne sont pas routables derrière nos routeurs.
La configuration d'un routeur
sous Linux est assez simple, si on respecte les différentes étapes:
Configuration du noyau
Certaines options doivent être activées dans le kernel (ici la configuration est
donnée pour le noyau 2.6, sur le 2.4 les options sont les mêmes, mais ne se
trouvent pas forcément au même endroit):
- Device Drivers
- Networking Support
- Networking Options
- Network Packet Filtering
- IP: Netfilter Configuration
- IP Tables Support
- MASQUERADE Target Support <*>
Pour activer le routage NAT
Les commandes suivantes sont à taper:
routeur-linux# echo 1 > /proc/sys/net/ipv4/ip_forward
routeur-linux# iptables -t nat -A POSTROUTING -j MASQUERADE
Si une route par défaut n'existe pas, il faut l'ajouter:
routeur-linux# route add -net default gw 10.251.254.254 dev eth1
La machine
10.251.254.254 est la gateway par défaut pour le
mid-lab. Dans cet exemple,
eth1 est l'interface reliée au cable qui
dispose d'un accès vers l'extérieur sur le switch (n'est pas relié à un VLAN).
Configuration des clients
Les clients se configurent de la façon suivante:
client# route add -net default gw 192.168.30.1 dev eth0
Notez que l'adresse que nous avons donné à la gateway est une adresse privée,
non routable depuis l'extérieur (d'où l'intérêt du NAT pour nous)
Plan adressage IP
Zone attaque : 192.168.200/24
* .2 benne_j
* .3 neou_n
* .4 plasko_t
* .5 vu_h
* .6 wastia_l (routeur)
Zone admin : 192.168.100/24
* .100 jouber_t (routeur)
* .126
* .127
* .129
Zone ids : 192.168.1/24
* .3
* .7 villet_n (routeur)
* .9
* .10
Configuration des routeurs
ROUTEUR THOMAS [ZONE ADMIN] [MID 1.4 EST]
#
# eth0 vlan 192.168.100.100
# eth1 inet 10.251.153.137
ifconfig eth0 192.168.100.100
ifconfig eth1 10.251.153.137 netmask 255.255.0.0
route add -net default gw 10.251.254.254 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.251.155.115 dev eth1
route add -net 192.168.200.0 netmask 255.255.255.0 gw 10.251.155.115 dev eth1
# ROUTEUR LUC [ZONE ATTAQUE] [MID 1.3 EST]
#
# eth0 inet 10.251.155.118
# eth1 vlan 192.168.200.6
ifconfig eth1 192.168.200.6
ifconfig eth0 10.251.155.118 netmask 255.255.0.0
route add -net default gw 10.251.254.254 dev eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.251.155.115 dev eth0
route add -net 192.168.100.0 netmask 255.255.255.0 gw 10.251.155.115 dev eth0
# ROUTEUR NICOLAS [ZONE IDS]
#
# eth0 vlan 192.168.1.7
# eth1 inet 10.251.155.115
ifconfig eth0 192.168.1.7
ifconfig eth1 10.251.155.115 netmask 255.255.0.0
route add -net default gw 10.251.254.254 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
route add -net 192.168.100.0 netmask 255.255.255.0 gw 10.251.153.137 dev eth1
route add -net 192.168.200.0 netmask 255.255.255.0 gw 10.251.155.118 dev eth1