17/11/2024

Configuration

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
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
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
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
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
Apache

Apache2 : Personnaliser les messages d’erreurs

I. Présentation Les messages d’erreurs par défaut d’Apache sont pas très esthétiques, peuvent être intimidant pour un utilisateur lambda vu qu’ils sont en Anglais, et en plus, ils fournissent des informations sur votre serveur, comme la version d’Apache utilisée. Ainsi, si une personne malintentionnée peut repérer la version de votre serveur Web, elle peut également se renseigner sur les vulnérabilités de cette version. Ce qui fait une raison de plus pour personnaliser les messages d’erreurs. Ici, nous allons donc voir comment personnaliser ces messages et nous en prendrons un pour exemple afin de réaliser des tests. Ce qui est intéressant, c’est que la procédure reste la même pour tous les messages d’erreurs. La personnalisation des messages d’erreurs s’effectue avec l’utilisation d’un ou de plusieurs fichiers « .htaccess ». II. Configuration du site Avant de procéder à la mise en place d’un fichier .htaccess, nous devons vérifier la configuration du serveur Apache puisqu’il y a un paramètre qui permet de préciser

Lire cet article
Apache

Fichier .htaccess pas pris en compte, que faire ?

I. Présentation Il se peut que vous tentiez d’utiliser un fichier .htaccess sur votre serveur web afin de faire de la réécriture d’URL, de l’authentification, de la gestion de pages d’erreurs, etc… Sauf qu’au moment d’effectuer les tests vous remarquez que rien ne se passe. En fait, ceci est dû à la configuration de votre site dans Apache et notamment à la valeur attribuée au paramètre « AllowOverride », qui stipule par défaut qu’on ne prend pas en compte les fichiers de type htaccess. Tout s’explique.   II. Explication Intéressons-nous de plus près au paramètre « AllowOverride » afin de voir les différentes valeurs qu’on peut lui attribuer et ce qu’elles signifient. Voici une liste des valeurs possibles accompagnées d’une explication pour chacune d’entre elles : – « None » : Valeur par défaut qui implique que les fichiers .htaccess sont ignorés pour l’intégralité du site. – « AuthConfig » : Valeur qui permet l’autorisation des directives d’autorisations, plus précisément

Lire cet article
Services

Installer un serveur VNC sous Ubuntu avec X11VNC

I. Présentation Nous allons voir à travers ce tutoriel comment installer et configurer un serveur VNC sous Linux, pour qu’à partir d’un client Windows l’on puisse se connecter à distance sur la machine Linux. Vous l’avez surement déjà fait de Windows à Windows, c’est tout simple, il suffit d’installer UltraVNC ou un autre logiciel de ce genre. Sous Linux, ce n’est pas beaucoup plus compliqué… Quelques lignes de commandes, deux trois petits ajustements dans la configuration de l’application pour que la connexion puisse être établie. Pour réaliser ce tutoriel, il vous faut : 1 PC sous Windows XP avec un client VNC d’installé. 1 PC sous Ubuntu (ou équivalent) ayant accès à internet. Chaque instance de x11VNC exécutée utilise un port différent (ce qui est logique), ainsi le premier X11VNC exécuté écoutera sur le port 5900, le second sur 5901, le troisième 5902, etc. II. Installation du paquet X11VNC Sur la machine Ubuntu, installez le paquet « x11vnc » sans

Lire cet article
Commandes et Système

Rendre ses couleurs à vim

I. Présentation Dans ce petit tutoriel, nous allons rendre ses couleurs à vim. Il arrive parfois lors de son installation que vim n’affiche pas les couleurs (commentaires, commandes, …) comme suivant : II. Procédure Les couleurs dans les fichiers de configuration ou les scripts (entre autre) nous permettent d’avoir une vue plus clair des fichiers et de nous repérer plus facilement. Pour activer l’affichage des couleurs dans vim, il faut se rendre dans son fichier de configuration : vim /etc/vim/vimrc Puis dé-commenter la ligne suivante après s’être assuré que le paramètre « syntax » est bien « on » : Nous aurons maintenant les couleurs dans nos scripts et nos fichiers de configuration :

Lire cet article