Documentation sur l administration web (LAMP) Réalisé par Ruette Charlène, & Petit Antoine



Documents pareils
Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Tutoriel compte-rendu Mission 1

Procédure d'installation

Installation d un hébergement Web à domicile

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Dans l'épisode précédent

BTS SIO Dossier BTS. PURCHLA Romain

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Service de certificat

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

But de cette présentation

Installation des outils OCS et GLPI

Autorité de certification

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Réaliser un inventaire Documentation utilisateur

Préparation d un serveur Apache pour Zend Framework

TP Service HTTP Serveur Apache Linux Debian

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Serveur de messagerie sous Debian 5.0

REPARTITION DE CHARGE LINUX

Serveur FTP. 20 décembre. Windows Server 2008R2

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

SERVEUR HTTP Administration d apache

TAGREROUT Seyf Allah TMRIM

1/ Introduction. 2/ Schéma du réseau

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.


FileMaker Server 14. Aide FileMaker Server

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Installer un serveur web de développement avec VirtualBox

Atelier Le gestionnaire de fichier

PPE Installation d un serveur FTP

Différentes installations sur un serveur Windows 2000 ou 2003.

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

18 TCP Les protocoles de domaines d applications

Figure 1a. Réseau intranet avec pare feu et NAT.

Un serveur web, difficile?

avast! EP: Installer avast! Small Office Administration

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Installation GLPI-OCSNG-SSL Linux Debian Sarge

LAB : Schéma. Compagnie C / /24 NETASQ

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Préparation à l installation d Active Directory

Compte rendu d'activité PTI n 2

L3 informatique TP n o 2 : Les applications réseau

Serveur Subversion Debian GNU/Linux

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

GENERALITES. COURS TCP/IP Niveau 1

2013 Installation de GLPI-OCS. Florian MICHEL BTS SIO LYCEE SAINTE URSULE

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

ROUTAGE. Répondez aux questions suivantes : (A chaque fois pour XP et pour Debian)

1. La plate-forme LAMP

Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

CYBERGATE -TP-APACHE_2.DOC

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Module 7 : Configuration du serveur WEB Apache

Cours CCNA 1. Exercices

acpro SEN TR firewall IPTABLES

Assistance à distance sous Windows

Sécurisation du réseau

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER


Installation d'un serveur FTP géré par une base de données MySQL

LES ACCES ODBC AVEC LE SYSTEME SAS

Réseaux et protocoles Damien Nouvel

TP PLACO. Journées Mathrice d'amiens Mars 2010

MANUEL D INSTALLATION D UN PROXY

Gestion d identités PSL Installation IdP Authentic

Services Réseaux - Couche Application. TODARO Cédric

UwAmp. Serveur d'evaluation

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Installation et configuration d OCS/GLPI sur un Serveur Debian

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Proxy et reverse proxy. Serveurs mandataires et relais inverses

JetClouding Installation

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

[ Sécurisation des canaux de communication

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Transcription:

Documentation sur l administration web (LAMP) Réalisé par Ruette Charlène, & Petit Antoine 1

Sommaire: 1) Installation du serveur Lamp en ligne de commande :... 3 2) Présentation de Webmin:... 3 1-Création de site virtuel :... 5 1.1Un hôte virtuel :... 5 2-La communication :... 7 3) Les alias:... 8 4) Administration de phpmyadmin en ligne de commande :... 9 1- Ligne de commande :... 9 2-Avec l interface graphique :... 11 5) Les certificats SSL et TLS :... 14 1-Définition :... 14 2-La mise en place en ligne de commande :... 14 3-Le SSL avec Webmin :... 16 6) Protection DDOS et injection SQL :... 17 1-Définition du DDOS et mise en place :... 17 2-La protection :... 18 3-Définition de l injection SQL :... 20 4-La protection:... 21 7) Le dossier SRV :... 21 8) Annexes :... 23 1- Les dossiers enabled et available :... 23 2-Http et Https :... 24 2

1) Installation du serveur Lamp en ligne de commande : Tout d abord, on met le système à jour Ensuite, on tape cette commande pour installer les paquets du serveur LAMP : # apt-get install apache2 mysql-server php5 php5-mysql libapache2-mod-php5 La procédure d installation demandera le mot de passe du mode "superutilisateur". 2) Présentation de Webmin: Pour administrer les sites webs sur Debian on va utiliser l'interface Webmin. (Pour l'installation suivre la procédure d'un tutoriel sur internet, ne pas oublier de télécharger l'interface avant de lancer l'installation des paquets). Les logs sont root et P@ssw0rd. - Pour se connecter on tape dans la barre d'adresse : https://localhost:10000 3

On arrive sur la page ci-dessous Cliquez sur 'Je comprends les risques' et ensuite 'Ajouter une exception' Cliquez sur 'Confirmer l'exception de sécurité' 4

On arrive maintenant sur l'interface web de webmin. 1-Création de site virtuel : 1.1Un hôte virtuel : Un hôte virtuel, appelé aussi "Virtual host", est le fait de servir plusieurs sites web sur une même instance de serveur. Ainsi, une machine serveur possède un seul et unique serveur Apache et pourra servir plusieurs sites, sans qu'ils puissent se connaître. Pour ce faire, nous allons donc utiliser l interface webmin qui permet de gérer les serveurs apache. Dans cette dernière, nous irons, une fois connecter, dans l onglet "Servers" puis "Apache Webserver" et nous prendrons, "create virtual host" comme ci-dessous. Nous mettrons l adresse ip spécifique du serveur, puis le port 80 (http), puis nous sélectionnerons le document root /var/www et puis nous renseignerons où est-ce que ce trouve notre site web que l on aura préalablement place dans le dossier défini précédemment. 5

Ensuite la commande "nautilus" en root va nous permettre d accéder au dossier, de créer des dossiers. 6

Sur cette interface, on peut voir les caractéristiques importantes de serveur. Connexion sur debian Connexion sur un windows xp 2-La communication : Pour pouvoir joindre le serveur, nous devons avoir quelques prérequis : -Les deux machines devront être en réseau interne. - Sur le même réseau ip, dans notre cas 10.0.2.15 et 10.0.2.17 avec un masque 255.0.0.0 Attention si la machine debian n a pas d adresse ip, exécuter cette commande : ifconfig eth0 10.0.2.15 7

-Vous pingez ensuite les machine avec la commande "ping +adresse ip souhaité", si elles se répondent, elles communiquent ensemble. Ensuite il vous suffit de taper l adresse du serveur dans un navigateur internet et le tour est joué. 3) Les alias: Pour les alias, on rajoute c'est deux lignes dans le dossier *default, "ServerName SIO1.fr"et "ServerAlias www.sio1.fr". En ligne de commande, taper la commande dans un terminal administrateur : nano /etc/apache2/sites-available/default, vous accéderez au fichier, vous rajouterez les deux lignes puis vous l'enregistrerez. 8

Mettez SIO1, puis ensuite refaite l'opération pour SISR et SLAM. 4) Administration de phpmyadmin en ligne de commande : 1- Ligne de commande : -Créer un utilisateur Mysql avec tous les droits : Premièrement : use mysql ; Puis : select * from user ; cette commande montre tous les utilisateurs et leurs droits. Ensuite : Puis : Puis on regarde s il a bien été créé : 9

Ensuite, donner les droits à un utilisateur à une base de données spécifique. On va commencer par créer une base de donnée et une table. Les commandes ci-dessous : Description de la table test : Ici, on regarde les droits qu aura l utilisateur adminmysql : 10

Mais ici, on lui à donner tous les droits, d autres commandes existent pour ne pas tous donner comme celle-ci : Voilà quelques lignes de commandes qui permettent d administrer une base de donnée MySQL/phpmyadmin. 2-Avec l interface graphique : Interface de Phpmyadmin Dans cette barre cliquer sur "Privilèges" 11

On peut même administrer base de donnée par base de donnée, on a juste à sélectionner la base de donnée en question, on pourra ainsi voir les utilisateurs qui ont accès à cette base, on clique sur "changer les privilèges". On arrive sur cette interface qui permet de gérer les droits des utilisateurs, on peut même par exemple leur imposer un nombre de requête maximal par heure sur la base de donnée en question. 12

On peut aussi ajouter un nouvel utilisateur. En cliquant sur "ajouter un utilisateur" il vous suffit de mettre le nom de l'utilisateur et son mot de passe. Vous pouvez ensuite gérer les droits de ces nouveaux utilisateurs. 13

5) Les certificats SSL et TLS : 1-Définition : SSL : (Secure Sockets Layer), un protocole de sécurisation des échanges sur Internet, devenu «Transport Layer Security» (TLS) en 2001. Le SSL repose sur une vérification hiérarchique, où des tiers de confiance garantissent l identité d un tiers. De cette manière, lorsque l on se connecte à un site web ou à un autre service, on est assuré de son identité et qu il n y a pas de piratage Un certificat électronique (aussi appelé certificat numérique ou certificat de clé publique) peut être vu comme une carte d identité numérique. Il est utilisé principalement pour identifier une entité physique ou morale. Il est signé par un tiers de confiance qui atteste du lien entre l identité physique et l identité numérique. Cela permet de savoir à qui l on a à faire sur internet, car sinon il y aurait énormément de fraude et de tromperie, certaines personnes chercheraient à gagner la confiance des personnes pour obtenir des données comme des code bancaire. Non-répudiation et l intégrité des données avec la signature numérique La confidentialité des données grâce au chiffrement des données L authentification d un individu ou d une identité numérique 2-La mise en place en ligne de commande : Tout d abord, nous allons commencer par installer le module openssl grâce à la ligne de commande ci-dessous : 14

Ce module va nous permettre de mettre en place la sécurité ssl sur notre serveur debian. Nous allons pouvoir avec ce module, générer des certificats ssl pour une connexion sécurisée. Cela cryptera les mots de passes lors des connexions par exemple. Ensuite, nous allons ouvrir ce module pour le donner les emplacements d où il placera le certificat et la clé générée. Puis nous renseignerons les informations demandées. 15

Voici les endroits où les informations seront stockées. On remarque que dans le fichier server.crt, on retrouve les informations que l on avait renseignées auparavant. Le fichier server.key contient la clé de sécurité. 3-Le SSL avec Webmin : Sur l interface webmin, il faut exécuter quelques réglages pour gérer le SSL, pour la mise en place finale de la sécurité. 16

Ensuite, on essaye de se connecter en Https, il nous dira que le certificat n est pas délivré par une vraie autorité de certification, sinon l on peut voir que ça fonctionne. Voilà en ce qui concerne la sécurité et la mise en place de la sécurité SSL. 6) Protection DDOS et injection SQL : 1-Définition du DDOS et mise en place : Une attaque par déni de service (denial of service attack, d où l abréviation DDOS) est une attaque informatique ayant pour but de rendre indisponible un service, d empêcher les utilisateurs légitimes d un service de l utiliser. Cela peut-être sous plusieurs formes : - L inondation d un réseau afin d empêcher son fonctionnement. - La perturbation des connexions entre deux machines, empêchant l accès à un service particulier. - L obstruction d accès à un service à une personne en particulier. L'attaque par déni de service peut ainsi bloquer un serveur de fichiers, rendre impossible l'accès à un serveur web ou empêcher la distribution de courriel dans une entreprise. 17

L'attaquant cracker n'a pas forcément besoin de matériel sophistiqué. Ainsi, certaines attaques DOS peuvent être exécutées avec des ressources limitées contre un réseau beaucoup plus grand et moderne. On appelle parfois ce type d'attaque «attaque asymétrique» (en raison de la différence de ressources entre les protagonistes). Un cracker avec un ordinateur obsolète et un modem lent peut ainsi neutraliser des machines ou des réseaux beaucoup plus importants. Exemple pour faire saturer une connexion internet à distance : Ms-Dos est un des outils préférés des hackers de tout poil. Si vous avez envie de saturer la connexion de quelqu'un, il suffit de connaître son adresse IP. Pour voir s'il est en ligne envoyer-lui une requête PING à partir de la console. Par exemple, si son adresse IP est 127.90.85.51 faites un "PING 127.90.85.51". Pour saturer son accès internet, faites "PING 127.90.85.51 -l 65500". La plupart du temps, l'ordinateur distant crashera. 2-La protection : Nous allons installer le paquet libapache2-mod-evasive avec la commande ci-dessous : 18

Ensuite, dans le dossier /etc/apache2/mods-available/mod-evasive.conf, nous allons placer les requêtes ci-dessous : Cela va permettre de sécuriser notre serveur contre les attaques DDOS. 19

Nous allons tester notre sécurité grâce à une commande qui va permettre de flooder le serveur pour voir s il est bien protégé contre les attaques DDOS. Cette requête va lancer 1000 trames sur le serveur, le but est de voir combien nous allons en bloquer. Nous étudions donc le résultat : Nous pouvons voir que sur les 1000 requêtes envoyées, 985 ont été bloqué ce qui est plutôt pas mal en terme de sécurité même ci-cela n est pas optimal. 3-Définition de l injection SQL : L'injection SQL directe est une technique où un pirate modifie une requête SQL existante pour afficher des données cachées, ou pour écraser des valeurs importantes, ou encore exécuter des commandes dangereuses pour la base. Cela se fait lorsque l'application prend les données envoyées par l'internaute, et l'utilise directement pour construire une requête SQL. Les exemples ci-dessous sont basés sur une histoire vraie, malheureusement. 20

Avec le manque de vérification des données de l'internaute et la connexion au serveur avec des droits de super utilisateur, le pirate peut créer des utilisateurs, et créer un autre super utilisateur. Exemple d injection SQL : 0; insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd) select 'crack', usesysid, 't','t','crack' from pg_shadow where usename='postgres'; 4-La protection: sql. Ses commandes permettent d installer une extension permettant de protéger des injections Nous n avons pas d exemple pour vous montrer ci-cela fonctionne véritablement. 7) Le dossier SRV : Taper dans un terminal, la commande nautilus, puis aller dans le dossier etc/apache2/siteenabled puis remplacer dans le fichier 000-default var par srv. Comme ci-dessous : 21

Ensuite, on déplace les dossiers de var/www dans srv/www comme ci-dessous : Avec la commande nautilus on ouvre directement le gestionnaire de fichier. La commande : chmod R 770 +nom du dossier ; permet de donner les droits sur un dossier pour pouvoir créer d autre dossier à l intérieur d un dossier par exemple. On vérifie que cela fonctionne : 22

Nous avons donc réussi à déplacer les fichiers var/www dans le dossier srv/www. 8) Annexes : 1- Les dossiers enabled et available : Une fois Apache installé, Apache affichera la même page web pour tous les "host names" sur votre serveur. Vos pages web doivent être installés dans le répertoire /var/www/. Cependant ceci ne fonctionnera que pour une seule page web. C'est pour cela que dans la suite du tutoriel je vous explique comment faire pour héberger d'autres sites web via le "site-available" et le "site-enabled". Seul deux répertoires doivent être utilisés pour installer des "virtual host" : /etc/apache2/sites-available/ /etc/apache2/sites-enabled/ Pour créer des hôtes virtuels avec Apache 2 vous devez rajouter un fichier dans votre répertoire sites-available. Sites-available est aussi appelé "site-hébergé". -Ce répertoire permet d'ajouter des sites web sur votre serveur. Pour créer un nouveau fichier "sites-available" : il vous suffit d'aller dans le répertoire : /etc/apache2/sites-available. Dans ce répertoire vous allez y trouver un fichier "default". Faîtes une copie de ce fichier en modifiant le nom bien sûre. Voici la commande : cp default animaux.com (Il est recommandé de nommé votre fichier avec le nom de votre domaine du site web à héberger. Ceci permettra à votre serveur de l'identifier rapidement) Maintenant il va falloir éditer ce fichier afin qu'il soit configuré pour le site web que vous voulez héberger sur votre serveur. Tapez cette commande : 23

nano animaux.com Enfin, modifier ce fichier afin qu'il contienne le nom du site que vous voulez héberger. Par exemple, si vous désirez héberger ce site : animaux.com le début de votre fichier "site-available" devra ressembler à ceci : NameVirtualHost IP_DU_SERVEUR:80 <VirtualHost IP_DU_SERVEUR:80> ServerAdmin anne@animaux.com ServerName www.animaux.com DocumentRoot /var/www/animaux.com/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/animaux.com/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>... "DocumentRoot" sert à désigner le répertoire des pages web du site sur le serveur. ici, c'est donc le répertoire dans lequel se trouveront les pages web de animaux.com. Ensuite, il y a "sites-enabled" : ceci va permettre d'activer le site. Exécuté alors cette commande : a2ensite animaux.com Ceci va permettre de créer le lien entre "site-available/animaux.com" et "site-enabled/animaux.com" Une fois le lien créer entre les deux, vous pouvez désactiver votre site par le biais de cette commande : a2dissite animaux.com Puis, pour finir redémarré Apache pour que vos modifications soient enregistrés dans votre serveur. 2-Http et Https : Http : ce sigle contenu dans les adresses Web est l abréviation d Hypertext Tranfert Protocol, ce qui veut dire «protocole de transfert hypertexte». Ce dernier désigne un «protocole de communication client-serveur qui a été inventé pour développer le World Wide Web «www». Https : ce protocole est une variante du protocole http, le S signifie «Secured», ce dernier est utilisé pour les paiements sécurisés et les transactions financières en ligne. Dans votre navigateur, vous pouvez voir la liste des systèmes utilisés en plaçant votre curseur sur le petit cadenas quand vous êtes dans une page Https. Aperçu ci-dessous 24

Les origines : Le protocole de communication http a été inventé en 1991 par Tim Berners-Lee. Il a été créé durant la même période que les adresses Web (URL) et le langage Html. À cette époque, il existait un protocole servant à transférer des fichiers, le File Transfert Protocol (FTP), mais il ne supportait pas la notion de format de données. L Hypertext Tranfert Protocol a donc été conçu pour distribuer les pages Web sur un réseau Tcp/IP comme internet. À quoi sert le protocole http? Le protocole http permet le dialogue entre votre navigateur web (le client) et un serveur contenant des données sur Internet. Le protocole http utilise le protocole TCP comme couche de transport, il peut donc fonctionner sur n importe quelle connexion fiable. La liaison entre le client et le serveur n est pas toujours directe. Pour la consultation d un serveur http par le biais d un navigateur web on passe par le port 80, pour les connexions http utilisant une couche de sécurité de type SSL (https) on passe par le port 443. Des machines intermédiaires peuvent servir de relais : - Un serveur mandataire ou proxy - Une passerelle ou gateway qui modifie le protocole utilisé - Un tunnel, qui transmet les requêtes et les réponses sans aucune modification Le protocole http permet aussi l identification du visiteur par transmission d un nom et d un mot de passe. 25

Son fonctionnement : Le client adresse au serveur des requêtes, dans le protocole http, on appelle méthode la commande spécifiant un type de requête. Dans la version http/0.9 du protocole, les requêtes étaient extrêmement simples et se limitaient à l obtention d un document. Voici les différentes méthodes possibles et les actions que l on demande au serveur d effectuer : - GET : obtient un document, demande une ressource (version http/0.9) - HEAD : obtient l en-tête de la réponse, sans demander la réponse elle-même (version http/1.0) - POST : envoie du contenu au serveur, ajoute une nouvelle ressource - PUT : demande au serveur d enregistrer la ressource envoyée (version http/1.1) 26