1. présentation-administration et sécurité système & réseaux
DESCRIPTION
cours sur les système réseau InformatiqueTRANSCRIPT
-
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.