Outils pour utilisateurs

Outils du site


issue102:tutoriel_2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue102:tutoriel_2 [2015/11/16 18:14] andre_domenechissue102:tutoriel_2 [2015/11/16 18:49] (Version actuelle) andre_domenech
Ligne 102: Ligne 102:
 D'abord le réglage. D'abord le réglage.
  
-Théoriquement, le réglage est fait à la fin. Cela dit, j'ai tendance à oublier les réglages, ce qui me donne un serveur lent dès que la charge augmente. Donc réglons-le tout de suite, cela n'aura aucune conséquence.+Théoriquement, le réglage est fait à la fin. Cela dit, j'ai tendance à oublier les réglages, ce qui me donne un serveur lent dès que la charge augmente. Donc réglons-les tout de suite, cela n'aura aucune conséquence.
  
-Éditez le fichier : /etc/apache2/apache2.conf, et ajouter les instructions suivantes à la fin de celui-ci (pour Centos7, c'est : /etc/httpd/conf/httpd.conf) : +Éditez le fichier : /etc/apache2/apache2.conf, et ajoutez les instructions suivantes à la fin de celui-ci (pour Centos7, c'est : /etc/httpd/conf/httpd.conf) : 
  
 sudo vi /etc/apache2/apache2.conf  sudo vi /etc/apache2/apache2.conf 
Ligne 172: Ligne 172:
 sudo a2dissite 000-default sudo a2dissite 000-default
  
-Vérifier maintenant le dossier « sites enabled » (sites activés) le site  par défaut n'y est plus !+Vérifiez maintenant le dossier « sites enabled » (sites activés) le site  par défaut n'y est plus !
  
-Redémarrer le serveur (service apache2 restart) – pratiquement il n'y a plus de « site » affiché, simplement le dossier d'une arborescence :+Redémarrez le serveur (service apache2 restart) pratiquement il n'y a plus de « site » affiché, simplement le dossier d'une arborescence :
  
 Créer notre site Créer notre site
  
-Le nom de notre site sera iceberg-tutorial.com (iceberg.com est déjà pris !) ; nous allons donc créer un fichier de configuration nommé iceberg-tutorial.conf (note : nous aurions pu choisir n'importe quel nom – je pars néanmoins du principe que donner au fichier de configuration le même nom qu'au site facilitera la maintenance à long terme) :+Le nom de notre site sera iceberg-tutorial.com (iceberg.com est déjà pris !) ; nous allons donc créer un fichier de configuration nommé iceberg-tutorial.conf (note : nous aurions pu choisir n'importe quel nomje pars néanmoins du principe que donner au fichier de configuration le même nom qu'au site facilitera la maintenance à long terme) :
  
 sudo vi /etc/apache2/sites-available/iceberg-tutorial.conf sudo vi /etc/apache2/sites-available/iceberg-tutorial.conf
  
-Et ajouter l'ensemble de ces lignes au fichier (pour Centos7, le fichier est /etc/httpd/conf.d)+Et ajoutez l'ensemble de ces lignes au fichier (pour Centos7, le fichier est /etc/httpd/conf.d)
  
 <VirtualHost *:80>  <VirtualHost *:80> 
Ligne 195: Ligne 195:
 Que signifie tout cela ? Que signifie tout cela ?
  
-•  Apache écoute sur le port 80 (voir ci-dessous) +•  Apache écoute sur le port 80 (voir ci-dessous). 
-•  Le nom du serveur est celui de notre site+•  Le nom du serveur est celui de notre site.
 •  DocumentRoot est le chemin de l'endroit où les fichiers du serveur sont stockés. •  DocumentRoot est le chemin de l'endroit où les fichiers du serveur sont stockés.
 •  ErrorLog est le chemin de l'endroit où les fichiers de rapports d'erreurs sont stockés. •  ErrorLog est le chemin de l'endroit où les fichiers de rapports d'erreurs sont stockés.
Ligne 248: Ligne 248:
 sudo a2ensite iceberg-tutorial.conf sudo a2ensite iceberg-tutorial.conf
  
-Si nous essayons d'accéder au site nous obtiendrons ceci – c'est le comportement prévu puisqu'il n'y a aucun fichier (nous n'avons créé que des dossiers) : +Si nous essayons d'accéder au sitenous obtiendrons ceci – c'est le comportement prévu puisqu'il n'y a aucun fichier (nous n'avons créé que des dossiers) : 
  
 Par défaut, Apache cherche un fichier nommé index.html – créons-le : Par défaut, Apache cherche un fichier nommé index.html – créons-le :
Ligne 258: Ligne 258:
 Quelques notes rapides sur les ports TCP Quelques notes rapides sur les ports TCP
  
-Nous avons déjà abordé les ports TCP lors de notre précédent article. Un excellent outil pour déterminer quels sont les ports ouverts est nmap. Pour scanner les 1 000 premiers ports, tapez :+Nous avons déjà abordé les ports TCP lors de notre précédent article. Un excellent outil pour déterminer quels sont les ports ouverts est nmap. Pour scanner les 1 000 premiers ports, tapez :
  
 sudo nmap localhost sudo nmap localhost
Ligne 264: Ligne 264:
 et vous verrez quels sont les ports ouverts. et vous verrez quels sont les ports ouverts.
  
-Ici les ports 22 (SSH) et 80 (http) sont ouverts – comme prévu.+Ici les ports 22 (SSH) et 80 (http) sont ouvertscomme prévu.
  
 Pour scanner d'autres séries de ports, on utilisera l'option -p (ex : nmap -p 2000-3000 localhost).  Pour scanner d'autres séries de ports, on utilisera l'option -p (ex : nmap -p 2000-3000 localhost). 
Ligne 286: Ligne 286:
 Sites virtuels Sites virtuels
  
-Il est possible d'héberger plusieurs sites sur le même serveur. Puisqu'un serveur a une adresse IP unique, l'URL demandé à l'origine aidera Apache à se diriger vers le bon site – en d'autres termes, fournir les pages en provenance du bon dossier.+Il est possible d'héberger plusieurs sites sur le même serveur. Puisqu'un serveur a une adresse IP unique, l'URL demandé à l'origine aidera Apache à se diriger vers le bon siteen d'autres termes, fournir les pages en provenance du bon dossier.
  
 On peut donc avoir plusieurs fichiers de configuration dans le dossier /etc/apache2/sites-available/ On peut donc avoir plusieurs fichiers de configuration dans le dossier /etc/apache2/sites-available/
Ligne 310: Ligne 310:
 Sécurité Sécurité
  
-À quoi rimerait le paramétrage d'un serveur Web sans sécurité ? Ce serait probablement comme laisser votre voiture garée avec les clés sur le contact – il se pourrait que quelqu'un vole la voiture. L'exemple n'est peut-être pas très bien choisi, mais vous m'avez sûrement compris !+À quoi rimerait le paramétrage d'un serveur Web sans sécurité ? Ce serait probablement comme laisser votre voiture garée avec les clés sur le contact il se pourrait que quelqu'un vole la voiture. L'exemple n'est peut-être pas très bien choisi, mais vous m'avez sûrement compris !
  
 Apache est un logiciel Open Source, il est donc très facile d'ajouter des modules et il y a quantité de modules de sécurité disponibles. Apache est un logiciel Open Source, il est donc très facile d'ajouter des modules et il y a quantité de modules de sécurité disponibles.
  
-Souvenez-vous toutefois que la sécurité n'est pas à toute épreuve – c'est simplement un facteur limitant – vous devez donc rechercher activement dans les journaux système des intrusions ou des tentatives d'intrusion. Faisons une autre analogie – c'est comme si vous aviez acheté un superbe coffre fort. Entrer par effraction dans ce coffre fort serait très difficile. Mais en supposant qu'une personne ait suffisamment de temps et les bonnes compétences, elle pourrait potentiellement le forcer. Même chose ici – vérifiez fréquemment vos journaux système (pour plus d'information, voir le tutoriel sur ce sujet-là).+Souvenez-vous toutefois que la sécurité n'est pas à toute épreuvec'est simplement un facteur limitant vous devez donc rechercher activement dans les journaux système des intrusions ou des tentatives d'intrusion. Faisons une autre analogie c'est comme si vous aviez acheté un superbe coffre-fort. Entrer par effraction dans ce coffre-fort serait très difficile. Mais en supposant qu'une personne ait suffisamment de temps et les bonnes compétences, elle pourrait potentiellement le forcer. Même chose icivérifiez fréquemment vos journaux système (pour plus d'information, voir le tutoriel sur ce sujet).
  
 **Out of the box security **Out of the box security
Ligne 352: Ligne 352:
 Sécurité par défaut Sécurité par défaut
  
-Par « par défaut » j'entends sans téléchargement ajoutez simplement les lignes suivantes à la fin de votre fichier /etc/apache2/apache2.conf :+Par « par défaut » j'entends sans téléchargementajoutez simplement les lignes suivantes à la fin de votre fichier /etc/apache2/apache2.conf :
  
 ServerTokens Prod ServerTokens Prod
Ligne 378: Ligne 378:
  
 Commentaire rapide sur la signification de tout cela : Commentaire rapide sur la signification de tout cela :
-• ServerTokens et ServerSignature ne donneront pas la version d'Apache (la signature du serveur sera juste Apache). Cela évite de donner à un pirate des informations concernant les exploits spécifiques de votre version ( comme par exemple – version 1.4.2 a la faille XXX connue)+• ServerTokens et ServerSignature ne donneront pas la version d'Apache (la signature du serveur sera juste Apache). Cela évite de donner à un pirate des informations concernant les exploits spécifiques de votre version (comme par exemple – version 1.4.2 a la faille XXX connue).
 • TraceEnabled ne permet pas le débogage (une trace additionnelle) et TimeOut est sans doute explicite ! • TraceEnabled ne permet pas le débogage (une trace additionnelle) et TimeOut est sans doute explicite !
 • Les ordres concernant le Directory (répertoire) ajoutent des restrictions sur le dossier racine. • Les ordres concernant le Directory (répertoire) ajoutent des restrictions sur le dossier racine.
Ligne 391: Ligne 391:
 There are many websites with all the instructions on how to install ModSecurity and turn on CRS – for all step-by-step instructions, please follow the link below (there are many other tutorials available online on how-to proceed): https://www.digitalocean.com/community/tutorials/how-to-set-up-modsecurity-with-apache-on-ubuntu-14-04-and-debian-8** There are many websites with all the instructions on how to install ModSecurity and turn on CRS – for all step-by-step instructions, please follow the link below (there are many other tutorials available online on how-to proceed): https://www.digitalocean.com/community/tutorials/how-to-set-up-modsecurity-with-apache-on-ubuntu-14-04-and-debian-8**
  
-Sécurité supplémentaire – module ModSecurity pour Apache.+Sécurité supplémentaire – module ModSecurity pour Apache
  
-Très courant pour les serveurs Apache (et peut-être pour d'autres), ModSecurity est un module que vous devez installer. Notez que ce n'est pas obligatoire, toutefois il est hautement recommandé de le faire (il est gratuit et rajoute de la sécurité – alors, pourquoi pas ?).+Très courant pour les serveurs Apache (et peut-être pour d'autres), ModSecurity est un module que vous devez installer. Notez que ce n'est pas obligatoire, toutefois il est hautement recommandé de le faire (il est gratuit et rajoute de la sécuritéalors, pourquoi pas ?).
  
-Une fois installé, ModSecurity ne fait rien par défaut – vous devez activer les options dont vous avez besoin. Pour faciliter les choses, des règles communes (appelées aussi CRS – Core Set Rules, ensemble des règles de base) sont disponibles et ont juste besoin d'être activées.+Une fois installé, ModSecurity ne fait rien par défautvous devez activer les options dont vous avez besoin. Pour faciliter les choses, des règles communes (appelées aussi CRS – Core Set Rules, ensemble des règles de base) sont disponibles et ont juste besoin d'être activées.
  
-Il y a un tas de sites internet donnant les instructions d'installation de ModSecurity et d'activation de CRS – Pour des instructions étape par étape, suivez le lien ci-dessous (il y a beaucoup de tutoriels en ligne expliquant comment procéder) : https://www.digitalocean.com/community/tutorials/how-to-set-up-modsecurity-with-apache-on-ubuntu-14-04-and-debian-8+Il y a un tas de sites Internet donnant les instructions d'installation de ModSecurity et d'activation de CRSPour des instructions étape par étape, suivez le lien ci-dessous (il y a beaucoup de tutoriels en ligne expliquant comment procéder) : https://www.digitalocean.com/community/tutorials/how-to-set-up-modsecurity-with-apache-on-ubuntu-14-04-and-debian-8
  
 **Cleanup and some statistics **Cleanup and some statistics
Ligne 409: Ligne 409:
 Note that the log file size will continue increasing – so we must clean it up. This very small script (shown on the next page)will count all unique access to the web server and then compress the log. It's a bash job, all lines starting with # are comments. Once the script is created, you can add the script to a cron job to run daily:** Note that the log file size will continue increasing – so we must clean it up. This very small script (shown on the next page)will count all unique access to the web server and then compress the log. It's a bash job, all lines starting with # are comments. Once the script is created, you can add the script to a cron job to run daily:**
  
-Nettoyage et quelques statistiques.+Nettoyage et quelques statistiques
  
 Le dossier /var/www/iceberg-tutorial/logs va commencer à se remplir de journaux : Le dossier /var/www/iceberg-tutorial/logs va commencer à se remplir de journaux :
Ligne 415: Ligne 415:
 Allez voir dans access.log. Vous y verrez l'adresse IP à partir de laquelle vous avez accédé au serveur Web (c'est-à-dire là où le navigateur tournait) ; c'est sympa, non ? Allez voir dans access.log. Vous y verrez l'adresse IP à partir de laquelle vous avez accédé au serveur Web (c'est-à-dire là où le navigateur tournait) ; c'est sympa, non ?
  
-Nous pouvons aussi obtenir des statistiques – quelles pages ont été ouvertes, l'IP de la source, des informations sur le navigateur,… etc. Vous pouvez bien sûr utiliser Google Analytics ; mais, comme un vrai geek, je préfère personnellement explorer les journaux web pour obtenir mes propres statistiques.+Nous pouvons aussi obtenir des statistiques quelles pages ont été ouvertes, l'IP de la source, des informations sur le navigateur, etc. Vous pouvez bien sûr utiliser Google Analytics ; mais, comme un vrai geek, je préfère personnellement explorer les journaux Web pour obtenir mes propres statistiques.
  
-Remarquez que la taille des fichiers journaux n'arrêtera pas d'augmenter – on doit donc les nettoyer. Le tout petit programme (page suivante) comptera tous les accès uniques au serveur Web et compressera le journal. C'est une routine bash, toutes les lignes commençant par # sont des commentaires. Une fois que le programme est créé, vous pouvez l'ajouter dans une tâche cron quotidienne :+Remarquez que la taille des fichiers journaux n'arrêtera pas d'augmenteron doit donc les nettoyer. Le tout petit programme (page suivante) comptera tous les accès uniques au serveur Web et compressera le journal. C'est une routine bash, toutes les lignes commençant par # sont des commentaires. Une fois que le programme est créé, vous pouvez l'ajouter dans une tâche cron quotidienne :
  
 **Final Note – website registration and DNS **Final Note – website registration and DNS
Ligne 433: Ligne 433:
 Note finale – Enregistrement du site et DNS Note finale – Enregistrement du site et DNS
  
-Une fois que le serveur est monté et que les pages sont prêtes, vous allez probablement enregistrer un nom de site – il est plus facile de se souvenir de iceberg-tutorial.com que de 159.203.90.111.+Une fois que le serveur est monté et que les pages sont prêtes, vous allez probablement enregistrer un nom de site il est plus facile de se souvenir de iceberg-tutorial.com que de 159.203.90.111.
  
-Pour faire cela, allez sur votre registrar en ligne favori et suivez toutes les étapes (il faudra payer quelque chose – c'est habituellement de l'ordre de 15$ par an).+Pour faire cela, allez sur votre registrar en ligne favori et suivez toutes les étapes (il faudra payer quelque chosec'est habituellement de l'ordre de 15 $ par an).
  
-Vous devrez alors créer une entrée DNS à Digital Ocean – c'est le lien qui détermine où doit aller le navigateur – quand quelqu'un veut accéder à www.iceberg-tutorial.com (pas de coût supplémentaire – enfin quelque chose de gratuit !).+Vous devrez alors créer une entrée DNS à Digital Oceanc'est le lien qui détermine où doit aller le navigateur quand quelqu'un veut accéder à www.iceberg-tutorial.com (pas de coût supplémentaireenfin quelque chose de gratuit !).
  
 Toutes les informations sur ces étapes sont très bien expliquées ici : https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean Toutes les informations sur ces étapes sont très bien expliquées ici : https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean
  
 J'espère que vous avez apprécié ces articles et que vous créerez votre propre site internet, à partir de zéro ! J'espère que vous avez apprécié ces articles et que vous créerez votre propre site internet, à partir de zéro !
issue102/tutoriel_2.1447694085.txt.gz · Dernière modification : 2015/11/16 18:14 de andre_domenech