FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Télécharger et installer des logiciels sur Ubuntu Linux

1 décembre 2021 à 10:00
Par : Le Crabe

Vous avez l’habitude d’installer des logiciels sur Windows mais vous ne savez pas du tout comment vous y prendre pour installer Firefox, VLC et tous vos logiciels préférés sur Linux ? Vous êtes au bon endroit : cet article va vous expliquer comment installer n’importe quel logiciel sur une distribution GNU/Linux (Debian, Ubuntu…) et ce, de plusieurs façons différentes. Contrairement à ce que vous...

Source

Comment ajouter une police de caractère sur Ubuntu

1 décembre 2021 à 10:05

Ubuntu vient avec un tas de polices installées par défaut. Mais parfois, vous ne pouvez pas être satisfait des polices d'écriture disponibles.
Ainsi, il est possible d'ajouter de nouvelle police de caractères de manière très simple.

Dans ce tutoriel, je vous donne deux méthodes pour installer une police dans Ubuntu.
Ces méthodes fonctionnent autant sur Ubuntu 20.04, que les versions précédentes (18.04, 16.04, ...).

Comment ajouter une police de caractère sur Ubuntu

Comment ajouter une police de caractère sur Ubuntu

Par le fichier de police d'écriture TTF, OTF ou Fon

Dans cette première méthode, on télécharge un fichier de police puis on installe ce dernier.
C'est la méthode la plus simple et rapide pour mettre en place une nouvelle police de caractères.

Décompresser le fichier ZIP contenant les fichiers de polices TTF, OTF ou FON
  • Puis double-cliquez sur le fichier TTF, OTF ou Fon
Ouvrir le fichier de police pour l'ajouter dans Ubuntu
  • La fiche de la Police s'affiche avec la prévisualisation, pour l'ajouter dans le système, cliquez en haut sur Installer
Installer la nouvelle police de caractères dans Ubuntu
  • L'ajout de la nouvelle police de caractère dure quelques secondes puis le statut passe sur Installée
Installer la nouvelle police de caractères dans Ubuntu

Avec Font-Manager

Font-Manager est un utilitaire disponible dans les dépôts Ubuntu pour gérer les polices du système.
Ainsi, vous pouvez installer ou désinstaller une nouvelle police dans Ubuntu ou tout autre version de Linux.

Décompresser le fichier ZIP contenant les fichiers de polices TTF, OTF ou FON
  • Décompressez le fichier sur le bureau d'Ubuntu
Décompresser le fichier ZIP contenant les fichiers de polices TTF, OTF ou FON
Ouvrir un terminal sur Ubuntu depuis la liste des applications
  • Puis installez font-Manager avec APT :
sudo apt install font-manager
Installer Font-Manager dans Ubuntu
  • Puis ouvrez la recherche d'applications et saisissez font pour ouvrir Font Manager
Ouvrir Front-Manager
  • Ensuite cliquez en haut à gauche sur l'icône +
Installer une nouvelle police d'écriture dans Ubuntu
  • Enfin naviguez pour ouvrir le bureau et double-cliquez sur le fichier de la police
Installer une nouvelle police d'écriture dans Ubuntu
  • La nouvelle police de caractères est installée dans Ubuntu

L’article Comment ajouter une police de caractère sur Ubuntu est apparu en premier sur malekal.com.

CronRAT : un malware Linux qui est configuré pour s’exécuter le 31 février

29 novembre 2021 à 11:23

Un nouveau Cheval de Troie d'accès à distance baptisé CronRAT et conçu pour les serveurs Linux cible les boutiques en ligne dans l'objectif de voler des données de carte de paiement.

Découvert par les chercheurs en sécurité de Sansec, le Cheval de Troie de type RAT (Remote Access Trojan), CronRAT, est particulièrement sophistiqué et doté de techniques de furtivité inédites. En effet, CronRAT génère différentes lignes dans le système de planification "cron" du serveur Linux compromis. Ce qui est étonnant, c'est que les lignes ajoutées sont prévues pour s'exécuter le 31 février : une date inexistante. La syntaxe des lignes ajoutées à la crontab sont valides, mais l'exécution de ces tâches génère une erreur. Néanmoins, cela ne se produira pas puisque le 31 février n'existe pas.

Le code du malware est caché au sein du nom des tâches et il bénéficie d'une multitude de couches de compression et du décodage en base64. Il s'agirait d'un malware codé en bash. Les chercheurs de Sansec précisent qu'il dispose de fonction d'autodestruction, de modulation du temps et d'un protocole binaire particulier pour communiquer via le port 443/TCP avec un serveur de contrôle distant.

D'après Sansec, CronRAT n'est pas détecté par les autres fournisseurs de sécurité, en tout cas pour le moment, et que pour le détecter, ils ont du réécrire une partie de leur algorithme eComscan. Sur le site d'analyse VirusTotal, les résultats sont inquiétants : 12 moteurs antivirus ont été incapables d'analyser le fichier malveillant, et pour ceux qui ont pu l'analyser, il y en a 58 qui ne l'ont pas détecté comme une menace.

Lorsque CronRAT est en place sur un site d'e-commerce, il va être en mesure de capturer les coordonnées bancaires avant qu'elles soient chiffrées, sans être détecté par les solutions de sécurité. On parle d'attaques de type Magecart. C'est pour cette raison que l'on parle d'un Cheval de Troie d'accès à distance, car il n'est pas présent directement sur le poste de la victime.

Source

The post CronRAT : un malware Linux qui est configuré pour s’exécuter le 31 février first appeared on IT-Connect.

Préparer une carte SD pour son Raspberry Pi avec Raspberry Pi Imager

28 novembre 2021 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment utiliser Raspberry Pi Imager pour préparer une carte SD avec Raspberry Pi OS prête à l'emploi en quelques minutes.

Raspberry Pi Imager est un outil open source, relativement récent, développé par la fondation Raspberry Pi directement et qui va permettre de déployer sur une carte SD (ou une clé USB, etc.) l'image d'une distribution Linux en quelques clics. En l'occurrence, je vais déployer l'image Raspberry Pi OS sur ma carte microSD afin d'utiliser ce système sur mon Raspberry Pi. L'objectif de Raspberry Pi Imager est de simplifier encore un peu plus la mise en route d'un Raspberry Pi.

La bonne nouvelle, c'est que pour utiliser Raspberry Pi Imager, vous n'avez pas besoin de télécharger au préalable l'image ISO du système à installer ! Une liste de système est proposée et l'image sera téléchargée via Internet directement.

Je vais procéder depuis Windows en récupérant l'outil au format exécutable (il est disponible aussi sur macOS et Linux) et je vous invite à le récupérer sur GitHub via ce lien : Télécharger - Raspberry Pi Imager

Vous pouvez aussi le récupérer sur le site officiel de Raspberry Pi.

II. Utilisation de Raspberry Pi Imager

L'installation s'effectue en quelques clics... Sans option spécifique. Une fois que c'est fait, exécutez Raspberry Pi Imager sur votre ordinateur.

Commencez par cliquer sur "Choisissez l'OS" pour choisir le système à déployer sur la carte SD.

Raspberry Pi Imager
Raspberry Pi Imager

Plusieurs systèmes sont proposés, à commencer par Raspberry Pi OS bien sûr. Pour rappel, il s'agit du nouveau nom du système Raspbian, optimisé pour le Raspberry Pi et basé sur Debian. Vous avez le choix entre une version avec ou sans interface graphique (Desktop ou Lite).

Ensuite, vous pouvez retrouver d'autres distributions, organisés par catégorie comme RecalBox pour le rétrogaming dans la catégorie "Emulation and Game OS", ou encore "LibreELEC" dans la catégorie "Media player - Kodi OS". A vous de choisir et de valider.

Note : lors du choix de certaines distributions, il faut bien choisir la version qui correspond à votre version de Raspberry Pi.

De retour sur le menu principal, cliquez sur "Choisissez le stockage". Dans la liste, sélectionnez votre carte microSD (ou votre clé USB, etc.).

Nous avons choisi le système et sélectionné un espace de stockage, il ne reste plus qu'à cliquer sur le bouton "Ecrire".

Un message d'avertissement s'affiche pour vous indiquer que les données sur le périphérique sélectionné pour l'installation seront supprimées. Validez en cliquant sur "Oui". Pensez à sauvegarder vos données en amont si nécessaire.

Patientez pendant l'installation de l'image de votre système sur votre carte SD ! Raspberry Pi Imager va télécharger l'image du système et la déployer sur la carte SD.

Le message "Raspberry Pi OS (32 bits) a bien été écrit sur SDHC Card" s'affiche. Parfait. Cliquez sur "Continuer" car c'est déjà terminé, votre système est prêt à l'emploi !

Et ensuite, on fait quoi ? 🙂

III. Premier démarrage du nouveau système

Et bien, il faut insérer la carte microSD dans le Raspberry Pi et l'alimenter pour qu'il démarre.

Lorsque vous Raspberry Pi OS va démarrer, vous allez vous retrouver sur le Bureau avec le compte "pi" intégré au système, il sera demandé de finaliser l'installation en suivant un assistant.

Cliquez sur "Next" pour accéder à la première étape.

Vous allez devoir définir un nouveau mot de passe, choisir la langue pour le clavier, etc... Ce sont des étapes assez basiques qu'il faut suivre les unes après les autres.

Pour aller plus loin dans la configuration Raspberry Pi, je vous invite à cliquer sur le bouton pour afficher le menu principal (la framboise en haut à gauche), puis sous "Préférences", cliquez sur "Configuration du Raspberry Pi". Par exemple, cela peut vous permettre d'activer l'accès SSH sur votre Raspberry Pi.

Alors, dites-moi tout, qu'avez-vous prévu avec votre Raspberry Pi ?

The post Préparer une carte SD pour son Raspberry Pi avec Raspberry Pi Imager first appeared on IT-Connect.

Proton de Valve, la technologie DLSS est prise en charge

26 novembre 2021 à 10:27

ValveLa technologie DLSS de Nvidia est désormais officiellement prise en charge par Proton. Cette avancée est proposée par la version 6.3-8.

The post Proton de Valve, la technologie DLSS est prise en charge appeared first on GinjFo.

Comment monter un disque chiffré avec BitLocker sous Linux ?

26 novembre 2021 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment monter un disque chiffré avec BitLocker sous Linux à l'aide de l'outil Dislocker. Cette manipulation permet également de déverrouiller une clé USB chiffrée avec BitLocker.

Lorsque l'on chiffre une clé USB ou un disque dur externe avec BitLocker To Go, on peut y accéder facilement à partir d'une machine Windows. En effet, lorsque l'on connecte le périphérique à son PC, Windows affiche une notification afin de demander la clé de déverrouillage. Facile. Par contre, sous Linux, c'est un peu différent, car il faut s'appuyer sur un utilitaire, en l'occurrence Dislocker, et effectuer quelques manipulations avant de pouvoir accéder au contenu du disque.

Environnement : pour ma part, je vais installer Dislocker sur mon Raspberry Pi qui tourne sur une base de Debian. Une simple clé USB chiffrée avec BitLocker me servira de cobaye.

Si BitLocker est un sujet qui vous intéresse, voici quelques tutoriels BitLocker dans un environnement Windows :

II. Installation de Dislocker

L'installation du paquet Dislocker est très classique, il suffit de mettre à jour le cache des paquets et de lancer l'installation, comme ceci :

sudo apt-get update
sudo apt-get install dislocker

On valide l'installation du paquet et le tour est joué.

III. Utilisation de Dislocker pour monter un périphérique USB chiffré

Maintenant, je vous invite à connecter votre clé USB, votre disque externe (ou interne, mais ça il fallait le faire avant de démarrer) à votre PC. Ensuite, suivez les étapes ci-dessous.

A. Créer les deux points de montage pour Dislocker

Commencez par créer deux points de montage, que l'on appellera "bitlocker" et "bitlockerloop" (vous pouvez donner d'autres noms). Vous comprendrez par la suite pourquoi il faut créer deux points de montage. Ce qui donne :

sudo mkdir /media/bitlocker
sudo mkdir /media/bitlockerloop

B. Repérer le périphérique BitLocker

Une fois que c'est fait, il faut que l'on identifie notre disque sur la machine. Pour cela, exécutez la commande suivante :

sudo fdisk -l

Cette commande va lister l'ensemble des disques et volumes visibles par votre machine. Dans la liste des périphériques, je parviens à repérer ma clé USB et sa partition qui correspond à "/dev/sda1".

C. Déchiffrer le volume BitLocker avec Dislocker

Désormais, nous pouvons déchiffrer le volume sur notre machine Linux à l'aide de Dislocker. Là, je vais spécifier "/dev/sda1" puisque ça correspond à ma clé USB. Ensuite, on spécifie le point de montage "/media/bitlocker". Ce qui donne :

sudo dislocker /dev/sda1 -u /media/bitlocker

Le prompt va afficher "Enter the user password:" et là il ne faut pas indiquer le mot de passe du compte qui exécute la commande via sudo, mais le mot de passe BitLocker qui permet de déverrouiller le volume protégé. Si vous mettez le bon mot de passe et que tout se passe bien, la commande n'affiche pas de retour.

Note : il est possible d'ajouter le mot de passe directement dans la commande Dislocker, mais il sera en clair alors ce n'est pas recommandé. Exemple :

sudo dislocker -r -V /dev/sda1 -uVotreMDP -- /media/bitlocker

Attention : dans la commande ci-dessus, il n'y a pas d'espace entre "-u" et le mot de passe, mais c'est normal.

A partir de là, Dislocker est en mesure de déchiffrer notre volume, mais si l'on regarde dans "/media/bitlocker", on voit seulement un fichier nommé "dislocker-file" qui est un binaire généré par Dislocker. Il joue le rôle de déchiffreur entre le système Linux et notre partition chiffrée avec BitLocker.

D. Monter le volume Bitlocker sur Linux

Il faut s'appuyer sur le fichier "dislocker-file" pour monter notre volume chiffré au sein du second point de montage "/media/bitlockerloop". Cette fois-ci, le montage va être effectué avec la commande classique, à savoir "mount" et il faudra bien spécifier l'option "loop" compte tenu du format très particulier du fichier dislocker-file.

Ce qui donne :

sudo mount -o loop /media/bitlocker/dislocker-file /media/bitlockerloop

À partir de là, on peut accéder au contenu de notre périphérique chiffré avec BitLocker depuis notre machine Linux ! Par exemple, en listant le contenu du répertoire "/media/bitlockerloop", on voit bien le contenu de la clé USB s'afficher :

sudo ls -l /media/bitlockerloop

BitLocker sous Linux

Voilà, votre périphérique protégé par BitLocker est accessible sous Linux ! Nous n'allons pas en rester là, voyons deux trois petites choses supplémentaires...

E. Démonter le volume BitLocker sur Linux

Une fois que vous n'avez plus besoin de ce volume, il faudra le démonter. Pour cela, on va utiliser la commande "umount" et commencer par le point de montage "bitlockerloop" pour ensuite démonter le point de montage "bitlocker", ce qui donne :

sudo umount /media/bitlockerloop
sudo umount /media/bitlocker

C'est bon, vous pouvez déconnecter votre clé USB ou votre disque.

F. Intégrer le montage Dislocker dans /etc/fstab

Grâce au fichier /etc/fstab, on peut automatiser le montage de notre volume protégé par Bitlocker, en s'appuyant sur Dislocker. Editez le fichier :

sudo nano /etc/fstab

Ajoutez la ligne suivante en adaptant les valeurs, notamment le volume cible à monter et le mot de passe de déverrouillage.

/dev/sda1 /media/bitlocker fuse.dislocker user-password=VotreMDP,nofail 0 0

Ensuite, ajoutez une seconde ligne pour monter le volume chiffré au sein du point de montage "/media/bitlockerloop".

/media/bitlocker/dislocker-file /media/bitlockerloop auto nofail 0 0

Sans même redémarrer votre machine, vous pouvez recharger le contenu de fstab avec la commande suivante :

mount -a

Si vous obtenez une erreur, vérifiez les lignes du fichier /etc/fstab et veillez à bien libérer les points de montage au préalable.

G. Créer un script bash pour monter le volume via Dislocker

Si vous souhaitez vous faciliter la vie, sans pour autant intégrer le montage dans fstab, vous pouvez créer un script bash qui reprend les commandes vues précédemment. Par exemple (sans intégrer le mot de passe en clair) :

#!/bin/bash
sudo dislocker /dev/sda1 -u /media/bitlocker
sudo mount -o loop /media/bitlocker/dislocker-file /media/bitlockerloop

Il ne reste plus qu'à enregistrer le script et à lui attribuer les droits d'exécution.

chmod +x /home/pi/dislocker.sh

Enfin, voici le lien vers le GitHub du projet Dislocker où vous pouvez trouver plus d'infos, notamment sur les fichiers "fuse.dislocker" et "dislocker-file".

Amusez-vous bien !

The post Comment monter un disque chiffré avec BitLocker sous Linux ? first appeared on IT-Connect.

Sysmontask : Le gestionnaire de tâches de Windows dans Linux

23 novembre 2021 à 17:26

Sysmontask est un gestionnaire de tâches pour Linux (Ubuntu, Debian, Mint, Fedora ou Arch).
Il reprend l'interface du gestionnaire de tâches de Windows, ce qui peut pour certains utilisateurs éviter de les perturber lorsqu'ils passent sur un nouvel OS.
L'outil est capable de lister les processus, tuer un processus et propose un onglet performances pour visualiser l'utilisation CPU, Mémoire, disque et réseau.

Cet utilitaire est en cours de développement et de nouvelles versions apportant des correctifs et de nouvelles fonctionnalités sont à attendre.

Ce tutoriel vous explique comment installer Sysmontask sur Linux Ubuntu et guide pour son utilisation.

Sysmontask : Le gestionnaire de tâches de Windows dans Linux

Comment installer Sysmontask sur Linux

Sur Ubuntu, Debian

Pour installer Sysmontask, il faut ajouter les dépôts de l'utilitaire puis l'installer avec apt-get :

sudo add-apt-repository ppa:camel-neeraj/sysmontask
Installer Sysmontask sur Ubuntu, Mint, Debian avec APT
  • Ensuite on installe l'utilitaire avec apt-get install install :
sudo apt install sysmontask
Installer Sysmontask sur Ubuntu, Mint, Debian avec APT
  • Enfin lancez l'utilitaire depuis la recherche d'application Ubuntu
Ouvrir Sysmontask sur Ubuntu

Sur Fedora

Sysmontask est disponible dans les dépots Fedora, il suffit donc d'utiliser dnf pour l'installer :

sudo dnf install sysmontask

Sur Arch

On peut installer Sysmontask sur Arch avec yay de cette manière :

yay -S sysmontask

Comment utiliser le gestionnaire de tâches de Sysmontask sur Linux

Voici une capture d'écran du gestionnaire de tâches Sysmontask avec deux onglets :

  • Processus : liste les processus, vous pouvez interagir avec et notamment tuer un processus en cours d'exécution
  • Performances : Affiche l'utilisation CPU, mémoire, disque et réseau
Le gestionnaire de tâches de Sysmontask sur Linux

L'onglet Processus

Cet onglet liste donc les processus en cours de fonctionnement avec le nom et l'icône de l'application.
La plupart sont des processus système de Linux mais Les processus de l'utilisateur se trouvent dans l'arborescence systemd.

Plusieurs colonnes sont disponibles :

  • pid : le numéro du processus
  • Nom du processus
  • L'utilisation système : CPU, mémoire, disque en lecture et écriture
  • Le propriétaire
  • La commande avec le nom du binaire et le paramètre de lancement

Les colonnes sont triables pour regrouper la liste par celle-ci.
Enfin un clic droit permet de choisir les colonnes à afficher.

Les colonnes du gestionnaire de tâches  Sysmontask

L'onglet Performances

Ce dernier propose en miniature des graphiques en temps réel de l'utilisation CPU, mémoire, disque et réseau.
Lorsque vous cliquez sur une des catégories, vous obtenez le graphique en plus grand et des informations systèmes.
Par exemple dans CPU, le type et la vitesse de l'horloge du processeur, mais aussi des informations sur le nombre de coeurs, les caches.

L'utilisation CPU dans les performances du gestionnaire de tâches  Sysmontask

Dans mémoire, le gestionnaire de tâches affiche la répartition totale de la mémoire du système, entre celle utilisée, libre et en cache.

L'utilisation Mémoire dans les performances du gestionnaire de tâches  Sysmontask

Dans disque, le taux d'utilisation disque ainsi que son occupation.
On trouve aussi la vitesse de lecture et écriture du disque.

L'utilisation Disque dans les performances du gestionnaire de tâches  Sysmontask

Enfin, Sysmontask vous communique les informations de l'interface réseau avec l'utilisation réseau, la quantité de données envoyées et reçues ainsi que la configuration IP.

L'utilisation réseau dans les performances du gestionnaire de tâches  Sysmontask

Comment arrêter un processus

  • Sélectionnez le processus
  • Puis cliquez en bas à gauche sur Killer
  • Confirmez ensuite sur la popup en cliquant sur Valider
Comment arrêter/tuer un processus avec le gestionnaire de tâches  Sysmontask
  • Le processus est tué

Filtrer la liste des processus

Sysmontask donne la possibilité de filtrer les processus par utilisateur.
Pour cela :

  • Cliquez sur le menu View
  • Puis Filters
  • Ensuite saisissez le nom de l'utilisateur puis cliquez sur Ajouter
Filtrer la liste des processus dans Sysmontask
  • Cochez la case en face de l'utilisateur à filtrer puis cliquez en bas à droite sur Enregistrer
Filtrer la liste des processus dans Sysmontask

L’article Sysmontask : Le gestionnaire de tâches de Windows dans Linux est apparu en premier sur malekal.com.

Xpra – Établir un accès distant à des applications graphiques sous Linux (Screen for X)

23 novembre 2021 à 09:00
Par : Korben

Si vous utilisez Linux, notamment à distance, vous vous êtes peut être déjà demandé comment déporter l’affichage graphique d’une app Linux distante sur un autre ordinateur Linux voire un Windows ou un macOS.

Un début de réponse avait d’ailleurs été posté dans mon article sur l’installation de WSL2 sous Windows 10/11.

Mais il y a encore plus simple et cela s’appelle Xpra. Derrière cet acronyme signifiant « X11 Persistent Remote Application », se cache un outil sous licence libre GPLv2+ connu également sous le nom de « screen for X ».

Xpra permet d’exécuter des programmes X11, généralement sur un hôte distant, puis de diriger leur affichage vers votre machine locale. Ensuite quand vient le moment de vous déconnecter de ces programmes, aucun souci. A la reconnexion à partir de la même machine ou d’une autre, l’état de l’application ne sera pas perdue.

Xpra peut également être utilisé pour accéder à des sessions de bureau existantes ou démarrer des sessions de bureau à distance. Plusieurs clients sont disponibles et le serveur Xpra intègre une interface cliente en HTML5.

Xpra est utilisable sur une grande variété de protocoles réseau TCP chiffrés et fait de son mieux pour s’adapter à toutes les conditions de réseau que ce soit SSL, SSH, websockets…etc.

Xpra transmet et synchronise de nombreuses fonctionnalités du bureau Linux, ce qui permet aux applications distantes de s’intégrer de manière transparente dans l’environnement de bureau du client : entrée et sortie audio, imprimantes, presse-papiers, plateaux système, notifications, webcams, etc.

Il peut également ouvrir des documents et des URL à distance et d’afficher du contenu à haute résolution (comme ça votre écran à 3 000 euros ne vous sert pas à rien).

Pour lancer par exemple Xterm depuis une machine distante, entrez la commande suivant en prenant soin de remplacer USER par votre utilisateur et HOST par l’IP de votre machine.

xpra start ssh://[email protected]/ --start=xterm

Cette méthode est similaire à ssh -X pour ceux qui connaissent, sauf que les performances seront nettement meilleures et que vous pourrez vous déconnecter et vous reconnecter à cette session autant de fois que vous le souhaitez.

Pour vous reconnecter ou vous connecter à cette session depuis une autre machine, utilisez la commande attach comme ceci :

xpra attach ssh://[email protected]/

Vous trouverez plus d’infos ici sur Github et les binaires sont ici pour Windows, macOS et Linux.

Comment bloquer un pays avec le firewall Linux

22 novembre 2021 à 14:05

Beaucoup de trafic malveillant (bot, scan, attack) provient de pays qui n'offrent pas beaucoup de valeur commerciale.
Par exemple, la Chine, la Russie, etc.
On peut donc être amené à vouloir mettre certains pays en liste noire afin de bloquer les connexions provenant de ces pays.
Comment puis-je simplement configurer IPTABLES pour simplement refuser les connexions à certains pays ?
Dans ce tutoriel, je vous donne trois méthodes pour blacklister les adresses IP par pays :

  • ipset-country : un script qui créé des chaînes ipset et règles iptables afin de bloquer les pays de votre choix
  • manuellement avec ipset : vous créez les chaînes et les règles iptables pour bloquer totalement le trafic provenant de pays ou seulement certains ports réseau
  • avec xt_geoip : On ajoute le module geoip à iptables pour créer les règles souhaités

Les deux premières méthodes utilisent la base de données ipdeny.com qui regroupe tous les blocs d'IP par pays.
Enfin la dernière méthode utilise la base de données geoip de MaxMind.
Principalement le tutoriel montre comment mettre en place cela sur une distribution Linux à base de Debian (Ubuntu, Mint, ...).

Comment bloquer un pays avec le firewall Linux

Comment bloquer un pays avec le firewall Linux

avec ipset-country

ipset-country est un script de Github qui télécharge les zones des pays depuis ipdeny.com, créer les règles ipset et iptables pour bloquer des pays.
Vous pouvez configurer le pays à mettre en liste noir.
Il peut aussi fonctionner avec Firewalld et UFW (mais pas complètement supporté).
Enfin il fonctionne en service ou peut être exécuté manuellement.

C'est une solution très simple et automatiser pour mettre en place un blacklist de pays sur votre machine Linux.

  • Installer ipset avec APT :
sudo apt install ipset
Installer le paquet ipset par APT
  • Téléchargez le script ipset-country à placer dans /usr/sbin/ipset-country (par exemple)
sudo wget https://raw.githubusercontent.com/mkorthof/ipset-country/master/ipset-country -O /usr/sbin/ipset-country
Téléchargez le script ipset-country
  • Editez le script pour modifier la configuration
  • Commencez par définir les pays à bloquer sur le firewall dans la variable Country, sous la forme code ISO-3166-1, Nom. Voir aussi le site ipdeny.com
COUNTRY="CN,China; RU,Russia"
  • IPTABLES et IPSET sont utilisés par défaut pour créer les chaînes, les règles et les ipset. Définissez la cible à utiliser lorsque IP correspond à Pays: "Accepter", "Drop" ou "Reject". La valeur par défaut est MODE = "Reject"
# Iptables
MODE="reject" # Set target to use when ip matches country [accept|drop|reject]
RESTORE=0     # Run iptables-restore first, before adding rules [0/1]
LOGIPS=1      # Create logips chain to log matches [0/1]
  • Si le Firewalld Frontend ou UFW sont utilisés, vous pouvez l'activer toutefois UFW est mal supporté. Deux modes sont possibles :
  • BlackList : Bloquer les pays spécifiés, le mode défini sur "Reject" ou "Drop"
  • Whitelist : Autoriser les pays spécifiés et bloquer tous les autres, définir "Accepter"
FIREWALLD=0       # Use firewalld instead [0/1]
FIREWALLD_MODE=0  # Set 0 for default Blacklist (drop), or 1 to Whitelist [0/1]
FIREWALLD_RH8=0   # Enable firewalld on CentOS/RHEL 8, at your own risk [0/1]

UFW=0 # Set to 1 to use iptables besides ufw, at your own risk [0/1]
Configurer le script ipset-country pour bloquer des pays sur le firewall Linux
  • Puis on créé le service avec l'option -i
  • Puis on exécute le script, cela va prendre du temps car les règles de filtrages des pays se créent
/usr/sbin/ipset-country -i
systemctl start ipset-country
Installer ipset-country en service

Notez toutefois que l'on peut aussi exécuter le script directement.
Il est même possible de créer un fichier de configuration.

  • Vérifiez les logs dans /var/log/ipset-country.log
[email protected]:~$ cat /var/log/ipset-country.log
2021-11-20 09:33:04 ipset: NOK - NOT FOUND, exiting...
2021-11-20 09:33:34 zonefile: get "ipv4-cn-aggregated.zone" - OK
2021-11-20 09:33:34 ipset: create set "ipv4-china" - OK
2021-11-20 09:33:34 iptables: create log chain - OK
2021-11-20 09:33:34 iptables: append log rule - OK
2021-11-20 09:33:34 iptables: append reject rule - OK
2021-11-20 09:33:38 ipset: add "ipv4-cn-aggregated.zone" to "ipv4-china" - OK - 5244 entries
2021-11-20 09:33:38 iptables: insert ipset deny rule - OK
2021-11-20 09:33:39 zonefile: get "ipv4-ru-aggregated.zone" - OK
2021-11-20 09:33:39 ipset: create set "ipv4-russia" - OK
2021-11-20 09:33:46 ipset: add "ipv4-ru-aggregated.zone" to "ipv4-russia" - OK - 8443 entries
2021-11-20 09:33:46 iptables: insert ipset deny rule - OK
2021-11-20 09:33:46 zonefile: get "ipv6-cn.zone" - OK
2021-11-20 09:33:46 ipset: create set "ipv6-china" - OK
2021-11-20 09:33:46 ip6tables: create log chain - OK
2021-11-20 09:33:46 ip6tables: append log rule - OK
2021-11-20 09:33:46 ip6tables: append reject rule - OK
2021-11-20 09:33:48 ipset: add "ipv6-cn.zone" to "ipv6-china" - OK - 1803 entries
2021-11-20 09:33:48 ip6tables: insert ipset deny rule - OK
2021-11-20 09:33:48 zonefile: get "ipv6-ru.zone" - OK
2021-11-20 09:33:48 ipset: create set "ipv6-russia" - OK
2021-11-20 09:33:50 ipset: add "ipv6-ru.zone" to "ipv6-russia" - OK - 2347 entries
2021-11-20 09:33:50 ip6tables: insert ipset deny rule - OK
  • Dans le cas de l'utilisation d'ipset, on liste les chaînes, on voit ici que les chaînes pour bloquer la Chine et la Russie sont créées correctement
[email protected]:~$ sudo ipset -n list
ipv4-china
ipv4-russia
ipv6-china
ipv6-russia
  • Ainsi que les règles iptables grâce à la commande iptables-legacy-saves
:LOGIPS - [0:0]
-A INPUT -p tcp -m set --match-set ipv4-russia src -j LOGIPS
-A INPUT -p tcp -m set --match-set ipv4-china src -j LOGIPS
-A LOGIPS -m limit --limit 10/min -j LOG --log-prefix "IPS: " --log-level 6
-A LOGIPS -j REJECT --reject-with icmp-port-unreachable
  • Si tout va bien, vous devriez voir dans les logs (par exemple avec dmesg), les blocages des pays avec les logs IPS
Visualiser les blocages de pays dans iptables
  • Pour désinstaller le service ipset-country :
[email protected]:/home/debian# ./ipset-country -u
Warning: Stopping ipset-country.service, but it can still be activated by:
  ipset-country.timer
Removed /etc/systemd/system/timers.target.wants/ipset-country.timer.
rm: cannot remove '/lib/systemd/system/ipset-country.{service,timer}': No such file or directory

Vérifiez bien les logs, si les fichiers des zones de pays ne peuvent être téléchargés, des erreurs s'affichent et les chaînes ipset ne seront pas alimentées.

[email protected]:/data/script# cat /var/log/ipset-country.log
2021-11-20 10:38:27 zonefile: get "ipv4-cn-aggregated.zone" - OK
2021-11-20 10:38:27 zonefile: md5 "ipv4-cn-aggregated.zone" mismatch"
2021-11-20 10:38:27 zonefile: get "ipv4-ru-aggregated.zone" - OK
2021-11-20 10:38:27 zonefile: md5 "ipv4-ru-aggregated.zone" mismatch"
2021-11-20 10:38:28 zonefile: get "ipv6-cn.zone" - OK
2021-11-20 10:38:28 zonefile: md5 "ipv6-cn.zone" mismatch"
2021-11-20 10:38:28 zonefile: get "ipv6-ru.zone" - OK
2021-11-20 10:38:28 zonefile: md5 "ipv6-ru.zone" mismatch"
2021-11-20 10:38:55 zonefile: get "ipv4-cn-aggregated.zone" - SKIP
2021-11-20 10:38:55 zonefile: md5 "ipv4-cn-aggregated.zone" mismatch"
2021-11-20 10:38:56 zonefile: get "ipv4-ru-aggregated.zone" - SKIP
2021-11-20 10:38:56 zonefile: md5 "ipv4-ru-aggregated.zone" mismatch"
2021-11-20 10:38:56 zonefile: get "ipv6-cn.zone" - SKIP
2021-11-20 10:38:56 zonefile: md5 "ipv6-cn.zone" mismatch"
2021-11-20 10:38:57 zonefile: get "ipv6-ru.zone" - SKIP
2021-11-20 10:38:57 zonefile: md5 "ipv6-ru.zone" mismatch"
Bravo ! vous avez réussi à bloquer des pays sur le firewall Linux.

avec ipset et ipdeny.com

Dans cette seconde méthode on télécharge la base de données des blocs d'IP de pays sur le site ipdeny.com.
Ensuite on créé les chaînes ipset pour bloquer les connexions réseaux des pays souhaitées.
Ainsi, on blacklist chaque pays en utilisant cette base de données.

  • Tout d'abord, on installe ipset avec APT :
apt install ipset
Installer le paquet ipset par APT
  • On télécharge toutes les zones de pays depuis ipdeny :
wget --no-check-certificate http://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz
  • Puis on créé la zone bk_pays dans ipset :
ipset create bk_pays hash:net
  • Puis on injecte les blocs d'IP dans notre chaîne ipset. Par exemple pour ajouter l'Ukraine (UA), remplacez le fichier de zone par le pays à bloquer :
for z_net in `cat ua.zone`; do ipset add bk_pays $z_net  ; done
Créer les règles ipset avec les blocs d'IP de blocages de pays
  • Enfin il ne reste plus qu'à créer les règles du firewall iptables pour faire correspondre à la chaîne bk_pays d'ipset. Par exemple pour bloquer entière le pays en entrée et sorties sur iptables :
iptables -A INPUT -m set --match-set bk_pays src -j ACCEPT
iptables -A OUTPUT -m set --match-set bk_pays dst -j ACCEPT

Ici on créé une seule chaîne avec tous les blocs d'IP mais il est bien entendu possible de créez une chaîne par pays, pour appliquer des règles iptables différentes.
Par exemple si vous cherchez à bloquer seulement certains ports réseaux.

Bravo ! vous avez réussi à bloquer des pays sur le firewall Linux.

avec xt_geoip

Cette dernière méthode consiste à installer un addons sur iptables afin de porter des fonctionnalités GeoIP.
Ensuite on télécharge la base de données Geoip de MaxMind.
Toutefois, celle-ci n'est plus en ligne mais on trouve une version encore à jour.

GeOIP est une collection d'IP correspondant aux emplacements géographiques où l'emplacement géographique est mappé avec les adresses IP attribuées à l'organisation, de la ville et des pays spécifiques. Les coordonnées géographiques dans la base de données GEOIP sont souvent près du centre de la population afin de ne pas être utilisées pour identifier une adresse ou un ménage particulière. Et avec l'aide d'un module appelé xt_geoip composé d'une extension IPTABLE Xtables-Addon et de la base de données GEOIP, nous effectuerons un filtrage de la circulation basé sur des pays qui nous aide à bloquer ou à autoriser le trafic d'un pays spécifique.

  • Installer les paquets suivants avec APT :
apt install xtables-addons-dkms xtables-addons-common libgeoip1 libtext-csv-xs-perl
Installer les paquets xtables-addons-dkms xtables-addons-common avec APT
  • Durant l'installation vérifiez bien que le modules Geoip se compile bien dans le noyau linux
Compilation du module xtables_addons dans le noyau Linux
  • Notamment à la fin le message DKMS: install completed doit être présent :
depmod......

DKMS: install completed.
Processing triggers for libc-bin (2.31-13+deb11u2) ...
Message DKMS: install completed
  • Ensuite on télécharge la base de données GeoIP de MaxMind et on la décompresse dans /usr/share/xt_geoip
wget -q https://legacy-geoip-csv.ufficyo.com/Legacy-MaxMind-GeoIP-database.tar.gz -O - | tar -xvzf - -C /usr/share/xt_geoip
Installation de la base de données GeoIP MaxMind dans xt_geoip
  • Si tout va bien, on peut créer les règles iptables de blocages avec le module geoip, en indiquant les pays par son code ISO-3166-1, par exemple ici la Chine, Hong-kong, Russie
iptables -A INPUT -m geoip --src-cc CN,HK,RU -j DROP
  • En version firewall-cmd cela donne :
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m geoip --src-cc IN,UN -j DROP

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m geoip ! --src-cc US -j DROP

firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -m geoip --dst-cc IN -j DROP

Lorsque le module du kernel geoip ne se charge pas et donc le module n'est pas disponible pour iptables, cela retourne le message suivant :

iptables v1.8.7 (nf_tables): Couldn't load match `geoip':No such file or directory
Bravo ! vous avez réussi à bloquer des pays sur le firewall Linux.

Liens

L’article Comment bloquer un pays avec le firewall Linux est apparu en premier sur malekal.com.

Comment utiliser ipset sur Linux

22 novembre 2021 à 14:05

IPset est une extension d'iptables qui vous permet de créer des règles de pare-feu correspondant à des "ensembles" d'adresses à la fois. Contrairement aux chaînes IPTABLES normales, qui sont stockées et traversées de manière linéaire, des jeux IP sont stockés dans des structures de données indexées, ce qui rend les recherches très efficaces, même lorsqu'il s'agit de grands ensembles.

IPSet permet donc de gagner en rapidité surtout lorsque l'on doit bloquer énormément d'adresses IP ou blocs d'adresses IP.
On peut très facilement créer des listes noires (blacklist) ou listes blanches (whitelist) grâce à ipset.

Dans ce tutoriel, après avoir rapidement discuté des exigences de l'installation d'ipset, je passe un peu de temps sur les principes fondamentaux et les concepts de l'iptables. Ensuite, je couvre l'utilisation et la syntaxe de ipset et montrez comment il s'intègre à IPTABLES pour accomplir diverses configurations.
Enfin, je fournis des exemples de monde réels détaillés et assez avancés de la manière dont ipset peut être utilisé pour résoudre toutes sortes de problèmes.

Comment utiliser ipset sur Linux

Pourquoi utiliser ipset à la place d'iptables ?

Comme expliqué dans l'introduction, ipset utilise une indexation afin de parcourir une liste de blocage conséquente.

Outre les situations évidentes où vous pourriez imaginer que cela serait utile, comme le bloquant de longues listes de "mauvais" hôtes sans soucier de tuer des ressources système ni de causer une congestion réseau, des ensembles IP ouvrent également de nouvelles façons d'aborder certains aspects de la conception du pare-feu et de simplifier de nombreux scénarios de configuration.

Avec des gains de performances significatifs et des fonctionnalités supplémentaires puissantes - comme la possibilité d'appliquer des règles de pare-feu unique à des groupes entiers d'hôtes et de réseaux à une fois.

Étant donné que Ipset est juste une extension d'IPTABLES, cet article est autant sur IPTABLES, car il s'agit d'un Ipset, bien que l'accent soit mis sur les caractéristiques pertinentes pour la compréhension et l'utilisation de l'IPSET.

Comment utiliser ipset avec iptables sur Linux

Principe de fonctionnement d'ipset

IPset est utilisé pour configurer, maintenir et inspecter des ensembles IP dans le noyau Linux. Selon le type de jeu, un ensemble IP peut stocker des adresses IPv4, IPv6, TCP, UDP, numéros de port réseau, paires d'adresse IP et Mac, adresse IP
et des paires de numéro de port, etc.
Ensuite on utilise l'option match pour cibler des chaînes ipset dans des règles iptables.

Tout d'abord, on créé des chaînes ipset en lui attribuant un nom.
Celle-ci est configurée par type pouvant être une liste d'adresse IP, de masque de sous-réseau, adresse ip par ports, masque de réseau par ports, etc.
Puis on alimente cette chaîne, par exemple une liste d'adresse IP ou de blocs d'IP.
Enfin on applique une ou plusieurs règles Iptables correspondant à cette chaîne ipset.
Ainsi, cela est très flexible puis que l'on peut appliquer n'importe quelle règles iptables au bloc ipset.

CommandesDescription
create SETNAME TYPENAME [type-specific-options]
Create a new set
Créer une chaîne ipset
add SETNAME ENTRYAjouter des entrées dans une chaîne ipset
del SETNAME ENTRYSupprimer une entrée dans une chaîne ipset
test SETNAME ENTRYTester une entrée dans une chaîne ipset
destroy [SETNAME]Détruire une chaîne ipset
list [SETNAME]Lister les chaînes ipset
save [SETNAME]Enregistrer une chaîne ou tous les ensembles sur stdout
restoreRestaurer l'état d'ipset
flush [SETNAME]Vider le contenu d'une chaîne ipset
rename FROM-SETNAME TO-SETNAMERenommer une chaîne ipset
swap FROM-SETNAME TO-SETNAMEPermuter deux chaînes ipset
Les commandes ipset

Créer une chaîne ipset avec le type

Pour créer une chaîne, on utilise la commande ipset create suivi du nom et du type de chaînes.
Par exemple pour créer une chaîne d'adresse IP sous le nom de blacklist_ip :

ipset create blacklist_ip hash:ip

Pour créer une chaîne de blocs d'adresses de réseau sous le nom blacklist_netname :

ipset create blacklist_netname hash:net

IPset propose un large éventails de type de chaînes dont la description se trouve dans le man.
Voici quelques exemples.

Type de chaînesDescription
bitmap:ipLe type de jeu Bitmap:IP utilise une plage de mémoire pour stocker des adresses réseau IPv4 (par défaut) ou IPv4.
Par exemple : [proto:]port | [proto:]fromport-toport
Un bitmap: type IP de jeu peut stocker jusqu'à 65536 entrées.
hash:ipLe type de jeu Hash:IP utilise un hachage pour stocker des adresses hôtes IP (par défaut) ou des adresses réseau. L'adresse IP de valeur zéro ne peut pas être stockée dans un hachage: type IP de jeu.
hash:ip,portLa HASH: IP, le type de jeu de ports utilise un hachage pour stocker une adresse IP et des paires de numéro de port. Le numéro de port est interprété avec un protocole (TCP par défaut) et un numéro de protocole zéro ne peut pas être utilisé.
hash:ip,port,netLe type hash:ip,port,net utilise un HASH pour stocker l'adresse IP, le numéro de port et l'adresse réseau IP triple. Le numéro de port est interprété avec un protocole (TCP par défaut) et un numéro de protocole zéro ne peut pas être utilisé. L'adresse réseau avec zéro préfixe la taille ne peut pas être stockée non plus.
hash:net,porthash:net,port est un type de jeu net se comporte de la même manière que le hachage: IP, Port, Net mais accepte une valeur CIDR pour le premier et le dernier paramètre. Soit sous-réseau est autorisé à être A / 0 si vous souhaitez correspondre au port entre toutes les destinations.
hash:ip,markLe type de hachage: IP, le type de jeu utilise un hachage pour stocker l'adresse IP et les paires de paquets.
hash:net:ifaceLe type de jeu de hachage utilise un HASH pour stocker des paires de noms de réseau IP différentes et de noms d'interface.
Exemples de type de chaînes ipset

A noter qu'il est possible de créer une chaîne avec une entrée avec une durée de vie défini par timeout.
Timeout prend un délai en secondes.
Par exemple ci-dessous, on créé une chaîne temp_hosts avec une une durée de vie d'1 heure.

ipset create temp_hosts hash:ip timeout 3600

Ajouter/supprimer des éléments dans une chaîne ipset

Une fois que la chaîne ipset est créée, on alimente celle-ci avec la commande ipset add.
Par exemple pour ajouter une IP dans la chaîne blacklist_ip :

ipset add blacklist_ip 185.31.175.226

On peut aussi utiliser l'option timeout pour ajouter une IP ou un réseau temporairement à une chaîne.

ipset add blacklist_ip 192.168.2.123 timeout 3600
ipset add blacklist_ip 192.168.1.0/24 timeout 3600

Pour supprimer un élément d'une chaîne, on utilise ipset del suivant le même principe :

ipset del blacklist_ip 185.31.175.226

Utiliser Iptables avec Ipset

Une fois que l'on a créé la chaîne ipset, on fait correspondre une règle Iptables à cette dernière.
Pour cela, on utilise l'option -m set pour --match-set.
Par exemple pour créer une chaîne ipset blacklist_ip, puis ajoutez deux adresses IP 1.1.1.1 et 2.2.2.2 et enfin créez une règle DROP correspondant à cette chaîne.

ipset -N blacklist_ip hash:ip
ipset -A blacklist_ip 1.1.1.1
ipset -A blacklist_ip 2.2.2.2
iptables -A INPUT -m set --set blacklist_ip src -j DROP

Ainsi ici on bloque les connexions provenant des adresses IP 1.1.1.1 et 2.2.2.2.

Si à l'inverse, vous souhaitez définir une condition de pare-feu qui correspondrait à tout sauf des paquets de 1.1.1.1 ou 2.2.2.2.2 et poursuivez le traitement dans MaChaine, utilisez la syntaxe suivante :

ipset -N whitelist_ip hash:ip
ipset -A whitelist_ip 1.1.1.1
ipset -A whitelist_ip 2.2.2.2
iptables -A INPUT -m set ! --set whitelist_ip src -g machaine

Bannir automatiquement une IP avec iptables et ipset

Ipset est utilisé par fail2ban pour bannir des IP.

Mais Ipset fournit également une "extension cible" aux iptables qui fournit un mécanisme permettant d'ajouter et de supprimer de manière dynamique des entrées définies en fonction de toute règle d'IPTABLES. Au lieu d'avoir à ajouter des entrées manuellement avec la commande Ipset, vous pouvez avoir des iptables les ajouter à votre vol à la volée.

Par exemple, si un hôte distant tente de se connecter au port 25, mais vous n'exécutez pas de serveur SMTP, il n'est probablement pas bon. Pour nier que l'hébergée l'occasion d'essayer toute autre chose de manière proactive, utilisez les règles suivantes:

ipset -N banned_hosts iphash
iptables -A INPUT \
         -p tcp --dport 25 \
         -j SET --add-set banned_hosts src
iptables -A INPUT \
         -m set --set banned_hosts src \
         -j DROP

Si un paquet arrive sur le port 25, dites-le avec l'adresse source 1.1.1.1, il est instantanément ajouté à banned_hosts.

Lister les chaînes Ipset

Lorsque l'on gère des chaînes ipset, on peut être amené à connaître les chaînes configurées et leurs contenus.
La commande ipset list permet de lister les chaînes ipset avec leurs configurations et les éléments.

ipset list
ipset list pour lister les jeu ipset et leurs éléments

Mais si vous ne voulez que les chaînes brutes sans aucune information, utilisez l'option -n :

ipset -n list
Lister les jeux ipset seulement

Supprimer une chaîne Ipset

Enfin pour détruire un jeu ipset, on utilise l'option ipset destroy.
Par exemple pour détruire le jeu blacklist_ip :

ipset destroy blacklist_ip

Vider les règles iptables et ipset

Voici comment vider l'intégralité des règles iptables et ipset.
En général, on utilise celle-ci en début de script pour ensuite créer les chaînes et règles.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t filter -F
iptables -t raw -F
iptables -t nat -F
iptables -t mangle -F
ipset -F
ipset -X

Exemples d'utilisations ipset

Autoriser que les IP Cloudflare sur le port 80,443

Dans cet exemple, on autorise que les IP Cloudflare, pour cela on créé une chaîne cf4, puis on télécharge la liste des blocs d'IP CloudFlare en IPv4, enfin on autorise les connexions sur les ports 80, 443, 2408 pour les protocoles TCP et UDP.
On répète l'opération pour l'IPv6.

ipset destroy cf4
ipset create cf4 hash:net family inet

for ip in $(curl https://www.cloudflare.com/ips-v4); do ipset add cf4 $ip; done
iptables -A INPUT -m set --match-set cf4 src -p tcp -m multiport --dports 80,443,2408 -j ACCEPT
iptables -A OUTPUT -m set --match-set cf4 dst -p tcp -m multiport --sports 80,443,2408 -j ACCEPT

iptables -A INPUT -m set --match-set cf4 src -p udp -m multiport --dports 443 -j ACCEPT
iptables -A OUTPUT -m set --match-set cf4 dst -p udp -m multiport --sports 443 -j ACCEPT


ipset destroy cf6
ipset create cf6 hash:net family inet6
for ip in `curl https://www.cloudflare.com/ips-v6`; do ipset add cf6 $ip ; done
ip6tables -A INPUT -m set --match-set cf6 src -p tcp -m multiport --dports 80,443 -j ACCEPT
ip6tables -A OUTPUT -m set --match-set cf6 dst -p tcp -m multiport --sports 80,443 -j ACCEPT

ip6tables -A INPUT -m set --match-set cf6 src -p udp -m multiport --dports 443 -j ACCEPT
ip6tables -A OUTPUT -m set --match-set cf6 dst -p udp -m multiport --sports 443 -j ACCEPT

Ajouter plusieurs routeurs pour faire du masquerade

Dans cette exemples, on créé un jeu routed_nets avec la liste des routeurs.
Puis on créé une règle iptables afin de faire du masquerade dessus.

ipset -N routed_nets nethash
ipset -A routed_nets 10.30.30.0/24
ipset -A routed_nets 10.40.40.0/24
ipset -A routed_nets 192.168.4.0/23
ipset -A routed_nets 172.22.0.0/22
iptables -t nat -A POSTROUTING \
         -s 10.0.0.0/24 \
         -m set ! --set routed_nets dst \
         -j MASQUERADE

Bannir des pays avec ipset

Dans ce tutoriel, je vous explique comment bannir des pays avec ipset et iptables.

Bloquer TOR avec ipset

On créé une chaîne tor et on bloque les connexions entrantes sur celle-ci.

/usr/sbin/ipset -N tor iphash --hashsize 4096 --probes 2 --resize 50
/sbin/iptables -I INPUT -m set --match-set tor src -j DROP

Puis utilisez ce script suivant qui télécharge laliste d'IP tor dans ipset.

#!/bin/sh
#curl -s https://check.torproject.org/exit-addresses| grep -i ExitAddress | cut -f 2 -d ' ' > /tmp/tor.txt
curl -L -s https://www.dan.me.uk/torlist/|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}" > /tmp/tor.txt
/usr/sbin/ipset list tor|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}" |sort -n> /tmp/toripset.txt

lignes=$(wc -l /tmp/tor.txt)
echo "il y $lignes IPs dans /tmp/tor.txt"
j=0
for ip in `cat /tmp/tor.txt`
do
	if [[ ! `egrep $ip /tmp/toripset.txt` ]]
	then
		j=`expr $j + 1`
		/usr/sbin/ipset add tor $ip
	fi
done
echo "$j nouvelle IPs"

j=0
for ip in `cat /tmp/toripset.txt`
do
        if [[ ! `egrep $ip /tmp/tor.txt` ]]
        then
		/usr/sbin/ipset del tor $ip
                j=`expr $j + 1`
        fi
done

echo "$j IPs retirees"
rm -f /tmp/tor*txt

L’article Comment utiliser ipset sur Linux est apparu en premier sur malekal.com.

CuteFish OS – Une bien meilleure expérience des Linux Desktop

22 novembre 2021 à 09:00
Par : Korben

Hier, je vous ai présenté Q4OS qui se veut être une distribution Linux robuste et stable, mais au look assez basique malgré les nombreux thèmes.

Toutefois si le look pour vous, c’est important, je vous invite aujourd’hui à tester CuteFish, une distrib basée sur Ubuntu qui met l’accent sur la simplicité d’utilisation, le côté pratique de l’OS et surtout le look plutôt léché. Par certains aspect, ce Linux me fait penser à la distribution Chinoise Deepin.

Avec CuteFish, l’expérience utilisateur est au rendez-vous avec notamment des applications dédiées à l’OS et surtout cohérentes entre elles.

CuteFish est un projet encore super récent, et le site est clairement vide donc je pense pas que ça deviendra tout de suite votre Linux de référence, mais quoiqu’il en soit, c’est un projet à suivre.

S’il tient ses promesses, il permettra d’aider à la transition vers Linux Desktop des utilisateurs habitués à Windows, n’en déplaise à Linus Torvalds.

Et si vous cherchez le grand amour niveau Linux, je vous renvoie vers cet article.

Q4OS – Une distribution Linux Desktop stable et puissante

21 novembre 2021 à 09:00
Par : Korben

Comme hier, on reste dans la thématique Linux avec aujourd’hui une petite présentation de Q4OS.

Q4OS est une distribution Linux desktop rapide et conviviale, basé sur Debian Linux.

Ce système d’exploitation fournit un ensemble d’utilitaires et d’optimisations spécifiques, tout en offrant un système pensé pour la productivité. Rien de superflu dans Q4OS et surtout pas de processus inutile qui viendrait occuper les ressources du système. On est vraiment sur quelque chose d’assez pur et de surtout hyper stable.

Car oui, le but de Q4OS est de proposer un système LTS (Long Term Support) recevant des mises à jour de sécurité bien après sa sortie. C’est d’ailleurs ce que garantit la base Debian

Tout cela le rend idéal pour les personnes qui souhaitent obtenir un environnement de travail adapté à leurs besoins et préférences individuels.

Niveau look, Q4OS n’est pas en reste avec certes un design assez basic, mais plusieurs thèmes parmi lesquels j’en suis sûr, vous trouverez votre bonheur. Pour l’environnement de bureau, Q4OS embarque l’environnement desktop Trinity qu’on en trouve sur aucune distribution Linux grand public. Trinity est d’ailleurs capable de cohabiter parfaitement avec l’environnement Plasma si vous le souhaitez.

De ce point de vue, Q4OS convient aussi bien aux nouveaux venus qu’aux utilisateurs expérimentés. Un installeur pour Windows est d’ailleurs dispo, ce qui vous permettra d’installer Q4OS sur un PC équipé de Windows et profiter du multi-boot (Windows et Linux) au lancement de la machine.

Si cet OS vous intéresse, c’est par ici que ça se passe.

Maintenant une question : Pensez-vous que Q4OS devrait figurer dans mon Top des meilleures distributions Linux ?

AutoArchive – Pour faire des sauvegardes rapides sous Linux

20 novembre 2021 à 09:00
Par : Korben

Si vous avez régulièrement besoin de faire des sauvegardes de certains répertoires sous Linux, voici un petit utilitaire en ligne de commande capable de créer des sauvegardes facilement.

L’idée de ce programme baptisé AutoArchive est que toutes les informations essentielles à la création d’une sauvegarde unique (comme la liste des répertoires à archiver, le nom de l’archive, etc.) sont stockées dans un seul fichier, le fichier de spécification de l’archive.

Il peut utiliser alors la commande ‘tar’ pour créer des archives, le tout en ligne de commande et supporte également les sauvegardes incrémentales.

Pour installer AutoArchive, il suffit d’entrer la commande suivante dans un terminal :

pip install autoarchive

A vous ensuite de configurer les archives dont vous avez besoin. Par exemple pour sauvegarder l’ensemble du /home/, vous devrez créer un fichier user-configs.aa, le placer dans le répertoire ~/.config/aa/archive_specs/ et y indiquer le contenu suivant :

# ------ begin of user-configs.aa ------
# AutoArchive's archive specification file for users configuration files
[Content]
name = user-configs
path = /home
include-files = */.*
exclude-files = foo

[Archive]
dest-dir = /mnt/backup
# ------ end of user-configs.aa ------

Comme vous pouvez le voir dans ce code, le fichier user-configs.aa contient le chemin du ou des répertoires à sauvegarder (path), le pattern des fichiers à inclure et à exclure.

Ensuite il ne reste plus qu’à lancer la commande :

aa user-configs

Et voilà. Évidemment AutoArchive dispose de plusieurs paramètres pour forcer la création d’un backup complet (par défaut c’est incrémental) ou tout simplement lister les archives créées avec l’outil. Pour toute la documentation, je vous invite à lire cette page.

Hackers deploy Linux malware, web skimmer on e-commerce servers

18 novembre 2021 à 19:28
Security researchers discovered that attackers are also deploying a Linux backdoor on compromised e-commerce servers after injecting a credit card skimmer into online shops' websites. [...]

BlobBackup – Un outil de sauvegarde minimaliste pour Windows, Mac ou Linux

12 novembre 2021 à 09:00
Par : Korben

Allez, inspirez lentement par le nez… Puis expirez par la bouche bruyamment.

Ensuite, jetez un coup d’œil à votre collègue pour constater si votre haleine est dérangeante, puis répétez après moi :

  • Je ne suis pas un abruti, je fais des sauvegardes, car les sauvegardes c’est INDISPENSABLE.
  • Je ne suis pas un abruti, je fais des sauvegardes, car les sauvegardes c’est INDISPENSABLE.
  • Je ne suis pas un abruti, je fais des sauvegardes, car les sauvegardes c’est INDISPENSABLE.
  • Je ne suis pas un abruti, je fais des sauvegardes, car les sauvegardes c’est INDISPENSABLE.
  • Je ne suis pas un abruti, je fais des sauvegardes….

RAAAAH HORREUR, vous venez de vous rendre compte que vous n’avez pas fait de sauvegardes depuis un moment.

Shame on you comme dirait Ophélie (Réf de Xenial, t’as capté).

Alors on fait comment ?

Pas de panique, il existe un super outil libre et gratuit qui s’appelle BlobBackup qui va vous permettre très facilement de programmer des sauvegardes.

Au travers d’une interface qui aurait pu être bien pire compte tenu de la licence libre de l’outil, vous allez pouvoir dupliquer vos données les plus précieuses à différents endroits, qu’ils soient locaux ou distants. En effet, BlobBackup vous permet de faire du backup chiffré, incrémental et économe en espace disque vers un autre point de montage, vers un serveur SFTP, ou vers Amazon AWS, Google Cloud, Microsoft Azure, Amazon S3 ou pour les vrais winners, vers Backblaze.

Une fois la config en place vous pouvez opter pour une sauvegarde programmée ou manuelle avec ou sans rétention de version précédente.

Ensuite, il y a plus qu’à laisser tourner. Pour l’installer rien de plus simple, il suffit de le télécharger ici pour Windows, macOS ou Linux.

Si vous avez besoin d’une sauvegarde un peu plus « avancée » techniquement, avec plus de paramètres, je ne peux que vous conseiller le logiciel RClone. Par contre, si vous ne voulez pas vous emmerder avec la technique et les détails et que vos besoins en sauvegarde sont simples, basiques, BlobBackup sera parfait pour vous.

Windows 11 : installer WSL (Windows Subsystem for Linux)

9 novembre 2021 à 09:35
Par : Le Crabe

Sur Windows 11, le sous-système Windows pour Linux (Windows Subsystem for Linux, WSL) est une plateforme qui permet d’installer et d’exécuter une distribution Linux tels que Ubuntu ou Debian, ainsi que des applications Linux directement dans Windows. Déjà disponible sur Windows 10, l’installation du sous-système Windows pour Linux a été simplifiée par Microsoft dans Windows 11 : une seule commande...

Source

Faire une recherche dans l’historique d’un site web

7 novembre 2021 à 09:00
Par : Korben

Si vous cherchez le moment exact où quelque chose de précis (un mot par exemple) a été ajouté à un site web précis, j’ai l’outil qu’il vous faut.

Cela s’appelle Timefind et ça scanne les archives de Archive.org du site ciblé à la recherche du mot ou de la phrase qui vous intéresse. Et ça vous sort alors une liste d’URL de pages archivées ainsi que la date et l’heure où cela a été enregistré.

Pour installer Timefind, il suffit de lancer la commande suivante dans votre terminal :

npm install -g timefind

Et effectuer une recherche comme ceci :

timefind URL_DU_SITE MOT_CLÉ

Timefind ira alors récupérer toutes les archives du site, pour y chercher le mot clé et vous renvoyer le premier snapshot qui comporte ce mot clé.

À découvrir ici

Comment obtenir la date de création d’un fichier sous Linux ?

5 novembre 2021 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment récupérer la date de création d'un fichier sous Linux, notamment avec la commande stat. Même si cette information est basique, elle reste précieuse et c'est bien de savoir comment la récupérer. Et si jamais vous oubliez, cet article sera là pour vous rappeler comment faire. 😉

Pour ma part, j'utilise Debian 11 et un disque avec le système de fichiers EXT4 pour cette démo.

II. Récupérer la date de création d'un fichier avec stat

Sous Linux, la commande "stat" fait partie du package "Coreutils" et elle permet d'obtenir des informations sur un dossier ou un fichier. Parmi les informations que l'on peut récupérer, il y a le chemin complet, la taille, les droits, mais aussi plusieurs dates (date du dernier accès, date de la dernière modification et la date de création).

Commençons par créer un fichier vide avec la commande touch :

touch /home/flo/itconnect.txt

Ensuite, on va simplement exécuter la commande "stat" en précisant le chemin vers notre fichier :

stat /home/flo/itconnect.txt

Voici ce que l'on obtient :

Linux - Informations sur un fichier avec la commande stat
Linux - Informations sur un fichier avec la commande stat

On peut voir que la dernière ligne s'intitule "Créé" et elle contient la date et l'heure de création du fichier, de façon très précise ! Sur une version anglaise, la ligne "Créé" sera remplacée par "Birth". Vu qu'il y a aussi la date de dernière modification, vous pouvez savoir si un fichier a été modifié depuis sa création.

Maintenant, si vous souhaitez obtenir uniquement la date de création du fichier sans toutes les autres informations, il va falloir affiner la commande stat.

En regardant l'aide de cette commande (stat --help), on peut voir qu'elle dispose d'un paramètre nommé "-c" et qui permet d'ajuster le format de sortie, ce qui est s'annonce intéressant par rapport à ce que l'on cherche à faire. Toujours dans l'aide, on peut également lire ceci :

%w date de création du fichier, lisible ; - si inconnue

Il ne reste plus qu'à utiliser "%w" pour notre format de sortie, ce qui donne la commande suivante :

stat -c '%w' /home/flo/itconnect.txt

Cette fois-ci, j'obtiens uniquement l'information souhaitée :

2021-11-04 08:59:36.802289548 +0100

Voici un exemple en image :

Obtenir la date de création d'un fichier sous Linux
Obtenir la date de création d'un fichier sous Linux

Si vous souhaitez exploiter la commande stat pour obtenir d'autres informations, je vous invite à explorer l'aide (qui au passage est très bien décrite) et à ajuster le format de sortie.

Enfin, si vous connaissez une autre manière d'obtenir la date de création d'un fichier sous Linux, n'hésitez pas à poster un commentaire pour partager l'information avec la communauté.

The post Comment obtenir la date de création d’un fichier sous Linux ? first appeared on IT-Connect.

Microsoft Edge, la version stable pour Linux est disponible !

3 novembre 2021 à 08:47

Microsoft Edge pour LinuxLes utilisateurs de Linux peuvent désormais profiter d’une version stable du navigateur Microsoft Edge.

The post Microsoft Edge, la version stable pour Linux est disponible ! appeared first on GinjFo.

❌