sécurité réseau: quel langage apprendre ?

hesoebius
sécurité réseau: quel langage apprendre ?

Bonjour,

Quel langage est indispensable dans le domaine de la sécurité des réseaux( détection d'intrusion etc...) ?

HTML, PHP etc ?

Actuellement je travaille sur les protocoles mais j'aimerai aller plus loin.

Cordialement,

fredericmazue

Je dirais C/C++ avant tout

hesoebius

Et pour programmer quoi ?

Je pensais au html et Php pour lire le code source des pages web.

fredericmazue

De quoi parle-t-on ? De faire joujou ou de sécurité réseau ? :lol:
C/C++, pour programmer des sniffers, des rootkits, ou les détecter, et/ou surveiller des instrusions.

Quote:
Je pensais au html et Php pour lire le code source des pages web.

Ca ressemble à une question posée sur ce forum dans une autre discussion. Si ton serveur Web est bien configuré, ce n'est pas avec Php qu'on va aller lire des sources Php.
hesoebius

Programmer des sniffers ?

Est ce que cela vaut la peine d'apprendre à le faire sachant que des distributions commes backtrack contiennent tous les outils de détection et de scan nécessaire ?

fredericmazue

Quote:
Programmer des sniffers ?

Est ce que cela vaut la peine d'apprendre à le faire sachant que des distributions commes backtrack contiennent tous les outils de détection et de scan nécessaire ?


Je ne sais pas. A toi de savoir ce que tu veux. Tu as posé ceci comme question:
Quote:
Quel langage est indispensable dans le domaine de la sécurité des réseaux( détection d'intrusion etc...) ?

J'essaie d'y répondre.
Le langage indispensable dans le domaine de la sécurité réseau n'est sûrement pas Php, encore moins HTML. Parce que sécurité réseau, ce n'est pas synonyme de sécurité d'un site Web n'est-ce pas ? Maintenant si sécurité réseau c'est synonyme pour toi de "Je pensais au html et Php pour lire le code source des pages web." on ne parle pas de la même chose. Détection d'intrusion avec HTML... Lol :lol: Et si tu penses qu'il y a déjà des outils pour tout le reste alors je ne sais pas quoi te dire.
hesoebius

J'ai bien compris la différence entre sécurité RZO et la sécurité d'un site WEB.

Donc html et php ne sont pas fait pour moi.

Pour ce qui est d'un langage de programmation, si je peux m'en passer, cela me va très bien.

Je vais reformuler ma question pour être plus précis.

Est ce que la connaissance d'un langage est indispensable(si oui lequel) ou la connaissance du réseau, le paramétrage d'un firewall, l'utilisation des outils de détection est suffisante ?

Comme je ne suis pas un spécialiste j'aimerai savoir les connaissances qui me sont nécessaires.

fredericmazue

Bon je vais te donner mon avis, qui engage que moi.
Tu veux administrer un système. Un linux si je comprends bien parce que tu parles de distribution. Disons un Unix au sens large. Alors voici mon avis. Tout administrateur Unix qui ne connait pas bien C et Shell au très strict minimum, n'est pas un administrateur Unix.
Mais bon, on a le droit de ne pas être d'accord et d'être moins radical dans le point de vue :)

hesoebius

L'idée est de faire soit même ses scripts de configuration (sauvegarde etc...) ?

Parce que je ne vois pas ce qu'il y a à programmer quand on configure son poste ou celui des autres , ou que l'on configure un firewall.

jrebillat

hesoebius wrote:
Parce que je ne vois pas ce qu'il y a à programmer quand on configure son poste ou celui des autres , ou que l'on configure un firewall.

Déjà, même sans programmer soi-même, savoir et comprendre comment une agression serait possible nécessite de connaitre les langages cités par fredericmaze. Si tu ne sais pas comment on peut t'atteindre, comment pourrais-tu te protéger ?

Ensuite, la configuration d'un poste - sans parler d'un réseau complet - ne se fait pas qu'avec des outils tout faits sur lesquels il n'y a plus qu'à cliquer... Ne serait-ce que parce que ces outils, ceux qui te veulent du mal les connaissent surement mieux que toi ! Ensuite ces outils, s'ils existent, ne font bien souvent que lancer des scripts ou des programmes.
Et la plupart de ce qui est écrit au niveau système l'est fait en Shell ou en C, parce que le système lui-même est conçu dans ces langages. En particulier les librairies implémentant les divers protocoles de communication.

fredericmazue

hesoebius wrote:
Parce que je ne vois pas ce qu'il y a à programmer quand on configure son poste ou celui des autres , ou que l'on configure un firewall.

J'ai l'impression d'avoir perdu le fil de la conversation. On parle de Linux ou de Windows là ? :twisted:

jrebillat wrote:
Ensuite, la configuration d'un poste - sans parler d'un réseau complet - ne se fait pas qu'avec des outils tout faits sur lesquels il n'y a plus qu'à cliquer... Ne serait-ce que parce que ces outils, ceux qui te veulent du mal les connaissent surement mieux que toi ! Ensuite ces outils, s'ils existent, ne font bien souvent que lancer des scripts ou des programmes.
Et la plupart de ce qui est écrit au niveau système l'est fait en Shell ou en C, parce que le système lui-même est conçu dans ces langages. En particulier les librairies implémentant les divers protocoles de communication.

Ben voilà :)
Et j'ajouterai que pour des raisons historiques il y a beaucoup d'outils de configuration écrit en Perl. Un administrateur Unix qui ne connait pas Perl souffre très probablement d'une lacune.

hesoebius

Merci,

Donc shell et C++ .

PS:

Quote:
Je dirais C/C++ avant tout

Cela signifie C et C++ ou bien C ou C++

Cordialement,

fredericmazue

Quote:
Cela signifie C et C++ ou bien C ou C++

Les deux mon capitaine.
Un Linux c'est écrit en C, donc C est incontournable.
Mais les problèmes de sécurité du C se retrouvent en C++ et aussi de plus en plus d'outils Linux sont écrits en C++.
Et aussi si un jour tu dois recompiler (et c'est fréquent sour Unix/Linux) une application pour lui appliquer un patch corrigeant un trou de sécurité, tu peux rencontrer de problèmes propres à C++ à ce moment.
hesoebius

Merci beaucoup pour ces explications.

Question subsidiaire: lequel dois je étudier en premier: shell, C, C++ ?

jrebillat

hesoebius wrote:
Question subsidiaire: lequel dois je étudier en premier: shell, C, C++ ?

Choix difficile !
J'aurais tendance à répondre les trois en même temps, avec peut-être une priorité moins grande pour C++, et encore...

Ce qui est gênant, c'est que sans l'ensemble, tu as peu de chances de t'en sortir... et que tout ça ne s'apprend pas en deux jours ! Je suis intéressé de savoir quels sont tes objectifs, en terme calendaire, pour cette formation ?

hesoebius

Disons 2-3 ans.

Je suis actuellement gestionnaire de parc informatique et je fais également de la maintenance, j'aimerai basculer dans la sécurité réseau.

Quote:
J'aurais tendance à répondre les trois en même temps

Je préfère commencer commencer par un langage à la fois.

Lequel serait le plus simple pour commencer ?

fredericmazue

Savoir s'il faut apprendre C++ avant ou après C, avec ou sans C est un débat sans fis qui déclenche en général des discussions enflammées, qui en général se terminent mal. :)
On va donc sagement se tenir à l'écart. :)
Dans le contexte d'administration Linux, je rejoins l'avis de jrebillat. On peut donner à C++ une priorité moins grande.

Il me semble qu'un administrateur Unix se doit avant tout de connaitre très bien le shell (et c'est vaste...)
Ensuite de bonnes notions de C, sans vouloir être un champion dans le domaine. Ensuite se familiariser avec C++

Ca fait déjà pas mal de grains à moudre, surtout si dans les grains se cachent quelques Perl ;)

hesoebius

Merci de vos conseil, je me commencer par le shell.

A bientôt,