18/01/2025

Cours – Tutoriels

Commandes et Système

Sécuriser l’édition du GRUB

I. Présentation Le GRUB est le système qui va s’occuper du menu de démarrage de notre système quand nous installons un OS Linux. Le GRUB est un outil qui permet de détecter les différents systèmes d’exploitation présents sur la machine et de les lister au démarrage de celle-ci pour nous orienter vers quel OS démarrer. C’est un outil que l’on peut optimiser afin de mettre en place une meilleure protection de notre machine. II. Détecter la version du GRUB La méthode de sécurisation d’une application dépend de sa version. C’est notamment vrai pour le GRUB. Nous devons donc dans un premier temps détecter la version du GRUB que nous avons sur notre machine. La version du GRUB s’affiche au démarrage de la machine comme suivant : Pour connaitre la manière de faire sur une machine déjà démarrée, nous allons utiliser le paquet « dpkg » qui sert à donner des informations sur les paquets installés. On utilisera donc la commande

Lire cet article
Windows Client

Installer Hyper-v sous Windows 8

I. Présentation Vous connaissez sûrement Hyper-V sur les éditions Server de Windows comme Windows Server 2008 R2 et Windows Server 2012. Toutefois, Windows 8 est le premier système d’installation  « grand public » à proposer un hyperviseur gratuit puisque auparavant pour faire de la virtualisation sous Windows XP, Vista ou 7 vous deviez installer une application comme « VMware Player/Workstation » ou « Oracle VM VirtualBox ». Cette version de l’hyperviseur « Hyper-v » se veut simple d’utilisation tout en étant performante mais il y a un inconvénient non négligeable : Hyper-v n’accepte pas de cohabiter avec d’autres applications de virtualisation, à savoir celles citées ci-dessus. De ce fait, vous ne pouvez pas installer plusieurs outils de virtualisation sur votre PC, dommage si comme moi vous aimez disposer de plusieurs outils afin de les tester. Hyper-v permet également de virtualiser des systèmes d’exploitation fonctionnant sur l’architecture x86 et x64 mais pour installer Hyper-v, vous devez impérativement disposer d’une version 64

Lire cet article
Apache

Protéger une page web avec .htaccess et .htpasswd

I. Présentation Il peut parfois être utile d’avoir à protéger certains contenus ou pages web par une authentification simple. Le but est alors de ne laisser passer que ceux qui ont les identifiants requis. Cela se fait trés simplement grace aux fichiers « .htaccess » et « .htpasswd » avec Apache2, c’est ce que nous allons voir dans ce tutoriel. Nous allons ici supposer qu’au moins Apache2 est installé sur le serveur et que votre architecture web démarre de « /var/www/ ». Pour l’exemple du tutoriels, nous allons protéger le dossier « /var/www/site1 » par un fichier « .htaccess ». II. Construction des fichiers On se rend dans donc le dossier en question : cd /var/www/site/ Ensuite, nous allons créer le premier fichier qui sera « .htaccess ». Le fichier « .htaccess » est un fichier caché (il commence par un « . »). Cela signifie qu’on ne pourra pas le voir avec un simple « ls » mais qu’il faudra utiliser « ls -a » pour le voir. Le fichier « .htaccess » est le fichier qui contient les paramètres qui

Lire cet article
Stratégie de groupe

Différence entre gpupdate et gpupdate /force

I. Présentation Si vous utilisez Windows Server, vous avez sûrement créé un domaine et votre réseau est composé de nombreuses machines sur lesquelles s’appliquent des stratégies de groupe afin de restreindre les accès à la configuration du système. Vous connaissez forcément la commande « gpupdate », qui peut se traduire par « Group Policy Update » et qui permet d’actualiser les paramètres de stratégies de groupes afin que les objets de stratégies de groupe configurés sur les contrôles de domaine soient appliqués. Toutefois, souvent on nous dit de saisir « gpupdate /force » afin de « forcer » la mise à jour, mais, qu’est-ce que ça fait exactement ? Pourquoi ne pas faire une simple mise à jour ? II. Explication En ce qui concerne l’option « force », elle permet d’actualiser à nouveau tous les paramètres de stratégies de groupes à partir du serveur, comme si c’était la première fois que ça devait être appliqué. De ce fait, si

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
Supervision

Monit – HTTPS pour l’interface web

I. Présentation : Comme vous le savez, Monit dispose d’une interface web qui permet de visualiser des informations sur les services et d’effectuer quelques tâches d’administration. Toutefois, on accède à cette interface par l’intermédiaire du protocole HTTP, ce qui n’est pas sécurisé. Afin de sécuriser l’accès, nous allons mettre en place l’utilisation du protocole HTTPS pour l’accès à l’interface web. Ceci engendre une modification de la configuration de Monit par l’intermédiaire du fichier « monitrc » et nous allons devoir générer un certificat SSL qui contiendra également la clé privée. Tout ça dans le but de sécuriser les échanges. II. Configuration de Monit : La configuration de Monit doit être légèrement modifiée afin d’indiquer qu’on souhaite activer le SSL, et, il faut également indiquer le chemin vers le certificat à utiliser. Pour cela, il faudra ajouter deux lignes au niveau du paramétrage de l’interface web, comme ceci : Ajoutez les deux lignes indiquées ci-dessous qui permettent respectivement d’activer le SSL

Lire cet article
Supervision

Monit – Utiliser un fichier htpasswd pour l’authentification

I. Présentation : Dans le tutoriel de mise en place de l’outil de monitoring Monit, nous avons vu comment créer des identifiants de connexion directement au sein du fichier de configuration, mais également, en utilisant les comptes utilisateurs et les groupes du système Linux. Désormais, nous allons voir comment utiliser un fichier de type « htpasswd » c’est-à-dire que le fichier contiendra des identifiants (utilisateur + mot de passe) crypté en MD5. Ainsi, nos identifiants de connexion à l’interface de Monit seront protégés. II. Création du fichier : Avant de configurer Monit, nous allons créer des identifiants de connexion chiffrés dans un fichier nommé « password », se situant dans « /etc/monit », grâce à la commande « htpasswd ». Dans cet exemple, je crée un utilisateur nommé « florian » qui aura pour mot de passe « 123456 ». Voici la commande : htpasswd –m –c /etc/monit/password florian Lors de l’exécution de la commande, on vous demande un mot

Lire cet article
Supervision

Monit – L’interface web

I. Présentation : Dans un autre tutoriel, nous avons vu la mise en place de Monit, c’est-à-dire l’installation et la configuration de cet outil de monitoring. Maintenant, nous allons voir l’interface web de Monit qui permet essentiellement de visualiser l’état des services et d’obtenir un bon nombre d’informations sur ces derniers. Toutefois, quelques tâches d’administration sont disponibles : – Désactiver/activer la surveillance c’est-à-dire le monitoring d’un service, – Forcer le contrôler de tous les services, – Visualiser le fichier de log de monit, – Arrêter l’interface web de monit. II. Accès à l’interface web : Tout d’abord, connectez-vous sur l’interface en utilisant l’adresse IP du serveur sur lequel monit est installez, en précisant le numéro de port que vous utilisez. Exemple : http://192.168.1.100:8080 Rappel : le numéro de port est définit dans le fichier de configuration « monitrc » par l’intermédiaire de la directive « set httpd port 8080 ». En ce qui concerne l’identifiant et le mot de passe,

Lire cet article
Base de données

Utilisation d’un fichier sécurisé pour l’authentification MySQL

I. Présentation Lors de la mise en place de scripts utilisant MySQL ou de l’utilisation des commandes MySQL en CLI, il peut être gênant d’avoir à saisir le mot de passe directement dans le script ou la commande qui est exécuté . Nous allons donc chercher à le stocker dans un fichier et à aller le lire par une option supplémentaire dans les commandes. Cela peut nous être pratique dans un soucis de sécurité d’une part, mais également dans un soucis de facilité d’utilisation. II. Fonctionnement On passe pour cela par un fichier déjà existant qui est « /etc/mysql/debian.cnf ». Ce fichier est déjà utilisé par le système. C’est votre machine qui, par le compte « debian-sys-maint » va faire des mises à jours sur la base de données ou des checks système. Le mot de passe associé à cet utilisateur est automatiquement créé à l’installation de MySQL. Il ne faut donc pas y toucher. Nous allons simplement nous contenter de copier ce fichier

Lire cet article
Supervision

Monit – Installation et configuration

I. Présentation : Il est essentiel de surveiller l’état général de votre serveur, c’est-à-dire les processus, les programmes, les répertoires, les fichiers, etc… C’est ce qu’on appelle le monitoring système. Le but est d’indiquer à l’application ce qu’on souhaite surveiller et elle effectuera des contrôles réguliers, et lorsqu’une erreur sera rencontrée, une alerte sera envoyée. Une alerte peut être envoyée mais pas seulement, on peut effectuer une action sur le processus et même exécuter un script lorsqu’une erreur est détectée. Ces vérifications peuvent aller de la surveillance de la charge CPU à la vérification de la somme SHA-1 d’un fichier, ce qui permet une multitude de choix et une surveillance minutieuse. En fait, c’est un peu le même principe que de la supervision sauf que là on surveille uniquement la machine locale. Ce n’est pas un serveur qui ira surveiller d’autres serveurs comme on peut le faire avec un serveur de supervision. Dans notre cas, nous allons utiliser monit qui

Lire cet article
Base de données

Importer un fichier .sql en ligne de commande

I. Présentation Dans ce tutoriel, nous allons apprendre à importer des bases de données au format « .sql » en ligne de commande. Bien souvent, la réimportation des bases de données à partir de fichier « .sql » passe par l’utilisation de PhpMyAdmin. Mais il peut aussi être utile de savoir le faire en ligne de commande pour automatiser la tâche par exemple. On doit pour cela avoir un fichier « .sql » à disposition ainsi qu’un serveur MySQL opérationnel. On aura donc un fichier que nous nommerons ici « db.sql » qui contiendra des commandes MySQL (DROP, CREATE, INSERT, …). Dans notre tutoriel, on considérera qu’il est stocké dans « /home/neaj/mysql/ » L’intérêt de mettre ces commandes dans un fichier « .sql » est que cela nous permet de toutes les exécuter en une seule fois. II. Les lignes de commandes Il existe plusieurs façon de faire mais dans tous les cas on utilise la commande « mysql ». # On peut commencer par se connecter avec notre utilisateur mysql -u user -p

Lire cet article
IPCOP

SSH avec IPCOP : Authentification par clé

I. Présentation La distribution IPCOP permet l’administration à distance via le protocole SSH en se connectant par mot de passe. Il est également possible de mettre en place une connexion SSH sécurisée par l’utilisation d’une paire de clés asymétriques. La clé publique restera toujours sur le serveur IPCOP, tandis que le poste utilisé pour la connexion à distance devra disposer de la clé privée. Une clé privée qui devra être au préalable converti avec l’utilitaire « PuttyGEN » afin d’être compatible et utilisable avec Putty. Dans le principe, dans un premier temps, la paire de clés doit être générées sur le serveur IPCOP grâce à la commande adéquate. Ensuite, on autorisera la clé publique auprès du serveur IPCOP pour qu’il ait confiance en cette clé. Dans un deuxième temps, la clé privée doit être transférée sur le poste client pour être utilisée lors d’une connexion. Il est important de préciser que cette clé privée doit être conservée précieusement puisque c’est

Lire cet article
SSH

Utilisation de Cluster SSH

I. Présentation Cluster SSH est une application disponible sous Linux permettant d’administrer via SSH plusieurs hôtes en même temps, c’est à dire que lorsque vous saisissez une commande celle-ci s’exécute sur l’ensemble des hôtes du cluster, mais en sélectionnant une fenêtre précise parmi celle ouverte vous pouvez exécuter une commande dans un seul shell. II. Installation du paquet clusterssh apt-get install clusterssh III. Syntaxe de la commande cssh user1@nom_serveur1 user2@nom_serveur2 IV. Exécution de Cluster SSH sur plusieurs serveurs Dans cette exemple 2 serveurs avec un client SSH sont utilisés : – serveur1 avec l’IP 192.168.1.200 et l’utilisateur Root. – serveur2 avec l’IP 192.168.1.201 et l’utilisateur Root. La connexion s’effectue… Une fois que c’est fait, il ne reste plus qu’à s’authentifier avant d’accéder au shell de chacun des serveurs. V. Saisir une commande sur tous les serveurs du cluster en même temps Il suffit de se positionner sur le champ de saisie de CSSH qui apparaît sous les fenêtres des serveurs.

Lire cet article
Services

Cmospwd : Remettre à zéro le mot de passe BIOS

I. Présentation En général, pour protéger l’accès à la configuration du BIOS on y met un mot de passe. Toutefois, si avec le temps on l’oublie on perd accès à la configuration du BIOS de la machine. Dans ce cas-là, vous devez ouvrir la machine puis retirer la pile CMOS quelques secondes afin de remettre à zéro la configuration de votre BIOS, voir même dans certains cas vous devez actionner un cavalier afin de déclencher la remise à zéro du BIOS. Sauf que quand c’est un PC portable et qu’il va vous falloir une, voir plusieurs heures pour le démonter et remonter juste pour retirer la pile CMOS, ça va vite devenir embêtant. Sous Linux, il existe un utilitaire nommé « cmospwd » dont le but est fort sympathique : Remettre à zéro le mot de passe BIOS, sans aucune action sur le matériel de la machine. De quoi gagner un temps fou lorsque ça fonctionne. Il ne faut pas

Lire cet article