22/12/2024

SSH

Commandes et SystèmeSSHSupervision

Envoi d’un mail lors d’une connexion SSH

I. Présentation Dans ce tutoriel, nous allons apprendre à paramétrer un envoi de mail lors d’une connexion SSH à un serveur Linux. Cela peut être une solution simple et rapide pour savoir quand quelqu’un se connecte à votre serveur et cela en temps quasi réel (le temps d’envoi d’un mail). Nous allons voir que cette méthode peut s’appliquer à tous les utilisateurs se connectant en SSH,le plus intéressant à faire étant pour root car cela permet de superviser les connexions en SSH pour root et ainsi de détecter si il y a des connexions anormales. II. Le fichier .bashrc Chaque utilisateur possède un fichier « .bashrc » dans son « home » qui peut contenir, entre autre, des commandes exécutées lors de l’initialisation de son shell (ce qui se passe lors d’une connexion SSH). C’est de ce fichier que nous allons nous servir pour effectuer notre envoi de mail. Il suffit donc juste d’y placer les bonnes commandes. Note: On par ici du principe

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