Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Administration Rseaux
Filire : SMI
Semestre : 6
1 Introduction
1.1
1.2
Netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Serveurs web
2.1
2.2
2.3
Protocole HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2
Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3
Code de retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4
Mthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5
Requte HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6
Rponse HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serveurs Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
2.3.1
Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2
Installation minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3
Vrification de linstallation . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4
2.3.5
Activer/dsactiver un module . . . . . . . . . . . . . . . . . . . . . . . .
2.3.6
Activer/dsactiver un site . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.7
Configuration de base
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.8
Sites virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.9
2.4
Scuriser apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Php et MySQL
3.1
3.2
13
PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1
Vrification de linstallation . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.2
Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.2
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.3
3.2.4
Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3
3.4
PhpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Serveur DHCP
18
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2
4.3
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4
4.3.1
Interface(s) dcoute(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3.2
Configuration du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3.3
Fonctionnement de DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5 ftp et ssh
23
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2
ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3
5.2.1
5.2.2
5.2.3
ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.1
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.2
5.3.3
5.3.4
28
ii
6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2
Le protocole NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.3
Ct serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.3.1
6.4
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Ct client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4.1
Montage au dmarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.5
NFS et la Scurit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.6
Le protocole SAMBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.6.1
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.6.2
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.6.3
6.6.4
La section globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.6.5
Le rpertoire personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.6.6
6.6.7
Utilitaires SAMBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.6.8
6.6.9
35
7.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3.1
Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.4
7.5
Ct client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.6
7.5.1
Vrification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.5.2
nslookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.5.3
8 Scurit
41
8.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.2
Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.2.1
8.2.2
Mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.3
8.4
iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.4.1
8.4.2
8.4.3
Test de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4.4
Test dentre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4.5
8.4.6
8.4.7
8.4.8
8.4.9
46
9.1
9.2
Mots de Passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.3
9.2.1
9.2.2
9.2.3
9.4
Routage statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.4.1
9.5
Activation de linterface . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Commande ip route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.5.2
Table de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
iv
Bibliographie
[1] Documentation SAMBA
Franais http: // doc. ubuntu-fr. org/ samba
Anglais https: // www. samba. org/ samba/ docs/
[2] Site officiel de wireshark https: // www. wireshark. org
[3] Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schtze. Introduction to
Information Retrieval. Cambridge University Press, New York, NY, USA, 2009.
http://www-nlp.stanford.edu/IR-book/
[4] Cdric Pruski. Une approche adaptative pour la recherche dinformation sur le Web.
Theses, Universit Paris Sud - Paris XI ; universit du Luxembourg, April 2009.
[5] Ian H. Witten, Marco Gori, and Teresa Numerico. Web Dragons : Inside the Myths of
Search Engine Technology. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
2007.
[6] A Little History of the World Wide Web. http://www.w3.org/History.html
[7] comScore Releases November 2014 U.S. Desktop Search Engine Rankings. http://www.
comscore.com/Insights/Market-Rankings/comScore-Releases-November-2014-U.
S.-Desktop-Search-Engine-Rankings
Chapitre 1
Introduction
1.1
1.2
Netstat
netstat -s | -a | -r | -n
Netstat fournit des statistiques sur les :
paquets mis ou reus
erreurs
collisions
protocoles utiliss
le nom et ltat des interfaces du systme
netstat i
1
1.3
Wireshark
Wireshark 1 est un outil danalyse des rseaux qui permet de capturer et danalyser les paquets
qui circulent sur le rseau. Il peut tre utilis pour captur les paquets qui circulent sur une
interface ou pour visualiser le contenu dun fichier qui contient des paquets capturs par un
autre utilitaire tel que tcpdump. Il est multi-plateforme, il fonctionne sous Linux, Windows,
MacOS, ...
Son interface se prsente comme suit :
2. Zone centrale : affiche les dtails dun paquet slectionn sous forme de couches (figure
suivante :)
3. Zone infrieure : prsente le paquet sous format octale et ASCII (figure suivante :)
Filtres
Il est possible de ne pas afficher tous les paquets on les filtrant. Par exemple, on peut afficher
juste les paquets http, en tapant http dans la zone Filter :. Il est possible aussi dutiliser des
expressions.
Exemples :
Filtre/expression
tcp
ip.src==192.168.1.2
ip.dst==192.168.1.1 && http
ip && !udp
Signification
afficher seulement les paquets TCP
afficher seulement les paquets qui sortent de 192.168.1.2
afficher les paquets HTTP qui partent vers 192.168.1.2
afficher les paquets IP mais nafficher pas les paquets UDP
Chapitre 2
Serveurs web
2.1
Protocole HTTP
2.1.1
2.1.2
Fonctionnement
2.1.3
Code de retour
1xx : Information
2xx : Succs (par exemple : 200 ok).
3xx : Redirection.
4
2.1.4
Mthodes
2.1.5
Requte HTTP
Une requte HTTP est un ensemble de lignes envoy au serveur par le navigateur. Elle comprend :
une ligne de requte prcise la mthode qui doit tre applique, et la version du protocole
utilise. La ligne comprend trois lments devant tre spars par un espace :
la mthode ;
lURL ;
la version du protocole utilis par le client (gnralement HTTP/1.0) ;
Exemple :
GET / HTTP/1.0
les champs den-tte de la requte : il sagit dun ensemble de lignes facultatives permettant de donner des informations supplmentaires sur la requte et/ou le client (Navigateur, systme dexploitation, ...).
2.1.6
Rponse HTTP
Une rponse HTTP est un ensemble de lignes envoyes au navigateur par le serveur. Elle
comprend :
Une ligne de statut : cest une ligne prcisant la version du protocole utilis et ltat du
traitement de la requte laide dun code et dun texte explicatif. La ligne comprend
trois lments devant tre spars par un espace :
La version du protocole utilis
Le code de statut
La signification du code
Les champs den-tte de la rponse : il sagit dun ensemble de lignes facultatives permettant de donner des informations supplmentaires sur la rponse et/ou le serveur.
Chacune de ces lignes est compose dun nom qualifiant le type den-tte, suivi de deux
points ( :) et de la valeur de len-tte
Le corps de la rponse : il contient le document demand
5
2.2
Serveurs Web
Principaux serveurs :
Apache
Microsoft : Internet Information Server (IIS)
nginx
gws (Google Web Server)
2.2.1
Daprs Netcraft 1 , le serveur apache est toujours les serveur web le plus utilis (voir figure
suivante).
Le tableau suivant, montre la part du march des principaux fournisseurs de serveurs web (selon
netcraft).
Dveloppeur
Apache
Microsoft
nginx
Google
12/2014
358 159 405
272 967 294
132 467 763
20 011 260
Pourcentage
39,11%
29,81%
14,47%
2,19%
1. http://survey.netcraft.com
01/2015
348 460 753
241 276 347
128 083 920
20 209 649
Pourcentage
39,74%
27,52%
14,61%
2,30%
Changement
0,63
-2,29
0,14
0,12
2.3
2.3.1
Comme on la vu dans la section prcdente, apache 2 est le serveur web le plus populaire sur
Internet. Il est robuste et extensible. Il est distribu sous une licence "Open source" (Licence
Apache).
Il est disponible sur plusieurs plateformes (Linux,windows, ... )
2.3.2
Installation minimale
Une installation minimale peut tre faite en ligne de commande de la faon suivante :
#sudo apt-get install apache2
2.3.3
Vrification de linstallation
2.3.4
conf-enabled/ : contient des fichiers de configuration activs. Il sont utiliss dans apache2.conf
par la ligne :
IncludeOptional conf-enabled/*.conf
ports.conf : directives de configuration pour les ports et les adresses IP dcoutes.
mods-available/ : contient une srie de fichiers .load et .conf. Un fichier .load contient les
paramtres de configuration ncessaires pour charger un module en question. Le fichier
.conf correspondant, les paramtres de configuration ncessaires pour utiliser le module
en question.
mods-enabled/ : pour utiliser un module (activer), il faut mettre un lien symbolique vers le
fichier .load (et .conf, sil existe) du module associ dans le dossier mods-available.
sites-available/ : mme chose que modsavailable/, mais cette fois pour les sites virtuels. Ce
nest pas oblig davoir le mme nom pour le site et le fichier.
sites-enabled/ : mme chose que modsenabled/.
magic : instructions pour dterminer le type MIME dun fichier (Multipurpose Internet
Mail Extensions - Extensions Multi-usages de la Messagerie par Internet). Par exemple
text/html et image/gif.
Remarque :
Par dfaut, un seul serveur est disponible (le serveur par dfaut). Il est disponible dans apache2.conf
par la ligne :
IncludeOptional sites-enabled/*.conf
2.3.5
Activer/dsactiver un module
Les commandes a2enmod et a2dismod sont disponibles pour activer ou dsactiver un module.
2.3.6
Activer/dsactiver un site
Les commandes a2ensite et a2dissite sont disponibles pour activer ou dsactiver un site. On
verra leurs utilisation dans les sections suivantes.
2.3.7
Configuration de base
Avant de commencer la configuration, il faut faire une sauvegarde des fichiers que vous voulez
modifier. Par exemple :
#cp apache2.conf apache2.conf.save
Port couter (ports.conf) :
Listen 80
Emplacement par dfaut des pages html : /var/www/html
mettre les fichiers concernant le site web dans ce rpertoire.
Pages par dfaut (mods-enabled/dir.conf ) :
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
2.3.8
Sites virtuelles
Apache permet de grer plusieurs sites web. Chaque site est appel serveur virtuel et possde
sa propre configuration.
Il y a deux types de serveurs virtuels :
Serveurs par nom ; les mmes sites utilisent la mme adresse IP. Par exemple :
IP
Nom
192.168.56.2 smi.ump.ma
192.168.56.2 sma.ump.ma
Serveurs par adresse IP ; chaque site utilise sa propre adresse IP. Par exemple :
IP
Nom
192.168.56.2
smi.ump.ma
192.168.56.10 sma.ump.ma
2.3.9
Dans cette exemple, nous allons configurer deux sites virtuels, le premier smi.ump.ma et le
deuxime sma.ump.ma. Les deux sites utilisent la mme adresse IP 192.168.56.2.
Il faut dclarer les deux noms dans le fichier /etc/hosts :
192.168.56.2
192.168.56.2
smi . ump . ma
sma . ump . ma
On pourra utiliser un serveur DNS pour dclarer les noms (voir chapitre concernant le DNS).
Il faut crer les rpertoires smi et sma associs dans /var/www/html :
# mkdir /var/www/html/smi
# mkdir /var/www/html/sma
Dans /etc/apache2/sites-available/, il faut crer deux fichiers : smi.conf et sma.conf
10
# a2ensite smi
# a2ensite sma
Aprs lactivation, il faut recharger le serveur apache en tapant la commande
# service apache2 reload
Les deux sites seront accessibles via les liens :
http://smi.ump.ma ou http://www.smi.ump.ma
http://sma.ump.ma ou http://www.sma.ump.ma
2.3.10
Dans cette exemple, nous allons configurer un nouveau site virtuel smp.ump.ma, qui utilise
une adresse IP diffrente.
Dans cette exemple, la machine doit tre muni, soit de plusieurs interfaces rseaux soit de
plusieurs adresses IP associes la mme interface rseau (on parle dIP aliasing).
IP aliasing
Pour affecter une seconde adresse IP une interface rseau, il faut excuter la commande :
# ifconfig eth0:0 192.168.56.10 up
Remplacez eth0 par une autre interface (par exemple eth1).
Linterface dispose, maintenant, de deux adresses distinctes :
Adresse IP :192.168.56.2
Alias IP : 192.168.56.10
A vrifier avec la commande :
# ifconfig
Pour rendre cette configuration permanente, il faut ajouter les lignes suivantes au fichier
/etc/network/interfaces :
auto eth0 : 0
i f a c e eth0 : 0 i n e t s t a t i c
address 192.168.56.10
netmask 2 5 5 . 2 5 5 . 2 5 5 . 0
Remarque : on peut ajouter autant dinterfaces quon veut (eth0:1, eth0:2 ...).
smp . ump . ma
www. smp . ump . ma
11
2.4
Scuriser apache
Apache est trs modulaire. Dans le chapitre suivant, on verra un module concernant php. Dans
cette section, on va utiliser un module important dans laspect scurit. Le module mod_ssl
ajoute la possibilit de crypter les communications entre le client et le serveur.
Le mode mod_ssl se trouve dans le package apache2-common. Pour lactiver, il faut taper
la commande :
sudo a2enmod ssl
suivie de la commande
sudo service apache2 restart
Aprs lactivation, il faut utiliser le prfixe https :// devant ladresse du serveur dans la barre
du navigateur (par exemple : https://192.168.56.2/).
Remarque : dans le chapitre prcdent, on a vu que le site officiel de wireshark (https:
//www.wireshark.org) utilise une connexion scuris.
12
Chapitre 3
Php et MySQL
3.1
PHP
PHP est un Langage de script interprt (non compil) spcialement conu pour le dveloppement dapplications web. Il peut tre intgr facilement au HTML 1 .
Pour installer la version 5 de PHP, il faut excuter la commande :
# sudo apt-get install php5 libapache2-mod-php5
Il faut ensuite redmarrer apache :
# sudo service apache2 restart
3.1.1
Vrification de linstallation
13
3.1.2
Utilisation
3.2
MySQL
MySQL est un systme de gestion de bases de donnes relationnel (SGBDR) libre, open-source
et gratuit. Il est performant et trs populaire. Il est multi-utilisateurs.
3.2.1
Installation
14
3.2.2
Documentation
Pour plus dinformations sur MySQL, veuillez consulter les sites : http://www.mysql.com/
et http://dev.mysql.com/doc/. Il existe aussi plusieurs livres concernant lutilisation de
MySQL. Vous pouvez appliquer ce que vous avez vu dans le cours de Bases de donnes .
3.2.3
Si vous avez oublier le mot de passe de root de MySQL, vous pouvez tablir un nouveau mot
passe en tapant la commande :
sudo dpkg-reconfigure mysql-server-5.5
Le dmon MySQL sera arrt et vous devez saisir un nouveau mot de passe. Aprs la saisie, le
dmon MySQL sera de nouveau dmarr.
3.2.4
Utilisation
3.3
Pour utiliser MySQL avec Php, il faut installer le paquet php5-mysql. Pour installer php5mysql, il faut taper la commande :
sudo apt-get install php5-mysql
Aprs linstallation de php5-mysql, vous pouvez utiliser des applications web qui utilisent php
comme langage de programmation et peuvent accder MySQL. Dans la section suivante, nous
allons voir phpmyadmin qui est une application web crite en php et se connecte MySQL.
15
3.4
PhpMyAdmin
phpMyAdmin est une application crite en PHP trs utile pour ladministration de MySQL.
Elle est accessible via un navigateur. Pour linstaller, tapez la commande :
sudo apt-get install phpmyadmin
Pour son utilisation, saisissez ladresse http://localhost/phpmyadmin. Vous pouvez remplacer
localhost par ladresse de votre serveur. Dans le figure suivante, nous donnons la page de
connexion de phpmyadmin.
16
17
Chapitre 4
Serveur DHCP
4.1
Introduction
Une adresse rseau peut tre configurer soit de manire statique ou dynamique :
Statique : lutilisateur configure lui mme ladresse IP de la machine.
Dynamique : la machine obtient ladresse grce un serveur DHCP.
Le serveur DHCP (Dynamic Host Configuration Protocol) est un protocole de configuration
dynamique de machines, il permet laffectation, de faon automatique, des paramtres rseaux
une machine.
En gnral, le serveur DHCP affecte un client :
ladresse IP ;
la passerelle par dfaut ;
les adresses IP des serveurs DNS.
Le serveur DHCP peut affecter aussi :
le nom de la machine ;
le nom du domaine ;
le serveur dimpression ;
le serveur de temps (qui donne le temps la machine).
Le serveur DHCP attribue les paramtres suivant deux mthodes :
automatique : pour une priode de temps, il affecte une adresse IP partir dun intervalle au
client. Si le client nest pas connect pour une certaine priode de temps, ladresse peut
tre affect une autre machine ;
fixe : en utilisant ladresse MAC dune machine, le serveur DHCP affecte toujours la mme
adresse IP la machine. Ceci pour assurer quune machine avec une cette adresse MAC,
reoive toujours la mme adresse IP.
Remarque : il ne faut pas confondre statique et fixe. Statique veut dire que cest lutilisateur
qui configure ladresse IP de sa machine.
Lavantage de lutilisation dun serveur DHCP est que toute changement dans les paramtres
rseaux se fera au niveau du serveur DHCP. Un autre avantage est la facilit dajout de nouvelles
machines dans e rseau.
On peut avoir des serveurs DHCP sous Linux et sous windows-server. Dans ce qui suit, nous
allons utiliser le serveur isc-dhcp-server.
18
4.2
4.3
Configuration
4.3.1
Interface(s) dcoute(s)
Si vous voulez que le serveur coute sur certaines interfaces vous devez les spcifier dans
/etc/default/isc-dhcp-server. Dans notre cas, le fichier doit contenir la ligne :
INTERFACES=" eth1 eth2 "
Lcoute se fera sur les interfaces eth1 et eth2.
4.3.2
Configuration du serveur
# maximum ( 2 h )
maxl e a s e time 7 2 0 0 ;
# Mode a u t o r i t a i r e
# Estceque c e s e r v e u r DHCP e s t l e s e r v e u r p r i n c i p a l ?
authoritative ;
# Masque de sousr e s e a u
o p t i o n subnetmask 2 5 5 . 2 5 5 . 2 5 5 . 0 ;
# i n t e r v a l l e des a d r e s s e s
r an g e 1 9 2 . 1 6 8 . 1 . 2 1 9 2 . 1 6 8 . 1 . 1 0 0 ;
# i n t e r v a l l e des a d r e s s e s
r an g e 1 9 2 . 1 6 8 . 1 0 . 2 0 1 9 2 . 1 6 8 . 1 0 . 2 0 0 ;
20
# adresse attribue
f i x e d a d d r e s s 1 9 2 . 1 6 8 . 1 . 2 0 0 ;
4.3.3
Aprs avoir chang les fichiers de configuration, il faut redmarrer le dmon dhcpd :
sudo service isc-dhcp-server restart
4.4
Fonctionnement de DHCP
La figure suivante, prsente une visualisation par wireshark dune capture de paquet lors de
laffectation dune adresse un client DHCP.
Source
0.0.0.0
Destination
255.255.255.255
192.168.1.1
192.168.1.2
Protocol Info
DHCP
DHCP Discover (utilise UDP)
Le client utilise ladresse 0.0.0.0 (hte inconnu) et envoi la demande toutes les machines du rseau.
ICMP
Echo (ping) request
Avant daffecter ladresse 192.168.1.2 au
client, le serveur DHCP sassure que cette
adresse nest pas utilis par une autre machine.
21
Source
192.168.1.1
Destination
192.168.1.2
Protocol Info
DHCP
DHCP Offer
Le serveur DHCP offre ladresse 192.168.1.2
au client.
0.0.0.0
255.255.255.255 DHCP
DHCP Request
Le client demande ladresse.
192.168.1.1
192.168.1.2
DHCP
DHCP ACK (acknowledgment - acquittement)
Le serveur envoi un accus dacceptation.
0e:e5:85:cc:fb:38 6e:5f:98:37:0c:07 ARP
Who has 192.168.1.2? Tell 192.168.1.1
Demande ARP de la part du serveur
6e:5f:98:37:0c:07 0e:e5:85:cc:fb:38 ARP
192.168.1.2 is at 6e:5f:98:37:0c:07
Rponse ARP
22
Chapitre 5
ftp et ssh
5.1
Introduction
FTP (File Transfer Protocol - Protocle pour le Transfert de Fichiers) est un protocole TCP qui
permet le tlchargement de fichiers partir dun serveur. Ce protocole nest pas scuris du
que lenvoie des donnes entre le client et le serveur nest pas crypt. Pour lopration inverse
(chargement) et pour plus de scurit, on peut utiliser ssh (Secure shell).
5.2
ftp
5.2.1
Par dfaut, vsftpd nest pas configur pour autoris la connexion anonyme. Pour lautorise,
modifiez le fichier /etc/vsftpd.conf en changeant la ligne :
anonymous_enable=YES
Par dfaut, la valeur tait NO. Aprs cette modification, il faut redmarrer le serveur ftp en
tapant la commande :
sudo restart vsftpd
Durant linstallation, lutilisateur ftp avec le rpertoire personnel /srv/ftp seront crs. Les
fichiers qui seront visibles par connexion ftp anonyme doivent tre mises dans ce rpertoire.
23
La commande :
tail -n1 /etc/passwd
Fournira le rsultat :
ftp:x:111:119:ftp daemon,:/srv/ftp:/bin/false
5.2.2
Par dfaut, vsftpd est configur pour autoris les utilisateurs authentifis tlcharger des
fichiers. Il nautorise ni le chargement de fichiers ni la cration de rpertoires. Pour autoriser le
chargement de fichiers et la cration de rpertoires, il faut diter le fichier /etc/vsftpd.conf
et enlever le commentaire la ligne :
#write_enable=YES
pour devenir :
write_enable=YES
Aprs, il faut redmarrer le serveur vsftpd en tapant la commande :
sudo restart vsftpd
Remarque
Pour dautres options, consulter le manuel du fichier vsftpd.conf :
man vsftpd.conf
5.2.3
5.3
ssh
Comme nous lavons signal au dbut de ce chapitre, pour le transfert de fichiers en utilisant
une connexion scurise, il faut utiliser ssh (Secure Shell). Sous Linux, le serveur ssh disponible
de faon libre et gratuite sappelle OpenSSH.
5.3.1
Installation
25
5.3.2
Pour se connecter partir dun client, tapez : ssh login@adresse. Par exemple :
ssh smi@192.168.56.2
Pour utiliser le serveur ssh comme serveur ftp scuris, tapez la commande : sftp login@adresse.
Par exemple :
sftp smi@192.168.56.2
Aprs saisi du mot de passe, vous obtiendrez linvite de commandes :
sftp>
Pour fermer la connexion, tapez quit, bye ou exit dans linvite de commandes. Pour plus de
commandes, tapez dans linvite help ou ? . Vous pouvez aussi utiliser le manuel en ligne
de sftp :
man sftp.
Remarque
Si votre navigateur supporte le protocole sftp, vous pouvez tapez par exemple :
sftp://smi@192.168.56.2/
5.3.3
Sous Windows il existe lapplication winscp disponible en tlchargement partir su site officiel
http://winscp.net. Son interface graphique se prsente comme suit :
26
5.3.4
Pour copier un fichier ou un rpertoire dans le serveur ssh, vous pouvez utiliser la commande
scp (analogue la commande cp de Linux). Son utilisation est comme suit :
scp fichier1 fichier2 ... smi@192.168.56.2:
Pour copier un rpertoire, il faut simplement ajouter loption -r :
scp -r Rep smi@192.168.56.2:
Remarque : il ne faut pas oublier :, sinon la copie se fera en local (utilisation de cp).
27
Chapitre 6
Partage de dossiers et dimprimantes
6.1
Introduction
6.2
Le protocole NFS
6.3
Ct serveur
6.3.1
Configuration
Le fichier de configuration est /etc/exports. On indique dans ce fichier la liste des rpertoires
exporter (partags) et les noms des machines autorises les utiliser.
Exemple :
28
/home machine1(rw,sync,no_subtree_check)
*(ro,sync,no_subtree_check)
/projet machine1(rw,sync,no_root_squash,no_subtree_check)
/test *(ro,sync,no_subtree_check)
Explication :
machine1 peut monter /home en lecture/criture (rw) ;
toutes les autres machines du rseau peuvent monter /home en lecture seulement (ro) ;
machine1 peut monter /projet en lecture/criture (rw) ;
toutes les machines du rseau peuvent monter /test en lecture seule (ro).
On peut utiliser des noms ou adresses IP pour les machines.
Une fois le fichier /etc/exports bien configurer il faut redmarrer (ou relancer) nfs :
# sudo service nfs-kernel-server restart
ou bien
# sudo service nfs-kernel-server reload
Principales options du fichier exports 1 :
Option
ro
rw
root_squash
no_root_squash
all_squash
sync
no_subtree_check
Signification
read-only (accs en lecture seule au rpertoire export)
read-write : le client accde au rpertoire en lecture/criture
convertit les UID/GID root, en utilisateur anonyme. Ladministrateur de la machine cliente ne peut pas modifier le contenu des
rpertoires et des fichiers.
dsactive la conversion des UID/GID root.
convertit tous les UID/GID en utilisateurs anonymes. Utile pour
exporter avec NFS des rpertoires publics.
ne rpondre aux requtes quaprs lexcution de tous les changements sur le support rel.
annule la vrification des sous-rpertoires
Remarque : les options doivent tre spares par des virgules, SANS ESPACE.
Pour plus doptions, veuillez consulter le manuel du fichier export (man exports).
6.4
Ct client
29
6.4.1
Montage au dmarrage
6.5
NFS et la Scurit
6.6
Le protocole SAMBA
Samba permet de partager des rpertoires et des imprimantes entre Linux et dautres systmes
Windows et Mac OS.
6.6.1
Installation
6.6.2
Configuration
30
Remarque :
Dune faon gnrale, les permissions de partage dfinies dans les sections ne peuvent pas
outrepasser les permissions des fichiers du serveur hte.
Pour plus dinformations concernant le fichier smb.conf, veuillez consulter le manuel en ligne :
man smb.conf
6.6.3
valeur
par
dfaut
path =
comment =
guest ok = yes|no
valid users =
no
tous
printable = true|false
false
writeable = yes|no
no
browseable =
yes
create mask =
0744
directory mask =
0755
Description
Commande umask
Lumask permet dattribuer des permissions aux fichiers et rpertoires crs par lutilisateur. Il
se prsente sous la forme de 4 chiffres. La valeur par dfaut de lumask est 0022. Pour obtenir
les permissions qui seront utilises, il faut appliquer la rgle suivante :
pour les fichiers, il faut soustraire le umask de 666.
Par exemple 666 0022 = 644 ce qui donne les droits rw-r--r- pour les rpertoires, il faut soustraire le umask de 777.
Par exemple 777 0022 = 755 ce qui donne les droits rwxr-xr-x
Si lutilisateur veut que les nouveaux fichiers soient crs avec les droits rw------- et que les
nouveaux rpertoires soient crs avec les droits rwx------, il doit utilis le masque 0077. Pour
cela, il doit taper la commande :
umask 0077
ou tout simplement :
umask 77
Remarque
umask accepte les symboles (r, w et x) comme chmod.
La commande umask 77 peut tre utilise comme suit :
umask u=rwx,g=,o=
6.6.4
La section globale
[ global ]
# donner l e meme nom de groupe de t r a v a i l que c e l u i des s t a t i o n s Windows
( Voisinage reseau / i d e n t i f i c a t i o n )
workgroup = SMI
# restreindre par scurit les sous-rseaux autoriss se connecter au serveur
# ici on se limite aux adresses rseau priv 192.168.1.0 et linterface "loopback"
hosts allow = 192.168.1.
127.
# on peut exclure des machines de laccs au rseau
h o s t s a l l o w = 1 9 2 . 1 6 8 . 1 . EXCEPT 1 9 2 . 1 6 8 . 1 . 1 2 5
# dautres possibilits existent : voir le manuel man smb
6.6.5
Le rpertoire personnel
[ homes ]
#accs au rpertoire personnel de chaque utilisateur.
#la valeur du champ "comment" apparatra dans le voisinage rseau
#inutile pour cette section de prciser le path, cest celui de lutilisateur, en fait /home/%u
comment = Rpertoire personnel
32
b r o w s a b l e = no
writable = yes
c r e a t e mode = 0700
6.6.6
Pour rendre un rpertoire accessible par tous le monde, il faut tout dabord le crer ou vrifier
quil existe.
# mkdir /home/partage
ls -ld /home/partage
doit renvoyer les droits par dfaut drwxr-xr-x, sinon il faut les changer en tapant la commande :
chmod 755 /home/partage
ou son quivalent
chmod u=rwx,go=rx /home/partage
pour y ajouter les permissions daccs pour tous. Ensuite, il faut ajouter une nouvelle section
[partage] comme suit :
[ partage ]
path = /home/ p a r t a g e
browsable = yes
w r i t a b l e = no
g u e s t ok = y e s
Si on veut rendre ce rpertoire partag en criture aussi, il faut modifier les droits daccs du
rpertoire et modifier la section [partage]
chmod 777 /home/partage
[ partage ]
path = /home/ p a r t a g e
browsable = yes
writable = yes
g u e s t ok = y e s
c r e a t e mode = 0755
6.6.7
Utilitaires SAMBA
6.6.8
6.6.9
Sous Windows, si on se connecte avec un utilisateur 1 (par exemple smi) et on veut se connecter
avec un autre utilisateur (par exemple sma), la connexion ne russisse pas. Pour cela, il faut
supprimer la connexion lutilisateur 1, en tapant la commande (sous un invite de commande) :
net use \\nom-partage\utilisateur /delete
Par exemple :
net use \\Ubuntu\smi /delete
Ou Ubuntu est le nom de partage et smi est le nom de lutilisateur dj connect.
6.6.10
Pour se connecter partir dun client Linux en utilisant la commande smbclient, il faut taper
la commande
smbclient //nom-machine/repertoire
Par exemple :
smbclient //192.168.56.2/partage
Pour se connecter en utilisant le compte dun utilisateur qui sappelle smi, il faut taper la
commande :
smbclient //192.168.56.2/smi -U smi
ensuite, on saisit le mot de passe.
On peut utiliser la commande mount pour monter un rpertoire partag (fonctionne sous
root) :
mount -o username=smi //192.168.56.2/smi Rep
Ou Rep est le rpertoire de montage.
34
Chapitre 7
Domain Name Service (DNS)
Service de Nom de domaines
7.1
Introduction
Domain Name Service (DNS) est un service qui relie les adresses IP et les noms de domaines
entre eux. Sous Linux, le DNS est gr par BIND (Berkeley Internet Name Domain) paquet
bind9 .
Pour les petits rseaux, il suffit dutiliser le fichier /etc/hosts que vous avez vu en semestre 5.
7.2
localhost
a l k h a l i l . ump . ma
smi . ump . ma
www. smi . ump . ma
sma . ump . ma
www. sma . ump . ma
alkhalil
smi
sma
Installation
7.3
Configuration
Bind peut tre configur de plusieurs faons. Il peut tre configur pour tre un serveur :
de cache : dans ce cas, il sert pour stocker les informations concernant les requtes sur les
noms de domaines ;
35
principale : il lit les donnes pour une zone partir dun fichier stock localement et il est
autoritaire pour cette zone ;
secondaire : il obtient les donnes concernant une zone partir dun serveur de noms autoritaire pour cette zone.
Remarque : un serveur de nom peut tre autoritaire pour une zone et secondaire pour une
autre zone.
Le fichier de configuration principal de bind est /etc/bind/named.conf.
7.3.1
Commentaires
7.4
Dans cette section, nous allons configurer bind pour tre un serveur principale du domaine
smi6.net.
Le fichier /etc/bind/named.conf contient la ligne :
include "/etc/bind/named.conf.local";
Cette ligne veut dire, que pour ajouter une zone locale, il faut lajouter dans le fichier /etc/bind/named.conf.local.
Pour ajouter la zone smi6.net, il faut ajouter dans le fichier /etc/bind/named.conf.local
les lignes suivantes :
zone " smi6 . n et " {
type master ;
f i l e "/ e t c / bind /db . smi6 . n et " ;
};
Remarque : le plus simple pour crer le fichier /etc/bind/db.smi6.net, est dutiliser un
fichier qui existe dj. Par exemple :
sudo cp /etc/bind/db.local /etc/bind/db.smi6.net
Dans notre cas le fichier /etc/bind/db.smi6.net contiendra les instructions suivantes :
36
$TTL
@
;
@
dns
r1
pc1
IN
IN
IN
IN
86400
IN
SOA
250120152
3600
86400
2419200
86400 )
smi6 . n e t .
dns . smi6 . n et . (
; Serial
; R e f r e s h ( 1 heure )
; Retry ( 1 j o u r )
; E x p i r e ( 28 j o u r s )
; Minimum ( 1 j o u r )
IN
192.168.1.1
NS
A
A
A
dns . smi6 . n e t .
192.168.1.1
192.168.1.1
192.168.1.2
Redmarrage de bind
Une fois les changements effectus, redmarrez le service bind en tapant la commande :
sudo service bind9 restart
37
7.5
Ct client
Exemple :
domain smi6.net
nameserver 192.168.1.1
7.5.1
Vrification
A partir dun client, il suffit dutiliser la commande ping pour vrifier la connexion aux diffrentes machines. Par exemple :
ping r1.smi6.net
7.5.2
nslookup
7.5.3
7.6
Une fois le serveur primaire configur, il faut avoir un autre serveur secondaire pour que la zone
soit toujours disponible mme si le serveur principale tombe en panne.
Nous allons supposer que nous disposons dun autre serveur avec ladresse 192.168.1.10.
Dans le serveur principale il faut activer le transfert en ajoutant les options allow-transfer et
also-notify au fichier /etc/bind/named.conf.local comme suit :
zone " smi6 . n et " {
type master ;
f i l e "/ e t c / bind /db . smi6 . n et " ;
a l l o w t r a n s f e r { 1 9 2 . 1 6 8 . 1 . 1 0 ; } ;
a l s o n o t i f y { 1 9 2 . 1 6 8 . 1 . 1 0 ; } ;
};
zone " 1 . 1 6 8 . 1 9 2 . inaddr . arpa " {
type master ;
f i l e "/ e t c / bind /db . 1 9 2 " ;
a l l o w t r a n s f e r { 1 9 2 . 1 6 8 . 1 . 1 0 ; } ;
a l s o n o t i f y { 1 9 2 . 1 6 8 . 1 . 1 0 ; }
};
39
40
Chapitre 8
Scurit
8.1
Introduction
La scurit doit tre prise en considration lors de linstallation et lutilisation dun ordinateur.
Les attaques touchent gnralement les trois composantes suivantes :
La couche dapplication
Le systme dexploitation
La couche rseau
Cependant on distingue diffrentes attaques au sein dun rseau d la faiblesse des composants :
8.2
faiblesses dauthentification ;
mauvaises configurations.
faiblesses dimplmentation ou de bogues ;
faiblesses lies aux protocoles.
Authentification
La gestion des utilisateurs est fondamentale dans la scurit dun systme informatique. De
mauvaises privilges ou un mauvais mot de passe peuvent compromettre la scurit dun ordinateur.
8.2.1
Lors de la cration dun nouveau utilisateur avec la commande adduser (par exemple adduser
smi), le rpertoire personnel de lutilisateur smi est cr avec les droits drwxr-xr-x. Il faut
enlever les droits de lecture pour les autres :
sudo chmod 750 /home/smi
Pour mettre cette valeur par dfaut lors de la cration dun nouveau utilisateur avec la commande adduser, il faut modifier la valeur de la variable DIR_MODE dans le fichier /etc/adduser.conf de la faon suivante :
DIR_MODE=0750
41
8.2.2
Mots de passe
Pour viter les attaques qui utilisent un dictionnaire, le mot de passe doit tre fort. Il doit :
comporter des lettres minuscules et majuscules, des nombres et dautres caractres ;
comporter au moins 8 caractres ;
Il ne doit pas comporter :
le nom ou le prnom de lutilisateur ;
la date de naissance de lutilisateur ;
un mot du dictionnaire.
8.3
Un pare-feu est un ensemble matriel ou logiciel qui trie les paquets qui circulent par son
intermdiaire en provenance ou vers le rseau local, et ne laisse passer que ceux qui vrifient
certaines conditions.
Cest un systme de protection ddi la scurit dun rseau.
Les noyaux Linux contiennent le systme Netfilter pour manipuler le trafic rseau. Pour accepter, manipuler ou rejeter un paquet, on utilise iptables.
8.4
iptables
iptables est trs utilis pour mettre en place un pare-feu. Elle utilise 4 ou 5 tables (le nombre
dpend du systme). Une table permet de dfinir un comportement prcis de Netfilter. En
fait, cest un ensemble de chanes, elles-mmes composes de rgles.
Les tables sont :
1. Filter : cest la table par dfaut. Elle sutilise sans loption -t et contient les chanes :
INPUT : pour les paquets destins aux sockets local ;
FORWARD : pour les paquets routs ;
OUTPUT : pour les paquets gnrs localement.
2. NAT : est consulte quand un paquet qui cre une nouvelle connexion est rencontr. Elle
consiste en trois chanes :
PREROUTING : pour les paquets qui entrent ;
OUTPUT : pour les paquets gnrs localement avant le routage ;
POSTROUTING : pour les paquets qui sortent.
3. Mangle : sert a modifier dautres paramtres des paquets IP (notamment le champ ToS
Type Of Service et les options). Elle consiste en cinq chanes :
PREROUTING : paquets entrant avant le routage ;
OUTPUT : pour les paquets gnrs localement avant le routage ;
INPUT : paquets arrivant au systme lui mme ;
FORWARD : paquets routs via le systme ;
POSTROUTING : pour les paquets qui sortent
4. Raw : contient les chanes :
42
8.4.1
8.4.2
Maintenant faisons pointer par dfaut les chanes de la table Filter sur DROP (Rejet) :
pc1: # iptables -P INPUT DROP
pc1: # iptables -P OUTPUT DROP
pc1: # iptables -P FORWARD DROP
Les entres et les sorties sont bloques.
8.4.3
Test de sortie
8.4.4
Test dentre
8.4.5
--- localhost ping statistics --1 packets transmitted, 0 received, 100% packet loss, time 0ms
8.4.6
destination
destination
destination
8.4.7
44
destination
anywhere
destination
destination
anywhere
8.4.8
8.4.9
45
Chapitre 9
Commandes CISCO de base
9.1
9.2
Mots de Passe
46
9.2.1
Vous utilisez les commandes suivantes en mode de configuration globale pour dfinir un mot
de passe pour la ligne de console :
Router(config)#line console 0
Router(config-line)#password mot_de_passe
Router(config-line)#login
A partir du mode de configuration globale :
la commande line console 0 permet dentrer en mode de configuration de ligne pour la
console. Le zro sert reprsenter la premire (et le plus souvent lunique) interface de
console dun routeur.
La deuxime commande, password mot_de_passe, spcifie un mot de passe sur une
ligne.
Enfin, la commande login configure le routeur pour exiger une authentification louverture de session. Aprs activation de login et dfinition dun mot de passe, le priphrique
invitera lutilisateur entrer un mot de passe.
Le message demandant le mot de passe apparatra dsormais chaque fois quun utilisateur
tentera daccder au port de console.
9.2.2
9.2.3
mot_de_passe
Une autre commande utile permet dempcher laffichage des mots de passe en clair lorsquun
utilisateur consulte les fichiers de configuration. Il sagit de la commande :
service password-encryption
Cette commande provoque le chiffrement des mots de passe dj configurs. La commande
service password-encryption applique un chiffrement simple tous les mots de passe non
chiffrs. Ce chiffrement ne sapplique pas aux mots de passe transmis sur le support pendant
la configuration. Le but de cette commande est dempcher les personnes non autorises de lire
les mots de passe dans le fichier de configuration.
Si vous excutez la commande show running-config ou show startup-config avant la commande service password-encryption, les mots de passe non chiffrs sont visibles dans les
informations fournies par le priphrique sur sa configuration. Ds que vous excutez la commande service password-encryption, IOS applique le chiffrement aux mots de passe. Par
la suite, les mots de passe dj chiffrs le restent mme si vous supprimez le service passwordencryption (en annulant la commande).
47
9.3
Chaque interface Ethernet doit avoir une adresse IP et un masque de sous-rseau pour router
les paquets IP.
Pour configurer une interface Ethernet, procdez comme suit :
1.
2.
3.
4.
9.3.1
Activation de linterface
Par dfaut, les interfaces sont dsactives. Pour activer une interface, entrez la commande no
shutdown partir du mode de configuration dinterface. Si vous devez dsactiver une interface
pour des oprations de maintenance ou de dpannage, utilisez la commande shutdown.
9.4
9.4.1
Routage statique
Commande ip route
La commande de configuration dune route statique est ip route. La syntaxe simplifie pour
configurer une route statique est :
Router(config)#ip route adresse_rseau masque {adresse-ip | interface-sortie }
Les paramtres suivants sont utiliss :
adresse_rseau : adresse rseau de destination du rseau distant ajouter la table
de routage.
masque : masque de sous-rseau du rseau distant ajouter la table de routage.
Un des paramtres suivants ou les deux doivent galement tre utiliss :
adresse-ip : communment considre comme ladresse IP du routeur du tronon suivant.
interface-sortie : interface sortante utiliser pour le transfert de paquets vers le rseau
de destination.
Exemple :
Router#debug ip routing
Router#conf t
Router(config)#ip route
172.16.1.0
255.255.255.0
172.16.2.2
9.5
9.5.1
Pour passer en mode de configuration du routeur pour le protocole RIP, entrez la commande
router rip linvite de configuration globale.
Router(config-router)#
Pour activer le routage RIP pour un rseau, utilisez la commande network dans le mode de
configuration du routeur et entrez ladresse rseau par classe de chaque rseau directement
connect.
Router(config-router)#network
rseau-connect--linterface
La commande network :
active le protocole RIP sur toutes les interface qui appartiennent un rseau spcifique.
Les interfaces associes envoient et reoivent maintenant les mises jour RIP.
Annonce le rseau spcifi dans les mises jour de routage RIP envoyes aux autres
routeurs toutes les 30 secondes.
Remarque : si vous entrez une adresse de sous-rseau, lIOS la convertit automatiquement en
adresse rseau par classe. Par exemple, si vous entrez la commande network 192.168.1.32, le
routeur la convertira en network 192.168.1.0.
Exemple :
Router(config)#router rip
Router(config-router)#network 192.168.4.0
Router(config-router)#network 192.168.5.1
Dans cet exemple, vous avez entr une adresse IP dinterface au lieu de ladresse rseau par
classe. Notez que lIOS naffiche pas de message derreur, mais corrige lentre et indique
ladresse rseau par classe. La vrification ci-dessous le prouve.
Router#show running-config
9.5.2
Table de routage
49
50