20/01/2025

Sécurité

Commandes et Système

Calculer une empreinte SHA1 sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à utiliser la commande sha1sum pour calculer l’empreinte d’une données. Le SHA1 est réputé pour être « plus fiable » que le md5, cela est surtout du au faite que les empreintes qu’il génère sont sur 40 caractères (20 octects) plutôt que 32 caractères pour le md5. Il existe également une multitude de rainbow table md5 qui sont des bases de données contenant le hash md5 et leur correspondance claires sur des sites en ligne. Pour information, une empreinte sert à calculer l’intégrité d’une donnée. Un même fichier avec un seul bit de différence donnera une empreinte totalement différente. II. Utilisation de la commande Si nous voulons par exemple calculer l’empreinte du fichier « file1 », nous utiliserons la commande comme suivant : sha1sum file1 Nous aurons alors en résultat l’empreinte de ce fichier : On peut aussi vouloir mettre cette empreinte dans un fichier pour que les utilisateurs puissent la comparer à nouveau  : sha1sum

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

Htaccess – Restriction des adresses IP

I. Présentation Les fichiers .htaccess sont omniprésents sur les sites web pour mettre en place de la réécriture d’URL, définir des pages d’erreurs personnalisées, demander une authentification pour accéder aux ressources, mais aussi pour effectuer une restriction sur une ou plusieurs adresse(s) IP. C’est ce que nous allons voir dans ce tutoriel. Il y a deux méthodes pour procéder à une restriction :  Refuser l’accès à certaines adresses IP   Autoriser uniquement l’accès à certaines adresses IP Pourquoi le bannissement ? Si quelqu’un de malintentionné publie des commentaires en grand nombre sur votre site, pollue votre forum, tente d’accéder à votre interface d’administration, etc.   II. Restreindre une ou plusieurs adresse(s) IP Commençons par restreindre l’accès à une ou plusieurs adresse(s) IP en modifiant le fichier « .htaccess » situé à la racine de votre site. Indiquez-ceci dans votre fichier : # Restriction des adresses IP # Ordre de priorité des instructions : autoriser puis refuser Order Allow,Deny # On

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
Base de données

Configurer le SSL pour sécuriser MySQL

I. Présentation Dans ce tutoriel, nous allons apprendre à configurer MySQL pour qu’il utilise le SSL afin de chiffrer les échanges avec ses clients. Il faut savoir que le chiffrement d’un flux par SSL alourdis en général les échanges par des traitements et des calculs supplémentaires (chiffrement / déchiffrement), c’est pourquoi le SSL n’est pas configuré par défaut dans MySQL. Il peut toutefois être dans certaines situations une solution non négligeable pour sécuriser les échanges. II. Permettre les connexions distantes Le besoin de sécuriser les échanges MySQL se fait naitre lorsque des serveurs ont besoins de communiquer fréquemment entre eux. Il faut donc déjà pour cela que notre serveur MySQL soit à l’écoute sur son interface externe. On va également s’assurer d’avoir au moins un utilisateur qui puisse se connecter à distance sur notre serveur dans notre base de données. On va pour cela se rendre en ligne de commande (de préférence en « root ») sur notre serveur MySQL afin d’effectuer

Lire cet article
Commandes et SystèmeNetfilterServices

Appliquer des règles Iptables au démarrage

I. Présentation Les règles Iptables sont les règles qui régissent la sécurité et la façon de fonctionner du pare-feu Netfilter , présent nativement sur les distributions Linux. Lors du redémarrage d’une machine, les règles Iptables mises en place sont remises à zéro, elles ne sont pas nativement sauvegardées dans le système. Il peut alors être intéressant de savoir les récupérer et les ré-appliquer dès le démarrage de la machine ou bien d’une interface. Nous allons donc voir dans ce tutoriel comment charger et récupérer nos règles Iptables au démarrage de notre machine. II. Sauvegarde des règles de filtrage Iptables contient une commande permettant de sauvegarder la table de filtrage dans un fichier. Cette commande peut nous être utile pour sauvegarder nos règles et donc les récupérer plus tard. Par exemple, pour sauvegarde la configuration de notre table de filtrage Iptables dans un fichier « /etc/iptables.rules » , il faut saisir la commande suivante: iptables-save > /etc/iptables.rules Ensuite, si vous consultez le contenu

Lire cet article
Commandes et Système

Changer le mot de passe d’un utilisateur avec Passwd

I. Présentation Il peut arriver d’avoir besoin de changer le mot de passe d’un utilisateur sur une machine Linux, c’est une opération trés simple qui s’effectue avec la commande POSIX « passwd ». Dans ce tutoriel, nous allons donc apprendre à changer le mot de passe d’un utilisateur simple mais aussi celui de root avec cette commande. Ce qu’il faut savoir, c’est que seul un utilisateur peut changer son propre mot de passe (s’il y est autorisé) et que root peut changer tous les mots de passe. Les mots de passe sont stockés dans le fichier « /etc/shadow » où ils sont chiffrés. II. Le fichier /etc/shadow Le fichier « /etc/shadow » contient les mots de passe cryptés des utilisateurs. Sa création a été faite afin de sécuriser un peu le système d’authentification car les développeurs ont jugés dangereux de mettre le mot de passe et les autres informations utilisateurs dans un même fichier. En effet, le fichier « /etc/passwd » est lisible par

Lire cet article
Commandes et SystèmeSSH

Fermer une session TTY à distance

I. Présentation Il peut parfois arriver que l’on oublie de fermer une session TTY (en connexion « physique ») à une machine ou un serveur. Auquel cas il peut être pratique de savoir fermer cette connexion à distance (via SSH par exemple). C’est ce que nous allons voir dans ce tutoriel. II. Fonctionnement Pour mieux comprendre comment nous allons faire, il faut savoir que chaque action sur une machine est présente sous la forme d’un processus désigné par un numéro d’identification: le PID. La commande POSIX « ps » nous permet d’afficher les processus en ligne de commande sous une machine UNIX : ps -ef Options : « -e » permet d’afficher tous les processus actifs « -f » permet d’avoir un affichage plus détaillé. Nous verrons alors beaucoup de processus actifs, si on affiche un exemple de ces processus : Nous pouvons ici voir plusieurs informations intéressantes. Ce qu’il faut savoir est que la première colonne désigne l’utilisateur qui a lancé la commande. La deuxième est le

Lire cet article
Base de données

Changer de mot de passe MySQL

I. Présentation Dans ce tutoriel, nous allons apprendre à changer les mots de passes des utilisateurs et de root dans MySQL. Il existe plusieurs façons de faire avec plusieurs outils et nous allons ici étudier les plus courantes. On peut par exemple utiliser la commande « mysqladmin » qui est spécialement prévue pour ce genre de modification, nous pouvons également utiliser une commande « courante » de changement de valeurs dans une table (« UPDATE ») ou encore s’aider d’outils comme « PhpMyAdmin » qui fournis une interface web pour la gestion de nos bases de données. Il faut savoir que, comme toutes les informations concernant MySQL et ses bases de données, les utilisateurs, leurs droits et leurs mots de passe sont stockés dans la base de données « mysql » et plus précisément dans la table « user ». La seule chose que nous avons à faire est donc de modifier la valeur du champ « password » de cette table. II. Changer le mot de passe root avec la commande « mysqladmin » Une

Lire cet article
Apache

Modifier le mot de passe Root de WAMP

I. Présentation Ce tutoriel a pour but de vous expliquer comment modifier le mot de passe Root de WAMP, plus précisément d’accès à l’interface de PhpMyAdmin afin de sécuriser votre serveur web. II. Procédure Accédez à l’interface de PhpMyAdmin. Allez dans l’onglet « Privilèges ». Modifiez les privilèges de l’utilisateur Root en localhost Pour cela cliquer sur l’icône comme précisé sur l’image. – Saisie du mot de passe Descendez dans la page puis saisissez votre mot de passe dans les champs prévus à cet effet, puis confirmez en faisant « Exécuter ». Maintenant il faut préciser dans le fichier de configuration de PHP que la connexion à l’interface avec l’utilisateur Root se fait via un mot de passe, car par défaut l’utilisateur Root n’a pas de mot de passe. – Ouvrez le fichier « config.inc.php » se trouvant dans C:/wamp/apps/phpmyadmin3.2.0.1/ Inscrivez le même mot de passe Root que celui saisie dans l’interface de PhpMyAdmin à la ligne $cfg[‘Servers’][$i][‘password’] = ‘votre_mot_de_passe’;

Lire cet article
Commandes et SystèmeNetfilterSSH

Autoriser le SSH via Iptables

I. Présentation Iptables est un paquet présent sur la plupart des distributions Debian qui permet de gérer en ligne de commande les règles de Netfilter, un pare-feu natif à ces mêmes distributions. Dans ce tutoriel, nous allons voir comment autoriser uniquement le port SSH à être contacté sur un serveur au travers la manipulation d’Iptables. II. Explications Nous allons en effet chercher à sécuriser notre port SSH via Iptables à travers différents paramètres et options. On verra tout d’abord comment fermer tous les ports de notre serveur pour n’ouvrir que le port SSH pour ensuite spécifier des sécurités supplémentaires quant à la connexion SSH. Iptables nous permettra de faire ce genre de sécurité. Pour simplifier la gestion des règles Iptables. Nous travaillerons avec un script qui exécutera les règles Iptables. On doit donc créer un fichier que nous nommerons ici « iptables.sh » : vim iptables.sh Puis nous allons commencer par réinitialiser les règles déja écrites : # !/bin/bash # Supprimer les

Lire cet article
Commandes et SystèmeSSH

Gestion du temps d’inactivité d’un shell

I. Présentation Il peut parfois arriver lorsqu’une connexion shell est établie sur un poste (SSH ou direct) d’oublier par négligence de fermer cet accès créant ainsi une ouverture à d’éventuelles attaques physiques. On peut imaginer qu’en allant sur une urgence ou en simple pause, une autre personne vienne sur le poste pour prendre le contrôle de l’accès SSH ou TTY de votre machine. Nous allons donc configurer notre shell pour qu’il se ferme automatiquement au bout de quelques minutes d’inactivité. Nous allons faire en sorte qu’au bout de 5 minutes d’inactivité, le bash se ferme automatiquement. Cela évitera que si, par négligence, on laisse ouvert un terminal sur notre serveur et quelqu’un puisse venir derrière le prendre pour l’utiliser en ayant alors un accès total à la machine. Dans le « man » de bash, nous apprenons que la valeur « TMOUT » pour « Timeout » (délai d’expiration) est le délai d’inactivité en seconde après lequel une session sera

Lire cet article
SSH

Protéger son accès SSH avec DenyHosts

I. Présentation Le paquet DenyHosts analyse le fichier de logs des connexions SSH (/var/log/auth.log) et qui permet de bloquer les tentatives de connexions SSH effectuées à partir d’une adresse IP en bloquant cette adresse. Ceci vous permet de protéger votre accès SSH et votre serveur pour éviter qu’une personne malintentionnée puisse faire une attaque SSH en utilisant des dictionnaires afin de trouver votre mot de passe. Bien sur, pour pouvoir installer cette application vous devez disposer d’un serveur SSH sur votre machine. Parmi les fonctionnalités de DenyHosts, on trouve les suivantes : Bannissement d’adresses IP : « Gestion d’une blacklist ». Non-surveillance de certaines adresses IP : « Gestion de whitelist ». Purge des entrées du fichier de bannissement afin d’enlever les entrées au bout d’un certain temps. Exemple : Bannir les adresses IP une semaine. Gestion des conditions d’échecs de connexion : Bannir au bout de n tentatives avec un compte utilisateur valide, bannir au bout de n tentatives

Lire cet article
NAS

RAID Mirroring sous OpenMediaVault

I. Présentation La distribution orientée NAS OpenMediaVault propose la gestion d’un RAID logiciel sur les disques durs et partitions de notre machine. Dans ce tutoriel, nous allons voir quels types de RAID sont gérer ainsi que la mise en place de l’un d’eux. La gestion du RAID sous OpenMediaVault se fait très facilement à partir de l’interface graphique. En réalité, c’est le processus mdadm qui gèrera le RAID sur notre machine OMV. L’interface graphique est donc la pour simplifier la gestion de nos disques. II. Pré-requis Pour faire ce tutoriel, nous aurons besoin d’une machine OpenMediaVault opérationnelle et si possible vide au niveau des disques durs de stockage. En effet, la mise en place du RAID efface toutes les données présentent sur les disques durs traités. Veillez donc à ce que ceux-ci ne contiennent aucune données importantes, ou, que celles-ci soient présentes en sauvegarde ailleurs. Pour mettre en place du RAID, il nous faut bien sur plusieurs disques durs (au

Lire cet article