Transcript
  • Installation et configuration des services rseaux

    3me Gnie Rseaux & Tlcommunications

    ENSA-Khouribga

    Pr. KHAMLICHIAnne : 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

  • DMZ

    Rseau local

    LAN

    Administrer DMZ soit en se plaant directement dans DMZ ou distance (LAN ou WAN) via une voix scurise : SSH

    Serveurs (DMZ) :DHCP/DNSApacheSendmail

    Scnario

    Sous-rseau filtr

    Pare-feu

    Internet

    WAN

    Administrer les serveurs du DMZ en utilisant :Les commandes rseau : ifconfg, arp, ifup/ifdownDiagnostic rseau

  • 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

    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 ENSA.ma

    nameserver 192.168.200.1

    nameserver 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 localhost.localdomain localhost

    192.168.200.201 mail.ensa.ma mail

    192.168.200.1 gw

  • CONFIGURATION DE SSH

  • SSH : Prsentation

    Secure Shell (SSH) est la fois un programmeinformatique et un protocole decommunication scuris.

    Date de cration : 1995

    Port : 22

  • SSH : Prsentation

    Le SSH donne la possibilit de se connecteravec login/mot de passe, et une fois connect,la communication sera chiffre

    Problme :

    Possibilit que le snifer intercepte le nom et lemot 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 changede 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 ceque fait l'utilisateur.

  • SSH : Prsentation

    Dans le cas de la cl prive/publique,

    le protocole SSH utilise en mme temps lechiffrement symtrique et asymtrique :

    le chiffrement asymtrique est utilis au dbutpour 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 unshell ou ligne de commande.

    Cette version souffrait nanmoins deproblmes de scurit dans la vrification del'intgrit des donnes envoyes ou reues, larendant vulnrable des attaques actives.

  • SSH : version 2

    Cette version est beaucoup plus sre au niveaucryptographique,

    et possde en plus un protocole de transfert de fichierscomplet, 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 deconfiguration : /etc/ssh/sshd_config

    Voici les quelques directives de la configurationdu serveur ssh modifier :

    # Si vous voulez que l'utilisateur root accde en sshPermitRootLogin yes# Nom du fichier contenant les cls publiquesAuthorizedKeysFile .ssh/authorized_keys# Interdiction de l'authentification par mots de passePasswordAuthentication 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 authorizedkeys 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 (soitserveur ou poste en local) qui permet desclients daccder des pages web

    Permet lutilisation de modules

    Permet la possibilit de dfinir une configurationspcifique 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'outil4. 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 " >> /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.neten 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 simplifieladministration des systmes Linux enmettant jour toute la configurationncessaire via une interface web.

    configuration du firewall

    configuration de divers services comme Apache, PHP, SSH.

  • Webmin : Prsentation

    Pour crer des comptes, installer un serveur webou configurer un serveur de messagerie,

    il faut gnralement diter la main les fichiersde configuration ou excuter des commandes.

    Webmin permet de raliser ces tches via uneinterface web en mettant jour toute laconfiguration ncessaire.

    Le travail dadministration systme se trouve alorsgrandement simplifi

  • Webmin : Installation

    Pour installer webmin, il faut dabord tlcharger son paquet rpm : wget

    http://prdownloads.sourceforge.net/webadmin/webmin-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.


Recommended