Commandes et Services Réseau

PING: Test de la connectivité
HOSTNAME : Renvoie le nom d'hôte.
HOST : La commande host (spécifique à Unix) fournit à peu prés les mêmes infirmations que les commandes nslookup et dig combinées.
ARP : Adress Resolution Protocol. Conversion adresse IP en adresse MAC.
IFCONFIG : Etablit la correspondance entre adresse ip et adresse ethernet
FINGER : Commande UNIX pour voir qui est connecté sur UNIX.
IDENT : Permet d'identifier les process utilisateurs relativement au port réseau employé.
NETSTAT : Vérifie les gens connectés à un instant donné
NBSTAT : Visualise le cache NetBIOS
IPCONFIG : Vérification de la config. de sa machine.
ROUTE : Visualisation de la table de routage. 
TRACERT : Trace la route pour aller à une adresse IP donnée.
NSLOOKUP : Vérification du fonctionnement du serveur DNS.
TELNET : accès serveur.
FTP : Transfert de fichier.
TFTP : Transfert de fichier non contrôlé.
RSH : Remote shell (UNIX).
RCP : Copie de fichier entre NT et hôte UNIX.
REXEC : Remote exec (UNIX).
TCPDUMP : Affiche les trames échangé sur un segment de réseau
TCPWRAPPER : Les TCPWrappers rajoutent une protection supplémentaire aux services lancés par inetd
WHOIS : Utilisé pour connaître le point de contact d'un site.

               

Ping :   Test de la connectivité.

La commande ping permet de voir si on communique normalement avec une machine.

Sous les PC fonctionnant sous Windows 95 ou NT il suffit de passer sous le menu    démarrer/programme/Commandes MSDOS pour activer la commande ping

Elle exploite la commande ECHO_REQUEST du protocole ICMP.

La station sélectionnée retourne un paquet ECHO_REPLY qui intègre un échantillon de temps permettant de contrôler les temps de réponse.

 


Exemple :

ping 200.200.200.141

 



On détaille chaque aller et retour des paquets. Chaque paquet est numéroté séquentiellement (icmp_seq=0), et le temps de l’aller et retour est précisé en millisecondes. La partie statistiques donne des informations récapitulatives, à savoir le nombre de paquets transmis, reçus, le pourcentage de perte et les temps minimum moyen (avg) et maximum pour l’ensemble du test.
Si la machine distante ne répond pas, on récupérer le code de l’erreur qui est dans le deuxième champ du datagramme   ICMP :

no answer : Interface probablement arrêtée (down) ou machine déconnectée du réseau

unknown host : La machine n’existe pas (voir /etc/hosts) ou problème DNS
hosts unreachable : Le routeur ne peut pas transmettre le datagramme
network unreachable : Il n’y a pas de route active pour accéder au réseau distant, vérifier les tables de routage avec nestat -r, si le routage est statique

En générant un flood de ping vous pouvez faire ralentir la vitesse de connexion de la cible, voir même la déconnecter!

La vitesse de communication concerne les paquets ICMP. Ces paquets sont les informations de contrôle qui circulent sur le réseau TCP/IP. En fait lorsque vous échangez des données par le protocole ftp vous n'utilisez pas le protocole ICMP mais le protocole TCP ou UDP. Les routeurs laissent passer en priorité les trames TCP et laissent les trames ICMP en basse priorité. Donc pour mesurer la vitesse de communication entre votre équipement et un ordinateur distant il vaut mieux utiliser des outils de diagnostic plus fins comme : WSN_CONN.

 

Etudions le cas des attaques par Denial of Service (DoS) ou bien des attaques distantes.

Ping of the Death, ce type de ping permet d'afficher une fenêtre bleue "de la mort" si le ping est façonné comme ceci: PING -l 65527 -s 1 cible ; les serveurs NT 3.51 sont concernés, mais les serveurs NT 4.0 ne sont sensibles qu'à l'envoi de grosses trames, pas lors de leur reception.

                              

NETSTAT : Afficher les statistiques de protocole et de connexions réseau TCP/IP en cours.

Ou X-netstat.EXE

 

 


 

Quels ports sont ouverts sur ma machine ?

netstat sait répondre. Il n'y a pas deux systèmes où cette commande prend les mêmes options.

Sous Unix, netstat -Af inet a des chances de marcher sur les systèmes BSD-like.
Et sous Linux, netstat -a --inet
Sous Windows, netstat -a

Description de la commande


La commande netstat, permet de tester la configuration du réseau, visualiser l'état des connexions, établir   des statistiques, notamment pour surveiller les serveurs.
Liste des paramètres utilisables avec netstat:
Sans argument, donne l'état des connexions,
-a afficher toutes les informations sur l'état des connexions,
-i affichage des statistiques,
-c rafraîchissement périodique de l'état du réseau,
-n affichage des informations en mode numérique sur l'état des connexions,
-r affichage des tables de routage,
-t informations sur les sockets TCP
-u informations sur les sockets UDP.

Etat des connexions réseau avec netstat, dont voici un exemple:
Proto Recv-Q Send-Q Local Address Foreign Address State
Tcp 0 126 uranus.planete.n:telnet 192.168.1.2:1037 ESTABLISHED
Udp 0 0 uranus.plan:netbios-dgm *:*
Udp 0 0 uranus.plane:netbios-ns *:*
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] STREAM 1990 /dev/log
unix 2 [ ] STREAM CONNECTED 1989
unix 1 [ ] DGRAM 1955

Explications sur la première partie qui affiche l'état des connexions:


Proto Protocole utilisé
Recv-q Nbre de bits en réception pour ce socket
Send-q Nbre de bits envoyés
LocalAdress Nom d'hôte local et port
ForeignAdress Nom d'hôte distant et port
State Etat de la connexion
Le champ state peut prendre les valeurs suivantes:
Established Connexion établie
Syn snet Le socket essaie de se connecter
Syn recv La connexion s'initialise
Fin wait1 Le socket à été fermé
Fin wait2 La connexion a été fermée
Closed Le socket n'est pas utilisé
Close wait L'hôte distant à fermé la connexion; Fermeture locale en attente.
Last ack Attente de configmation de la fermeture de la connexion distante
Listen Ecoute en attendant une connexion externe.
Unknown Etat du socket inconnu

 

Explications sur la deuxième partie qui affiche l'état des sockets (IPC - Inter Processus Communication) actifs:
Proto Protocole, en général UNIX,
Refcnt Nombre de processus associés au socket
Type Mode d'accès datagramme (DGRAM), flux orienté connexion (STREAM), brut (RAW), livraison fiable des messages (RDM)
State Free, Listening, Unconnected, connecting, disconnecting, unknown
Path Chemin utilisé par les processus pour utiliser le socket.


Affichage et état des tables de routage avec netstat: netstat -nr ou netstat -r

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 1500 0 0 eth0
127.0.0.0 * 255.0.0.0 U 3584 0 0 lo

Explications sur la commande netstat -r
Destination Adresse vers laquelle sont destinés les paquets
Gateway Passerelle utilisée, * sinon
Flags G la route utilise une passerelle, U l'interface est active, H on ne peut joindre qu'un simple hôte par cette route)
Iface Interface sur laquelle est positionnée la route.

         
Affichage de statistiques avec netstat -i

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags
Lo 3584 0 89 0 0 0 89 0 0 0 BLRU
eth0 1500 0 215 0 0 0 210 0 0 0 BRU
               

Explications sur la commande netstat -i

RX-OK et TX-OK rendent compte du nombre reçus ou émis,
RX-ERR ou TX-ERR nombre de paquets reçus ou transmis avec erreur,
RX-DRP ou TX-DRP nombre de paquets éliminés,
RX-OVR ou TX-OVR recouvrement, donc perdus à cause d'un débit trop important.
Les Flags (B adresse de diffusion, L interface de loopback, M tous les paquets sont reçus, O arp est hors service, P connexion point à point, R interface en fonctionnement, U interface en service)

FINGER : Permet de connaître les caractéristiques d'un utilisateur qui est logué.

Sans argument elle vous donnera la liste des connectés sur votre système local, avec un argument elle vous donnera les informations relatives à un utilisateur.

Sur les systèmes à ligne de commande finger avait la syntaxe :

finger @hostname

Pour voir qui est connecté sur votre opérateur Internet vous pouvez faire la commande :

finger @aol.com.fr

si tant est que aol.com.fr est votre opérateur.

Pour voir qui est l'utilisateur connecté sous le nom Jacques.Vabre@nescafe.fr vous ferez une commande du type

finger Jacques.Vabre@nescafe.fr

Souvent les réseaux locaux connectés à l'internet sont protégé par un firewall , c'est à dire que les adresses IP utilisées à l'intérieur du réseau local ne sont pas accessible de l'Internet. Dans ces conditions il est normal que vous ne puissiez pas disposer des informations sur un utilisateur protégé par un firewall.

La commande finger est parfois accessible depuis un logiciel comme IRC, mais dans ce cas-là, elle est restreinte aux utilisateurs connus par le serveur. Dans le cas d'IRC elle ne vous permet de connaître que les utilisateurs IRC.

IDENT : Permet d'identifier les process utilisateurs relativement au port réseau employé.

Si les services finger et ident s'avèrent parfois utiles pour surveiller l'activité des utilisateurs, il est fortement conseillé de désactiver ces services sur des machines publiques.

NBTSTAT : Mise à jour du cache du fichier lmhosts.

NBTSTAT [-a Nom Distant] [-A adresse IP] [-c] [-n] [-r] [-R] [-s] [S] [intervalle]

Affiche les statistiques du protocole et les connexions TCP/IP actuelles utilisant NBT (NetBIOS sur TCP/IP).

 

 

                nbtstat  est un Exploit Netbios

Cet exploit utilise le netbios. Pour le réaliser il nous faut l'IP et le nom de la station. Le partage de fichier doit être installé.
pour installer le partage de fichier "post de travail" , "panneau de config" , "réseau" et cliqué sur installer le partage de fichier et d'imprimante

Technique :
Ouvrir une fenêtre DOS
Taper :
nbtstat -Adresse_IP de la station cible
Ex:
nbtstat -A 152.190.6.23
Ensuite vous aller voir soit "Host not found" là pas la peine de continuer !
>Sinon voilà se qui douas apparaître :

coucou

<00> UNIQUE

Registered

ce qui nous intéresse c'est le non de l'ordinateur distant

computer

<00> GROUP

Registered

coucou

<03> UNIQUE

Registered

coucou

<20> UNIQUE

Registered

Cette ligne est essentiel

computer

<1E> GROUP

Registered

ATTENTION il doit y avoir 3 unique et 2 groupe pour que se hack marche !
Voilà on a maintenant le non de l'ordinateur distant et on va taper sous une fenetre dos :
"edit lmhosts" et nous voilà dans l'éditeur dos et taper par exemple se qui suit
# Hacked by …..
IP de l'ordinateur "non de l'ordinateur" ß exemple: 152.190.6.23 "coucou"
Maintenant enregistrer le tout et rouvrez une fenetre Ms-dos et taper :
Nbtstat -R
Là vous devez obtenir :
"Successful purge and preload of the NBT Remote Cache Name Table".
Si vous obtenez "Failed to purge and preload of the NBT Remote Cache Name" c'est louper !
Bon maintenant aller dans démarrer--> rechercher-->ordinateur--> et vous taper le non exemple "coucou" si l'icône apparaît GAGNER vous avez réussi sinon vous avez oublier une étape…
Il vous reste à double cliquer sur l'icône de l'ordinateur distant et vous vous retrouverez dans son système!

ARP : Résolution @IP en @MAC. Visualiser le cache.

Affiche et modifie les tables de traduction des adresses IP-à-Physique utilisées par le protocole de résolution d'adresse (ARP).

 


Description de la commande

La commande ARP permet de visualiser ou modifier la table du cache de l'interface. Cette table peut être statique et (ou) dynamique. Elle donne la correspondance entre une adresse IP et une adresse Ethernet.
A chaque nouvelle requête, le cache ARP de l'interface est mis à jour. Il y a un nouvel enregistrement. Cet enregistrement à une durée de vie (ttl ou Time To Leave).
Voici un exemple de cache arp, obtenu avec la commande arp -va:
? (192.168.1.2) at 00:40:33:2D:B5:DD [ether] on eth0
Entries: 1 Skipped: 0 Found: 1
On voit l'adresse IP et l'adresse MAC correspondante. Il n'y a qu'une entrée dans la table. Voici les principales options de la commande arp:
arp -s (ajouter une entrée statique) exemple: arp -s 192.168.1.2 00:40:33:2D:B5:DD
arp -d (supprimer une entrée) exemple arp -d 192.168.1.2
Voir la page man pour les autres options.

               

La table ARP et le fonctionnement d'un proxy ARP.

Cela est réalisé par la configuration de table ARP statiques.
Le proxy, est une machine qui est en interface entre un réseau et l'accès à internet. Il fait office de passerelle et de cache à la fois.
- Passerelle, parce que tous les accès à internet passent par le Proxy,
- Cache, parce que le Proxy conserve en mémoire cache (sur disque), une copie des pages consultées par les utilisateurs du réseau. Cela évite de télécharger à nouveau la même page sur le site d'origine, si un utilisateur revient fréquemment dessus.
Si un hôte du réseau demande l'adresse d'un nœud distant situé sur un autre réseau, et que cet hôte passe par un proxy, le proxy va renvoyer à l'hôte sa propre adresse ethernet. Une fois cette opération réalisée, tous les   paquets envoyés par l'hôte seront à destination de l'adresse ethernet du proxy. Le proxy aura en charge de transmettre ces paquets à l'adresse effective du nœud distant.
Pour les réponses, un processus identique est mis en place. Le site consulté, ne retourne les réponse qu'au serveur proxy. Le serveur proxy se charge de ventiler les pages au bon destinataire du réseau local.
Voir, pour le fonctionnement des serveurs cache et la configuration des navigateurs avec ce type de serveur, le document sur le W3 et les scripts CGI..

               

Mode d'utilisation:

Attention à certaines interprétations de ce paragraphe. Il dépend de votre configuration. Soit vous êtes en réseau local avec une plage d'adresse déclarée, soit vous utilisez une carte d'accès distant.
Première partie:
1 - affichez le contenu de la table arp avec la commande arp -a,
2 - supprimer chaque ligne avec la commande arp -d @ip, où @ip est l'adresse ip de chaque hôte apparaissant dans la table,
3 - la commande arp -a ne devrait plus afficher de ligne,
4 - faites un ping, sur une station du réseau local,
5 - arp -a, affiche la nouvelle entrée de la table,
6 - ouvrez une session sur internet, puis ouvrez une session ftp anonyme sur un serveur distant en utilisant le nom, par exemple ftp.cdrom.com. Utilisez une adresse que vous n'avez jamais utilisée, supprimez également tout gestionnaire de cache.
7 - affichez le nouveau contenu de la table avec arp-a. Le cache arp ne contient pas l'adresse Ethernet du site distant, mais celle de la passerelle par défaut. Cela signifie que le client n'a pas à connaître les adresses Ethernet des hôtes étrangers au réseau local, mais uniquement l'adresse de la passerelle. Les paquets sont ensuite pris en charge par les routeurs.
8 - refaites une tentative sur le site choisi précédemment. Le temps d'ouverture de session est normalement plus court. Cela est justifié, car les serveurs de noms ont maintenant dans leur cache la correspondance entre le nom et l'adresse IP.

Deuxième partie:
La commande ARP permet de diagnostiquer un dysfonctionnement quand une machine prend l'adresse IP d'une autre machine.
1 - sur la machine 192.168.1.1, faites un ping sur 2 hôtes du réseau 192.168.1.2 et 192.168.1.3,
2 - à l'aide de la commande arp, relevez les adresses MAC de ces noeuds,
3 - modifiez l'adresse IP de la machine 192.168.1.2 en 192.168.1.3
4 - relancer les 2 machines en vous arrangeant pour que la machine dont vous avez modifié l'adresse ait redémarré la première,
5 - sur la machine d'adresse 192.168.1.1, remettez à jour les tables arp,
6 - quel est le contenu, après cela de la table arp.
Conclusion: Vous allez avoir un conflit d'adresses. Vous allez pouvoir le détecter avec la commande arp. Autre problème, si vous faites un telnet sur 192.168.1.3, il y a de fortes chances pour que ce soit la machine qui était d'adresse 192.168.1.2, qui vous ouvre la session. Nous sommes (par une action volontaire bien sûr) arrivés à mettre la pagaille sur un réseau de 3 postes. Cette pagaille pourrait tourner vite au chaos sur un grand réseau, d'où, la nécessité pour un administrateur de faire preuve d'une grande rigueur.

  

IFCONFIG : Configuration et affichage de l'interface spécifié.

                    Etablit la correspondance entre adresse ip et adresse ethernet.

Appelé avec alias de l'interface Ethernet de la machine, il donne des statistiques intéressantes sur le nombre de paquets émis et reçus, le nombre de collisions, de débordements ou d'erreurs de transmission.

Syntaxe

:

ifconfig   nom_interface [famille] [adresse]
                [liaison] [up|down] [netmask masque]
                [metric distance] [[-] trailers]

  Options

:

nom de l'interface

Exemples
lo0         #interface de loopback

eth0      #interface ethernet

ppp0      #interface série PPP

...

famille

Inet par defaut (nom ou notation décimale), définit les règles d'interprétation des paramètres et des adresses. La famille ether définit des adresses au format Ethernet

adresse

Adresse physique de l'interface, le nom de la machine peut être utilisé s'il est défini. dans /etc/host;

liaison

Utilisé pour les liaison point à point (SLIP, CSLIP, PPP), adresse de la machine ou l'on est raccordé

up ou down

Interface active ou interface inactive

netmask masque

Masque pour l'interprétation des adresses IP, le masque par défaut est celui qui correspond à la classe de l'adresse IP

metric distance

Option interprétée lors du routage, plus la distance est élevée, moins le chemin d'un paquet risque de passer par ce routeur

trailers

Réorganisation des datagrammes IP ; les en-têtes de longueur variables étant placée à la fin du datagramme (encapsulation arrière ou trailer d'encapsulation), cette option signifie que l'interface accepte cette technique en réception et émission

Résultats

:

La première ligne décrit l'état de l'interface :

UP                           Interface activé

BROADCAST           Emission dans le mode diffusion

NOTRAILERS        Pas d'encapsulation de type "trailers" des trames suites

RUNNING               L'interface est prête à être utilisée

La deuxième ligne contient des informations d'adressage :

          Numéro internet de la machine spécifié derrière le mot inet

          Masque déterminant le mode d'adressage sur la branche du réseau de l'interface spécifié derrière le mot netmask

          Adresse utilisée par le système lorsqu'il veut émettre une trame en diffusion sur cette branche du réseau derrière le mot broadcast.

Exemple

:

ifconfig -a

 

eth0      Lien encap:Ethernet  HWaddr 00:50:BA:BD:A3:72 

          inet adr:20.62.72.100  Bcast:20.62.95.255  Masque:255.255.224.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          Paquets Reçus:224 erreurs:0 jetés:0 débordements:0 trames:0

          Paquets transmis:31 erreurs:0 jetés:0 débordements:0 carrier:0

          collisions:2 lg file transmission:100

          Interruption:11 Adresse de base:0xc000

lo        Lien encap:Boucle locale 

          inet adr:127.0.0.1  Masque:255.0.0.0

          UP LOOPBACK RUNNING  MTU:3924  Metric:1

          Paquets Reçus:29 erreurs:0 jetés:0 débordements:0 trames:0

          Paquets transmis:29 erreurs:0 jetés:0 débordements:0 carrier:0

          collisions:0 lg file transmission:0

Description de la commande

La commande ifconfig permet la configuration locale ou à distance des interfaces réseau de tous types d'équipements (unité centrale, switch, routeur…). La ligne de commande est:
- ifconfig interface adresse [parametres]
Exemple: ifconfig eth0 192.168.1.2 (affecte l'adresse 192.168.1.2 à la première interface physique.

 

Voici les principaux arguments utilisés:
interface logique ou physique, il est obligatoire,
up active l'interface
down désactive l'interface
mtu définit l'unité de transfert des paquets
netmask affecter un masque de sous-réseau
broadcast définit l'adresse de broadcast
arp ou -arp activer ou désactiver l'utilisation du cache arp de l'interface
metric paramètre utilisé pour l'établissement des routes dynamiques, et déterminer le "coût" (nombre de sauts ou "hops") d'un chemin par le protocole RIP.
multicast . activer ou non la communication avec des machines qui sont hors du réseau.
promisc ou -promisc activer ou désactiver le mode promiscuité de l'interface. En mode promisc, tous les paquets qui transitent sur le réseau sont reçus également par l'interface. Cela permet de mettre en place un analyseur de trame ou de protocole.

Description du résultat de la commande "ifconfig eth0":

eth0 Link encap:Ethernet HWaddr 00:80:C8:32:C8:1E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:864 errors:0 dropped:0 overruns:0 frame:0
TX packets:654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:10 Base address:0x6100

 

Explications:

Ligne 1: L'interface est de type Ethernet. La commande nous donne l'adresse MAC de l'interface.
Ligne 2 : on a l'adresse IP, celle de broadcast, celle du masque de sous-réseau
Ligne 3 : l'interface est active (UP), les modes broadcast et multicast le sont également, le MTU est de 1500 octets, le Metric de 1
Ligne 4 et 5 : RX (paquets reçus), TX (transmis), erreurs, suppressions, engorgements, collision
Ligne 6 : Interruption utilisée, et adresse d'entrée/sortie
    

Mode d'utilisation:

Ce paragraphe décrit une suite de manipulation de la commande ifconfig.
Ouvrez une session en mode console sur une machine.
               
1 - Relevez les paramètres de votre machine à l'aide de la commande ifconfig. Si votre machine n'a qu'une interface physique, vous devriez avoir quelque chose d'équivalent à cela.
Lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:146 errors:0 dropped:0 overruns:0 frame:0
TX packets:146 errors:0 dropped:0 overruns:0 carrier:0
collisions:0

eth0 Link encap:Ethernet HWaddr 00:80:C8:32:C8:1E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:864 errors:0 dropped:0 overruns:0 frame:0
TX packets:654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:10 Base address:0x6100

2 - Désactivez les 2 interfaces lo et eth0
- if config lo down
- ifconfig eth0 down

3 - Taper les commandes suivantes:
- ping localhost
- ping 192.168.1.1
- telnet localhost
Aucune commande ne fonctionne, car même si la configuration IP est correcte, les interfaces sont désactivées.

4 - Activez l'interface de loopback et tapez les commandes suivantes:
- ifconfig lo up /* activation de l'interface de loopback */
- ping localhost ou telnet localhost /* ça ne marche toujour pas */
- route add 127.0.0.1 /* on ajoute une route sur l'interface de loopback */
- ping localhost ou telnet localhost /* maintenant ça marche */
- ping 192.168.1.1 /* ça ne marche pas car il manque encore une route*/

             
   On peut déduire que:
- pour chaque interface il faudra indiquer une route au protocole.
- dans la configuration actuelle, aucun paquet ne va jusqu'à la carte, donc ne sort sur le réseau.
Voici le rôle de l'interface loopback. Elle permet de tester un programme utilisant le protocole IP, sans envoyer de paquets sur le réseau. Si vous voulez écrire une application réseau, (telnet, FTP, ou autre), vous pouvez la tester de cette façon.
5 - Activez l'interface eth0 et tapez les commandes suivantes:
- ifconfig eth0 up /* activation de l'interface */
- route add 192.168.1.1
- ifconfig /* l'information Tx/Rx de l'interface eth0 vaut 0 */
/* Aucun paquet n'est encore passé par la carte.*/
- ping 127.0.0.1
- ifconfig /* on voit que l'information Tx/Rx de lo est modifiée */
/* pas celle de eth0, on en déduit que les paquets à */
/* destination de lo ne descendent pas jusqu'à l'interface physique */
- ping 192.168.1.1 /* test d'une adresse locale */
- ifconfig /* Ici on peut faire la même remarque. Les paquets ICMP */
/* sur une interface locale, ne sortent pas sur le réseau */
/* mais ceux de l'interface lo sont modifiés*/
- ping 192.168.1.2 /* test d'une adresse distante */
- ifconfig /* Ici les paquets sont bien sortis. Les registres TX/RX de eth0 */
/* sont modifiés, mais pas ceux de lo */
        
6 -Réalisez les manipulations suivantes, nous allons voir le comportement de la commande ping sur les interfaces.
Sur la machine taper la commande
192.168.1.1 ifconfig /* relever les valeurs des registres TX/RX */
192.168.1.2 ping 192.168.1.1
192.168.1.1 ifconfig /* relever les nouvelles valeurs des registres TX/RX */
/* il y a bien eu échange Réception et envoi de paquets*/
192.168.1.2 ping 192.168.1.3
192.168.1.1 ifconfig /* On voit que le registre Rx est modifié mais */
/* le registre Tx n'est pas modifié. La machine a bien reçu*/
/* paquet mais n'a rien renvoyé */
192.168.1.2 ping 192.168.1.2
192.168.1.2 ifconfig /* aucun registre n'est modifié, donc les paquets */
/* ne circulent pas jusqu'à l'interface physique avec un .*/
/* ping sur l'interface locale */

7 - le MTU (Message Transfert Unit) détermine l'unité de transfert des paquets.
Vous allez, sur la machine 192.168.1.1 modifier le MTU par défaut à 1500, pour le mettre à 300, avec la commande:
- ifconfig eth0 mtu 300
Sur la machine d'adresse 192.168.1.2, vous allez ouvrir une session ftp et chronométrer le temps de transfert d'un fichier de 30 MO. Relevez le temps et le nombre de paquets transmis ou reçus (commande ifconfif, flags TX/RX).
Restaurez le paramètre par défaut sur la première machine.
Refaites le même transfert et comparez les chiffres. La différence n'est pas énorme sur le temps car le volume de données est peu important. Par contre la différence sur le nombre de paquets, elle, est importante.

Cette manipulation amène à la réflexion suivante:
Il est possible de diminuer la taille des paquets qui transitent sur le réseau. Cela permet de garantir la bande passante si certains traitements, comme les transferts avec FTP, sont gourmands, mais charge la fonction de découpage et d'assemblage des paquets. Les temps de transmission sont également ralentis.
Cette manipulation est parfois utilisée par certains prestataires de service sur Internet. En diminuant le MTU des routeurs sur lesquels les clients se connectent, les prestataires diminuent la taille des paquets qui transitent. Ils créent un forme de multiplexage. Ils s'assurent, ainsi, que des clients ne monopolisent pas la bande passante. Cette opération est au prorata du confort d'utilisation, car les temps de réponses sont très dégradés et la charge des routeurs accrue.
L'autre solution consiste à augmenter la bande passante, ou bien trouver une solution pour lisser l'utilisation du canal en fonction des besoins.

ROUTE : Afficher ou modifier la table de routage.

ROUTE [-f] [commande [destination] [MASK masque réseau] [passerelle]

Manipule les tables de routage réseau.

[METRIC métrique]]

-f                   : efface les tables de routage de toutes les entrées de passerelles. Utilisé conjointement à une des commandes, les tables sont effacées avant l'exécution de la commande.

-p                  : Utilisé avec la commande ADD, ce commutateur rend un itinéraire persistant à travers les amorçages du système. Par défaut, les itinéraires ne sont pas conservés lorsque le système est redémarré. Utilisé avec la commande PRINT, il affiche la liste des itinéraires persistants inscrits. Ignoré pour toutes les autres commandes, qui affectent toujours les itinéraires persistants appropriés.

commande   : Spécifie une des quatre commandes :

DELETE       : Efface un itinéraire.

PRINT          : Affiche un itinéraire.

ADD             : Ajoute un itinéraire.

CHANGE     : Modifie un itinéraire existant.

destination  : Spécifie l'hôte.

MASK         Si le mot clé MASK est présent, le paramètre suivant est interprété comme le paramètre masque réseau.

masque réseau     Fourni, il spécifie la valeur de masque de sous-réseau à associer à cette entrée d'itinéraire. Non spécifié, il prend la valeur par défaut 255.255.255.255.

passerelle              Spécifie la passerelle.

METRIC                Spécifie le coût métrique pour la destination

 

Tous les noms symboliques utilisés comme destination ou passerelle sont cherchés dans le fichier base de données réseau NETWORKS. Les noms de passerelle symboliques sont cherchés dans le fichier de base de données de réseau HOSTS.

Si la commande est PRINT ou DELETE, des caractères génériques peuvent être utilisés comme destination ou passerelle, ou l'argument passerelle peut être omis.

 

Description de la commande
La commande route à déjà été entrevue un peu plus haut, avec la commande ifconfig. Le routage définit le chemin emprunté par les paquets entre son point de départ et son point d'arrivée. Cette commande permet également la configuration de pc, de switchs de routeurs.
Il existe 2 types de routages:
- le routage statique
- le routage dynamique.
Le routage statique consiste à imposer aux paquets la route à suivre.
Le routage dynamique met en œuvre des algorithmes, qui permettent aux routeurs d'ajuster les tables de routage en fonction de leur connaissance de la topologie du réseau. Cette actualisation est réalisée par la réception des messages reçus des nœuds (routeurs) adjacents.
Le routage dynamique permet d'avoir des routes relativement toujours optimisée, en fonction de l'état du réseau (nouveaux routeurs, engorgements, pannes…)
On combine en général le routage statique sur les réseaux locaux au routage dynamique sur les réseaux importants ou étendus.
Un administrateur qui dispose par exemple de 2 routeurs sur un réseau, peut équilibrer la charge en répartissant un partie du flux sur un port avec une route, et une autre partie sur le deuxième routeur.

Exemple de table de routage:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 2 eth0
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
default 192.168.1.9 0.0.0.0 UG 0 0 10 eth0

Commentaire généraux:
Destination Adresse de destination de la route
Gateway Adresse ip de la passerelle pour atteindre la route, * sinon
Genmask Masque à utiliser.
Flags Indicateur d'état (U - Up, H - Host - G - Gateway, D - Dynamic, M - Modified)
Metric Coût métric de la route (0 par défaut)
Ref Nombre de routes qui dépendent de celle-ci
Use Nombre d'utilisation dans la table de routage
Iface Interface eth0, eth1, lo…

Commentaire sur la 3 ème ligne:
Cette ligne signifie que pour atteindre tous les réseaux inconnus, la route par défaut porte l'adress 192.168.1.9. C'est la passerelle par défaut, d'où le sigle UG, G pour gateway.

Ajout ou suppression d'une route:
route add [net | host] addr [gw passerelle] [métric coût] [ netmask masque] [dev interface]
- net ou host indique l'adresse de réseau ou de l'hôte pour lequel on établit une route,
- adresse de destination,
- adresse de la passerelle,
- valeur métrique de la route,
- masque de la route à ajouter,
- interface réseau à qui on associe la route.

                Exemples:
                route add 127.0.0.1 lo /* ajoute une route pour l'adresse 127.0.0.1 sur l'interface lo */
                route add -net 192.168.2.0 eth0 /* ajoute une route pour le réseau 192.168.2.0 sur l'interface eth0 */
                route add saturne.toutbet.edu /* ajoute une route pour la machine machin sur l'interface eth0 */
                route add default gw ariane /* ajoute ariane comme route par défaut pour la machine locale */
                /* ariane est le nom d'hôte d'un routeur ou d'une passerelle */
                /* gw est un mot réservé */
                route add duschmoll netmask 255.255.255.192
                /* Encore un qui a créé des sous réseaux., Il s'agit ici d'une classe c */
                /* avec 2 sous réseaux, il faut indiquer le masque. */

                Suppression d'une route:
               
Route del -net 192.168.1.0
                Route del -net toutbet-net
                Attention: si on utilise des noms de réseau ou des noms d'hôtes, il faut qu'à ces noms soient associés les                adresses de réseau ou des adresses ip dans le fichier /etc/networks pour les réseaux, et /etc/hosts ou DNS    pour les noms d'hôtes.
               
Vous pouvez également voir l'atelier sur la mise en place d'un routeur logiciel.

IPCONFIG : Vérification de la config. de sa machine.

/all          donne la configuration de la machine.

/renew    permet d'obtenir des options de mise à jour et une durée de bail

/release libère un bail

TRACEROUTE : Commande Unix qui trace la route pour aller à une adresse (IP ou url) donnée.

                Il est important de connaître la topologie du réseau cible.

                Pour cela, la commande Unix Traceroute permet de savoir quel est le "chemin" une  station.

                exemple :

               

                Voici le résultat de la commande traceroute www.nat.fr, tapée depuis ma machine.
                traceroute to sancy.nat.fr (212.208.83.2), 30 hops max, 40 byte packets
                1 195.5.203.9 (195.5.203.9) 1.363 ms 1.259 ms 1.270 ms
                2 194.79.184.33 (194.79.184.33) 25.078 ms 25.120 ms 25.085 ms
                3 194.79.128.21 (194.79.128.21) 88.915 ms 101.191 ms 88.571 ms
                4 cisco-eth0.frontal-gw.internext.fr (194.79.190.126) 124.796 ms 98.482 ms 98.961 ms
                5 sfinx-paris.remote-gw.internext.fr (194.79.190.250) 100.180 ms 93.482 ms 134.686 ms
                6 internetway.gix-paris.ft.NET (194.68.129.236) 98.471 ms 129.621 ms 99.433 ms
                7 513.HSSI0-513.BACK1.PAR1.inetway.NET (194.98.1.214) 137.196 ms 113.508 ms 117.050 ms
                8 602.HSSI6-602.BACK1.NAN1.inetway.NET (194.98.1.194) 101.129 ms 106.520 ms 107.828 ms
                9 FE6-0.BORD1.NAN1.inetway.NET (194.53.76.228) 105.110 ms 132.936 ms 108.04 6 ms
                10 194.98.81.21 (194.98.81.21) 175.933 ms 152.779 ms 128.618 ms
                11 sancy.nat.fr (212.208.83.2) 211.387 ms 162.559 ms 151.385 ms

                Explications:
               
Ligne 0 le programme signale qu'il n'affichera que les 30 premiers sauts, et que la machine www du               domaine nat.fr, porte le nom effectif de "sancy", dans la base d'annuaire du DNS du domaine nat.fr. Cette             machine porte l'adresse IP 212.208.83.2. Pour chaque tronçon, on a également le temps maximum, moyen     et minimum de parcours du tronçon.
                Ensuite, on a pour chaque ligne, l'adresse du routeur que le paquet a traversé pour passer sur le réseau      suivant.
                Ligne 4 et 5, le paquet à traversé 2 routeurs sur le même réseau 194.79.190.
                Ligne 4, 5, 6, 7, 8, 9, 11, on voit que les routeurs ont un enregistrement de type A dans les serveurs de         noms, puisqu'on voit les noms affichés.

                Conclusion: Depuis ma machine, chaque requête HTTP passe par 11 routeurs pour accéder au serveur       www.nat.fr.
                L'accès sur cet exemple est réalisé sur internet. Un administrateur, responsable d'un réseau d'entreprise sur                lequel il y a de nombreux routeurs, peut, avec cet outil, diagnostiquer les routes et temps de routage. Il peut         ainsi optimiser les trajets et temps de réponses.

                Contrairement à ce que l'on croit, la commande traceroute n'est pas disponible uniquement sur système      UNIX puisqu'on la retrouve sous Windows 95 et Windows NT sous le menu :

               

                démarrer/programme/Commandes MSDOS pour activer la commande tracert.

TRACERT : Trace la route pour aller à une adresse IP donnée.

                Tracert @IP vérifie la route empruntée par un paquet.

 



                Exemple :

                tracert www.yahoo.com

                provoque la sortie suivante
               

                Tracing route to www2.yahoo.com [204.71.177.67]

                over a maximum of 30 hops:

                  1   128 ms   123 ms   118 ms  matrixmax1.imaginet.fr [194.51.82.246]

                  2   124 ms   122 ms   125 ms  Eth1/1.imaginet.fr [194.51.82.241]

                  3   127 ms   126 ms   150 ms  CSI-2-backbone.rain.fr [194.51.2.69]

                  4   130 ms   138 ms   184 ms  rbs2.rain.fr [194.51.2.217]

                  5   152 ms   161 ms   165 ms  rbs.rain.fr [194.51.0.158]

                  6   262 ms   222 ms   207 ms  Washington.eurogate.net [194.206.207.62]

                  7   237 ms   276 ms   210 ms  gip-sl-dc-fddi.gip.net [204.59.144.198]

                  8   321 ms   286 ms   316 ms  sl-bb7-stk-1-0-0-T3.sprintlink.net [144.228.10.105]

                  9   308 ms   304 ms   305 ms  sl-bb11-stk-2-2.sprintlink.net [144.232.4.25]

                 10  308 ms   300 ms   308 ms  sl-gw11-stk-5-0-0-155M.sprintlink.net [144.232.4.85]

                 11   319 ms   332 ms   313 ms  isi-border2-hssi4-0--T3.sprintlink.net [144.228.147.10]

                 12   340 ms   316 ms   336 ms  fe0-0.cr2.SNV.globalcenter.net [206.251.5.1]

                 13   498 ms   313 ms   306 ms  pos6-0.cr1.NUQ.globalcenter.net [206.251.0.29]

                 14   304 ms   302 ms     *     www2.yahoo.com [204.71.177.67]

                 15   311 ms   295 ms   297 ms  www2.yahoo.com [204.71.177.67]

                Trace complète.

                On le voit, la commande tracert est particulièrement utile pour comprendre quel est le serveur qui est           indisponible en cas d'échec de connexion. Il est néanmoins intéressant de comprendre le chemin qui est         utiliser entre votre point de connexion et le serveur contacté.

               

HOST / NSLOOKUP / WHOIS

                Bien que basés sur des principes différents, ces  utilitaires permettent généralement de parvenir au              même résultat (de même que DIG, pour mémoire), à savoir obtenir des informations complémentaires sur                 un serveur, soit à partir d'un nom de domaine, soit à partir d'une adresse IP.

HOST

                L'utilitaire host est spécifique à Unix  et produit le même effet qu'un interrogation nslookup standard. La     seule vraie différence est que host est plus complet. Notez aussi que divers utilitaires non Unix exécutent                aussi des tâche semblable.

                Cette utilitaire se classe parmi les dix commandes les plus dangereuses et menaçantes dans sa catégorie.

               

                $host 194.149.167.158
     
158.167.149.194.IN-ADDR.ARPA domain name pointer ppp31-nantes.isdnet.net

                Avec : host -l -v -t any machine on obtient le système d'exploitation ce qui peut être très utile lorsque l'on connaît les failles de celui-ci.

Nota :Cette commande se classe parmi les dix commandes les plus dangereuses de sa catégorie.

                              

     

NSLOOKUP : Dépannage de serveurs DNS.

Principal outil de dépannage pour DNS. Mode Interactif et non-interactif.

NOM                                     : imprimer des informations sur l'hôte ou le domaine NOM en utilisant le  serveur par défaut

NOM1 NOM2                      : idem ci-dessus, mais avec le serveur NOM2

help ou ?                               : imprimer des informations sur les commandes usuelles

set OPTION                         : définir une option

all                                           : imprimer les options, le serveur actuel, ainsi que l'hôte

[no]debug                            : imprimer les informations de déboggage

[no]d2                                   : imprimer exhaustivement toutes les informations de déboggage

[no]defname                         : rajouter le nom de domaine à chaque requête

[no]recurse                           : réclamer une réponse récursive à la requête

[no]search                            : utiliser la liste de recherche de domaine

[no]vc                                   : utiliser toujours un circuit virtuel

domain=NOM                      : définir NOM comme domaine par défaut

srchlist=N1[/N2/.../N6]       : définir N1 comme domaine et recherche dans la liste N1,N2, etc.

root=NOM                           : définir NOM comme serveur racine

retry=X définir X                : comme nombre de réessais

timeout=X                            : définir le délai d'attente initial à X secondes

querytype=X                       : définir le type de requête, par exemple, A,ANY,CNAME,MX,NS,PTR,SOA

type=X                                  : synonyme de querytype

class=X                                 : définir la classe de requête parmi IN (Internet), CHAOS, HESIOD ou ANY server

NOM                                     :définir NOM comme serveur par défaut, en utilisant le serveur par défaut en cours

lserver NOM                        :définir NOM comme serveur par défaut, en utilisant le serveur initial

finger [UTILISATEUR]      :affiche les informations sur l'UTILISATEUR optionnel, sur l'hôte en cours par défaut

root                                        : définir la racine comme serveur par défaut

ls [opt] Domaine [> Fichier] : liste les adresses dans DOMAINE (optionnel: sortie vers FICHIER)

-a                                            : liste les noms canoniques et les alias

-d                                           : liste tous les enregistrements

-t TYPE                                  : liste les enregistrements d'un type donné (par ex. A,CNAME,MX,NS,PTR etc.)

view FICHIER                      : trie un fichier de résultats 'ls' et l'affiche avec pg

exit                                         : quitter le programme

  

NSLOOKUP permet de tester un serveur DNS.

Si un serveur DNS fait appel à WINS, il ne garde l'info dans son cache que 10 minutes.

                Connaître l'@IP d'une station avec nslookup

                Exemple :

                conan /export/conan/home/promo98/dev/securite :nslookup

                Using /etc/hosts on:  conan

                > www.supaero.fr

                Using /etc/hosts on:  conan

                Name:    iris.supaero.fr

                Address:  134.212.188.2

                On peut aussi connaître d'autres machines de son réseau local

                Toujours avec nslookup

                Exemple :

                conan /export/conan/home/promo98/dev/securite :nslookup

                Using /etc/hosts on:  conan

                > 134.212.188.1

                Using /etc/hosts on:  conan

                Name:    naurouze.cert.fr

                Address:  134.212.188.1

                => on apprend que le www de sup-aero est sur le même réseau local que la machine naurouze.cert.fr du       CERT (ils ont la même politique de sécurité). 

WHOIS

             

 

   A l'origine WHOIS est une base de données installée au NIC (Network Information Center). La commande               whois vous permettra de contacter la base de données de tous les domaines pour tous les utilisateurs              connus.

Cette base de données contient les informations suivantes :

- Les noms d'hôte des domaines

                               - Noms des propriétaires de domaine

                               - Le contact technique pour chaque domaine

                               - Les adresse de serveurs de noms pour chaque domaine.

                Une requête whois peur être conduite de deux façons :

                               - A partir d'une ligne de commande sous UNIX

- A partir d'une passerelle whois, qui est une page Web offrant une interface frontale HTML pour les requêtes whois basées sur un formulaire.

Les informations recherchées sont le nom et l'adresse du contact technique. Elles peuvent sembler inoffensives, mais ce n'est pas le cas. Comme vous le constaterez bientôt, l'adresse e-mail du contact technique peut s'avérer précieuse. De plus, avec les requêtes whois, nslookup et host, vous pouvez déterminer la source de la connectivité de la cible.

                Il est d'ordinaire utilisé pour connaître le point de contact d'un site.

                Attention, il n'y a pas une mais des bases Whois. C'est un joyeux bordel vaguement organisé par régions.

                Principaux serveurs whois :

                La commande Unix whois se connecte sur whois.networksolutions.com par défaut. L'option -h permet         d'interroger une autre machine (whois.arin.net, whois.ripe.net, whois.nic.ad.jp, etc.) ; certaines versions              sont plus malines et devinent avec plus ou moins de bonheur où elles doivent pécher leurs infos.
 

                Parmi les bases whois intéressantes, voir whois.geektools.com

                D'après IANA, le premier octet de l'adresse IP pour les classes C détermine désormais la région qui gère la                 zone :

                                " 194-195/8       RIPE NCC - Europe                                May 93

                                " 196-197/8       Internic - Others                                                     May 93

                                " 198-199/8       Internic - North America                                       May 93

                                " 200-201/8       Internic - Central and South America  May 93

                                " 202-203/8       APNIC - Pacific Rim                                               May 93

                                " 204-205/8       Internic - North America                                       Mar 94

                                " 206/8           Internic - North America                                          Apr 95

                                " 207/8           Internic - North America                                          Nov 95

                                " 208/8           Internic - North America                                          Apr 96

                                " 209/8           Internic - North America                                          Jun 96

                                " 210/8           APNIC - Pacific Rim                                  Jun 96

                                " 211/8           APNIC - Pacific Rim                                  Jun 96

               

                Exemple :

                WHOIS cyberpromo.com

                Cyber Promotions, Inc (CYBERPROMO-DOM)

                8001 Castor Avenue  Suite #127

                Philadelphia, PA 19152

                US

                Domain Name: CYBERPROMO.COM

                Administrative Contact, Technical Contact, Zone Contact:

                Wallace, Sanford  (SW1708)  domreg@CYBERPROMO.COM

                215-628-9780

                Billing Contact:

                Wallace, Sanford  (SW1708)  domreg@CYBERPROMO.COM

                215-628-9780

                Record last updated on 24-Jan-97.

                Record created on 26-Apr-96.

                Database last updated on 19-Jul-97 04:32:04 EDT.

                Domain servers in listed order:

                NS7.CYBERPROMO.COM                               205.199.2.250

                NS5.CYBERPROMO.COM                               205.199.212.50

                NS8.CYBERPROMO.COM                               207.124.161.65

                NS9.CYBERPROMO.COM                               207.124.161.50

                Pour voir si un utilisateur est enregistré sur une machine utilisez la commande avec un caractère * ou le      caractère % si vous désirez juste voir les utilisateurs enregistrés.

                % whois brendan

                Kehoe, Brendan (BK59)           brendan@cs.widener.edu

                   Widener University

                   Department of Computer Science

                   Kirkbride 219

                   P.O. Box 83 Widener University

                   Chester, PA 19013

                   (215)/499-4011

                Record last updated on 02-May-91.

                Évidemment, ça dit juste que l'adresse en question est quelque part au milieu d'un gros bloc appartenant à                 un fournisseur d'accès.

               

                $ whois 209.207.150.3
           
digitalNation Internet Services (NETBLK-DN-CIDR2)
           
5515 Cherokee Ave
           
Alexandria, VA 22312

           
Netname: DN-CIDR2
           
Netblock: 209.207.128.0 - 209.207.255.255
           
Maintainer: DNIS
           
etc.

               

                A voir  :

                WINWHOIS

RUP / RUPTIME : Affiche l'état des machines du réseau local

Le fonctionnement de ces deux commandes est différent, rup fonctionne par des appels de procédures à distance via le daemon RPC « rstatd », et ruptime dépend du serveur « rwhod ».

Syntaxe

:

rup [-h] [-l] [-t] [hostname]...

ruptime [-a] [-I] [-t] [-u] [-r]

Options

:

-h

Tri par nom de machine

-l

Tri par taux d'occupation

-t

Tri par temps de fonctionnement

-a

Affiche aussi les machines invisibles depuis plus d'une heure

-u

Tri par nombre d'utilisateurs connectés

-r

Inverse l'ordre de tri

Exemple

:

rup

20.62.78.14  up  10 days,   1:16,  load average: 0.00 0.00 0.01

20.62.80.16  up   7 days,   6:29,  load average: 0.00 0.01 0.02

20.62.80.19  up   6 days,   3:25,  load average: 0.05 0.04 0.03

Résultat

:

Le premier champ est le nom de la machine, suivi de l'état et du temps de fonctionnement exprimé en jours, heures et minutes. Les champs suivants indiquent les taux de charge de la machine et en plus pour ruptime le nombre d'utilisateurs.

RUSER et RWHO : Affiche des informations sur les utilisateurs connectés et sur les machines du réseau local .

Le fonctionnement de ces deux commandes est différent, rusers fonctionne par des appels de procédures à distance, et rwho dépend du serveur "whod".

Syntaxe

:

rusers [-a] [-h] [-i] [-l] [-u] [hostname]
rwho [-a]

Options

:

 

-a

affiche aussi les machines sans utilisateur connecté

 

-h

tri par nom de machine

-i

tri par temps d'inactivité

-l

affichage long à raison d'une ligne par utilisateur

-u

tri par nombre d'utilisateur

 

SPRAY : Test de la bande passante entre deux machines via des appels de procédure à distance

 

Syntaxe

:

spray hostname [-c compt ] [-d delai ] [-i delai ] [-l long]

·       Options

:

 

 

compt

Nombre de RPC à envoyer, 100 000 octets par défaut

 

délai

Délai d'attente en millisecondes entre les envois, 0 par défaut

 

long

Taille dans le paquet Ethernet qui doit être occupée par le RPC. Cette taille doit être multiple de 4 et la taille maximale est de 1514, par défaut 86 octets

TELNET :

                               Sécuriser Telnet

On doit empêcher que root puisse accéder au système via telnet, ça force les utilisateurs à se loguer sur leur compte habituel puis de faire un su s'ils veulent devenir root. Pour cela le fichier /etc/securetty doit contenir uniquement des terminaux locaux (du style ttyX) et aucunement des pseudos terminaux (du style ttypX) qui permettent à un utilisateur distant de se loguer à distance en tant que root. Voici un exemple de /etc/securetty :

tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8

Maintenant quand vous vous connectez avec, vous avez toujours un petit commentaire qui s'affiche, du style "bienvenu sur la machine untel", vous pouvez modifier cela en mettant le commentaire souhaité dans le fichier /etc/issue.
Attention sous une Mandrake, le fichier /etc/issue est régénéré à chaque boot, pour éviter cela, modifiez la ligne qui va bien dans /etc/rc.d/rc.local.

                               Si vous décidez d'employer la solution telnet, vérifier les points suivant:

- Limiter le nombre d'utilisateur ayant des accès distant au strict minimum

- Pour les utilisateurs ayant un accès distant prévoyez des interpréteurs de commandes restreint (smrsh par exemple).

- Vérifier votre politique de mot de passe (complexité des mots de passe, changement fréquent, ...)

- Consulter le paramétrage des fichier inetd.conf, hosts.allow, hosts.deny, shells, issue et issue.net

- Mettez en place des systèmes de détection d'intrusion (fichiers de logs)

- Mettez en place des accès restreint par IP grâce à TCP_WRAPPER

 

En terme de sécurité vous ne devriez pas utiliser ce système pour les accès distant. Privilégiez plutôt la solution SSH/SSF (ssf est la version francisé de ssh).

FTP (file transfert protocole) : RFC959
      

 

                         Il existe quelques bonnes raisons de proposer le service FTP anonyme.

Bien que ce service ne présente pas de risques majeurs pour la sécurité, vous devez être informé de certains problèmes. Ceci concernent principalement l'interaction de FTP avec d'autre programmes ou serveurs :

Par exemple :

Autoriser à la foi le service FTP anonyme et le serveur Web peut permettre à un intrus de placer un fichier dans la zone FTP et d'en provoquer l'exécution par le serveur HTTP.

Un service FTP anonyme avec un répertoire accessible en écriture expose la machine aux attaques par "rebond".

Cette technique consiste, pour le cracker, à utiliser un serveur FTP pour obtenir un accès sur un autre serveur FTP lui ayant refusé une connexion. Le scénario typique met en jeu une machine configurée pour refuser des connexions provenant d'un certain masque d'adress IP. Comme l'adresse du cracker est comprise dans ce masque, les répertoires FTP lui sont inaccessibles. Il doit donc essayer d'utiliser une autre machine comme intermédiaire pour atteindre sa cible. Pour cela, il place dans le répertoire FTP de la machine intermédiaire un fichier qui contient des commandes demandant une connexion sur la cible et la récupération d'un fichier quelconque. Lorsque la machine intermédiaire se connecte à la cible, elle utilise sa propre adresse et non celle du cracker. Ainsi, la cible accepte la connexion et transmet le fichier demandé.

                              

FTP occasionne d'autre problème , parfois plus subtil. Par exemple, dans wu-ftpd 2.4.2-beta-13 la valeur par défaut de umask est 002, autorisant n'importe qui à créer des fichiers. Cela peut provoquer de sérieuses brèches dans la sécurité. Pire encore, cette faille persiste même si vous modifiez manuellement la valeur de umask. En règle générale, vous devez le faire dans le fichier inetd.conf.

 

Certaines version de FTP présentent des bogues ou des erreurs de configuration. Si vous utilisez une version du démon wu_ftpd antérieure à avril 1993, vous devez la mettre à jour immédiatement. N'importe qui peut accéder à distance ou localement à tout compte, y compris celui de root, sur une machine hôte exécutant une de ces versions.

 

Le 04 Janvier 1997, un bogue a été découvert dans la version 2.4. le problème est critique, car cette version est très répendu. Si vous l'utilisez procurez –vous immédiatement le correctif.

 

R echerchez sur votre serveur le bogue de SITE EXEC :

Les premières version de FTP autorisent les utilisateurs distant à obtenir l'accès à un environnement shell à partir d'une session telnet sur le port 21. pour vérifier l'existence de cette faille, initiez une session telnet sur ce port et lancez la commande SITE EXEC. Si vous obtenez un environnement shell, c'est qu'il y a un problème. Dans ce cas, est désactiver sur le serveur la commande SITE EXEC.

 

Le répertoire HOME de votre serveur FTP ne doit pas être accessible en écriture. La méthode la plus facile et la plus fiable pour y parvenir est de définir correctement les permissions (propriétés chmod 555 et root)

 

Interdisez toutes les connexions FTP établies avec les identifiant système : root, bin, uucp, et nobody..

 

 

EX d'intrusion :

ftp open victim.com
Connected to victim.com
220 victim.com FTP server ready.
ftp quote user ftp
331 Guest login ok, send ident as password.
ftp quote cwd ~root
530 Please login with USER and PASS.
ftp quote pass ftp
230 Guest login ok, access restrictions apply.

 

 

1.1.1.1.1.1.1. Sécuriser FTP

 

Si vous voulez activer FTP, vous pouvez le faire en dé-commentant la ligne le concernant dans /etc/inetd.conf, on va faire cependant en sorte que le système logue tout ce qui concerne FTP. La ligne dans /etc/inetd.conf est:

 

ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.ftpd -l  -L -i -o

avec:
-l chaque session FTP est loguée
-L toutes les commandes utilisateurs sont loguées
-i chaque fichier récupéré est logué
-o chaque fichier envoyé est logué

 

Maintenant vous allez créer un fichier /etc/ftpusers qui va contenir la liste des utilisateurs qui n'ont pas le droit d'ouvrir une session FTP sur votre système, dans ce fichier vous devrez y mettre tous les utilisateurs systèmes, voici un exemple de /etc/ftpusers:

#Ce fichier devrais contenir au minimum les user suivant
               root

bin

daemon

adm

lp

mail

news

nobody

http

uucp

ingres et tous les comptes système existant.

 

 

Pensez aussi à :

 

- Contrôler la configuration par défaut du service (répertoire d'accès par défaut, compte système ...)

- Assurez vous que la commande SITE EXEC est désactiver sur le serveur

- Vérifier l'existence du fichier /etc/ftpusers qui indique quel utilisateurs ne peuvent pas se connecter en ftp. Ce fichier devrais contenir au minimum les user suivant: root, bin, lp, http, uucp, ingres, news, nobody et tous les comptes système existant.

- Le service ftp est configuré par défaut pour accepter les connections anonymes (connection anonymous) désactiver cette fonctionnalité si elle ne vous sert pas

- Dans le fichier de configuration vérifier que les paramètres suivant sont configuré et interdits pour les utilisateurs non authentifié: droits en écriture, effacement, commandes chmod et umask

- Vérifier qu'aucun interpréteur de commande est disponible pour l'utilisateur anonymous

- Vérifier que le mot de passe de du compte ftp (ou ftpd) est non valide

- Vérifier que l'interpréteur de commande du compte ftp (ou ftpd) est non valide (par exemple /bin/false et non /bin/sh)

- Vérifier qu'il n'y a aucun fichier système valide dans le répertoire /ftp/etc tel que des fichiers passwd ou group

- Interdisez l'écriture dans la racine du utilisateur ftp anonyme

- Interdisez les fichiers avec des droits exécutables dans les répertoires en accès anonyme

- Interdisez les droits en écriture ou création au compte anonyme (sauf cas exceptionnel et limité)

- Si il existe des répertoires en écriture pour le compte anonyme interdisez la lecture dans ce répertoire

- Pour éviter les risques d'abus mettez les répertoires en écriture sur une partition distincte ou instaurez des quota

- Vérifier l'existence d'un alias mail 'ftp'

 

 

TFTP (Trivial File Transfer Protocol):

Le petit frère de FTP!!! Son port est le 69a

TFTP est un service FTP simplifié, il est utilisé notamment pour le boot des terminaux X. Il ne demande aucune authentification, n'importe qui peut se connecter et lire ce qu'il veut.


TFTP peut présenter des brèches assez grandes pour faire passer un TGV... :))
essayez donc la séquence de commandes suivantes :
 

evil %tftp
tftpconnect la_machine
tftpget /etc/passwd
tftpquit

                               Le meilleur conseil concernant TFTPD est de le désactiver dans inetd.conf

 

 

- Rcommandes :

Attention à ses outils, ils utilisent un système d'authentification relativement rudimentaire et sont connues pour constituer une faille de sécurité. Qui plus est avec ces outils on peut mettre en place des relations de "confiance" entre les machines, c'est à dire qu'on pourra accéder à une machine en utilisant les r-outils sans avoir à entrer de mot de passe, par conséquent si un système est hacké, cela signifie que tous les autres tomberont aussi. Sachez aussi que les r-outils ne disposent pour la plupart d'aucun mécanisme de loging, donc aucun moyen d'avoir l'historique de leur utilisateur. Les fichiers permettant d'établir les relations de confiance sont .rhosts ou /etc/hosts.equiv.

Les outils r principaux sont:

- rsh ouvre un shell à distance (pour lancer une commande par exemple), si vous voulez un outil équivalent sécurisé, tournez vous vers SSH.

- rlogin, équivalent à telnet, si un utilisateur place un fichier .rhosts dans son homedirectory contenant barzy, n'importe qui sur la machine barzy pourra se connecter sur son compte sans avoir à donner de mot de passe. Si vous possédez un /etc/hosts.equiv contenant un +, n'importe qui aura accès à votre machine.

Pour ce déconnecter, utilisez la commande logout.

- rexecd, c'est le serveur pour accepter des requêtes de rexec, permet de lancer des commandes à distance. Le serveur ne logue aucun échec de connexion, par conséquent vous pouvez essayer une tonne de mot de passe sans que l'administrateur de la machine visée sans rende compte.

 

Par exemple, certaines distributions de linux présentent une sérieuse vulnérabilité du service rlogin, autorisant à la fois les utilisateurs locaux et distants à bénéficier d'un accès privilégié :

                                              

Ex :

Sur les versions d'AIX touché, n'importe quel utilisateur distant peut lancer la commande suivante :

                                                               rlogin AIX.cible.com –l –froot

                                               et obtenir immédiatement un accès root.

                              

Il est recommandé de désactiver les rcommandes et de les remplacer par Secure Shell (SSH).