Il faut savoir que..
L'outil telnet utilise une fonction système, appelée
Connect, qui ne fonctionne uniquement que sur la couche TCP/IP.
En vous connectant à un port d'une machine, vous êtes tout à fait capables de savoir si le port est ouvert ou fermé.
Chaque connexion établie à un service ou une entité réseau (routeur, serveur...) est
loguée. C'est-à-dire que toutes les actions sont enregistrées.
Un script qui exploite Telnet, pour construire un scanner TCP en lançant plusieurs connexions sur la même machine avec une incrémentation du port de destination et qui récupère l'état est faisable. Mais il est évident que passer par cette méthode est extrêmement lent sur une large gamme de ports.
Des petits cas..
Telnet peut, dans certains cas, servir d'outil de renseignement. C'est par cet outil qu'on peut parfois avoir un aperçu du niveau de sécurité d'un serveur. Selon le niveau de ce dernier, vous aurez soit tout ou rien comme information.
J'aimerais savoir si le port (22) SSH de la machine distante est ouvert.
telnet LaMachineDistance 22
Soit vous recevez un message d'erreur, genre "
Echec lors de la connexion" : dans ce cas-ci, le port est fermé.
Soit vous établissez une connexion.
J'aimerais récupérer la version du serveur SSHd qui tourne sur la machine distante pour laquelle je n'ai aucun accès.
Si la connexion réussit dans la partie ci-dessus, la première ligne que vous envoie un serveur SSHd est en clair, et généralement trop parlante.
Exemple de ligne :
SSH-2.0-OpenSSH_2.2.1p3 Debian-4.sarge.2
On apprend ici :
- Support du SSH2
- Service OpenSSH avec sa version
- Le système d'exploitation et sa version.
Et pour un serveur web ?
Un serveur Web est un service écoutant sur le port 80. Connectez-vous de la même façon que ci-dessus.
telnet LaMachineDistance 80
Soit on échoue, soit on réussit, mais là, rien ne s'affiche. Le meilleur moyen est donc d'envoyer une requête simple pour que le serveur nous réponde, avec un
header parfois riche en informations.
La connexion établie, tapez la requête :
GET HTTP/1.1.
Le serveur va alors vous envoyer un message d'erreur, qui commencera avec le
header.
Le
header ressemblera par exemple à :
Server: Apache/1.2.11 (Debian GNU/Linux) PHP/4.1.1-0.dotdeb.3.
Que fait une personne mal intentionnée de ces informations ?
Cette personne connaît alors 2 choses sur votre machine :
- Le(s) port(s) ouvert(s) et le(s) service(s) en question associé(s),
- Des informations sur ce(s) dernier(s).
Il ne lui reste plus qu'à chercher dans une base de données, référençant les bugs et vulnérabilités relatifs, pour que les dégâts s'en suivent.
Mais comment se protéger de ces fuites ?
Très simple, en quelques mots : mises à jour régulières ET modification du fichier de configuration (OU recompilation, après modification interne des services), dans le but de rendre votre serveur le plus muet possible.
C'est un peu comme une personne dans la rue... Prenons Mr X, Mr Z, Mr Curieux.
Mr Curieux pose les questions suivantes aux 2 autres :
1) Ton nom ?
2) Ton adresse ?
3) L'heure qu'il est ?
4) La météo du jour ?
5) La marque de ta voiture ?
Mr X répond à toutes les questions.
Mr Y répond uniquement aux questions 3 et 4.
Constatations :
Mr X s'expose à un danger potentiel d'attaque, en donnant trop d'informations sur lui ; d'autant plus qu'il ne connaît rien de Mr Curieux.
Mr Y est méfiant, et il a bien raison. Il ne donne que des réponses à des questions ne pouvant affecter la sécurité de son entourage.
Si vous êtes administrateur d'un serveur, rendre moins bavard un serveur augmentera la sécurité de celui-ci.
Bon : vous voyez où je veux en venir ? Si vous me dites "non", eh bien sachez que... vous êtes pas Zéro pour rien

. C'est pourtant simple !
Bon ! Je finis cette dernière partie en faisant un bref résumé :
Telnet, c'est bien pour émuler, pour connaître, apprendre et découvrir.
Telnet, ce n'est pas bien, car c'est pas sécurisé.
Ça, c'est du résumé en 2 lignes

!
A aucun moment, nous avons parlé de pare-feu (
firewall) pour augmenter votre sécurité, dans cet article destiné uniquement à l'exploitation de telnet. Un
firewall n'est qu'une méthode pour bloquer l'accès aux informations. Ce qu'on protège, ce n'est pas vraiment le serveur, mais l'information.
Je terminerai sur une phrase importante liée à la sécurité des systèmes de l'information :
Amis Zéros : à vos claviers.