Créer un site web sécurisé


Il existe déjà beaucoup d’articles concernant la création de sites web, je ne vais donc pas en faire un de plus là-dessus.
Mais je vais aujourd’hui me focaliser sur la création d’un site web sécurisé, et ce type de tutoriel n’existe pas vraiment.
Prenons l’ordre logique suivant :créer un site web sécurisé
1. Créer un site Internet c’est pas mal.
2. Si le site a en plus un bon design c’est bien.
3. Si le site est optimisé côté référencement c’est très bien.
4. Si en plus le site est sécurisé c’est parfait.
Nous allons donc ici nous focaliser sur la dernière partie.
Je vais écrire cet article sous forme de ressources à suivre et à noter pour y revenir ultérieurement mais je ne vais pas prendre toute la création d’un site dans les détails.
Si ce dernier point vous intéresse, dites-le moi et je ferai un article différent, plus ciblé.

Comment créer un site web sécurisé ?

Commençons par le commencement, pour créer un site web, il faut déjà un hébergement et un nom de domaine.
Nous ne parlerons pas du nom de domaine car il ne sera pas très utile côté sécurité.
Il y a deux possibilités pour l’hébergement, soit il est mutualisé, soit il est dédié.
Un hébergement mutualisé est un hébergement sur un serveur commun, vous êtes donc sur le même serveur que d’autres personnes.
Voilà par exemple plusieurs sites qui sont sur le même serveur (l’adresse IP est la même pour chacun d’eux, mais les propriétaires sont différents):
hebergement mutualisé
Les avantages des hébergements mutualisés sont les suivants :
  • Le prix.
  • La facilité de mise en place.
  • La sécurité du serveur gérée par les administrateurs sécurité de l’entreprise qui vous fournit le service.
Les inconvénients sont les suivants :
  • Peu de flexibilité.
  • Partage de ressources entre les sites hébergés.
Un hébergement dédié quant à lui est un hébergement sur un serveur qui n’appartient qu’à vous. Vous êtes donc le seul propriétaire de cette adresse IP.
Pour 20€ par mois vous obtenez un 8 cœurs avec 16Go de RAM, de quoi satisfaire tous vos besoins sans problèmes.
Petite note en passant : Si un ancien propriétaire détenait votre serveur avant vous et que maintenant vous en êtes le propriétaire, il se peut qu’il existe toujours des traces de l’ancienne activité.
L’exemple typique est celui du serveur mail (serveur qui sert donc uniquement à envoyer des e-mails) : Si l’ancien propriétaire spammait avec le serveur, vous aurez donc potentiellement toujours votre serveur inscrit sur des listes noires.
Ce cas reste cependant rare et il est toujours possible de contacter les gestionnaires de ces listes en prouvant que le propriétaire a changé.
Les avantages des hébergements dédiés sont les suivants :
  • Flexibilité, vous êtes propriétaire et faîtes donc ce que vous voulez avec tout le serveur.
  • Vitesse, toutes les ressources vous sont réservées.
Les inconvénients sont les suivants :
  • Sécurité à gérer soi-même.
  • Prix.
Lorsque je dis que la sécurité est à gérer soi-même, ce n’est pas toujours le cas à 100%. En effet certains hébergeurs proposent tout de même des protections minimales, comme la protection anti-ddos de ovh, ainsi que d’autres services comme la présence de techniciens prêt à agir rapidement.
À partir de maintenant, soit vous débutez et vous choisissez donc l’hébergement mutualisé, soit vous vous sentez prêt et vous souhaitez migrer vers un serveur plus rapide dont vous allez gérer la sécurité vous-même.
Vous êtes donc concerné par le paragraphe suivant si vous êtes dans le second cas, sinon vous pouvez directement passer à la partie « Création du site ».security

Sécurité du serveur dédié

La sécurité d’un serveur prend un livre entier à elle seule, je ne vais pas en parler en détail dans cet article.
Sachez que les principes de bases sont les suivants :

Retirer les services non utiles

Beaucoup d’attaques reposent sur des vulnérabilités contenues dans les services.
Un service est une application qui tourne en permanence en arrière plan et attend pour exécuter des tâches, comme votre antivirus sur votre PC personnel.
Admettons cette fois un service pour l’imprimante réseau qui contient une faille. Ce service écoute sur des ports.
Il est possible pour un pirater de scanner une machine à la recherche de tous les ports ouverts et ainsi d’accéder à notre imprimante pour exploiter la faille. Résultat : Il entre dans le serveur.
Pour scanner vos ports vous pouvez utiliser cette commande Nmap :
sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000
Attention : Scanner les ports d’une machine qui ne vous appartient pas est illégal, vous êtes prévenu.
Les services non utilisés ou vulnérables doivent donc être désactivés.
Voici également un script Bash pour connaisseurs qui fait office de pare-feu pour bloquer tous les ports sauf ceux de base (80, 22, 53, etc…) :

Accéder au serveur en local

Ou au moins utiliser des connexions chiffrées.
À chaque fois que vous communiquez avec votre serveur, les données transmises peuvent être récupérées. Exemple de capture de mot de passe avec WireShark.
Si vous ne vous connectez pas en local sur le serveur lui-même, evitez donc les connexions non chiffrées comme HTTP, FTP, Telnet. Et préférez les connexions chiffrées comme HTTPS, SFTP (Secure FTP) et SSH (Secure Shell).
Vous pouvez également utiliser PGP/GPG pour le chiffrement des communications.

Installer les patchs de sécurité et les mises à jour

Il y a même pas un mois, un bug dans le noyau de Linux datant d’il y a cinq ans vient d’être trouvé. Ce bug permet d’exécuter du code malveillant ou de faire crasher le système.
Ce petit exemple suffit à affirmer que des failles de sécurité sont découvertes tous les jours, et non pas que des petites failles sans dangers. Il est donc indispensable de mettre son système et ses services à jour dès que possible.
HeartBleed est aussi un bon exemple sur le fait que même dans les services soit-disant très sécurisés, il y a des failles.

Gérer les comptes utilisateurs

Chaque utilisateur doit avoir des droits spécifiques et restreints à un dossier personnel.
On conseille également de ne pas se connecter en root, mais avec compte restreint et de faire très attention lors de l’exécution de commandes avec des privilèges d’administrateur.
Chaque administrateur devrait avoir son propre compte, chaque nom d’utilisateur de base devrait être renommé, et ces comptes ne doivent bien sûr pas être partagés.

Vérifier les logs

Les logs contiennent beaucoup d’informations sur les problèmes et accès infructueux. Vous pouvez utiliser des utilitaires comme Fail2Ban pour les scanner et bannir automatiquement les attaquants potentiels ou vérifier les logs manuellement.
Voici les principaux répertoires de logs :
  1. /var/log/message : Logs système et de l’activité courante.
  2. /var/log/auth.log : Logs d’authentification.
  3. /var/log/kern.log : Logs Noyau.
  4. /var/log/cron.log : Logs des Cron jobs.
  5. /var/log/maillog : Logs des serveurs mail.
  6. /var/log/boot.log : Logs du boot système.
  7. /var/log/mysqld.log : Logs pour base de données MySQL.
  8. /var/log/secure : Logs d’authentification.
  9. /var/log/utmp ou /var/log/wtmp : Logs de login.
  10. /var/log/apache2/error.log : Logs Apache.
Vous pouvez également afficher les fichiers modifiés durant les dernières 48h avec la commande :
find . -mtime -1 -print | more

Faire des sauvegardes régulières

En cas de problème il est toujours plus agréable de se remettre sur pied en deux clics que de tout refaire à partir de zéro.
Sauvegardez donc régulièrement vos fichiers, vos informations utiles, vos bases de données, etc…
Voir une liste des logiciels spécialisés dans la sauvegarde (en anglais) : http://en.wikipedia.org/wiki/List_of_backup_software.

Utiliser des outils de sécurité

Vous pouvez utiliser des systèmes de détection d’intrusion pour automatiquement détecter (et bloquer) les attaquants.
Vous pouvez utiliser des infrastructures de sécurité comme SeLinux pour contrôler les accès aux éléments du système.
Vous pouvez aussi utiliser des pots de miel pour piéger les attaquants.

Choisir des mots de passe sécurisés

Un mot de passe n’est pas un mot de passe si il s’appelle « 0123456 ». On recommande habituellement de choisir un mot de passe long avec au moins une lettre et un caractère spécial.
Plus d’informations sur les mots de passe ici et .

Se tenir informé

Les programmes et mises à jour ne font pas tout, surtout pas lorsque vous donnez votre mot de passe à votre collègue.
Restez à l’affut des informations sur la sécurité et soyez prêt à réagir.
Voici diverses ressources pour vous tenir informé :
http://www.openwall.com/ : Publications et discussion autour de la sécurité des systèmes libres.
https://www.owasp.org/index.php : Communauté de sécurité informatique.
http://security.stackexchange.com/ : Base de connaissances et forum concernant la sécurité informatique (en anglais).
http://www.php.net/manual/fr/security.php : Principes de sécurité en PHP.
http://doc.ubuntu-fr.org/securite : Principes de sécurité pour Ubuntu.
http://httpd.apache.org/docs/2.4/misc/security_tips.html : Principes de sécurité pour Apache.
Vous pouvez bien entendu apprendre l’attaque pour mieux vous défendre (hacking éthique), notamment via des distributions spécialisées pour le tests comme Damn Vulnerable Linux.

Création du site

À partir de maintenant, j’estime que vous avez un hébergement dédié ou mutualisé ainsi qu’un nom de domaine.
Il nous faut une base à notre site, et même si vous êtes programmeur expérimenté, je recommande d’utiliser un système de gestion de contenu.
Vous pouvez également vous orienter vers des offres de créations de site web faciles qui prennent en charge directement les noms de domaines, adresses mail, réseaux sociaux, référencement etc…très pratique pour vous simplifier la tâche si vous débutez.
Un système de gestion de contenu (CMS en anglais pour Content Management System) est un ensemble d’outils permettant de publier, éditer et maintenir du contenu tout en étant régulièrement amélioré et mis à jour via une communauté de développeurs.
Si vous ne pouvez ou devez pas utiliser de CMS, il faudra donc faire particulièrement attention aux bonnes pratiques de programmation, passez directement à la partie suivante de cet article.
Choisir un CMS est efficace pour trois raisons principales :
  • Cela vous simplifie énormément la vie en évitant de tout faire seul (ce qui prendrait 10 ans, littéralement).
  • La communauté autour des CMS propose un tas de fonctionnalités pour votre site, et vous aide aussi à résoudre les problèmes.
  • Une grande importance est attribuée à la sécurité : Des mises à jour de sécurité sont régulièrement publiées.
Il y a cependant un double tranchant côté sécurité, car si un pirate trouve une faille dans un site ayant un certain CMS, il est probable que votre site contient lui-aussi cette faille si vous utilisez ce même CMS.
Parmi les CMS les plus populaires, j’utilise et je recommande WordPress, qui permet de créer pratiquement tous les types de sites possibles.
Il est plutôt orienté blogging, mais permet grâce à ses multiples thèmes de créer des versions très personnalisées de sites web.
Vous pouvez directement télécharger WordPress ici : http://fr.wordpress.org/.
Les étapes d’installation et les documentations sont très bien expliquées, la célèbre installation se fait en 5 minutes !
(Pour le cas des hébergement mutualisés, on vous propose souvent d’installer WordPress directement dès l’achat)
Si vous avez installé WordPress, je vous invite ensuite à lire l’article : Sécuriser son site WordPress. Vous pouvez aussi lire Comment Sécuriser son Blog.
Si vous utilisez un autre CMS, je n’aurai malheureusement pas la possibilité de vous faire un guide complet.

Programmer de façon sécurisée

Si on admet que votre serveur est convenablement protégé ainsi que votre installation WordPress, il reste à s’assurer d’avoir en tête les bonnes pratiques de sécurité en programmation.
Ces bonnes pratiques incluent notamment toute la prévention côté failles web :

Gare au plugins !

Les plugins c’est bien, mais il y a un mais !
Je parle notamment des plugins pour les CMS qui une fois installés contiennent des failles.
Cela arrive encore trop souvent car les développeurs ne s’intéressent pas tous à la sécurité de leur plugins et ne les mettent pas à jour régulièrement.

Faire des audits de sécuritésite internet sécurisé

Un site web sécurisé demande beaucoup de tests.
Il est possible de faire un audit de sécurité par des professionnels pour repérer les failles possibles d’un site ou serveur et générer un rapport avec les moyens de correction.
Vous pouvez également scanner votre propre site à la recherche de vulnérabilités via des scanners comme Nikto ou Acunetix.
Attention : Là encore, ce n’est pas légal de scanner les sites qui ne vous appartiennent pas.

Se renseigner et s’auto-former

Il s’agit d’un élément essentiel car le constat est le suivant :
Beaucoup d’attaques réussies sont dues à la faute humaine.
Il est donc indispensable, lorsqu’on veut créer un site web sécurisé, de se former un minimum concernant la sécurité de son site et de son serveur.
Cette auto-formation est notamment possible via les ressources en ligne, dont les articles que vous trouverez ici.
Je ne peux malheureusement pas tout expliquer dans les détails dans un seul article, cela dit j’éditerai l’article au besoin, notamment si vous avez quelque chose à ajouter !

0 commentaires:

Comment mettre le hacking en pratique


Dans l’article d’aujourd’hui, je vous propose de mettre le hacking en pratique, c’est-à-dire de préparer le terrain pour ensuite s’entraîner directement et bien sûr légalement.
Cette question m’est venue d’une personne qui avait déjà lu pas mal d’articles mais qui ne savait pas vraiment par où commencer concrètement.
Je vais donc tâcher de développer un peu comment pratiquer le hacking dans cet article. Cela vous servira si vous avez déjà assimilé des connaissances que vous voulez mettre en pratique, ou si vous souhaitez simplement commencer et pratiquer en même temps.

Mettre la programmation en pratique

Pour commencer à programmer il est très préférable d’utiliser ce que l’on appelle un environnement de développement intégré. Il s’agit d’un logiciel qui vous aide à programmer.
Par exemple il permet de :
  • Vous aider/corriger concernant la syntaxe
  • Vous assister dans les méthodes de développement
  • Compiler le code source sans démarches supplémentaires
  • etc…
Il existe des environnements de développement intégrés plus spécialisés dans tels ou tels langages, mais généralement ils permettent de programmer dans plusieurs langages différents.
Si vous ne savez toujours pas par où commencer en programmation, je vous invite à lire l’article suivant avant de continuer :
Vous saurez ensuite par quel langage vous devrez commencer et pourrez choisir l’environnement de développement intégré (que j’abrègerai « EDI ») correspondant.
Voici des exemples d’EDI :
  • Visual Studio pour les langages .NET (VB, C#, VC++,…)
  • Code::Blocks pour les langages C, C++,…
  • Eclipse pour les langages Java, HTML, PHP, C,…
  • Geany pour les langages C, Java, Python,…
L’idéal est de vous rendre sur les sites officiels pour observer si l’EDI prend en compte le langage que vous souhaitez étudier. Vous pouvez également en tester plusieurs pour voir celui qui convient le mieux pour vous.
Voici par exemple l’interface de Visual Studio :
visualstudiopro
Avant de commencer à programmer, il vous faudra bien entendu acquérir les bases du langage que vous avez choisi.
Bien que cela puisse aussi se faire par la pratique, je vous conseille de prendre un livre ou un tutoriel sur un site et d’apprendre.
C’est là qu’on me demande souvent quel livre choisir ou quel site visiter, je vous renvoie ici pour les sites :
Pour les livres, il y a trop de choix différents. Je vous conseille de regarder ceux qui ont les meilleurs avis sur Amazon par exemple.
J’avais commencé à l’époque avec les livres suivants :
Une fois que vous commencez à comprendre les concepts du langage, l’idéal est de prendre un code source qui vous intéresse sur le net, de le télécharger/copier, de le comprendre et de le modifier.
Vous en trouverez beaucoup sur le site CodeProject.
Plus d’informations sur la programmation :

Mettre un site web (et un serveur) en pratique

Si vous souhaitez créer un site de test pour vous entraîner à le pirater et à le sécuriser, il faut savoir que vous n’avez en fait pas besoin de payer quoi que ce soit.
Vous pouvez héberger un site web sur votre propre ordinateur, que vous ayez Windows, Mac ou Linux.
Pour cela je vous renvoie vers les sites suivants :
  • WAMP (Windows Apache MySQL PHP) pour Windows
  • MAMP (Mac Apache MySQL PHP) pour Mac
  • LAMP (Linux Apache MySQL PHP) pour Linux
Pour les installer et les configurer, vous trouverez beaucoup de tutoriels sur le net, en voici certains :
PS: Ne créez pas de sites gratuits du type votrepseudo.wordpress.com…vous n’aurez presque aucune flexibilité en plus de ne pas détenir le système sous-jacent.
Bien entendu, rien ne vous empêche de payer un petit serveur dédié pour avoir de quoi faire des manipulations sur un serveur également.
Pour les offres de serveurs, voir : https://www.online.net/fr/serveur-dedie
Cela dit, la gestion d’un serveur demande des connaissances plus approfondies et n’est donc pas conseillée pour un débutant complet.
Mais si vous voulez tenter votre chance, là encore vous trouverez facilement des tutoriels vous montrant comment installer un serveur dédié.
En voici un que j’avais utilisé même si il commence à se faire vieux :
N’hésitez pas à chercher encore et encore sur le net, prenez vous un tutoriel qui semble intéressant et mettez-le en pratique. Après tout pour mettre en pratique, il faut passer à l’action, implémenter ce qui vous est dit et essayer même si vous n’êtes pas sûr(e) que ça va fonctionner. Et rassurez vous ça finit toujours par fonctionner 😉
Pour ce qui est de l’entraînement, vous pouvez jeter un œil aux failles web populaires et essayer de les reproduire/sécuriser :
Vous pouvez également jeter un œil à la partie Mise En Situation du site pour bien comprendre le fonctionnement des failles et ainsi les sécuriser.
Et enfin, je peux également vous suggérer l’article suivant :

Mettre une machine de test en pratique

En hacking, on se doit de jouer un peu avec les failles systèmes et autres programmes malveillants. Pour ne rien casser, on met habituellement en place un « laboratoire de test ».
Ici votre petit laboratoire de test personnel peut être tout simplement une machine virtuelle.
Pour se faire, vous pouvez télécharger le fameux VirtualBox. J’en parle à la fin de l’article suivant si vous voulez des détails pour l’installer :
Vous apprendrez par la même occasion à vous familiariser avec Linux.
Une fois VirtualBox installé, on peut s’amuser à lancer plusieurs systèmes de façon sécurisée et ainsi tester différents scénarios/attaques.
pratiquerhacking
À ce propos, il existe des systèmes spécialement vulnérables pour vous entrainer. Voici par exemple Metasploitable :
Vous pourrez notamment vous amuser avec MetaSploit, l’outil de test d’intrusions le plus populaire.
Dans le même genre il y a LAMP Security Training :
N’oublions pas Kali Linux (anciennement BackTrack) qui intègre beaucoup d’outils de pentesting afin de vous entrainer :
En attendant de vous faire les tutoriels, je vous donne une petite astuce : Il y a beaucoup de tutoriels à propos de Kali/MetaSploit sur YouTube (mais souvent en anglais).
Par exemple :

Autres sites et outils pour s’entraîner

Dans cette partie, je vais citer d’autres sites ou applications qui vous permettront de mettre en pratique le hacking :

Mise en garde

Vous noterez que tous les conseils donnés ici concernent l’installation et la pratique sur vos propres systèmes.
Vous n’avez pas le droit de vous entrainer sur des machines qui ne vous appartiennent pas.
En fait, si, mais à condition que vous ayez eu l’autorisation avant.
À ce propos, il y a beaucoup de sites qui ont crée des programmes appelés Bug Bounty, il s’agit de rémunérer/récompenser les personnes qui trouvent des failles sur leurs sites.
Parmi eux on citera Facebook, Google, Avast, Adobe, 4chan, Microsoft, Mozilla, PayPal, Twitter…etc.
C’est une excellente occasion de tester légalement et en plus de gagner de l’argent si vous trouvez des vulnérabilités.
Voici des listes de tous les sites proposant des programmes Bug Bounty :
Désolé pour les anglophobe, mais je donne effectivement beaucoup de liens vers des sites anglais. Il y a toujours plus de contenu en anglais et la maitrise de cette langue entre dans les qualités d’un hacker.
Sur ce, je vous souhaite bon apprentissage, et si vous avez d’autres informations à partager sur la mise en pratique, n’hésitez pas !

0 commentaires:

Facebook : Attention aux piratages par usurpation de pages


Facebook est une cible très intéressante pour les pirates. Entre les piratages de comptes, les applications malveillantes et autres pages de Phishing, il existe un autre vecteur de piratage : L’usurpation des pages.
Bien que créer une page avec le même nom qu’une autre ne soit pas possible, créer une page sans nom est visiblement parfois possible.
Créer une page sans nom n’est d’ailleurs pas nouveau, et il existe des tutoriels expliquant comment créer une page atypique. Il faut savoir que Facebook permet aussi de « tagguer » des personnes dans les commentaires.
Et à partir de ce moment, la page sans nom prend une toute autre dimension : Elle permet de se faire passer pour la personne marquée. Ceci est possible car le tag prend la place du nom de celui qui poste le message.
Il est ainsi possible de se faire passer pour n’importe quelle page Facebook et avec un peu de ruse de pirater tous les internautes trop crédules.

Usurper une page en la « tagguant » ?

Voici une capture d’écran d’une tentative de piratage via la page Facebook officielle de Rémi GAILLARD :
page sans nom piratage Facebook
Le commentaire entouré de rouge semble provenir de la page officielle, alors qu’il provient d’un pirate.
En passant le curseur sur le nom, on obtient même l’aperçu de la page officielle (puisqu’il s’agit en fait du tag) :
noname2
Si l’on n’y porte pas grande attention, le commentaire semble donc tout à fait légitime et l’on se préoccupe de lire ce commentaire (et de cliquer) plutôt que d’observer le léger changement de couleur par rapport aux vrais noms. Les commentaires des vraies personnes sont en effet affichés dans une police en gras contrairement au commentaire du pirate.
Ce petit détail de police est cependant bien plus difficile à repérer sur smartphones :
noname3

Comment ce stratagème est-il possible ?

Les techniques pour ne mettre qu’un seul nom sur Facebook ou pour créer des pages sans nom ne sont pas récentes. Elles ne posent d’ailleurs pas de soucis de légalité dans la mesure ou elles ne nuisent pas à autrui en tant que telles. Attention, elles sont tout de même contre les règles de Facebook qui exige un nom correct.
Le pirate utilisera typiquement un caractère spécial correspondant à un espace blanc dans le nom de la page.
Il existe beaucoup de caractères spéciaux permettant d’afficher un espace blanc. Inutile d’essayer,  Facebook les détecte tout de même.

Comment s’en prémunir ?

La combinaison de ce stratagème avec la possibilité de tagguer des noms de pages officielles dans les commentaires est une véritable technique d’ingénierie sociale contre laquelle le meilleur moyen de prévention est la sensibilisation.
Ici, pour détecter l’arnaque il explique plusieurs façons :
  • En cliquant sur l’image de profil du commentaire en question, on ne tombera pas sur la page officielle mais sur la page sans nom du pirate.
  • Comme l’a très bien précisé Adaven en commentaire, les liens raccourcis du type tinyurl, goo.gl, entre autres cachent potentiellement un lien malveillant.
  • Les fautes d’orthographe ou le style d’écriture inhabituel donnent également la puce à l’oreille.
Facebook est au courant du problème et interdit les pages sans nom.
Mais si vous tombez tout de même sur ce genre de commentaires, réfléchissez-y a deux fois avant de cliquer sur un lien !

0 commentaires:

Les étapes à suivre pour commencer avec le Hacking

Si vous êtes nouveau sur Le Blog Du Hacker, je vous souhaite la bienvenue et vous propose de commencer par ici, vous pouvez également rejoindre la page Facebook du site. Merci pour votre visite !
Si vous avez décidé d’apprendre le hacking à partir du début, je vais vous aider et je vous félicite car c’est un très bon choix !
Dans cet article, je vais donner les grands points que vous devrez suivre pour bien commencer avec le Hacking.
commencer avec le hacking
Avant de continuer, sachez que j’ai déjà fourni quelques réponses à des questions générales sur la page suivante que je vous invite à lire dès maintenant si ce n’est pas déjà fait : http://www.leblogduhacker.fr/commencez-ici/
Aujourd’hui, nous allons nous concentrer sur le hacking du côté informatique. Ça peut paraître bizarre de le préciser mais le hacking s’applique à beaucoup de domaines dont l’électronique ou même le marketing. L’article sera plus ou moins subjectif et libre à vous de le suivre ou non (voire de proposer une autre méthode que vous avez utilisée pour débuter ?).
Je vais supposer dans toute la suite de l’article que vous êtes entièrement débutant, et comme d’habitude, ça ne pose aucun problème de l’être.
« Entièrement débutant » signifie ici que vous savez tout de même :
  • Visiter des sites
  • Télécharger, installer et utiliser des programmes
  • Vous connecter à un réseau
  • Lire et suivre des tutoriels, guides, formations, livres…
Malheureusement toutes ces ressources ne sont pas toujours gratuites et je sais bien que tout le monde ne peut pas accéder à toutes les informations pour des raisons de moyens. Dans un sens c’est pour cela que je propose beaucoup de contenu 100% gratuit même si je ne peux pas tout donner non plus sous peine de devoir arrêter le site et les services proposés.

Si vous n’êtes pas encore très familier avec Internet et les ordinateurs, il vous faudra d’abord apprendre les bases de l’informatique. N’hésitez pas à laisser un message pour me demander de rédiger des articles sur ce que vous aimeriez savoir précisément
Et dans l’autre cas bien entendu tout ce que vous savez déjà aujourd’hui, en plus des bases nécessaires, sont des connaissances de gagnées.

Pré-requis

Dans cette partie, je veux vous faire comprendre les principes de base sur le hacking avant de continuer. Si vous les savez déjà vous pouvez passer à la partie suivante.
Vous trouverez également les bases à maitriser avant tout et qui ne seront plus enseignées dans la suite ici : Ce qu’il faut maitriser avant même de commencer.
Au risque de me répéter, si votre définition d’un hacker en ce moment même est la suivante :
« Une personne qui pirate un compte Facebook »
Vous avez faux, …mais je vous comprends.
Voici déjà la vraie définition :
Un hacker est une personne qui montre une passion pour la compréhension du fonctionnement intime des systèmes, ordinateurs et réseaux informatiques en particulier.
Si vous aviez pensé à la mauvaise définition, vous avez sans doute été influencé(e) par les médias, les films, ou par d’autres personnes qui utilisent le mot « hacker » pour faire référence aux « pirates » (c’est comme ça qu’on devrait les appeler). Moi même j’utilise parfois le mot « hacker » volontairement puisqu’il est plus parlant pour certaines personnes.
En fait le vrai hacker informatique ne cherche pas à obtenir le mot de passe de son conjoint mais cherche plutôt à comprendre le fonctionnement des systèmes et réseaux. Il cherche souvent à améliorer la sécurité de ceux-ci en trouvant des failles et en proposant des moyens de s’en défendre. En d’autres mots il cherche donc à contourner les mesures de sécurité pour définir des meilleurs moyens de protection.
digital-579553_640
Le hacker connaît donc effectivement comment entrer dans un système, mais une fois arrivé là, il a deux possibilités :
  1. Soit il en profite et pirate le système ou ses utilisateurs
  2. Soit il alerte l’administrateur du système et construit des patchs de sécurité
C’est pour cela qu’on a défini des types de hackers, le premier étant le « hacker malveillant » (ou pirate ou cracker) et le deuxième étant le « hacker bienveillant » (ou hacker éthique).
Je pense que si vous avez un peu visité le blog auparavant, vous vous êtes rendu compte que le site se veut être une ressource d’informations pour hackers éthiques.
Et vous vous doutez donc que si vous souhaitez sombrer du côté pirate, vous vous exposez à des risques même si vous n’habitez pas en France.
Je reprends les lois en France ici.
Il faut savoir que si vous avez un motif légitime d’apprendre à récupérer des mots de passe notamment pour votre propre sécurité ou celle de votre entreprise, vous êtes en théorie dans votre plein droit.

Pourquoi devenir un hacker ?

Il y a une communauté, une culture partagée entre programmeurs et autres experts en systèmes et reséaux depuis le tout début d’Internet.
Ce sont aussi eux qui sont à l’origine du terme « hacker » devenu populaire dans les années 1980.

Des grands projets bâtis par les hackers

glider
Le glider, symbole des hackers issu du « Jeu de la Vie » proposé par Eric S. Raymond. Il fait penser aux hackers et est né presque en meme temps qu’Internet et Unix.
Les hackers ont construit Internet, mais aussi le World Wide Web (www) et on participé à énormément de projets dont le fameux système d’exploitation Unix.
Les fondateurs de Apple, Microsoft ou même Facebook sont régulièrement considérés comme des hackers.

Un mode de vie à part entière

Le « hacking » permet de résoudre et d’aider à résoudre des problèmes. Et cela va plus loin, le hacking est même considéré comme un art et un mode de vie à part entière : On peut créer de l’art et de la beauté avec un ordinateur.
Les motivations quant à elles sont diverses et concernent avant tout la passion, la curiosité, le défi et le plaisir de partager.
Les hackers se definissent comme des personnes marginales et curieuses qui cherchent à fouiller dans leur ordinateur et à comprendre leur fonctionnement plutôt que d’être des simples utilisateurs des systèmes.
Ce mode de vie est défini dans ce que l’on appelle l’éthique du hacker.

Une nécessité dans la vie de tous les jours 

Le hacking est une pièce importante dans la société de nos jours, les ordinateurs sont partout, les données partagées sont de plus en plus sensibles et nombreuses, les attaques augmentent et évoluent. La sécurité des entreprises et des utilisateurs devient aussi de plus en plus importante.
Les objets connectés arrivent et je vous garanti qu’on n’a pas fini d’entendre parler des hackers, bien au contraire.

Par quoi commencer ?

Vous avez décidé de vous lancer ? C’est parti
On arrive à l’une des questions les plus posées concernant le hacking : Par quoi je dois commencer ? La programmation ? Le réseau ? La cryptographie ?
Avant tout, je vous rassure, ce n’est pas une question de vie ou de mort, car vous pouvez commencer de plusieurs façons différentes. Et aucune n’est mauvaise.

3 questions à se poser

Pour bien répondre à cette question, et donc savoir par quoi vous devez commencer, posez-vous les questions suivantes dans l’ordre :
  1. Qu’est ce que j’aimerais savoir faire de manière globale ? (Exemple de réponse : Devenir un hacker)
  2. Qu’est ce que j’aimerais savoir faire avant tout ? (Exemple de réponse : Connaître le fonctionnement des réseaux)
  3. Qu’est ce que j’aimerais savoir faire précisément ? (Exemple de réponse : Savoir comment intercepter des informations sur un réseau et s’en protéger)
Vous y êtes ! Vous avez donc le domaine par lequel vous devez commencer, et je vous en félicite !

La méthode à suivre pour commencer

Maintenant, il vous faut séparer ce que vous souhaitez savoir en parties qui se suivent.
Je garde l’exemple précédent :
Savoir comment intercepter des informations sur un réseau et s’en protéger
Nous devons donc d’abord savoir comment fonctionnent les réseaux, puis comment intercepter des informations, et enfin comment s’en protéger.
Votre point de départ dans cet exemple est donc : Comment fonctionnent les réseaux.
Vous êtes passé de « je veux devenir un hacker » à « je veux déjà savoir comment fonctionnent les réseaux », cette précision est extrêmement importante.

Passer à l’action

man-160088_640
Suite à cela, il est temps de passer à l’action car pour trouver les informations et donc atteindre votre but il vous faut les chercher et les trouver.
Cherchez donc dès à présent tous les tutoriels, livres et sites qui parlent de ce que vous cherchez à apprendre. Bien-sûr j’espère que ce site vous aidera déjà beaucoup dans vos recherches.
Triez ces ressources par niveau : D’abord celles qui parlent des bases, ensuite les ressources intermédiaires, et enfin les ressources avancées.
Lisez celles qui parlent des bases et surtout appliquez.
Le mot appliquer est très important car plus vous appliquerez plus vous retiendrez et plus vite vous irez. Appliquer rime avec Action.
Prenez note qu’il vous faut dès à présent passer à l’action, n’attendez plus sinon rien ne se passera jamais.
Si vous ne faites que de lire et d’essayer de retenir les conseils (c’était mon erreur dans le passé) sans trop voir ce qu’il faut appliquer, écrivez-les, faites un résumé de ce que vous avez appris. Si les ressources vous demandent de télécharger des programmes, écrire du code, etc…faites-le.
Au bout d’un certain temps (entre 1 heure et quelques jours suivant le temps que vous y passez), vous aurez appris les bases du domaine par lequel vous avez décidé de commencer. Et je vous re-félicite !
Prenez la deuxième partie de vos ressources (celles de niveau 2, c’est-à-dire les intermédiaires).
Ici, il vous faudra encore pratiquer mais vous allez apprendre beaucoup plus de choses et l’apprentissage sera plus long (comptez entre 2 semaines et quelques mois). Vous sentirez à un moment que vous avez déjà bien compris la plupart des concepts et vous vous sentirez motivé et au dessus du stade de débutant complet.
Vous pouvez maintenant soit passer à l’étape suivante et pratiquer avec les ressources avancées, soit passer à la seconde partie de votre domaine choisi précédemment. Je réutilise mon exemple :
Nous devons donc d’abord savoir comment fonctionnent les réseaux, puis comment intercepter des informations, puis comment s’en protéger.
Vous venez de faire la première partie : Savoir comment fonctionnent les réseaux jusqu’au stade intermédiaire ou avancé, vous pouvez donc passer à la deuxième partie : « Savoir comment intercepter des informations« .
Refaites la même méthode, trouvez des bases sur l’interception des communications réseaux, puis pratiquez jusqu’à atteindre un niveau intermédiaire.
Enfin, vous allez passer à la dernière partie : « Comment s’en protéger », vous n’avez pas toujours besoin de rechercher des ressources, car vous saurez  automatiquement comment faire et vous aurez ainsi atteint votre premier but.

Enchaîner les connaissances

Petit rappel : Nous avons dans notre exemple choisi de devenir un hacker, nous avons décidé de commencer par le réseau et nous avons acquis des connaissances à ce sujet grâce à la pratique.
Vous pouvez donc passer au second domaine que vous aurez aimé acquérir et ainsi de suite jusqu’à remonter tous les domaines et atteindre votre but final, ici : Devenir Un Hacker.

Quand dois-je arrêter mon apprentissage et considérer que je suis un hacker ?

Disons qu’il y a 2 choses à savoir ici :
Habituellement on devient hacker lorsque la communauté nous nomme ainsi. Et les qualités requises pour être considéré(e) comme hacker dépendent de chacun. Certains hackers pouvant être plus spécialisés dans des domaines précis.
Cela dit il y a tout un panel de qualités considérées comme essentielles pour un hacker. C’est l’objet de point suivant.

Les qualités qu’un hacker doit posséder

Voici une liste qui sera toujours non exhaustive, mais représentative des qualités indispensables pour etre consideré(e) comme hacker. Ce sont donc pour vous des pistes à suivre pour atteindre votre but. Utilisez les méthodes d’apprentissage précédemment données pour apprendre de façon rapide et facile.

Apprendre la programmation

hacking programmation
Je commence par la qualité qui vient habituellement en premier : Le hacker sait programmer.
A partir de là il y a un florilège de questions qui s’ajoutent, notamment par quel langage commencer ? Dois-je programmer sous Linux ? Doit-on apprendre les langages Web ? Est-ce que Python est mieux que le C ? etc…
Ces questions me sont posées sans cesse et j’y repondrai au fur et à mesure dans les articles.
En fait tout depend encore une fois de ce que VOUS souhaitez faire.
Imaginez ce que vous souhaiteriez savoir faire avant tout et commencez par là.
Je m’explique, si vous souhaitez commencer par créer des sites et comprendre comment les sécuriser : Il faut commencer par les langages web (JavaScript, SQL, PHP).
Si au contraire vous voulez apprendre la programmation système, donc savoir comment la machine fonctionne à l’intérieur, le mieux est le C.
Et enfin, si vous souhaitez faire des programmes fonctionnels rapidement sans spécialement connaitre tout le système ni les langages web (bien que cela ne soit pas particulièrement recommandé), vous pouvez commencer par Python ou même VB.NET.
Il faut aussi avoir qu’il est possible d’apprendre plusieurs langages en même temps ou les uns après les autres en fonction de vos envies.
Si il y a 5 langages à maitriser, ils sont pour moi :
  1. C ou/et C++
  2. PHP ou ASP
  3. C# ou VB.NET
  4. Java ou Python
  5. JavaScript
Vous pouvez commencer par le HTML si vous le souhaitez, disons que cela devrait être rapide et facile.
Cela reste personnel et je precise qu’il n’y a pas d’obligations.

Maitriser un systeme d’exploitation Open Source

(c) opensourceinitiative
Le mouvement hacker est intimement lié au monde Open Source, et les hackers adhèrent à cet esprit.
Les systèmes Open Source du type Linux sont de plus en plus populaires et bien qu’ils semblent être déroutants au début, ils sont en fait facile à comprendre et à utiliser. Je ne vais pas alourdir l’article avec les questions/réponses sur Linux. Si vous souhaitez vous lancer avec Linux, et plus précisément Ubuntu, vous pouvez jeter un oeil ici.
Je conseille d’ailleurs de programmer sous Ubuntu ou en tout cas sous un système Linux. Tout simplement car c’est plus pratique pour programmer : Beaucoup d’outils sont déjà présents. Pour découvrir les autres avantages, voici des informations supplémentaires :

Apprendre le fonctionnement des réseaux

network-cables-494645_640
Il s’agit d’un autre grand domaine dans lequel les hackers ont beaucoup contribué. Il constitue également un pilier indispensable d’Internet qui devient de plus en plus sensible de part les données personnelles qui y circulent.
Pour apprendre les réseaux il est encore une fois très utile de pratiquer car l’utilisateur normal ne fait vraiment que d’utiliser les réseaux sans chercher à les comprendre. Il y a donc beaucoup de choses à découvrir.
Voici les grands points par lesquels vous pouvez commencer :
  • Le modèle OSI
  • L’adressage IP et Mac
  • Les protocoles TCP, UDP, ARP, DHCP, DNS etc…
Attardez vous également sur la sécurité de ces points.

Assimiler les concepts et partager à son tour

Enfin, on l’a vu a plusieurs reprises, il y a des concepts, une éthique que les hackers du monde entier suivent.
Produisez des logiciels open source ou contribuez à ceux qui existent déjà, rejoignez une communauté et partagez ce que vous savez déjà tout en apprenant de nouvelles choses.

J’ajouterai deux astuces personnelles pour finir :

  • Le fait de créer et partager du contenu aide beaucoup, le fait d’avoir créé ce site m’a permis d’en apprendre encore plus.
  • Pour accélérer votre apprentissage j’ai déjà commencé à rédiger des guides complets de façon à ce qu’il ne vous reste qu’à appliquer sans avoir a faire tout le travail de recherche decourageant auparavant. Vous trouverez ces guides dans la barre latérale droite du site.

0 commentaires:

Recent comments