Vous êtes sur la page 1sur 52

Installation et configuration des

services rseaux
3me Gnie Rseaux & Tlcommunications
ENSA-Khouribga
Pr. KHAMLICHI
Anne : 2014 / 2015

Plan
Installation et configuration des services rseaux
TP et Mini-projets et sminaires

Installer Linux (Ubuntu ou Centos)


OpenSSH
Configuration Apache
Webmin
Configuration DHCP
Configuration DNS
Configuration Postfix ou Sendmail

Mini-projets

Cloud Computing
LTE-WIFI interconnexion et Scurit
Ad-hoc : implmentation et scurit
Rseaux 4G : architecture et scurit
IPv6 : architecture et scurit
Honeypot

Scnario
Administrer les serveurs du DMZ en utilisant :
Les commandes rseau : ifconfg, arp, ifup/ifdown
Sous-rseau filtr
Diagnostic rseau
DMZ

Internet
WAN

Pare-feu

Administrer DMZ soit en se plaant


directement dans DMZ ou distance (LAN
ou WAN) via une voix scurise : SSH

Rseau local
LAN

Serveurs (DMZ) :
DHCP/DNS
Apache
Sendmail

CONFIGURATION RSEAU

Configuration de la carte rseau


Pour configurer le rseau en mode graphique on
utilise la commande :

system-config-network

Configuration de la carte rseau


Pour attribuer une adresse IP une interface rseau,
on peut utiliser la commande ifconfig :
ifconfig <interface> <adresse ip> <netmask><adresse
netmask>
Ex : ifconfig eth0 192.168.1.1 netmask 255.255.255.128
ifconfig -a : permet dobtenir la liste des interfaces rseau
qui ont t dtectes
ifconfig eth0 : permet de voir la carte rseau eth0 sil est
bien configure ou non

Rsolution des noms


Le fichier de configuration pour la rsolution des noms via
DNS utilise le fichier /etc/resolv.conf, par exemple:
search
nameserver
nameserver

ENSA.ma
192.168.200.1
192.168.200.10

Le paramtre search indique les domaines qui seront utiliss


comme suffixes de recherche. Chacun des paramtres
nameserver spcifie un serveur de noms DNS.

Le fichier /etc/hosts contient une liste de rsolutions de


noms (adresses IP et noms de machine), par exemple :
127.0.0.1
192.168.200.201
192.168.200.1

localhost.localdomain localhost
mail.ensa.ma mail
gw

CONFIGURATION DE SSH

SSH : Prsentation
Secure Shell (SSH) est la fois un programme
informatique
et
un
protocole
de
communication scuris.
Date de cration : 1995
Port : 22

SSH : Prsentation
Le SSH donne la possibilit de se connecter
avec login/mot de passe, et une fois connect,
la communication sera chiffre
Problme :
Possibilit que le snifer intercepte le nom et le
mot de passe utilis pour la connexion.

SSH : Prsentation
Solution :
Configurer le SSH pour utiliser la cl public/prive et dsactiver
le cas du login/mot de passe

Dans ce cas, le protocole de connexion impose un change


de cls de chiffrement en dbut de connexion.
Par la suite toutes les trames sont chiffres.
Il devient donc impossible d'utiliser un sniffer pour voir ce
que fait l'utilisateur.

SSH : Prsentation
Dans le cas de la cl prive/publique,
le protocole SSH utilise en mme temps le
chiffrement symtrique et asymtrique :
le chiffrement asymtrique est utilis au dbut
pour la connexion et pour lauthentification
Le chiffrement symtrique est utilis pour envoyer
/ recevoir les donnes via le canaux SSH

SSH : Prsentation
Le protocole SSH a t conu avec l'objectif de
remplacer les diffrents programmes
rlogin,
telnet
rsh
ftp
et rcp

SSH : Prsentation
Le protocole SSH est normalis RFC 4251

SSH existe en deux version majeur :


La version 1.0
La version 2.0

SSH : version 1
La premire version permet de se connecter
distance un ordinateur afin d'obtenir un
shell ou ligne de commande.
Cette version souffrait nanmoins de
problmes de scurit dans la vrification de
l'intgrit des donnes envoyes ou reues, la
rendant vulnrable des attaques actives.

SSH : version 2
Cette version est beaucoup plus sre au niveau
cryptographique,
et possde en plus un protocole de transfert de fichiers
complet, le SSH file transfer protocol.
Les logicels client utiliss pour le transfert ( titre
dexemple) :

Bitvise SSH Client 4.50


Cygwin
OpenSSH
memote

SSH : Configuration
Le daemon OpenSSH utilise le fichier de
configuration : /etc/ssh/sshd_config
Voici les quelques directives de la configuration
du serveur ssh modifier :
# Si vous voulez que l'utilisateur root accde en ssh
PermitRootLogin yes
# Nom du fichier contenant les cls publiques
AuthorizedKeysFile .ssh/authorized_keys
# Interdiction de l'authentification par mots de passe
PasswordAuthentication no

SSH
Pour dmarrer le service OpenSSH
/sbin/service sshd start

Pour stoper le server OpenSSH


/sbin/service sshd stop

Pour que le daemon dmarre de manire


automatique au dmarrage systme :
Chkconfig -list sshd 235 on

SSH
Les services quil faut dsactiver :

telnet
rsh
rlogin
vsftpd

Pour les dsactiver un service utiliser la


commande:
Sous bash : /usr/sbin/ntsysv
Ou de graphique en tapant : (system-config-services)

SSH
Pour gnrer un pair RSA version 2 :
#ssh-keyngen -t rsa

Les cls gnres sont :


id_rsa : cl prive quil faut copier dans un
ordinateur client
Id_rsa.pub : cl publique quil faut copier dans
~/.ssh et le nommer authorized_keys :
#scp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

SSH
Changer les permissions du dossier .ssh :
#chmod 755 ~/.ssh

Changer la permission du fichier authorized


keys en utilisant la commande :
#chmod 644 ~/.ssh/authorized_keys

En utilisant Bitvise SSH Client, faut juste


mentionner lendroit de la cl prive et le nom
(root) avec passephrase.

INSTALLATION ET CONFIGURATION
DES SERVEURS

Apache : Prsentation (1/2)


Serveur Web le plus rpandu sur Internet
Programme qui tourne sur une machine (soit
serveur ou poste en local) qui permet des
clients daccder des pages web
Permet lutilisation de modules
Permet la possibilit de dfinir une configuration
spcifique pour chaque rpertoire partag

Apache : Prsentation (2/2)


Souvent utilis avec des modules comme Perl et/ou
PHP afin de rendre le contenu des pages dynamiques
Cest un serveur web HTTP aussi flexible que puissant;
Il supporte des modules externes 100% configurables;

Peut tre personnalis en crivant soi-mme ses


propres modules en utilisant lAPI Apache;
Son code source est disponible et est accompagn
dune licence restrictive;
Il est test en permanence, et les bugs sont corrigs
rapidement

Apache : installation
Pour vrifier si Apache est install sous CentOS :
yum list httpd

Pour installer Apache, il suffit de taper la


commande :
yum install httpd

Pour mettre Apache jour :


yum upgrade httpd

Apache : Localisation des fichiers


Localisation des fichiers de configuration :
/etc/httpd/conf/httpd.conf

Localisation de lexcutable
/usr/sbin/httpd

On peut trouver lexcutable httpd avec :


Which httpd

Localisation des logs


/var/log/httpd

Apache : fonctionnement
Apache est il lanc ?
ps aux | grep httpd

avec
ps : afficher ltat des processus en cours
a : (autre) prsente les processus des autres utilisateurs.
u : (utilisateur) prsente le nom de lutilisateur et lheure
de lancement
x : affiche le processus qui nont pas de terminal de
contrle

Apache : Commandes essentielles


Commandes essentielles :
service httpd status // indique ltat de fonctionnement du
serveur
service httpd start // lance le serveur
service httpd stop // Stoppe le serveur
service httpd restart // relance le serveur
service httpd reload // relance le serveur sans interruption

Apache : lancement au dmarrage


Vrifier si Apache est activ dans les niveaux
dexcution 0-6 :
Chkconfig --list httpd

Configurer apache pour le lancer au


dmarrage (runlevel) 235
Chkconfig --level 235 httpd on

Obtenir de la documentation
httpd -help
man httpd

Apache : Configuration
Activer le nom des serveurs virtuels sur le port
80, en suivant les tapes suivantes :
Ouvrir le fichier de configuration httpd qui se
trouve dans /etc /httpd/conf/httpd.conf
D-commenter la ligne contenant le texte
NameVirtualHost *:80
Redmarrer le serveur HTTP Apache en tapant la
commande service httpd restart

Apache : Configuration
Pour tester le fonctionnement dApache, nous
ouvrons la page : http://localhst dans le
browser.
Crer les pages web y compris la page web
index.html dans le rpertoire /var/www/html

Apache 2
Exercice :
Mettre jours votre apache

Apache 2 : update (exemple)


1. Tlcharger et dcompresser larchive dApache
2:
http://code.google.com/p/autosetup1/downloads/de
tail?name=httpd-2.4.2.tar.gz&can=2&q=

2. ./configure => a examine ton systme et


regarde si tous les outils ncessaires sont bien
installs. Si c'est pas le cas, alors faut les installer
toi-mme
3. make => a compile l'outil
4. make install en tant que root => a installe l'outil
l o il faut

Mysql : Prsentation
Le plus populaire des serveurs de base de
donnes SQL Open Source,
Dvelopp, distribu et support par la socit
commerciale MySQL AB
MySQL est un systme de gestion de base de donnes;
MySQL est un serveur de bases de donnes
relationnelles
MySQL est Open Source;
Le serveur de bases de donnes MySQL est trs
rapide, fiable et facile utiliser;
Mysql Server fonctionne en mode client/serveur ou
en systme embarqu.

MySQL : Installation
Pour installer MySQL, nous tapons
yum install mysql-server mysql php-mysql

MySQL : Configuration (1/3)


Aprs installation, tapez :
Chkconfig --level 235 mysqld on

Aprs on dmarre MySQL :


Service mysqld start
(Ou : /etc/init.d/mysqld start)
et on se connecte : mysql u root

MySQL : Configuration (2/3)


Crer de nouveaux mots de passe pour les
domaines locaux
SET PASSWORD FOR 'root'@'localhost' = PASSWORD
(new-password);
SET PASSWORD FOR 'root'@'localhost.localdomain' =
PASSWORD (new-password);
SET PASSWORD FOR 'root'@'127.0.0.1' =
PASSWORD(new-password);

Supprimer tous les autres utilisateurs


DROP USER '@'localhost';
DROP USER '@'localhost.localdomain';

Aprs on quitte en tapant exit

MySQL : Configuration (3/3)

PHP : Prsentation
PHP est un langage de programmation complet,
assez proche du C. il fournit :

Des structures de donnes


Des structures de contrle
Des instructions de gestion des entres/sorties
Il est diffus galement sous licence libre. Il permet la
cration de page web dynamiques
Il est considr comme une alternative CGI, Perl, ASP.

Dvelopp lorigine pour Linux, il est maintenant


portable sur plusieurs environnements.

PHP : Installation
Pour installer PHP, nous tapons la commande
yum install php

PHP : Configuration (1/2)


Pour configurer PHP, il faut suivre les tapes
suivantes :
Dans le fichier /etc/php.ini on remplace :

memory_limit = 16M par memory_limit = 128M


max_execution_time = 30 par max_execution_time = 120
max_upload_size = 2M par max_upload_size = 50M
Upload_max_filesize=2M par Upload_max_filesize=50M
post_max_size = 8M par post_max_size = 50M

PHP : Configuration (2/2)


Dans notre invite de commande nous tapons :
echo "<?php phpinfo();?> >> /var/www/html/test.php &&
chmod a+r /var/www/html/test.php
Cette commande cre un fichier texte nomm "test.php" et dite ce
mme fichier en ajoutant le code source phpinfo() ;
Pour tester nous ouvrons la fentre localhost/test.php dans le
navigateur web.

PhpMyAdmin : Prsentation
phpMyAdmin est un outil logiciel libre crit en
PHP et destin grer ladministration de
MySQL.
phpMyAdmin supporte une large gamme
doprations avec MySQL.
Les oprations les plus frquemment utiliss sont
prises en charge par linterface utilisateur comme
la gestion des bases de donnes (tables, champs,
relations, index, utilisateurs, permissions, etc)
Et lexcution des requtes SQL.

PhpMyAdmin : Installation
tlcharger le paquet de phpMyAdmin partir du site www.sourceforge.net
en tapant la commande :
wget c http://sourceforge.net/projects/phpmyadmin/files/latest/download

Dcompresser phpMyAdmin dans le rpertoire /var/www/html parla


commande : tar xvzf phpMyAdmin.
Tester dans le navigateur web en crivant http://localhost/phpmyadmin
Cette version de phpMyAdmin requiert la version 5.2 ou plus de php.
vrifier notre version de php en tapant la commande :
rpm qa | grep php

Si on a une version de php antrieur , il faut mettre jour.


yum update
Aprs, dmarrer Apache : service httpd restart

WEBMIN

Webmin : Prsentation
Webmin est un programme qui simplifie
ladministration des systmes Linux en
mettant jour toute la configuration
ncessaire via une interface web.
configuration du firewall
configuration de divers services comme Apache,
PHP, SSH.

Webmin : Prsentation
Pour crer des comptes, installer un serveur web
ou configurer un serveur de messagerie,
il faut gnralement diter la main les fichiers
de configuration ou excuter des commandes.
Webmin permet de raliser ces tches via une
interface web en mettant jour toute la
configuration ncessaire.
Le travail dadministration systme se trouve alors
grandement simplifi

Webmin : Installation
Pour installer webmin, il faut dabord tlcharger
son paquet rpm :
wget
http://prdownloads.sourceforge.net/webadmin/web
min-1.530-1.noarch.rpm

Puis pour installer :


rpm -i webmin-1.530-1.noarch.rpm

Installation termine, nous pouvons alors nous


connecter depuis http://XXX.XXX.XXX.XXX:10000

Webmin : Installation
En tapant dans le navigateur web
http://localhost:10000 on peut accder la page
dauthentification ddie webmin

Authentification webmin

Webmin : Installation
Dans le cas dune authentification russie, nous
pouvons accder la page daccueil :

Une fois le serveur Apache est install, on


peut mettre le site web.
Or, pour que le site web soit visible de
lextrieur, il faut installer et configurer le DNS.