24/01/2025

Commandes et Système

Commandes et Système

lastb : logs des connexions utilisateurs échouées

I. Présentation Sous Linux, un fichier de log est utilisé pour journaliser les tentatives infructueuses de connexion et, il est consultable grâce à la commande « lastb ». Concernant ce fichier il est situé au chemin suivant : /var/log/btmp II. Le fichier de log Si le fichier « /var/log/btmp » est absent de votre système, vous devez le créer manuellement à l’aide de la commande suivante : touch /var/log/btmp En effet, s’il est absent il ne sera pas créé tout seul à cause d’un choix local de configuration. Si vous désirez activer cette journalisation, créez-le comme indiqué ci-dessus. III. Utilisation Dans le cadre de tests et pour générer des logs, je tente de me connecter sur une machine en utilisant différents comptes utilisateurs. Certains existent réellement, d’autres non. Pour consulter le journal, il suffira d’entrer la commande suivante : lastb Vous obtiendrez un résultat de ce type : On peut voir que les tentatives infructueuses effectuées avec un utilisateur inconnue de la base locale

Lire cet article
Administration RéseauBatchCommandes et Système

Qu’est ce que le traceroute ?

I. Présentation Dans ce tutoriel, nous allons voir qu’est ce que le traceroute, un utilitaire souvent utilisé sous toute distribution qui permet de suivre et de retracer le chemin d’un paquet d’un point A à un point B sur un réseau LAN comme sur internet. Nous verrons comment un traceroute fonctionne, les différences entre les principaux OS et les limites de cet outil. II. Traceroute: qu’est ce que c’est ? Comme dit précédemment, traceroute est un outil qui va permettre, à partir d’un poste A, de suivre le chemin qu’emprunte une communication vers un point B. On dit souvent que « ça passe par Internet » mais nous pouvons avoir des informations plus précises. Traceroute est aussi utilisé dans les réseaux d’entreprises pour connaitre le chemin qu’utilise les flux au sein des réseaux. On peux imaginer une utilisation lors de la configuration d’un protocole de routage par exemple. III. Comment ça fonctionne Techniquement, traceroute a un fonctionnement assez logique. Il utilise le

Lire cet article
Commandes et Système

Vulnix : Solution et explications

I. Présentation Vulnix est une machine virtuelle volontairement vulnérable qui est diffusée sur le site rebootuser.com . Le principe est d’essayer d’attaquer cette machine virtuelle afin de mieux comprendre l’enjeu de la sécurité et de s’entrainer aux tests d’intrusion afin de mieux cerner certaines failles et procédures de sécurité. Nous allons ici voir en détail la solution pour venir à bout de cet exercice et également essayer d’expliquer l’ensemble des procédures et failles de sécurité que nous utilisons. Je déconseille fortement aux lecteurs n’ayant pas essayé de venir à bout de cette machine virtuelle de venir lire ce tutoriel. Le but de l’exercice étant avant tout de découvrir les failles de sécurité par soit même. La machine est à télécharge ici : Télécharger Vulnix Pour l’installer, il suffit de double cliquer sur le .vmx dans l’archive ZIP en ayant un des produits VMware (Player ou Workstation) installé sur sa machine. Pour ma part, j’utiliserais la distribution KaliLinux virtualisée sous VMware

Lire cet article
Commandes et Système

Multitâche et politiques d’ordonnancement sous Linux

I. Présentation Le multitâche a joué (et joue encore !) un rôle primordial dans l’évolution des machines et des systèmes d’exploitation. En effet, il a permis d’augmenter considérablement la capacité de traitement d’un système concernant les différentes tâches qu’il se doit de gérer. Au final, la réactivité du système d’exploitation se voit grandement améliorée. L’une des fonctionnalités principale du noyau Linux, et plus particulièrement de la partie appelée le « Scheduler » ou Ordonnanceur et de gérer la partie multitâche du système d’exploitation, appelée aussi « multitâche préemptif ». Les fonctionnalités principales de l’ordonnanceur d’un noyau Linux est d’élire un processus parmi d’autres qui occupera le processeur pendant un temps donné avant qu’il ne soit préempté au profit d’un autre processus. Ce choix est fait selon la politique d’ordonnancement appliquée et aussi suivant plusieurs critères de sélection personnel à chaque processus dont par exemple la priorité qu’ils ont reçus. La configuration de l’ordonnanceur à travers les différentes politiques d’ordonnancement et

Lire cet article
Commandes et Système

Limiter le nombre de processus créés avec ulimit

I. Présentation Plusieurs sociétés éditrice de système d’exploitation ont choisi de cacher les spécifications de leur produit. Pourquoi ? 1 – En cachant et en verrouillant les spécifications de leurs systèmes, ils évitent (croient éviter ?) qu’un concurrent se base sur leur code pour l’améliorer et en produire un code meilleur, moins bugué et au final produire un système meilleur. 2 – En mettant une couche opaque entre les utilisateurs et le code système, ce dernier devient selon eux moins sujette aux failles et à leurs découvertes puisque on ne divulgue aucunes informations sur la structure du système, son implémentation, etc …, c’est ce qu’on appelle la sécurité par l’obscurité, qui donne une fausse impression de fiabilité et/ou de sécurité. Mais voilà, ceci a peut-être donné ses fruits à un moment donné, mais c’est loin d’être le cas de nos jours. Néanmoins, tous les systèmes heureusement ne sont pas pareils et un d’eux sort tout particulièrement de ce lot et

Lire cet article
Commandes et SystèmeNetfilterServices

Débannir une IP bannie via iptables par Fail2ban

I. Présentation Dans un précédent tutoriel, nous avons vu comment fonctionnait Fail2ban et comment l’installer et le configurer pour une utilisation basique. Nous savons que Fail2Ban peut, entre autre, bannir des IP selon certains critères via le manager de pare-feu Linux. Il peut arriver que nous souhaitions dé-bannir une IP qui a été bannie par Fail2ban en utilisant iptables. C’est ce que nous allons voir ici. II. Afficher l’IP bannie dans iptables La première étape pour dé-bannir une IP bannie via iptables est de repérer la ligne à laquelle elle se trouve dans iptables. On utilise pour cela la ligne de commande suivante : iptables -L Nous aurons alors la sortie suivante : On voit donc plusieurs IP dans la chaine « fail2ban-ssh » qui est le nom par défaut de la chaine où sont indiquées l’état et les IP bannies. On repère donc la ligne sur laquelle se trouve notre IP (par exemple la ligne 2 pour l’IP « 192.168.21.10 » puis ont

Lire cet article
Commandes et Système

Configurer une interface réseau sous CentOs

I. Présentation Dans ce tutoriel, nous allons apprendre à configurer une interface réseau sous la distribution CentOS. II. Créer un fichier interface Nous allons activer l’interface pour qu’elle puisse nous permettre d’accéder au réseau. On se rend pour cela dans le dossier « /etc/sysconfig/network-scripts ». Nous allons ensuite créer un fichier interface. Ce fichier interface correspondra donc à une interface réseau physique et doit être construit d’une manière bien précise. Nous le nommerons « ifcfg-eth0 » en référence à l’interface « eth0 » qui est normalement la première interface utilisée : vim ifcfg-eth0 Nous allons ensuite mettre ces lignes comme base dans le fichier : # Nom du périphérique DEVICE=eth0 # Activation au démarrage ONBOOT=yes # Nom de l’interface NAME=lan # Adresse MAC de l’interface MAC=00:50:56:9F:89:7C III. DHCP Nous allons commencer par configurer l’interface pour qu’elle utilise le protocole DHCP. On ajoute pour cela dans notre fichier la ligne suivante : BOOTPROTO=dhcp On peut également, si on le souhaite, ajouter l’adresse de

Lire cet article
Commandes et Système

Changer le nom d’une machine CentOS

I. Présentation Dans ce tutoriel, nous allons voir comment changer le nom « hostname » d’une machine Linux sous CentOS. Note : Ce tutoriel est valable pour CentOS 6, se référer à cet autre tutoriel pour CentOS 7 : Changer l’hostname CentOS 7 II. Configuration réseau Pour changer le nom d’une machine CentOS, nous avons besoin d’aller modifier un fichier se trouvant dans la configuration réseau de la machine. On ouvre donc avec un éditeur de texte le fichier « /etc/sysconfig/network » et on modifiera la ligne « HOSTNAME= » comme suivant : On mettra donc le nom de notre machine sur cette ligne (« mark-XIII » dans mon exemple ci-dessus). III. Configuration hosts Le fichier hosts permet une résolution des noms au sein d’un réseau, il n’est plus beaucoup utilisé de nos jours mais doit au moins contenir la résolution de nom de notre hôte, nous allons donc aller vérifier si cette information est présente, on ouvre avec un éditeur de texte le fichier « /etc/hosts ». Si l’on

Lire cet article
Commandes et SystèmeServices

Désactiver SELinux sous les distributions Linux

I. Présentation Security Enhanced Linux (SELinux) est un LSM (Module de sécurité Linux) qui à pour fonction de définir une politique de contrôle d’accès plus fine en plus des permissions basiques Linux aux éléments issus d’un système. II. Pourquoi désactiver SELinux SELinux peut, sur des configurations poussées ou spécifiques, devenir bloquant. Il est le plus souvent à activer lorsqu’on le gère totalement ou sur des environnements finaux après l’installation des éléments/services du serveur. C’est un élément de sécurité fiable mais qui n’est pas une nécessité propre au système bien qu’il soit présent par défaut sur certaine distribution comme CentOS. III. Désactivation temporaire Pour désactiver SELinux temporairement, dans le cadre d’un test par exemple : setenforce 0 L’action de cette commande propre à SELinux est de mettre la valeur du fichier /selinux/enforce à 0. Cela signifie qu’il est en mode « permissive », soit en écoute des évènements et en écriture de logs mais il ne bloquera aucun processus et aucune commande. On

Lire cet article
Commandes et SystèmeNetfilter

Désactiver iptables au démarrage sous CentOS

I. Présentation Sous CentOS ou les distributions dérivées, le gestionnaire du pare-feu Netfilter Iptables est par défaut activé. De plus, une configuration restrictive est également par défaut appliquée. Dans certains cas comme lorsqu’un firewall est présent en entrée de réseau, nous voudrons désactiver l’iptables sur notre serveur, c’est ce que nous allons apprendre à faire dans ce tutoriel. II. Désactivation d’Iptables au démarrage Nous allons donc commencer par éteindre iptables sur la machine service iptables stop Dans un deuxième temps nous allons utiliser la commande « chkconfig » qui permet de gérer les processus à démarrer au démarrage de la machine. On pourra voir qu’iptables est bien présent dans ces applications de démarrage avec la commande suivante : chkconfig -list | grep iptables Nous pouvons également voir que l’application « ip6tables » est lancée, il s’agit de l’iptables pour le protocole IPv6 que nous allons également désactiver. Nous pourrons alors désactiver iptables et ip6tables avec les commandes suivantes : chkconfig iptables off chkconfig ip6tables

Lire cet article
Commandes et Système

Un logo au démarrage de votre distribution Linux

I. Présentation Dans ce tutoriel, nous allons voir comment afficher une image au démarrage du terminal, ce qui personnalisera un peu plus votre shell. Vous aurez le choix entre 26 images en ASCII. Elles sont toutes représentatives d’une distribution Linux. A vous de choisir celle qui vous convient. II. Procédure Pour commencer, il nous faudra télécharger le paquet : linux_logo apt-get install linuxlogo Une fois installé, vous pouvez visualiser les différentes images. linux_logo -L 1 Vous verrez alors la première image de la liste. Pour voir les suivantes, changez le chiffre. Vous pouvez aller de 1 à 26. Une fois que vous avez trouver l’image qui vous plait, il suffit de modifier ce fichier. vi /etc/linux_logo.conf Dans ce fichier, toutes les images sont listées. Pour en sélectionner une, il suffit de décommenter la ligne auquel elle correspond. Maintenant, nous allons éditer une autre fichier pour que l’image s’affiche à chaque démarrage. vi /etc/profile Rajoutez cette ligne : linux_logo, à la

Lire cet article
Commandes et Système

Désactiver la prise en charge de l’IPv6 sous Linux

I. Présentation Dans ce tutoriel, nous allons désactiver la prise en charge de l’IPv6 qui est active par défaut dans les systèmes d’exploitation Linux. La plupart des systèmes d’exploitation Linux écrivent leur paramétrage réseau dans le système sysctl (system control). Nous allons utiliser ce système pour effectuer nos modifications. II. Désactiver la prise en charge de l’IPv6 temporairement Pour désactiver la prise en charge de l’Ipv6 temporairement, il suffit de saisir les commandes suivantes : echo ‘1’ > /proc/sys/net/ipv6/conf/lo/disable_ipv6 echo ‘1’ > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo ‘1’ > /proc/sys/net/ipv6/conf/default/disable_ipv6 Ces commandes se chargent respectivement de désactiver la prise en charge de l’IPv6 pour l’interface lo, pour toutes les interfaces actives puis pour toutes les interfaces qui seront crées par la suite. Dans le systèmes de contrôle, « 1 » signifie actif. Cela veut donc dire que la désactivation de l’IPv6 est bien en place. Ces commandes se chargent seulement de stocker les valeurs dans les fichiers respectifs qui sont : /proc/sys/net/ipv6/conf/lo/disable_ipv6 /proc/sys/net/ipv6/conf/all/disable_ipv6 /proc/sys/net/ipv6/conf/default/disable_ipv6 Ces

Lire cet article
Commandes et Système

Changer la couleur du terminal

I. Présentation Dans ce tutoriel, nous allons voir comment changer les couleurs d’un terminal, en particulier celui de root qui, par défaut, est en noir et blanc. Dans ce précédent tutoriel, nous avons vu comment modifier l’apparence d’un terminal en y ajoutant, par exemple, la date et l’heure. II. Procédure Il nous faut déjà connaitre la façon de mettre en couleur les caractères d’un terminal. On va pour cela utiliser le table contenant les différentes valeurs des couleurs dans un terminal UNIX pour mettre en couleur notre shell. Nous allons ensuite modifier la valeur de la variable d’environnement « PS1 » qui contient la forme de notre terminal. On va donc, pour mettre notre terminal en rouge par exemple, définir la variable d’environnement « PS1 » comme suivant : PS1=’\[\033[01;31m\]\u@\h:\w\[\033[00m\]\$’ Les valeurs « \[\033[01;31m\] » et « \[\033[00m\] » servent respectivement à mettre la suite des caractères en rouge, puis en blanc. Ils ne délimitent pas une zone mais marque le début d’un changement de couleur. On met

Lire cet article
Commandes et Système

Afficher la date et l’heure dans le terminal

I. Présentation Par défaut, le « prompt » ou terminal affiche le nom de l’utilisateur avec lequel nous sommes connecté, le nom de la machine ainsi que le chemin où l’on se trouve. Comme suivant : On voit donc bien ici que le prompt est « <nom d’utilisateur>@<nom machine>:<chemin> ». Note : Quand l’utilisateur se situe dans son home, le chemin est remplacé par un tild (« ~ »). Dans ce tutoriel, nous allons voir comment changer l’apparence du prompt pour qu’il affiche l’heure, la date ou d’autres caractères. II. Procédure Il faut d’abord comprendre que la forme d’affichage du prompt est propre à chaque utilisateur et qu’elle est définie dans la variable d’environnement « PS1 » initialisée au démarrage d’une session. On peut vérifier la valeur de la variable d’environnement « PS1 » avec la commande suivante : echo $PS1  Nous aurons alors le résultat suivant : On peut donc comprendre que : « \u » = utilisateur « @ » : le sigle arobase « \h » = le nom de la machine « \w »

Lire cet article
Commandes et Système

Créer un paquet Debian (.deb)

I. Présentation Dans ce tutoriel, nous allons apprendre à créer un paquet Debian ( les fameux fichiers .deb). Qu’est ce qu’un paquet ? Un paquet est un fichier compressé contenant les informations d’installation et les fichiers constituants une application, un plugin, une librairie, un driver, etc. On peut assimiler un paquet par un fichier « Setup.exe » sous Windows par exemple. Un paquet permet donc d’échanger et d’installer facilement un ensemble de commande et/ou de fonctionnalité sur un système donné. Pourquoi doit on spécifier un paquet « Debian » ? Le libre ayant une grande diversité de logiciel et de format, on y trouve logiquement plusieurs formats de système d’installation. Un paquet « Debian » est un paquet qui se termine par l’extension « .deb » et qui peut être installé facilement sur tous les systèmes Debian et dérivés (dont Ubuntu fait partie !). II. Mise en place de l’environnement de test Nous allons dés à présent créer notre paquet en devenir. Celui-ci sera pour notre tutoriel juste

Lire cet article