Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% ont trouvé ce document utile (0 vote)
190 vues5 pages

TP 5 Corrigé

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1/ 5

École Nationale d’Ingénieurs de Carthage ENI-CAR

2 ING Inf
H.HERMASSI AU: 2014-2015

UE : Administration Systèmes & Réseaux


TP-5 : Administration et intégration du réseau dans un système Linux

I- Configuration TCP/IP de Linux

1- Il est possible, sous Linux, de créer des agrégats de cartes réseaux. En cas
dedéfaillance d’une carte, une autre peut prendre le relais, ou encore n cartes peuvent
fonctionner de manière simultanée. Les cartes se nomment bond0, bond1, etc. Créez
un fichier ifcfg-bond0 dans /etc/sysconfig/network-scripts. Remplissez-le comme tout
autre fichier de configuration réseau.

DEVICE=bond0
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.25
BOOTPROTO=static

2- L’agrégat, ou bonding, nécessite le chargement du module « bonding ». Les


paramètres de ce module déterminent le mode de fonctionnement de l’agrégat.
L’option « mode » du module prend la valeur 1 pour un backup : si la première carte
cesse de fonctionner, la seconde prend le relais, et vice versa. Modifiez le fichier de
configuration /etc/modprobe.conf

alias bond0 bonding


options bond0 mode=1

3- Les deux cartes eth0 et eth1 vont faire partie de l’agrégat. Modifiez les fichiers de
configuration de chacune des cartes en conséquence.

DEVICE=eth2
HWADDR=00:1B:2C:3D:4E:5F
ONBOOT=yes
TYPE=Ethernet
MASTER=bond0
SLAVE=yes

Administration Systèmes & Réseaux 1 TP-5


4- Activez l’agrégat avec la commande ifup

# ifup bond0

5- Vérifiez l’état du bonding

# cat /proc/net/bonding/bond0
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx

Slave Interface: eth1


MII Status: up
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx

II- Quelques commandes réseau

But : manipuler les commandes ping et traceroute pour déterminer le fonctionnement du


réseau.

1- Émettez un seul ping vers l’adresse de votre choix, par exemple linuxfr.org, et vérifiez
le code retour de la commande.

# ping -c 1 linuxfr.org
PING linuxfr.org (88.191.250.104) 56(84) bytes of data.
64 bytes from linuxfr4 (88.191.250.104): icmp_seq=1 ttl=59
time=6.43 ms

--- linuxfr.org ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms


rtt min/avg/max/mdev = 6.439/6.439/6.439/0.000 ms
# echo $?
0

2- Le code retour 0 indique que la machine distante a répondu. Écrivez une ligne de
commande permettant de tester si un serveur répond, et si non de sortir du programme
avec un message d’erreur.

# ping -c 1 linuxfr.org >/dev/null 2>&1 || { echo "Le serveur ne


répond pas"; exit 1; }

Administration Systèmes & Réseaux 2 TP-5


3- Deux serveurs de données sont situés sur des sites différents. Un serveur quelconque,
où qu’il soit, veut déterminer le serveur le plus proche pour limiter le trafic réseau et
le nombre de passerelles à passer. Il va pour cela utiliser traceroute et les options -q 1
(une requête par saut) et -n (affichage des « hops » au format simple).

# traceroute -q 1 -n server1

1 10.x.y.247 0.619 ms

2 10.x.y.2 0.956 ms

3 10.x.y.8 1.028 ms

4 172.x.y.101 1.979 ms

4- Déterminer le plus court trajet.

Pour déterminer le plus court trajet, il suffit de compter le nombre de sauts :

S1=$(traceroute -q 1 -n $SERVER1 2>/dev/null | wc -l)

S2=$(traceroute -q 1 -n $SERVER2 2>/dev/null | wc -l)

5- Comparez les deux valeurs et déterminez le serveur le plus proche à placer dans la
variable SERVER. C’est donc le serveur dans cette variable qu’il faudra utiliser
pour optimiser les accès.

[ $SERVER1 -ge $SERVER2 ] && SERVER=$SERVER2 || SERVER=$SERVER1

III- Services réseau

But : contrôler divers services réseaux.

1- Vous voulez savoir à quel service est associé le port 137. Cherchez l’information dans
le fichier /etc/services. Ce port est utilisé pour la résolution de noms Netbios
(Microsoft, Samba).

# grep "137/" /etc/services

netbios-ns 137/tcp #NETBIOS Name Service

netbios-ns 137/udp

2- Toutes distributions confondues, désactivez, s’il est présent, le service xinetd telnet.

Rendez-vous dans /etc/xinetd.d, ouvrez le fichier telnet et modifiez la ligne suivante :

disable = yes

Administration Systèmes & Réseaux 3 TP-5


Relancez xinetd pour relire la configuration.

3- Le service sshd autorise la connexion de root. Vous voulez l’éviter. Modifiez la


configuration de sshd en conséquence. Le fichier de configuration est
/etc/ssh/sshd_config.

Modifiez le paramètre suivant :

PermitRootLogin no

Ou commentez la ligne tout simplement, et relancez sshd.

4- Votre machine dispose de divers programmes démarrés qui établissent des connexions
réseau. L’une d’elles, vous ne savez pas laquelle, est connectée sur le port distant 1863.
Comment trouver le processus associé?

Une méthode consiste à utiliser netstat pour lister les connexions en cours et les
processus associés :

# netstat -A inet -p -n | grep 1863

tcp 0 0 192.x.y.z 207.46.27.19:1863 ESTABLISHED

10505/kopete

Une autre solution, qui n’a pas été abordée dans le chapitre, est l’utilisation de lsof
avec le paramètre -i. Puisque tout est fichier, les connexions réseau le sont aussi :

# lsof -i : 1863

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

kopete 10505 seb 15u IPv4 132412 0t0 TCP slyserver:33097


IV- Sécurité réseau

But : vérifier les ports, la configuration du pare-feu et des TCP wrappers.

1- Lancez nmap sur votre propre machine. Comparez les résultats avec ceux de netstat
–A inet -a. Quelle est la principale différence ?

Nmap scanne les ports ouverts sur votre machine, pas les connexions sortantes.

Netstat donne la liste des ports locaux et distants ouverts, et les processus associés.

Mais surtout nmap fournit quand il peut le déterminer le nom réel et les versions des
services et du système d’exploitation testés.

Nmap est un outil de sécurité et aussi un outil de hacking.

Administration Systèmes & Réseaux 4 TP-5


2- Un produit comme Wireshark (ex -Ethereal) permet de « sniffer » un réseau : il
est à l’écoute de tout le trafic, peut l’enregistrer, le filtrer, etc. Deux services
tournent sur un serveur : telnetd et sshd. Si vous écoutez le trafic de et vers ce
serveur, vous devriez remarquer quelque chose. Quoi ?

Le trafic à destination et depuis le port 22 est illisible : il est crypté. Il n’y a pas de
moyen simple de récupérer ou d’analyser le contenu.

Par contre le trafic du port 23 est totalement lisible : la communication n’est pas
sécurisée.

Tout passe en clair, dont les mots de passe. Que devez-vous faire ?
Désactivez le service telnetd.

3- Vous avez le choix entre les TCP Wrappers et mettre en place une protection de
type pare-feu. Quel principe doit guider votre solution ?

Le pare-feu netfilter travaille au niveau des protocoles : il filtre les adresses, les ports,
les protocoles. Le contrôle d’accès se fait au niveau du noyau.

Les TCP Wrappers sont orientés, comme leur nom l’indique, TCP, donc ils agissent
sur la couche de transport, et les services binaires : le contrôle d’accès a lieu au
niveau du service.

4- Créez des règles netfilter qui interdisent aux utilisateurs toute connexion tcp sur
le port 23, sauf pour les machines du sous-réseau 192.168.1.0/24.

# iptables -A INPUT -p tcp --dport 22 -s ! 192.168.1.0/24 -j DROP

Administration Systèmes & Réseaux 5 TP-5

Vous aimerez peut-être aussi