16/01/2025

Auteur : Mickael Dorigny

Mickael Dorigny
  • Co-founder
  • 552 articles

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Services

Supervisez votre site web avec Crawltrack

I. Qu’est ce que crawltrack ? Crawltrack est un service fonctionnant sous Linux qui permet de superviser votre site web. Il génère à la visite de votre page web des informations sur les visiteurs, le nombre de visiteurs durant une période , le nombre de hits (pages visitées ..). Il renseigne sur la façon dont les utilisateurs on joints votre site, par moteur de recherche ( google, yahoo), par entrée directe ou par lien sur un autre site. Crawltrack permet aussi de montrer les erreurs qui se sont produites sur vos pages/ sites et les téléchargements qui ont été effectués. Le second rôle de crawltrack est la sécurité de votre site web, il met à disposition des tests et des analyses rapportant les tentatives d’attaques sur vos sites. II. Pré-requis Un serveur apache pour accéder à l’interface web de crawltrack et à vos sites : apt-get install apache2 Un service php pour permettre aux scripts php de crawltrack de travailler

Lire cet article
Apache

Changer l’emplacement des sites par défaut d’apache

I. Présentation Le répertoire où Apache 2 va par défaut chercher les sites et les pages web est le répertoire « /var/www ». Dans ce tutoriel, nous allons apprendre à changer ce paramètre en changeant la répertoire par défaut d’Apache 2. II. Création du répertoire d’accueil Nous allons par exemple ici vouloir qu’Apache 2 aille chercher les pages et sites web par défaut dans « /home/webuser/sites ». Il faut donc s’assurer que le répertoire d’accueil existe et le créer si ce n’est pas le cas : mkdir /home/webuser/sites On donne ensuite tous les droits à l’utilisateur « www-data » qui exécute Apache 2 : chown www-data /home/webuser/sites -Rf Note : le « -R » permet d’effectuer l’affectation des droits de manières récursive (en comprenant les sous-dossiers et leurs fichiers) III. Configuration du répertoire par défaut Nous nous rendons pour cela dans le dossier de configuration d’Apache 2 qui est « /etc/apache2 » cd /etc/apache2 Nous avons par défaut un site actif dans Apache 2 que nous pouvons identifier en faisant

Lire cet article
Commandes et Système

Créer un lien symbolique sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à faire des liens symboliques entre des répertoires et des fichiers. Un lien symbolique se rapproche d’une copie directe ou d’un raccourci. Un répertoire ou un fichier est l’exacte copie (en temps réelle) d’un autre. Souvent les liens symboliques sont utilisés pour simplifier les arborescences (nom de répertoire ou de fichier trop complexe ou mal placés). II. Lien symbolique entre répertoire D’une manière générale, voici comment utiliser la commande « ln » pour créer un lien symbolique : ln -s dossier_cible nom_du_lien Dans le contexte de mon exemple, je souhaite qu’en allant sur le répertoire /opt/jdk, j’atterrisse en réalité sur /opt/jdk1_7.2. Cela permet de facilement gérer le changement de version de JAVA. Mais ce n’est qu’un exemple 🙂 Nous allons commencer par créer lien symbolique entre deux répertoires. Nous utiliserons pour cela la commande « ln » (links) : ln –s /root/jdk1_7.2 /root/jdk Le lien symbolique « /root/jdk » sera alors créé. Note : Il faut

Lire cet article
BashCommandes et Système

Trier des fichiers selon une date avec FIND

I. Présentation Dans ce tutoriel, nous allons apprendre à tirer et à agir sur des fichiers et des dossiers selon une date. Cela pourra être leur date de création, de modification ou de dernier accès. Nous pourrons effectuer plusieurs actions sur ces données une fois que nous saurons les trier. II. Les options FIND Pour ce faire, nous allons nous aider de la commande « find » qui sert à lister et trier des fichiers selon certaines options. Nous pouvons en effet avec FIND définir le nom ou une partie du nom de ce que nous cherchons ( option « -name < > »), définir sur combien de niveau (arborescence) on souhaite chercher ( option « -maxdepth < > »), depuis où, etc … Par exemple si nous souhaitons chercher toutes les archives faites dans le dossier « /var/log » qui sont plus âgées que 5 jours : find /var/log/ -maxdepth 3 -name « *gz* » -ctime +5 Explication : « /var/log » : indique le répertoire ou nous allons chercher. Nous

Lire cet article
Base de données

Conception d’un modèle physique des données

I. Présentation Le modèle physique des données (MPD) d’une base de données permet d’avoir une représentation graphique de la structure d’une base de données et ainsi de mieux comprendre les relations entre les différents tables. Il permet d’avoir un point de vue global sur l’ensemble de la base de données. Nous utiliserons la base de données suivantes pour créer notre MPD : T_Batiments(Bat_Num,Bat_Nom); T_Fabricants(F_Num,F_Nom); T_Switchs(Sw_Num,#Sw_NumFabr,#Sw_NumBat,Sw_Modele,Sw_NbPortsMb,Sw_NbPortsGb); Cette base de données a pour but de répertorier les switchs des fabricants pour ensuite les implémenter dans différents bâtiments. II. Comment créer un MPD  ? Dans un MPD, on crée les tables dont on met le nom dans l’en-tête, ensuite à l’intérieur de ces tables on répertorie l’ensemble des champs qu’elles contiennent. Dans un second temps, il faut souligner les champs qui sont des clés primaires et mettre un “#” devant les champs qui sont des clés étrangères. Pour les clés étrangères ce n’est pas tout, il faut montrer, à l’aide d’une flèche vers

Lire cet article
Commandes et Système

Monter un partage CIFS sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à monter un partage CIFS sous Linux. On commence par installer un paquet nommé « cifs-utils » qui nous permettra de monter des partage CIFS : apt-get install cifs-utils   II. Monter un partage à la main Il nous faut ensuite créer un répertoire dans lequel nous allons monter notre répertoire distant. Nous allons ici le nommer « partage » et nous allons le placer dans « /media/ » : mkdir /media/partage Nous allons maintenant utiliser la commande « mount » pour monter notre partage distant dans le dossier précédemment créé : mount -t cifs \\\chemin /media/partage Nous pouvons également spécifier des identifiants (login/ mot de passe) : mount –t cifs –o username=,password= \\\chemin /media/partage On pourra alors effectuer la commande « mount » pour voir les montages actifs. Pour démonter notre partage, nous utilisera la commande « umount » et nous spécifierons ensuite l’endroit où l’on a monté notre dossier distant : umount /media/partage   III. Automatisation du montage au démarrage Sous Linux,

Lire cet article
Apache Tomcat
Autres

Authentification type .htaccess sous Tomcat

I. Présentation Dans ce tutoriel, nous allons mettre en place une authentification de type .htaccess (typique d’Apache2) sous le serveur web Tomcat7. Il est important de savoir qu’en réalité, Tomcat7 ne gère pas les fichiers .htaccess. Seul le principe de demande de l’authentification est à retenir de ce qu’on appel par abus de langage « une authentification .htaccess ». Nous allons donc ici vouloir qu’une barrière d’authentification soit présente à partir d’une certain e arborescence du site et que cette barrière soit levée seulement aux utilisateurs qui s’authentifient correctement sur le serveur. II. Mise en place de l’environnement de test Nous allons ici mettre en place un serveur Tomcat 7 avec un site fictif sur lequel nous allons tester notre authentification. Pour tout le tutoriel, nous présumons l’utilisation d’un Tomcat7 aux configurations basiques et stocké dans « /var/lib/tomcat7 ». Note : Si votre Tomcat7 et le site nécessitant l’authentification sont déjà en place, passez directement à la partie « II. Mise en place de la

Lire cet article
Apache

Vérifier la configuration d’Apache2 avant de redémarrer

I. Présentation Lors d’une modification de la configuration d’Apache, nous sommes bien souvent obligé de redémarrer le service « apache2 » présent sur notre serveur. Le problème est que si la configuration n’est pas correcte, le service peut refuser de redémarrer. Si c’est sur un serveur en production, les sites hébergés seront indisponibles le temps de la réparation du problème. II. Procédure Dans ce cas précis, il est serait plus judicieux de savoir vérifier si la configuration d’Apache2 est correcte avant de procéder à un redémarrage. Il existe pour cela une commande fournis avec les paquets « apache2 » qui se nomme « apachectl ». Cette commande, dans notre cas, peut prendre l’option « configtest » qui va procéder à une vérification de la syntaxe des fichiers de configuration : Si il y a un élément dans les fichiers de configuration qu’Apache2 ne comprends pas, il vous l’indiquera à la suite de la commande et cela vous permettra de le corriger sans avoir une indisponibilité du service et

Lire cet article
Base de données

Erreur MysQL : Table is marked as crashed and should be repaired

I. Présentation Il peut arriver que vous ayez à faire face à l’erreur « Table is marked as crashed and should be repaired » lors de la manipulation des tables MySQL. II. Pourquoi cette erreur Cette erreur et avertissement peut avoir plusieurs sources. Elle indique la table en question est corrompue et qu’elle doit être réparée. Cela peut être dû à un problème d’espace disque sur la partition où se situe la base de données, à un problème d’extinction de la base de données lors d’une lecture ou d’une écriture d’informations ou alors plus couramment à un problème physique sur le support de stockage, une extinction non prévue, etc .. III. Réparer une table corrompue Nous pouvons le faire grâce à PhpmyAdmin dans un premier temps. Il faut se rendre dans le PhpMyAdmin pour réparer la table (l’opération est aussi faisable en ligne de commande sur le serveur MySQL). On doit ensuite se loguer puis se rendre dans la base de données

Lire cet article
Autres

Sécuriser le port 8005 de Tomcat

I. Présentation Dans ce tutoriel, nous allons étudier le fonction et la sécurisation du port 8005 de Tomcat. Par défaut sur Tomcat, trois ports sont paramétrés : le port 8080 pour les connexions clients depuis le navigateur, le port 8009 qui sert au protocole AJP pour la liaison entre Tomcat et Apache ainsi que le port 8005 qui sert à l’extinction du serveur. II. Extinction par le port 8005 Les scripts d’extinction du serveur utilisent cet élément qui est configuré dans le fichier « conf/server.xml » : Il faut se connecter en telnet en local depuis une connexion SSH pour pouvoir l’utiliser. En effet, le port 8005 n’est accessible uniquement en local. Quiconque aura une connexion en local sur le serveur (type SSH) pourra avoir accès au port 8005 : Si nous saisissons ici n’importe quelle commande, la connexion se fermera : Nous aurons alors le message suivant dans le fichier « logs/catalina.out » qui contient les logs du serveur Tomcat : La commande

Lire cet article
Autres

Configurer Tomcat avec SSL

I. Présentation Dans ce tutoriel, nous allons sécuriser Tomcat en configurant la possibilité ou l’obligation de passer par du HTTPS plutôt que par du HTTP. Les échanges HTTPS sont chiffrés de sorte qu’ils ne soient plus lisibles si on ne dispose pas des bon certificats de déchiffrement. Pour effectuer ce tutoriel, il faut que vous disposiez d’un Tomcat opérationnel. Je fait ce tutoriel avec la version 7 de Tomcat mais la procédure est la même depuis Tomcat 5. Son répertoire d’installation est dans mon cas « /opt/tomcat ». II. Génération du Keystore Un Keystore est un fichier qui va comprendre la clé privée du serveur ainsi que le certificat auto-signé. Pour plus de clarté, il est plus simple de le stocké non loin du répertoire d’installation de Tomcat7. Pour le généré, on utilise la commande suivante : keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore Vous aurez alors à répondre à plusieurs questions afin de remplir votre Keystore : III. Création du

Lire cet article
Base de données

Voir les droits utilisateur dans MySQL en ligne de commande 

I. Présentation Dans ce tutoriel, nous allons voir comment afficher les droits et permissions d’un utilisateur MySQL en ligne de commande. Le plus souvent, on utilise PhpMyAdmin pour gérer les droits utilisateurs mais il est aussi facile et rapide de le faire en ligne de commande (CLI) Nous allons ici utiliser la commande « show grants » qui sert à afficher les droits d’un utilisateur sur les bases d’un serveur. Il est important de savoir que pour utiliser cette commande, le minimum des droits requis est celui de faire un « select » sur la base de données « mysql » du serveur MySQL. II. Voir les utilisateurs disponibles Nous allons, dans un premier temps, regarder quels sont les utilisateurs présents sur notre serveur après s’être connecté en « root » en ligne de commande : select user,host from mysql.user; Nous aurons alors la liste des utilisateurs ainsi que les hôtes depuis lesquels ils peuvent se connecter. III. Voir nos bases de données Nous allons maintenant chercher à

Lire cet article
Autres

Changer le port d’écoute de Tomcat

I. Présentation Par défaut, le serveur web Tomcat écoute sur le port 8080. Il peut arriver de vouloir pour des raisons diverses le faire écouter sur une autre port, c’est ce que nous allons voir dans ce tutoriel. Nous présumons ici que vous avez déjà un Tomcat installé et opérationnel sur le port 8080. II. Modification de la configuration La manœuvre est assez simple. Nous allons commencer par fermer notre serveur pour changer ses paramètres, en étant positionné à la racine de notre serveur Tomcat : bin/shutdown.sh On pourra ensuite s’assurer que notre serveur est bien éteint avec la commande suivante: ps -edf | grep tomcat Nous pourrons ensuite nous rendre dans le fichier de configuration principal de tomcat « conf/server.xml ». Il nous faudra y trouver les lignes suivantes : Nous modifierons ensuite la valeur de « port= » pour y mettre le numéro de port sur lequel nous souhaitons que notre Tomcat écoute. On devra ensuite redémarrer notre serveur Tomcat : bin/startup.sh

Lire cet article
Base de données

Changer le nom de l’utilisateur root MySQL

I. Présentation Par défaut, MySQL créé, lors de son installation, un super-utilisateur nommé « root ». Cet utilisateur a tous les droits sur toutes les bases de données du serveur. Si un utilisateur doit être ciblé lors d’une attaque sur un service MySQL, c’est bien celui-ci. En effet, si on arrive à avoir les identifiants de cet utilisateur (login et mot de passe), on aura un accès total à toutes les bases de données. Dés le départ, un attaquant peut démarrer une attaque avec 50% des informations requises : le nom de l’utilisateur (« root »). Pour rendre plus difficile et plus lente la tâche d’un attaquant, nous allons modifier le nom de cet utilisateur pour que l’utilisateur « root » n’existe plus. Ainsi, en plus de devoir trouver un mot de passe, l’attaquant devra commencer par trouver l’identifiant du super-utilisateur de notre service MySQL. II. Voir les utilisateurs existants Nous allons commencer par vérifier quel utilisateur est présent sur notre service MySQL. On se connecte

Lire cet article