05/12/2025

Commandes et Système

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
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
BashCommandes et Système

Les variables spéciales shell sous Linux

I. Présentation Dans ce tutoriel, nous allons nous attarder sur les variables spéciales shell. Ces variables servent dans la plupart du temps dans les scripts bash car ils permettent de récupérer des informations sur les arguments passés ou sur l’exécution en cours. On utilisera ces variables spéciales dans nos scripts, la plupart du temps par un affichage avec « echo » ou pour le traitement des données et paramètres d’un script. Les variables spéciales se compose toujours de deux caractères, le premier est « $ » est le deuxième varie en fonction de la variable et du résultat voulu par exemple « $* » ou « $1 ». Pour tous le tutoriel, on considérera qu’on à un script « script.sh » contenant la trame suivante : #!/bin/bash echo « Arg = < variable spéciale > » ; Nous passerons ainsi divers paramètres pour tester leurs fonctionnements. On exécutera ce script via la commande suivante : bash script.sh Il nous faudra bien sur avant le passer en exécutable : chmod +x script.sh  

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
Commandes et SystèmeServices

Connexion VPN sous Gnome3

I. Présentation Dans ce tutoriel, nous allons apprendre à paramétrer et établir une connexion VPN sous l’interface graphique Gnome3. Nous passerons pour cela à travers l’application « network-manager » qui s’occupe nativement de la gestion des connexions réseaux sous de nombreuses distributions Linux. II. Télécharger l’application Il faut commencer par télécharger et installer un client VPN « openvpn » ainsi que le plugin openvpn pour « network-manager » qui s’occupe des connexions réseaux sous Gnome3. On lance pour cela synaptic qui est le gestionnaire de paquets de la plupart des distributions : On télécharge ensuite les trois paquets suivants, il s’agit du client Openvpn ainsi que des modules Openvpn pour le gestionnaire réseau « Network-Manager » : On peut, pour les trouver, s’aider du « Filtre rapide » en y entrant « openvpn ». On fera ensuite un clic gauche sur la case blanche de ces paquets puis « Sélectionner pour l’installation », on cliquera enfin sur « Appliquer » pour lancer l’installation des différents paquets : On

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
Commandes et SystèmePare-Feu

Configurer un routeur sous Linux

I. Présentation Nous allons dans ce tutoriel apprendre à mettre un en place un routeur sous Linux. Les distributions sous Linux sont très polyvalentes et cela permet entre autre de les transformer en véritables routeurs. Il faut bien sur pour cela que notre machine Linux dispose d’au moins deux interfaces réseaux car la première fonction d’un routeur et de faire la passerelle (gateway) entre un réseau et un autre qui ne pourraient communiquer sans. II. Configuration des deux interfaces Nous allons commencer par configurer nos deux interfaces avec des IP fixes. Un routeur est un élément central d’un réseau et toutes les machines de ce réseau s’y réfèrent pour leurs requêtes. Il est donc obligatoire que notre routeur ai une IP fixe sur chacune de ces interfaces. Nous travaillerons ici sur l’interface « eth0 » qui sera orientée vers le réseau simulant une réseau externe « WAN » en 192.168.1.0/24 et une seconde interface « eth1 » qui sera vers notre « LAN » en 192.168.10.0/24. Aprés vous

Lire cet article
Commandes et Système

Activer l’autocomplétion bash sous Linux

I. Présentation L’auto-complétion sous Linux est ce qui existe nativement au niveau du parcours des fichiers. Par exemple si vous commencez à entrer « ls /home/ » puis que vous appuyez sur [TAB] vous verrez l’ensemble des fichiers et dossiers du répertoire. Également si vous entrez le début du nom d’un fichier et que vous appuyez sur [TAB], la fin du fichier s’écrit tout seul. Ce que nous cherchons à faire ici est d’avoir le même procédé pour les commandes Linux ou les paquets lors d’un apt-get. II. La procédure La procédure est assez simple, il  faut se rendre dans le fichier /etc/bash.bashrc en root et décommenter les lignes suivantes : if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi Il faut ensuite recharger votre terminal pour qu’il applique les nouveaux paramètres : source .bashrc Vous pourrez alors constater que si vous entrer « apt- » puis que vous appuyez sur [TAB] vous aurez la liste des possibilités de

Lire cet article
Commandes et Système

La commande history sous linux

I. Présentation La commande history est une commande POSIX (commune à toutes les distributions type Unix) qui permet de remonter dans les commandes que nous avons passées. Il vous arrive probablement souvent de remonter vos commandes pour les réexecuter avec le « UP » (flèche du haut) de votre clavier, vous faites ainsi défiler l’ensemble des commande que vous avez exécutées. Cela est possible grâce à « history ». En effet, quand vous passez une commande, celle-ci est stockée dans un fichier du nom de « .history » du répertoire « home/$User ».Si l’utilisateur « paul » tape les commandes « ls »et « cd / », celles-ci seront stockées dans le fichier « /home/Paul/.history » et quand Paul voudra remonter dans ses commandes, c’est le processus et le fichier « .history » qui l’aideront. II. La commande Tapez la commande suivante pour voir vos dernières commandes passées: history Les commandes que vous verrez seront alors uniquement celles de l’utilisateur avec lequel vous êtes connecté. Pour voir les commandes d’un autre utilisateur, il faut aller ouvrir le fichier

Lire cet article
Commandes et Système

Monter un périphérique sous Ubuntu Server

I. Présentation Lorsqu’on est sous Ubuntu Desktop ou je dirais même de manière encore plus évidente sous Windows, il suffit de brancher le périphérique au PC pour qu’il soit automatiquement détecté et monté dans le système d’exploitation. Ce qui permet une utilisation immédiate du périphérique. Toutefois, lorsqu’on se retrouve sous Ubuntu Server c’est-à-dire sans interface graphique, il faut manipuler un peu pour pouvoir accéder au contenu du périphérique. On se doit donc de monter manuellement le périphérique. Dans cette exemple, je monte une clé USB dans le système mais peut importe le périphérique que vous souhaitez monter, la méthode reste la même. La manipulation consiste à créer un point de montage et d’y associer la clé USB pour pouvoir ensuite y accéder. Le point de montage crée une relation entre le périphérique et le système hôte. II. Où créer le point de montage ? On crée le point de montage dans le répertoire « /media » car on y trouve

Lire cet article
Commandes et Système

Trier les lignes d’un fichier selon un mot avec sed

I. Présentation Dans ce tutoriel, nous allons apprendre à sortir uniquement les lignes qui nous intéressent dans un fichier donné. Dans un gros fichier comme un fichier de logs, il peut être utile de n’afficher qu’un type de ligne, par exemple celles qui contiennent le mot « sshd » pour trier les processus de connexion sshd dans le fichier auth.log de votre système. Nous prendrons ce fichier (/var/log/auth.log) et ce processus (sshd) comme exemples pour ce tutoriel. Le fichier auth.log contient donc différents types d’informations concernant plusieurs processus. II. La commande Nous allons utiliser la commande sed pour n’afficher uniquement les lignes contenant le mot « sshd » pour les écrire ensuite dans un fichier à part. Nous allons donc utiliser cette commande que j’expliquerais par la suite : sed -n -e ‘/sshd/p’ auth.log > authssh.log sed : sed est une commande qui permet de manipuler des fichiers ou beaucoup d’autres types d’entrée -n : Indique qu’il faut afficher uniquement les lignes qui nous

Lire cet article
Commandes et Système

Enlever les commentaires d’un fichier

I. Présentation Dans certains fichiers de configuration la présence des commentaires (reconnaissables car ils commencent par ‘#’) peut rendre difficile la lecture, il peut être utile d’enlever ces lignes pour ne garder que les lignes de configurations utiles. Avec la commande sed, il est possible de traiter entièrement le fichier, d’en enlever tous les commentaires et de sauvegarder le résultat dans un autre fichier (sans changer le fichier initial). II. Exemple Admettons que nous ayons une fichier (config.txt) contenant ces lignes : Début du fichier # commentaire # commentaire # commentaire milieu # commentaire # commentaire Fin de ficher Si nous ne voulons garder que les lignes dé-commentées, il nous faut appliquer cette commande et sauvegarder dans un fichier config2.txt sed ‘/^#/d’ config.txt > config1.txt La sortie de cette commande sera Début de fichier milieu Fin de fichier sed est une commande qui permet de manipuler des fichiers ou beaucoup d’autres type d’entrée. /^#/ est la chaine de caractère que

Lire cet article
Commandes et Système

Résoudre le problème du pavé numérique avec Vim sous Putty

I. Présentation Lorsque vous êtes sous une connexion SSH sur un serveur Linux avec Putty, vous aurez probablement un souci lors de l’utilisation de VIM. II. Le problème En effet, il peut arriver que le pavé numérique soit mal géré sous vim par l’utilisation de Putty, toute les touches du pavé numérique renvoient à la ligne ou renvoient des lettres, ce qui n’est pas ce que nous attendons. Nous nous retrouvons alors avec un texte qui n’a plus de sens, comme suivant : III. La solution Ce problème ne vient pas de votre serveur ou de vim mais de la configuration du logiciel Putty. Pour régler ce problème, avant d’établir la connexion, rendez vous dans « Features » puis cochez la case « Disable application keypad mode »: Vous pouvez alors établir la connexion et utiliser votre pavé numérique sous VIM.

Lire cet article
Commandes et Système

L’utilisation de la combinaison des commandes grep et cut

I. Présentation Dans le but de récupérer certaines parties d’un résultat suite à la commande grep, il peut paraitre utile d’utiliser la commande cut qui coupera notre résultat à partir d’un caractère par exemple. II. Exemple d’utilisation Nous souhaitons par exemple dans un script bash mettre notre adresse IP dans une variable. En toute logique la commande pour récupérer notre adresse IP est la suivante : Nous avons alors trop d’informations puisque nous souhaitons uniquement l’adresse IP de notre machine. Nous pouvons alors utiliser grep pour nous retrouver seulement avec une seule ligne, nous savons que la ligne contenant notre IP contient également le terme « Bcast », nous passons alors cette commande pour nous retrouver uniquement avec cette ligne : Voila qui est déjà mieux, cependant nous ne voulons toujours uniquement notre IP. Nous voyons que notre ligne est plusieurs fois séparée par des espaces. Cela tombe bien, la commande cut permet de découper une entrée en utilisant un

Lire cet article