19/12/2024

Sécurité

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

Script – Sauvegarde des bases de données sous Linux

I.  Présentation Afin d’assurer une tolérance aux pannes et une sauvegarde des informations importantes, une sauvegarde des bases de données Mysql peut être faite avec un script. Il est en effet intéressant de pouvoir automatiser la sauvegarde des bases de données d’un serveur, car elles contiennent souvent des informations importantes et vitales dans une entreprise. Ce backup sera effectué par un utilisateur « backup » qui sauvegardera régulièrement et automatiquement l’ensemble des bases de données du serveur. II. Création de l’utilisateur de backup Il faut tout d’abord créer un utilisateur qui aura uniquement les droits de lecture sur l’ensemble des bases de données. Les opérations seront lancées à partir d’un script, il serait donc dangereux de les lancer avec un utilisateur ayant des droits de modification, de création ou de suppression sur les bases de données.On se connecte au serveur de base de données : mysql -u root -p On crée l’utilisateur ‘backup’@’localhost’. Il est important de préciser que backup

Lire cet article
Commandes et SystèmeServices

Sécuriser DNS Bind9 – Serveur unique

I. Présentation Le serveur de votre architecture se doit d’être sécurisé afin de ne pas se retrouver avec un serveur en déni de service et de ne pas voir s’arrêter la majorité des services qui s’appuient sur le DNS. Se protéger, oui, mais contre quoi ? Contre les attaques de types « DNS Spoofing » et « DNS cache poisoning ». La sécurisation d’un serveur de noms autonome, unique, passe essentiellement par le paramétrage des restrictions des requêtes client, sur le transfert de zone, et de ne pas afficher la version de Bind installée sur votre serveur lorsqu’on lui demande de l’indiquer. Toutefois, un des meilleurs moyens d’augmenter la sécurité de Bind est de le maintenir à jour, c’est-à-dire d’installer la version la plus récente disponible afin d’éviter d’installer un système contenant des vulnérabilités connues. Dans ce tutoriel, je pars du principe où vous maitrisez Bind9 et ses différents fichiers de configuration. Je vous rappelle qu’un tutoriel sur la mise

Lire cet article