Transparents du cours (format PDF)
Transcription
Transparents du cours (format PDF)
Administration système UNIX T HIERRY B ESANÇON – P HILIPPE W EILL 2007 – 2008 / version 10.0 Partie 3 – Volume 1 / 3 Université Pierre et Marie Curie Formation Permanente 4, place Jussieu 75252 Paris Cedex 05 web : http://www.fp.upmc.fr Les animateurs de ce cours peuvent être joints aux adresses suivantes : [email protected] [email protected] Ce cours est disponible au format PDF sur le web à l’URL : http://www.formation.jussieu.fr/ars/2007-2008/UNIX/cours/ Si vous améliorez ce cours, merci de m’envoyez vos modifications ! :-) Des énoncés de TP et leurs corrigés sont disponibles sur le web à l’URL : http://www.formation.jussieu.fr/ars/2007-2008/UNIX/tp/ Copyright (c) 1997-2008 by [email protected] This material may be distributed only subject to the terms and conditions set forth in the Open Publication Licence, v1.0 or later (the latest version is available at http://www.opencontent.org/openpub/). "...the number of UNIX installations has grown to 10, with more expected..." - Dennis Ritchie and Ken Thompson, June 1972 1 Technologie Ethernet (IEEE 802.3x) Chapitre 1 Technologie Ethernet (IEEE 802.3x) c T.Besançon (version 10.0) Notes de la page 2 : Administration Unix ARS 2007–2008 Tôme 3 2 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.1 Principe du CSMA/CD Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.1 • Principe du CSMA/CD Le principe d’Ethernet : Carrier Sence Multiple Access / Collision Detect (CSMA/CD) 2 cas de figure : 1 Emission dans le cas du câble libre 2 Collision lorsque deux stations émettent simultanément c T.Besançon (version 10.0) Notes de la page 3 : Administration Unix ARS 2007–2008 Tôme 3 3 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.1 Principe du CSMA/CD Emission dans le cas du câble libre c T.Besançon (version 10.0) Notes de la page 4 : Administration Unix ARS 2007–2008 Tôme 3 4 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.1 Principe du CSMA/CD Collision lorsque deux stations émettent simultanément c T.Besançon (version 10.0) Notes de la page 5 : Administration Unix ARS 2007–2008 Tôme 3 5 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.2 Format d’une adresse Ethernet Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.2 • Format d’une adresse Ethernet Format d’une adresse Ethernet : 6 octets écrits sous la forme hexadécimale « xx:yy:zz:rr:ss:tt » avec : partie « xx:yy:zz » : elle identifie un constructeur partie « rr:ss:tt » : elle identifie un appareil chez le constructeur Liste des constructeurs : liste des OUI (Organizationally Unique Identifiers) : http://standards.ieee.org/regauth/oui/ Il existe une adresse de broadcast Ethernet : « ff:ff:ff:ff:ff:ff » Toutes les machines du segment Ethernet sont censées écouter le paquet. c T.Besançon (version 10.0) Notes de la page 6 : Administration Unix ARS 2007–2008 Tôme 3 6 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.3 Format d’une trame Ethernet Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.3 • Format d’une trame Ethernet Trame Ethernet == Paquet Ethernet 62 bits Taille de la trame : 18 octets d’entête + au maximum 1500 octets de données = 1518 octets Série alternée de 0 et de 1 2 bits Série de 2 bits à 1 6 bytes Adresse de destination 6 bytes Adresse de l’émetteur 2 bytes Longueur du paquet (standard 802.3) Type du paquet (standard Ethernet) La capacité de 1500 octets est appelée MTU (Maximum Transmission Unit). de 46 bytes à Données 1500 bytes 4 bytes Frame Check Sequence c T.Besançon (version 10.0) Notes de la page 7 : Il existe des Jumbo frames : trame de 9000 octets de données. Souvent non supporté par les équipements réseau. A éviter. Administration Unix ARS 2007–2008 Tôme 3 7 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.4 Address Resolution Protocol (ARP) Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.4 • Address Resolution Protocol (ARP) RFC 826 Le protocole ARP apporte la réponse à « comment dialoguer avec une autre machine IP du même brin Ethernet sans connaitre au préalable son adresse Ethernet ». Synthétiquement le protocole fonctionne ainsi : Je suis la machine d’adresse IP IP1 et d’adresse Ethernet MAC1. Ecoutez moi tous sur le brin Ethernet. Je veux dialoguer avec la machine d’adresse IP IP2. Que la machine avec cette adresse IP me communique son adresse Ethernet MAC2. J’ai bien entendu. Je suis la machine avec IP2. Voici mon adresse Ethernet MAC2. Les autres machines en profitent pour noter la réponse. c T.Besançon (version 10.0) Notes de la page 8 : Administration Unix ARS 2007–2008 Tôme 3 8 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.5 Table ARP : commande arp, /proc/net/arp Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.5 • Table ARP : commande arp, /proc/net/arp Syntaxe : « arp -a » ou « arp -an » Exemple : % arp -a Net to Media Table: IPv4 Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------eri0 solaris.example.org 255.255.255.255 SP 00:03:ba:0f:15:35 c T.Besançon (version 10.0) Notes de la page 9 : Administration Unix ARS 2007–2008 Tôme 3 9 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.5 Table ARP : commande arp, /proc/net/arp Autre façon d’obtenir la table ARP d’une machine LINUX : % cat /proc/net/arp IP address HW type 134.157.46.254 0x1 192.168.4.18 0x1 c T.Besançon (version 10.0) Notes de la page 10 : Flags 0x2 0x2 HW address 00:02:7E:21:F7:9C 00:48:54:6B:E5:B0 Administration Unix Mask * * ARS 2007–2008 Tôme 3 Device eth0 eth3 10 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.6 Réglages ARP : commande arp Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.6 • Réglages ARP : commande arp Syntaxes de la commande « arp » : 1 « arp -a » pour lister les adresses MAC connues 2 « arp -d hostname » pour effacer une adresse MAC du cache ARP 3 « arp -s hostname adresse-ethernet » pour mettre en cache une adresse MAC Pourquoi les options 2 et 3 ? c T.Besançon (version 10.0) Notes de la page 11 : Administration Unix ARS 2007–2008 Tôme 3 11 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.6 Réglages ARP : commande arp Exemple : configuration initiale d’un boitier ethernet / parallèle (ou USB) pour une imprimante : On connait l’adresse MAC du boitier (par exemple impression sur l’imprimante moyennant une combinaison de touche) ; par exemple « 11:22:33:44:55:66 » On associe alors cette adresse MAC à une adresse IP sur la machine où l’on se trouve : « arp -s 192.168.1.1 11:22:33:44:55:66 » On peut alors se connecter en IP pour finir de configurer le boitier c T.Besançon (version 10.0) Notes de la page 12 : Administration Unix ARS 2007–2008 Tôme 3 12 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.7 Surveillance ARP : commande arpwatch Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.7 • Surveillance ARP : commande arpwatch http://www.arpwatch.org ARPWATCH surveille les échanges du protocole ARP et stocke les adresses échangées. A completer... Attention : forte utilisation des switches désormais ⇒ difficile d’écouter les paquets qui ne nous sont pas destinés c T.Besançon (version 10.0) Notes de la page 13 : Administration Unix ARS 2007–2008 Tôme 3 13 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.8 (Windows : : purge du cache ARP : netsh) Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.8 • (Windows : : purge du cache ARP : netsh) Une machine WINDOWS utilise un cache ARP comme n’importe quelle autre machine faisant de l’IP. On peut purger le cache ARP par la commande « netsh interface ip delete arpcache ». c T.Besançon (version 10.0) Notes de la page 14 : Administration Unix ARS 2007–2008 Tôme 3 14 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.9 Reverse Address Resolution Protocol (RARP) Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.9 • Reverse Address Resolution Protocol (RARP) (en anglais Reverse Address Resolution Protocol) Le protocole répond à « je suis la machine d’adresse Ethernet MAC1 ; qui peut me donner mon adresse IP ? ». Exemple de telles machines : stations UNIX sans disque (dite diskless) terminaux X, clients légers imprimantes réseau webcams réseau boitiers ethernet/USB ou ethernet/parallèle pour imprimante c T.Besançon (version 10.0) Notes de la page 15 : Administration Unix ARS 2007–2008 Tôme 3 15 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.10 RARP : rarpd Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.10 • RARP : rarpd Démon « rarpd » Il utilise le fichier « /etc/ethers » : 08:00:20:03:2f:15 08:00:20:04:03:b4 08:00:20:02:fc:d2 valerian.lpt.ens.fr bill.lpt.ens.fr chang.lpt.ens.fr Obsolète c T.Besançon (version 10.0) Notes de la page 16 : Administration Unix ARS 2007–2008 Tôme 3 16 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.11 RARP : BOOTP, bootpd Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.11 • RARP : BOOTP, bootpd Le protocole BOOTP est plus complet que RARPD. Il permet en plus de spécifier des paramètres de boot. Démon « bootpd » Le démon « bootpd » se lance : soit en mode autonome : % ps -ax | grep bootp 314 ?? Is 0:00.01 /usr/libexec/bootpd soit via « inetd » : bootps dgram udp wait c T.Besançon (version 10.0) Notes de la page 17 : root /usr/libexec/bootpd Administration Unix bootpd ARS 2007–2008 Tôme 3 17 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.11 RARP : BOOTP, bootpd Il faut renseigner le fichier « /etc/bootptab » (fichier par défaut mais c’est configurable à volonté) : fermion.lpt.ens.fr:\ :tc=.default:\ :ht=ethernet:\ :ha=0x008096023370:\ :ip=129.199.122.72:\ :hd=/hds/netOS/image:\ :bf=X.hds: Obsolète c T.Besançon (version 10.0) Notes de la page 18 : Administration Unix ARS 2007–2008 Tôme 3 18 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.12 • RARP : DHCP, dhcpd, dhcpd.conf, dhclient DHCP : Dynamic Host Configuration Protocol RFC 2131 et RFC 2132 « http://www.lip6.fr/pub/rfc/rfc/rfc2131.txt » « http://www.lip6.fr/pub/rfc/rfc/rfc2132.txt » Port TCP 67 (port d’écoute du serveur) Port TCP 68 (port de réponse du serveur) c T.Besançon (version 10.0) Notes de la page 19 : Administration Unix ARS 2007–2008 Tôme 3 19 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient On distingue : le serveur DHCP : à l’écoute sur ses interfaces réseau, il distribue par son autorité des adresses IP résidant dans des plages DHCP SERVER le DHCP relay agent : il sait router les paquets IP du protocole DHCP entre un client et un serveur le client DHCP : il utilise le protocole DHCP pour découvrir son adresse IP et d’autres paramètres réseau ou autres paramètres (dits DHCP options ; par exemple le serveur NTP) c T.Besançon (version 10.0) Notes de la page 20 : Administration Unix DHCP agent DHCP CLIENT ARS 2007–2008 Tôme 3 20 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Protocole DHCP Principe : CLIENT DHCP SERVEUR DHCP DHCPDISCOVER (broadcast) DHCPOFFER (unicast) DHCPREQUEST (broadcast) DHCPACK (unicast) c T.Besançon (version 10.0) Notes de la page 21 : Administration Unix ARS 2007–2008 Tôme 3 21 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Principe : 1 Une machine démarre dans l’état « INIT » 2 Elle cherche un serveur DHCP en envoyant un paquet « DHCPDISCOVER ». 3 Un ou plusieurs serveurs DHCP répondent par un paquet « DHCPOFFER » contenant une adresse IP et des options DHCP. 4 Le client sélectionne un serveur DHCP parmi ceux qui ont répondu. Par exemple, le premier. 5 Le client broadcaste un paquet « DHCPREQUEST » spécifiant l’adresse IP retenue. 6 Le serveur retenu répond au client en lui envoyant un paquet « DHCPACK ». 7 Après, le client posséde l’adresse IP pour un laps de temps appelé lease. c T.Besançon (version 10.0) Notes de la page 22 : Administration Unix ARS 2007–2008 Tôme 3 22 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Lorsqu’une machine qui a obtenu une adresse IP via DHCP reboote, elle ne recommence pas exactement les étapes ci-dessus. Elle commence dans l’état « INIT-REBOOT ». Elle envoie un paquet « DHCPREQUEST » reprenant l’adresse précédemment acquise. En cas de disponibilité de l’adresse, le serveur répond par « DHCPACK ». En cas de non disponibilité (par exemple, le portable a changé de réseau), un serveur DHCP répond par « DHCPNACK ». A ce moment-là, la machine reprend à l’étape 1 de ci-dessus. Mécanisme de détection de duplicate IP address : le serveur DHCP envoie un paquet « ICMP Echo » ; en cas de réponse, le serveur propose une autre adresse le client DHCP envoie un paquet « ARP » ; en cas de réponse, le client envoie un paquet « DHCPDECLINE » ; le serveur proposera alors une nouvelle adresse c T.Besançon (version 10.0) Notes de la page 23 : Administration Unix ARS 2007–2008 Tôme 3 23 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Faiblesses du protocole DHCP Denial of Service possible ; « DHCPDISCOVER » puis « DHCPNAK » jusqu’à épuisement des numéros libres sur le serveur DHCP par exemple single point of failure ; pas de mécanisme de serveur DHCP de secours pas d’authentification du client au serveur et vice-versa inadéquation de l’adresse MAC comme Client Identifier ; par exemple un portable et un dock, une carte PCMCIA réseau c T.Besançon (version 10.0) Notes de la page 24 : Administration Unix ARS 2007–2008 Tôme 3 24 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient ISC DHCP « http://www.isc.org/products/DHCP/ » « ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl1.tar.gz » Version 3 : supporte le Dynamic DNS Update, l’authentification DHCP Peut répondre à des requêtes BOOTP. Fichier de configuration : en général « /etc/dhcp.conf » En cas de modification au fichier de configuration, il faut arrêter le démon « dhcpd » et le relancer (par exemple « /etc/rc.d/dhcp restart »). Pas de « SIGHUP » pour le reconfigurer on the fly. c T.Besançon (version 10.0) Notes de la page 25 : Administration Unix ARS 2007–2008 Tôme 3 25 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Exemple de « /etc/dhcpd.conf » : ddns-update-style always-reply-rfc1048 none; on; option option option option option 192.168.1.1; "jardiniers.org"; 255.255.255.0; 192.168.1.255; 192.168.1.1; domain-name-servers domain-name subnet-mask broadcast-address log-servers subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.210; default-lease-time 120; max-lease-time 180; } host gutenberg { # Apple 12/640 hardware ethernet fixed-address } c T.Besançon (version 10.0) Notes de la page 26 : 08:00:07:24:46:59; 192.168.1.2; Administration Unix ARS 2007–2008 Tôme 3 26 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Le serveur écrit les leases sur disque : « /var/run/dhcpd.leases » ; ancienne base « dhcpd.leases~ » Exemple de « /var/run/dhcpd.leases » : # # # # # # # All times in this file are in UTC (GMT), not your local timezone. This i not a bug, so please don’t ask about it. There is no portable way to store leases in the local timezone, so please don’t request this as a feature. If this is inconvenient or confusing to you, we sincerely apologize. Seriously, though - don’t ask. The format of this file is documented in the dhcpd.leases(5) manual page. This lease file was written by isc-dhcp-V3.0.1rc6 lease 192.168.1.210 { starts 0 2002/09/08 22:57:10; ends 0 2002/09/08 22:59:10; binding state active; next binding state free; hardware ethernet 00:04:76:48:4f:65; } c T.Besançon (version 10.0) Notes de la page 27 : Administration Unix ARS 2007–2008 Tôme 3 27 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Sur Red Hat Linux, on peut dire à la machine de configurer son adresse réseau via DHCP au niveau de « /etc/sysconfig/network-scripts/ifcfg-eth0 » : DEVICE = eth0 IPADDR = 0.0.0.0 NETMASK = 255.255.255.0 NETWORK = BROADCAST = 0.0.0.255 GATEWAY = none ONBOOT = yes DYNAMIC = dhcp Une machine UNIX utilisant DHCP fait tourner « dhclient » c T.Besançon (version 10.0) Notes de la page 28 : Administration Unix ARS 2007–2008 Tôme 3 28 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Possibilité d’avoir une configuration du comportement DHCP du client au moyen du fichier « /etc/dhclient.conf ». Par exemple : timeout 60; retry 60; reboot 10; select-timeout 5; initial-interval 2; reject 192.33.137.209; interface "ep0" { send host-name "andare.fugue.com"; send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; send dhcp-lease-time 3600; supersede domain-name "fugue.com rc.vix.com home.vix.com"; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; ... c T.Besançon (version 10.0) Notes de la page 29 : Administration Unix ARS 2007–2008 Tôme 3 29 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Suite : ... require subnet-mask, domain-name-servers; script "/sbin/dhclient-script"; media "media 10baseT/UTP", "media 10base2/BNC"; } alias { interface "ep0"; fixed-address 192.5.5.213; option subnet-mask 255.255.255.255; } c T.Besançon (version 10.0) Notes de la page 30 : Administration Unix ARS 2007–2008 Tôme 3 30 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Options DHCP pour clients Microsoft Cf : « http://www.microsoft.com/windows2000/en/server/help/\ default.asp?url=/windows2000/en/server/help/\ sag_DHCP_add_OptionsMsVendorSpecific.htm » c T.Besançon (version 10.0) Notes de la page 31 : Administration Unix ARS 2007–2008 Tôme 3 31 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.12 RARP : DHCP, dhcpd, dhcpd.conf, dhclient Outils satellites pour DHCP Quelques outils : logiciel « dhcpdump » : « http://www.mavetju.org/download/dhcpdump-1.4.tar.gz » logiciel « dhcping » : « http://www.mavetju.org/download/dhcping-1.2.tar.gz » # ./dhcping -c 195.220.117.6 -s 195.220.117.22 -h 8:0:20:cf:62:12 Got answer from: 195.220.117.22 c T.Besançon (version 10.0) Notes de la page 32 : Administration Unix ARS 2007–2008 Tôme 3 32 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.13 Mode promiscuous Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.13 • Mode promiscuous En théorie une carte réseau n’écoute que les paquets qui lui sont destinés. Si une carte Ethernet est en mode promiscuous, elle peut capturer des paquets qui ne lui sont pas destinés. Sur LINUX, la commande « ifconfig » indique l’état promiscuous. A completer... Sur SOLARIS, la commande « ifconfig » n’indique pas l’état promiscuous. # snoop -d eri0 Using device /dev/eri (promiscuous mode) c T.Besançon (version 10.0) Notes de la page 33 : Administration Unix ARS 2007–2008 Tôme 3 33 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.14 Capture de trames Ethernet : librairie libpcap Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.14 • Capture de trames Ethernet : librairie libpcap (en anglais library packet capture) Cf « http://www.tcpdump.org » C’est une bibliothèque de programmation C spécialisée dans la capture de paquets réseau. Elle repose sur un driver réseau présent dans le noyau, le packet filter BPF. c T.Besançon (version 10.0) Notes de la page 34 : Administration Unix ARS 2007–2008 Tôme 3 34 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.15 Capture de trames Ethernet : tcpdump Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.15 • Capture de trames Ethernet : tcpdump Cf http://www.tcpdump.org C’est le logiciel de référence en ce qui concerne l’analyse des trames IP circulant sur un réseau. Il est bâti au dessus de la libpcap qui fait tout le travail en fait. C’est juste de l’enrobage au dessus de libpcap. En cas de problème réseau, on utilisera ce logiciel si l’origine du problème n’est pas évidente. Exemple : # # # # tcpdump tcpdump tcpdump tcpdump -s -s -s -s 1500 1500 1500 1500 host www.example.com arp icmp dst sgbd.example.com port 5432 # tcpdump -s 1500 -w fichier # tcpdump -s 1500 -r fichier c T.Besançon (version 10.0) Notes de la page 35 : Administration Unix ARS 2007–2008 Tôme 3 35 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.16 Capture de trames Ethernet : wireshack (ethereal) Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.16 • Capture de trames Ethernet : wireshack (ethereal) http://www.wireshack.com Ancien nom : « ethereal » (http://www.ethereal.com) C’est un logiciel graphique d’analyse des trames IP circulant sur un réseau. On l’utilise conjointement à tcpdump : 1 on demande à « tcpdump » d’enregistrer les trames : « tcpdump -s 1500 -w enregistrement » 2 on demande à « ethereal » de relire a posteriori ce fichier d’enregistrement : « ethereal enregistrement » c T.Besançon (version 10.0) Notes de la page 36 : Administration Unix ARS 2007–2008 Tôme 3 36 / 707 1 Technologie Ethernet (IEEE 802.3x) c T.Besançon (version 10.0) Notes de la page 37 : 1.16 Capture de trames Ethernet : wireshack (ethereal) Administration Unix ARS 2007–2008 Tôme 3 37 / 707 1.17 (Windows : : capture de trames Ethernet : 1 Technologie Ethernet (IEEE 802.3x) wireshack.exe) Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.17 • (Windows : : capture de trames Ethernet : wireshack.exe) A completer... c T.Besançon (version 10.0) Notes de la page 38 : Administration Unix ARS 2007–2008 Tôme 3 38 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.18 Wake On Lan Chapitre 1 • Technologie Ethernet (IEEE 802.3x) §1.18 • Wake On Lan Sur les machines modernes, la carte réseau reste alimentée électriquement ⇒ la carte réseau peut alors démarrer la carte mère sur réception de paquets réseau spéciaux et démarrer l’OS = Wake On Lan c T.Besançon (version 10.0) Notes de la page 39 : Administration Unix ARS 2007–2008 Tôme 3 39 / 707 1 Technologie Ethernet (IEEE 802.3x) c T.Besançon (version 10.0) Notes de la page 40 : 1.18 Wake On Lan Administration Unix ARS 2007–2008 Tôme 3 40 / 707 1 Technologie Ethernet (IEEE 802.3x) Manifestement dépend aussi du driver de la carte réseau : 1.18 Wake On Lan Manifestement dépend aussi de la bonne qualité du driver de la carte réseau : Salle de TP de la Formation Permanente Carte mère ASUS P4P800X Boot de Windows ; shutdown propre ⇒ WOL possible Boot de Mandriva 2006 ; shutdown propre ⇒ WOL impossible c T.Besançon (version 10.0) Notes de la page 41 : Administration Unix ARS 2007–2008 Tôme 3 41 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.18 Wake On Lan Comment contacter une machine ? Envoi d’un paquet Ethernet spécial : paquet UDP à destination du port discard le plus souvent contenu du paquet UDP (dit magic sequence) : 6 fois 0xFF 16 fois l’adresse Ethernet Par exemple, pour réveiller la carte d’adresse « 01:02:03:04:05:06 » : FFFFFFFFFFFF010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506 c T.Besançon (version 10.0) Notes de la page 42 : Administration Unix ARS 2007–2008 Tôme 3 42 / 707 1 Technologie Ethernet (IEEE 802.3x) 1.18 Wake On Lan Logiciels : « wakeonlan » : http://gsd.di.uminho.pt/jpo/software/wakeonlan/ « wakeonlan » : http://www.moldaner.de/wakeonlan/ (« java -jar wakeonlan.jar -i 192.168.0.255 01:02:03:04:05:06 » c T.Besançon (version 10.0) Notes de la page 43 : Administration Unix ARS 2007–2008 Tôme 3 43 / 707 2 Protocole IP Chapitre 2 Protocole IP c T.Besançon (version 10.0) Notes de la page 44 : Administration Unix ARS 2007–2008 Tôme 3 44 / 707 2 Protocole IP 2.1 Adresses IP v4 Chapitre 2 • Protocole IP §2.1 • Adresses IP v4 Quelques caractéristiques : protocole IP version 4 adresse IP sur 4 octets « a.b.c.d » a, b, c, d sont compris entre 0 et 255 et écrits en base 10 pour éviter des erreurs % man 3 inet ... All numbers supplied as ‘‘parts’’ in a ‘.’ notation may be decimal, octal, or hexadecimal, as specified in the C language (i.e., a leading 0x or 0X implies hexadecimal; otherwise, a leading 0 implies octal; otherwise, the number is interpreted as decimal). ... des organismes attribuent des lots d’adresses aux sociétés (pour la France « http://www.afnic.asso.fr ») notion de classes d’adresses mais devient obsolète c T.Besançon (version 10.0) Notes de la page 45 : Administration Unix ARS 2007–2008 Tôme 3 45 / 707 2 Protocole IP Classe 2.1 Adresses IP v4 Format des adresses 7 bits A 0 24 bits netid hostid 0.0.0.0 à 127.255.255.255 14 bits B 1 16 bits netid 0 hostid 128.0.0.0 à 191.255.255.255 21 bits C 1 1 8 bits netid 0 hostid 192.0.0.0 à 223.255.255.255 28 bits D 1 1 1 multicast groupid 0 224.0.0.0 à 239.255.255.255 27 bits E 1 1 1 1 0 (reserved for future use) 240.0.0.0 à 247.255.255.255 c T.Besançon (version 10.0) Notes de la page 46 : Administration Unix ARS 2007–2008 Tôme 3 46 / 707 2 Protocole IP 2.2 IP v6 Chapitre 2 • Protocole IP §2.2 • IP v6 Total address space allocated 1.6e+09 1.4e+09 Addresses allocated 1.2e+09 1e+09 8e+08 6e+08 4e+08 2e+08 83 84 c T.Besançon (version 10.0) Notes de la page 47 : 85 86 87 88 Year Administration Unix 89 90 91 92 93 ARS 2007–2008 Tôme 3 47 / 707 2 Protocole IP 2.2 IP v6 Total address space allocated 5e+09 4.5e+09 4e+09 Addresses allocated 3.5e+09 3e+09 2.5e+09 2e+09 1.5e+09 1e+09 5e+08 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04 05 06 07 08 09 Year c T.Besançon (version 10.0) Notes de la page 48 : Administration Unix ARS 2007–2008 Tôme 3 48 / 707 2 Protocole IP 2.2 IP v6 Epuisement prévu des numéros IP ⇒ création de IP v6. Voir exposé de Yves Legrandgérard. c T.Besançon (version 10.0) Notes de la page 49 : Administration Unix ARS 2007–2008 Tôme 3 49 / 707 2 Protocole IP 2.2 IP v6 From: James Carlson <[email protected]> To: [email protected] Subject: Re: (IPng) GENERAL IPNG ISSUES Date: Mon, 26 Sep 94 07:29:53 -0400 >> PS why do people say that 16 bytes is enough to address the people >> on the entire planet squillions of times over when addresses relate >> to location geography? 16 bytes is 2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456. This is a humorously large address space. Taking a SWAG at the size of the Earth, about 201,062,400 square miles, this comes to around 1,692,421,690,584,308,470,720,406,239,216 addresses per square mile of Earth’s surface, or about 421,578,297,421,497,485,189 addresses per square inch. Even if we chop off three bytes to indicate galaxy, solar system and planet, we’d still have 25,128,024 addresses per square *mil* here on Earth. Pathology will never be the same after every microbe has its own address... c T.Besançon (version 10.0) Notes de la page 50 : Administration Unix ARS 2007–2008 Tôme 3 50 / 707 2 Protocole IP 2.3 Encapsulation des paquets Chapitre 2 • Protocole IP §2.3 • Encapsulation des paquets Trame Ethernet header Ethernet c T.Besançon (version 10.0) Notes de la page 51 : data Administration Unix trailer Ethernet ARS 2007–2008 Tôme 3 51 / 707 2 Protocole IP 2.3 Encapsulation des paquets Trame Ethernet Trame ARP header Ethernet c T.Besançon (version 10.0) Notes de la page 52 : trailer Ethernet Administration Unix ARS 2007–2008 Tôme 3 52 / 707 2 Protocole IP 2.3 Encapsulation des paquets Trame Ethernet Trame IP header Ethernet c T.Besançon (version 10.0) Notes de la page 53 : trailer Ethernet Administration Unix ARS 2007–2008 Tôme 3 53 / 707 2 Protocole IP 2.3 Encapsulation des paquets Trame Ethernet Trame IP header Ethernet trailer Ethernet header IP c T.Besançon (version 10.0) Notes de la page 54 : Trame UDP Administration Unix ARS 2007–2008 Tôme 3 54 / 707 2 Protocole IP 2.3 Encapsulation des paquets Trame Ethernet Trame IP header Ethernet trailer Ethernet header IP c T.Besançon (version 10.0) Notes de la page 55 : Trame TCP Administration Unix ARS 2007–2008 Tôme 3 55 / 707 2 Protocole IP 2.3 Encapsulation des paquets Trame Ethernet Trame IP header Ethernet trailer Ethernet header IP c T.Besançon (version 10.0) Notes de la page 56 : Trame ICMP Administration Unix ARS 2007–2008 Tôme 3 56 / 707 2 Protocole IP 2.4 Adresse spéciale : adresse de loopback Chapitre 2 • Protocole IP §2.4 • Adresse spéciale : adresse de loopback Interface virtuelle de loopback d’adresse IP « 127.0.0.1 » Permet de faire des connexions réseau avec soi-même. c T.Besançon (version 10.0) Notes de la page 57 : Administration Unix ARS 2007–2008 Tôme 3 57 / 707 2 Protocole IP 2.5 Netmask Chapitre 2 • Protocole IP §2.5 • Netmask Le problème : comment la station A construit-elle les paquets Ethernet pour dialoguer avec la machine B, où que soit la station B ? La difficulté : si B n’est pas sur le même réseau que A, il faut construire un paquet avec pour adresse Ethernet de destination l’adresse Ethernet du routeur et non pas avec l’adresse Ethernet de B. La solution : A et B sont sur le même réseau physique si IP(A) et IP(B) partagent une même propriété. En l’occurence si IP(A) & netmask(A) = IP(B) & netmask(A) c T.Besançon (version 10.0) Notes de la page 58 : Administration Unix ARS 2007–2008 Tôme 3 58 / 707 2 Protocole IP 2.6 Adresse de broadcast Chapitre 2 • Protocole IP §2.6 • Adresse de broadcast Chaque machine IP écoute un paquet IP avec l’adresse de broadcast pour adresse de destination et répond peut-être suivant le type du paquet. c T.Besançon (version 10.0) Notes de la page 59 : Administration Unix ARS 2007–2008 Tôme 3 59 / 707 2 Protocole IP 2.7 Configuration d’adresse IP : ifconfig Chapitre 2 • Protocole IP §2.7 • Configuration d’adresse IP : ifconfig (en anglais interface configuration) La commande « ifconfig » sert à régler les paramètres des cartes réseau : # ifconfig le0 inet 134.157.253.1 # ifconfig le0 netmask 0xffffff80 # ifconfig le0 broadcast 134.157.253.127 # ifconfig -a lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 134.157.253.1 netmask ffffff80 broadcast 134.157.253.127 ether 8:0:20:83:12:4a c T.Besançon (version 10.0) Notes de la page 60 : Administration Unix ARS 2007–2008 Tôme 3 60 / 707 2 Protocole IP 2.7 Configuration d’adresse IP : ifconfig Sur une machine Linux, les cartes réseau ont pour noms « eth0 », « eth1 », « eth2 », etc. Sur une machine Linux, la paramètrage réseau de la carte « eth0 » se trouve au niveau du fichier « /etc/sysconfig/network-scripts/ifcfg-eth0 » (ainsi de suite pour les autres interfaces) : DEVICE=eth0 BOOTPROTO=static BROADCAST=134.157.46.255 IPADDR=134.157.46.129 NETMASK=255.255.255.128 NETWORK=134.157.46.128 ONBOOT=yes GATEWAY=134.157.46.254 TYPE=Ethernet USERCTL=no PEERDNS=no La commande « dmesg » renvoie la liste des interfaces. c T.Besançon (version 10.0) Notes de la page 61 : Administration Unix ARS 2007–2008 Tôme 3 61 / 707 2 Protocole IP 2.7 Configuration d’adresse IP : ifconfig Sur une machine SOLARIS, les cartes réseau ont des noms dépendant du type de carte. Par exemple « le0 », « eri0 », « qfe0 » + « qfe1 » + « qfe2 » + « qfe3 » (carte quad port 10/100), etc. Sur une machine SOLARIS, la paramètrage réseau de la carte XYZ se trouve au niveau du fichier /etc/hostname.XYZ : -rw-r--r-- 1 root root 19 Dec 4 01:35 /etc/hostname.eri0 qui contient le hostname associé à la carte : hostname → adresse réseau via « /etc/host » Broadcast, netmask déduits La commande « dmesg » renvoie la liste des interfaces. c T.Besançon (version 10.0) Notes de la page 62 : Administration Unix ARS 2007–2008 Tôme 3 62 / 707 2 Protocole IP 2.8 Configuration d’adresses IP virtuelles : ifconfig Chapitre 2 • Protocole IP §2.8 • Configuration d’adresses IP virtuelles : ifconfig Sur une machine Linux, si la carte réseau s’appelle par exemple « eth0 », alors les adresses virtuelles utiliseront les interfaces réseau virtuelles de noms « eth0:0 », « eth0:1 », « eth0:2 », etc. Sur une machine Linux, la paramètrage réseau de l’adresse virtuelle « eth0:0 » se trouve au niveau du fichier « /etc/sysconfig/network-scripts/ifcfg-eth0:0 » (ainsi de suite pour les autres interfaces) : DEVICE=eth0:0 BOOTPROTO=static BROADCAST=134.157.46.255 IPADDR=134.157.46.130 NETMASK=255.255.255.128 NETWORK=134.157.46.128 ONBOOT=yes TYPE=Ethernet USERCTL=no PEERDNS=no c T.Besançon (version 10.0) Notes de la page 63 : Administration Unix ARS 2007–2008 Tôme 3 63 / 707 2 Protocole IP 2.8 Configuration d’adresses IP virtuelles : ifconfig Sur une machine SOLARIS, si la carte réseau s’appelle par exemple « eri0 », alors les adresses virtuelles utiliseront les interfaces réseau virtuelles de noms « eri0:1 », « eri0:2 », « eri0:3 », etc. Sur une machine SOLARIS, la paramètrage réseau d’une interface virtuelle « eri0:1 » se trouvera donc au niveau du fichier « /etc/hostname.eri0:1 » : -rw-r--r-- 1 root root 19 Dec 4 01:35 /etc/hostname.eri0:1 qui contient le hostname associé à l’interface virtuelle : hostname → adresse réseau via « /etc/host » Broadcast, netmask déduits Manuellement « ifconfig eri0 addif 192.168.0.1/prefix up » c T.Besançon (version 10.0) Notes de la page 64 : Administration Unix ARS 2007–2008 Tôme 3 64 / 707 2 Protocole IP 2.9 (Windows : : ipconfig.exe) Chapitre 2 • Protocole IP §2.9 • (Windows : : ipconfig.exe) La commande « ipconfig.exe » permet de connaitre en mode ligne de commande la configuration réseau des interfaces. A completer... c T.Besançon (version 10.0) Notes de la page 65 : Administration Unix ARS 2007–2008 Tôme 3 65 / 707 2 Protocole IP 2.10 (Windows 98 : : winipcfg.exe) Chapitre 2 • Protocole IP §2.10 • (Windows 98 : : winipcfg.exe) La commande « winipcfg.exe » permet de connaitre en mode graphique la configuration réseau des interfaces. A completer... c T.Besançon (version 10.0) Notes de la page 66 : Administration Unix ARS 2007–2008 Tôme 3 66 / 707 2 Protocole IP 2.11 (Windows : : netsh.exe) Chapitre 2 • Protocole IP §2.11 • (Windows : : netsh.exe) La commande « netsh » permet de configurer en mode ligne de commande beaucoup d’aspects réseau. A completer... c T.Besançon (version 10.0) Notes de la page 67 : Administration Unix ARS 2007–2008 Tôme 3 67 / 707 2 Protocole IP 2.12 Adresses privées : RFC 1918 Chapitre 2 • Protocole IP §2.12 • Adresses privées : RFC 1918 RFC 1918 Adresses privées : « 10.0.0.0/8 » « 172.16.0.0/12 » « 192.168.0.0/16 » Adresses utilisables sur des réseaux sans interconnexion avec Internet. c T.Besançon (version 10.0) Notes de la page 68 : Administration Unix ARS 2007–2008 Tôme 3 68 / 707 2 Protocole IP 2.13 Connexions IP Chapitre 2 • Protocole IP §2.13 • Connexions IP Rappel (voir cours réseaux) : Une connexion IP est constituée des éléments suivants : une adresse IP source un numéro de port source sur la machine de départ une adresse IP de destination un numéro de port sur la machine de destination protocole TCP ou UDP c T.Besançon (version 10.0) Notes de la page 69 : Administration Unix ARS 2007–2008 Tôme 3 69 / 707 2 Protocole IP 2.13 Connexions IP En pratique il y a 3 catégories de port : Les Well Known Ports de 0 à 1023 Les Registered Ports de 1024 à 49151 Les Dynamic and/or Private Ports de 49152 à 65535 Attention : Sur UNIX, la fonction C obtenant un port source < 1024 ne fonctionne que pour l’UID 0. Sur Windows, la fonction C obtenant un port source < 1024 fonctionne quel que soit l’UID c T.Besançon (version 10.0) Notes de la page 70 : Administration Unix ARS 2007–2008 Tôme 3 70 / 707 2 Protocole IP 2.14 Fichier /etc/services Chapitre 2 • Protocole IP §2.14 • Fichier /etc/services Le fichier « /etc/services » mentionne des triplets (numéro de port, protocole, nom du service). On peut obtenir un triplet officiellement pour un programme à soi auprès de l’IANA « http://www.iana.org/assignments/port-numbers » Le fichier « /etc/services » sert à convertir un port numérique en un nom symbolique plus parlant. Voir les fonctions C « getservbyname() », « getservbyport() », « getservent() ». ATTENTION : Le fichier « /etc/services » n’indique pas les services réseau activés sur la machine. c T.Besançon (version 10.0) Notes de la page 71 : Administration Unix ARS 2007–2008 Tôme 3 71 / 707 2 Protocole IP 2.14 Fichier /etc/services Extrait d’un fichier « /etc/services » : ... chargen chargen ftp-data ftp-data ftp ftp ssh ssh telnet telnet smtp smtp ... 19/tcp 19/udp 20/tcp 20/udp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 23/udp 25/tcp 25/udp c T.Besançon (version 10.0) Notes de la page 72 : ttytst source #Character Generator ttytst source #Character Generator #File Transfer [Default Data] #File Transfer [Default Data] #File Transfer [Control] #File Transfer [Control] #Secure Shell Login #Secure Shell Login mail mail #Simple Mail Transfer #Simple Mail Transfer Administration Unix ARS 2007–2008 Tôme 3 72 / 707 2 Protocole IP 2.15 Liste des ports réseau actifs : netstat -a, netstat -an Chapitre 2 • Protocole IP §2.15 • Liste des ports réseau actifs : netstat -a, netstat -an La commande « netstat -a » renvoie la liste des connexions réseau établies ou en attente d’établissement de connexion. Les noms affichés proviennent de « /etc/services » : % netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address tcp4 0 0 *.ssh *.* tcp46 0 0 *.ssh *.* udp4 0 0 *.syslog *.* udp6 0 0 *.syslog *.* udp4 0 0 *.bootpc *.* Active UNIX domain sockets ... c T.Besançon (version 10.0) Notes de la page 73 : Administration Unix (state) LISTEN LISTEN ARS 2007–2008 Tôme 3 73 / 707 2 Protocole IP 2.15 Liste des ports réseau actifs : netstat -a, netstat -an La commande « netstat -an » renvoie la liste des connexions réseau établies ou en attente d’établissement de connexion, sans les traduire en noms via « /etc/services ». Ils sont affichés sous forme numérique : % netstat -an Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address tcp4 0 0 *.22 *.* tcp46 0 0 *.22 *.* udp4 0 0 *.514 *.* udp6 0 0 *.514 *.* udp4 0 0 *.68 *.* Active UNIX domain sockets ... c T.Besançon (version 10.0) Notes de la page 74 : Administration Unix (state) LISTEN LISTEN ARS 2007–2008 Tôme 3 74 / 707 2 Protocole IP 2.16 (Windows : : Liste des ports réseau actifs : netstat.exe) Chapitre 2 • Protocole IP §2.16 • (Windows : : Liste des ports réseau actifs : netstat.exe) Même principe sur UNIX : Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\ars>netstat -an | more Active Connections Proto TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP UDP UDP ... Local Address 0.0.0.0:25 0.0.0.0:80 0.0.0.0:135 0.0.0.0:443 0.0.0.0:445 0.0.0.0:1025 127.0.0.1:1027 192.168.1.1:139 192.168.2.1:139 192.168.8.1:139 0.0.0.0:445 0.0.0.0:500 c T.Besançon (version 10.0) Notes de la page 75 : Foreign Address 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 0.0.0.0:0 *:* *:* Administration Unix State LISTENING LISTENING LISTENING LISTENING LISTENING LISTENING LISTENING LISTENING LISTENING LISTENING ARS 2007–2008 Tôme 3 75 / 707 2 Protocole IP 2.17 Liste des connexions réseau : lsof Chapitre 2 • Protocole IP §2.17 • Liste des connexions réseau : lsof (en anglais List of open files) ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/ « lsof » permet de connaître les filedescriptors ouverts sur une machine UNIX. Cela comprend les connexions réseau. Par exemple, pour voir quels processus utilisent la partition « /var/run » : % lsof /var/run COMMAND PID USER lpd 410 daemon dhcpd 12548 root c T.Besançon (version 10.0) Notes de la page 76 : FD 6u 6w TYPE DEVICE SIZE/OFF NODE NAME VREG 0,1 4 2193737 /var/run (swap) VREG 0,1 469 1571881 /var/run (swap) Administration Unix ARS 2007–2008 Tôme 3 76 / 707 2 Protocole IP 2.17 Liste des connexions réseau : lsof Par exemple pour voir qui utilise une certaine connexion TCP : % lsof -i tcp:32771 COMMAND PID USER FD inetd 320 root 18u TYPE DEVICE SIZE/OFF NODE NAME IPv4 0x3000200f350 0t0 TCP *:32771 (LISTEN) Par exemple pour voir qui utilise une certaine connexion UDP : % lsof -i [email protected]:3853 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ss_logd 232 root 3u IPv4 0x30001d961c0 0t0 UDP localhost:3853 (Idl (format « [protocol][@hostname|hostaddr][:service|port] ») c T.Besançon (version 10.0) Notes de la page 77 : Administration Unix ARS 2007–2008 Tôme 3 77 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Chapitre 2 • Protocole IP §2.18 • Commande de connexion : telnet Syntaxe : telnet host Exemples d’utilisation : connexion à une machine UNIX connexion à une imprimante connexion à un équipement réseau etc. A chaque fois que ce sera possible, préférer une connexion shell distante en utilisant SSH. c T.Besançon (version 10.0) Notes de la page 78 : Administration Unix ARS 2007–2008 Tôme 3 78 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Autre syntaxe importante : telnet host port Exemples d’utilisation : connexion manuelle à un serveur POP connexion manuelle à un serveur IMAP connexion manuelle à un serveur HTTP etc. Non remplaçable par SSH. c T.Besançon (version 10.0) Notes de la page 79 : Administration Unix ARS 2007–2008 Tôme 3 79 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Exemple : connexion à une machine UNIX % telnet server.example.com Trying 1.2.3.4... Connected to server.example.com. Escape character is ’^]’. SunOS 5.7 login: besancon Password: XXXXXXXX Last login: Sun Oct 12 15:18:22 from ppp-3 Sun Microsystems Inc. SunOS 5.5 Generic November 1995 server% c T.Besançon (version 10.0) Notes de la page 80 : Administration Unix ARS 2007–2008 Tôme 3 80 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Exemple : connexion à une imprimante % telnet hp4100.example.com Trying 1.2.3.4... Connected to hp4100.example.com. Escape character is ’^]’. HP JetDirect Password: XXXXXXXX You are logged in Please type "?" for HELP, or "/" for current settings > / ===JetDirect Telnet Configuration=== Firmware Rev. : G.08.49 MAC Address : 00:30:c1:0a:45:b2 Config By : USER SPECIFIED c T.Besançon (version 10.0) Notes de la page 81 : Administration Unix ARS 2007–2008 Tôme 3 81 / 707 2 Protocole IP IP Address : Subnet Mask : Default Gateway : Syslog Server : Idle Timeout : Set Cmnty Name : Host Name : Default Get Cmnty DHCP Config : Passwd : IPX/SPX : DLC/LLC : Ethertalk : Banner page : 2.18 Commande de connexion : telnet 1.2.3.4 255.255.255.0 1.2.3.254 Not Specified 90 Seconds Not Specified Not Specified : Enabled Disabled Enabled Disabled Disabled Enabled Disabled > exit EXITING WITHOUT SAVING ANY ENTRIES > Connection closed by foreign host. c T.Besançon (version 10.0) Notes de la page 82 : Administration Unix ARS 2007–2008 Tôme 3 82 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Exemple : interruption d’une connexion par Ctrl-] (Control crochet fermant) % telnet obsolete.example.com Trying 1.2.3.4... Connected to obsolete.example.com. Escape character is ’^]’. telnet login: besancon Password: XXXXXXXX Login incorrect login: ^] <-- taper Ctrl-] telnet> quit Connection closed. c T.Besançon (version 10.0) Notes de la page 83 : Administration Unix ARS 2007–2008 Tôme 3 83 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Exemple : tentative de connexion à une machine sans telnet % telnet notelnet.example.com Trying 1.2.3.4... telnet: connect to address 1.2.3.4: Connection refused telnet: Unable to connect to remote host c T.Besançon (version 10.0) Notes de la page 84 : Administration Unix ARS 2007–2008 Tôme 3 84 / 707 2 Protocole IP 2.18 Commande de connexion : telnet Humour Faire « telnet towel.blinkenlights.nl » c T.Besançon (version 10.0) Notes de la page 85 : Administration Unix ARS 2007–2008 Tôme 3 85 / 707 2 Protocole IP 2.19 (Windows : : Commande de connexion : telnet.exe) Chapitre 2 • Protocole IP §2.19 • (Windows : : Commande de connexion : telnet.exe) Programme « telnet.exe » : c T.Besançon (version 10.0) Notes de la page 86 : Administration Unix ARS 2007–2008 Tôme 3 86 / 707 3 Routage IP par défaut Chapitre 3 Routage IP par défaut c T.Besançon (version 10.0) Notes de la page 87 : Administration Unix ARS 2007–2008 Tôme 3 87 / 707 3 Routage IP par défaut 3.1 Notion de routage Chapitre 3 • Routage IP par défaut §3.1 • Notion de routage Routage : acheminement des paquets IP à leur destination selon un chemin déterminé par la destination Cas le plus simple : routage par défaut : tous les paquets IP sont acheminés vers un routeur qui les transmet plus loin. Les autres cas : protocoles spécialisés : ROUTED, BGP, OSPF, etc. (voir cours réseau) Un cas très spécial : routage selon l’adresse IP source : policy based routing Attention : souvent un hack au niveau de l’OS ! c T.Besançon (version 10.0) Notes de la page 88 : Administration Unix ARS 2007–2008 Tôme 3 88 / 707 3 Routage IP par défaut 3.2 Relation entre routage IP et paquets ethernet Chapitre 3 • Routage IP par défaut §3.2 • Relation entre routage IP et paquets ethernet E T H ETH = 11:22:33:44:55:66 IP = 1.1.1.1 machine A ETH src = 11:22:33:44:55:66 ETH dest = AA:BB:CC:11:11:11 I P IP src = 1.1.1.1 IP dest = 2.2.2.2 IP data ETH = AA:BB:CC:11:11:11 IP = 1.1.1.254 I P IP src = 1.1.1.1 IP dest = 2.2.2.2 ROUTEUR IP data ETH = AA:BB:CC:22:22:22 IP = 2.2.2..254 E T H machine B ETH = 77:88:99:00:AA:BB IP = 2.2.2.2 c T.Besançon (version 10.0) Notes de la page 89 : Administration Unix ETH src = AA:BB:CC:22:22:22 ETH dest = 77:88:99:00:AA:BB I P IP src = 1.1.1.1 IP dest = 2.2.2.2 IP data ARS 2007–2008 Tôme 3 89 / 707 3 Routage IP par défaut 3.3 Configuration du routage LINUX : route Chapitre 3 • Routage IP par défaut §3.3 • Configuration du routage LINUX : route La commande « route » sert à configurer le routage. # route add default gw 134.157.253.126 gw = gateway = routeur Sur une machine LINUX, se reporter au fichier « /etc/sysconfig/network » : NETWORKING=yes FORWARD_IPV4=false HOSTNAME=pcars5.formation.jussieu.fr DOMAINNAME=formation.jussieu.fr NISDOMAIN=real.world GATEWAY=134.157.253.126 GATEWAYDEV=eth0 c T.Besançon (version 10.0) Notes de la page 90 : Administration Unix ARS 2007–2008 Tôme 3 90 / 707 3 Routage IP par défaut 3.4 Configuration du routage SOLARIS : route Chapitre 3 • Routage IP par défaut §3.4 • Configuration du routage SOLARIS : route La commande « route » sert à configurer le routage. # route add default 134.157.253.126 Sur une machine SOLARIS, se reporter au fichier « /etc/defaultrouter » : 134.157.253.126 c T.Besançon (version 10.0) Notes de la page 91 : Administration Unix ARS 2007–2008 Tôme 3 91 / 707 3 Routage IP par défaut 3.5 (Windows : : route.exe) Chapitre 3 • Routage IP par défaut §3.5 • (Windows : : route.exe) A completer... c T.Besançon (version 10.0) Notes de la page 92 : Administration Unix ARS 2007–2008 Tôme 3 92 / 707 3 Routage IP par défaut 3.6 Routage : netstat Chapitre 3 • Routage IP par défaut §3.6 • Routage : netstat La commande « netstat -r » renvoie la table de routage d’une machine UNIX : % netstat -rn Routing Table: Destination -------------------255.255.255.255 134.157.253.0 224.0.0.0 default 127.0.0.1 Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------134.157.253.1 UGH 0 0 134.157.253.1 U 3 227555 le0 134.157.253.1 U 3 0 le0 134.157.253.126 UG 0 230176 127.0.0.1 UH 0 28650 lo0 c T.Besançon (version 10.0) Notes de la page 93 : Administration Unix ARS 2007–2008 Tôme 3 93 / 707 3 Routage IP par défaut 3.7 (Windows : : netstat.exe) Chapitre 3 • Routage IP par défaut §3.7 • (Windows : : netstat.exe) Même principe sur UNIX : C:\Documents and Settings\ars>netstat -rn Route Table =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x2 ...00 50 56 c0 00 02 ...... VMware Virtual Ethernet Adapter for VMnet2 0x3 ...00 50 56 c0 00 08 ...... VMware Virtual Ethernet Adapter for VMnet8 0x4 ...00 50 56 c0 00 01 ...... VMware Virtual Ethernet Adapter for VMnet1 0x5 ...00 90 4b 64 10 88 ...... Dell TrueMobile 1400 Dual Band WLAN Mini-PCI Card - P 0x6 ...00 0d 56 ad cc be ...... Broadcom 440x 10/100 Integrated Controller - Packet S =========================================================================== =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 192.168.1.1 192.168.1.1 20 192.168.1.1 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.1.255 255.255.255.255 192.168.1.1 192.168.1.1 20 192.168.2.0 255.255.255.0 192.168.2.1 192.168.2.1 20 192.168.2.1 255.255.255.255 127.0.0.1 127.0.0.1 20 c T.Besançon (version 10.0) Notes de la page 94 : Administration Unix ARS 2007–2008 Tôme 3 94 / 707 3 Routage IP par défaut 3.7 (Windows : : netstat.exe) 192.168.2.255 255.255.255.255 192.168.2.1 192.168.2.1 20 192.168.8.0 255.255.255.0 192.168.8.1 192.168.8.1 20 192.168.8.1 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.8.255 255.255.255.255 192.168.8.1 192.168.8.1 20 224.0.0.0 240.0.0.0 192.168.1.1 192.168.1.1 20 224.0.0.0 240.0.0.0 192.168.2.1 192.168.2.1 20 224.0.0.0 240.0.0.0 192.168.8.1 192.168.8.1 20 255.255.255.255 255.255.255.255 192.168.1.1 192.168.1.1 1 255.255.255.255 255.255.255.255 192.168.2.1 192.168.2.1 1 255.255.255.255 255.255.255.255 192.168.8.1 192.168.8.1 1 255.255.255.255 255.255.255.255 192.168.8.1 6 1 255.255.255.255 255.255.255.255 192.168.8.1 5 1 =========================================================================== Persistent Routes: None c T.Besançon (version 10.0) Notes de la page 95 : Administration Unix ARS 2007–2008 Tôme 3 95 / 707 3 Routage IP par défaut 3.8 Test de connectivité : ping Chapitre 3 • Routage IP par défaut §3.8 • Test de connectivité : ping La commande « ping » teste si une machine répond au niveau réseau. % ping localhost localhost is alive On peut parfois pinger l’adresse de broadcast : % /usr/sbin/ping -s 134.157.253.127 1 PING 134.157.253.127: 1 data bytes 9 bytes from sunars1.formation.jussieu.fr (134.157.253.1): icmp_seq=0. 9 bytes from sunars2.formation.jussieu.fr (134.157.253.2): icmp_seq=0. 9 bytes from sunars4.formation.jussieu.fr (134.157.253.4): icmp_seq=0. 9 bytes from sunars3.formation.jussieu.fr (134.157.253.3): icmp_seq=0. 9 bytes from r-formation.formation.jussieu.fr (134.157.253.126): icmp_seq=0. 9 bytes from sunars1.formation.jussieu.fr (134.157.253.1): icmp_seq=1. 9 bytes from sunars2.formation.jussieu.fr (134.157.253.2): icmp_seq=1. 9 bytes from sunars4.formation.jussieu.fr (134.157.253.4): icmp_seq=1. 9 bytes from sunars3.formation.jussieu.fr (134.157.253.3): icmp_seq=1. 9 bytes from r-formation.formation.jussieu.fr (134.157.253.126): icmp_seq=1. ^C ----134.157.253.127 PING Statistics---2 packets transmitted, 10 packets received, 5.00 times amplification c T.Besançon (version 10.0) Notes de la page 96 : Administration Unix ARS 2007–2008 Tôme 3 96 / 707 3 Routage IP par défaut 3.9 Test de connectivité : fping, hping Chapitre 3 • Routage IP par défaut §3.9 • Test de connectivité : fping, hping Autres utilitaires parents de PING : FPING : http://fping.sourceforge.net HPING : http://www.hping.org c T.Besançon (version 10.0) Notes de la page 97 : Administration Unix ARS 2007–2008 Tôme 3 97 / 707 3 Routage IP par défaut 3.10 (Windows : : ping.exe) Chapitre 3 • Routage IP par défaut §3.10 • (Windows : : ping.exe) Même principe sur UNIX : C:\Documents and Settings\ars>ping 127.0.0.1 Pinging 127.0.0.1 with 32 bytes of data: Reply Reply Reply Reply from from from from 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: bytes=32 bytes=32 bytes=32 bytes=32 time<1ms time<1ms time<1ms time<1ms TTL=128 TTL=128 TTL=128 TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms c T.Besançon (version 10.0) Notes de la page 98 : Administration Unix ARS 2007–2008 Tôme 3 98 / 707 3 Routage IP par défaut 3.11 Test de connectivité : traceroute Chapitre 3 • Routage IP par défaut §3.11 • Test de connectivité : traceroute La commande « traceroute » permet de tester si une machine est joignable. Elle renvoie les intermédiaires réseau qui route notre acheminement vers la machine distante. Syntaxe : « traceroute machine » % traceroute ftp.lip6.fr traceroute to nephtys.lip6.fr (195.83.118.1), 30 hops max, 40 byte packets 1 yacht (129.199.96.254) 0 ms 0 ms 0 ms 2 renater (129.199.1.10) 2 ms 1 ms 1 ms 3 195.221.127.61 (195.221.127.61) 3 ms 1 ms 1 ms 4 195.221.126.1 (195.221.126.1) 2 ms 1 ms 1 ms 5 195.221.126.78 (195.221.126.78) 2 ms 1 ms 1 ms 6 jussieu.rap.prd.fr (195.221.126.33) 2 ms 2 ms 2 ms 7 nephtys.lip6.fr (195.83.118.1) 2 ms 2 ms 2 ms Le nombre d’intermédiaires n’est pas proportionnel à l’éloignement géographique de la machine destination. c T.Besançon (version 10.0) Notes de la page 99 : Administration Unix ARS 2007–2008 Tôme 3 99 / 707 3 Routage IP par défaut 3.12 (Windows : : tracert.exe) Chapitre 3 • Routage IP par défaut §3.12 • (Windows : : tracert.exe) A completer... c T.Besançon (version 10.0) Notes de la page 100 : Administration Unix ARS 2007–2008 Tôme 3 100 / 707 4 Domain Name Server (DNS) Chapitre 4 Domain Name Server (DNS) c T.Besançon (version 10.0) Notes de la page 101 : Administration Unix ARS 2007–2008 Tôme 3 101 / 707 4 Domain Name Server (DNS) 4.1 Principes du DNS Chapitre 4 • Domain Name Server (DNS) §4.1 • Principes du DNS Impossibilité pratique de maintenir à jour les fichiers « /etc/hosts ». ⇒ remplacement par un mécanisme d’annuaire réparti dont chacun gère sa entrée propre : le Domain Name Server Particularités de la base de données du DNS : répartie petite avec une faible fréquence de changements des données hiérarchisée accès en consultation uniquement ; pas de requête de modification c T.Besançon (version 10.0) Notes de la page 102 : Administration Unix ARS 2007–2008 Tôme 3 102 / 707 4 Domain Name Server (DNS) 4.2 Zone DNS Chapitre 4 • Domain Name Server (DNS) §4.2 • Zone DNS zone DNS : reflet de l’aspect réparti et hiérarchisé du DNS partie contigüe de l’arbre une zone parente délègue une zone fille à un ou plusieurs serveurs d’informations (nameservers) sur la zone fille . com net fr lycos jussieu formation 216-pc01 c T.Besançon (version 10.0) Notes de la page 103 : Administration Unix aero www 216-pc02 ARS 2007–2008 Tôme 3 103 / 707 4 Domain Name Server (DNS) 4.3 Requête d’interrogation du DNS Chapitre 4 • Domain Name Server (DNS) §4.3 • Requête d’interrogation du DNS Le DNS est bâti selon un modèle client – serveur Cf logiciel DNSTRACER sur http://www.mavetju.org c T.Besançon (version 10.0) Notes de la page 104 : Administration Unix ARS 2007–2008 Tôme 3 104 / 707 4 Domain Name Server (DNS) 4.3 Requête d’interrogation du DNS Le DNS utilise des root nameservers : Pour assurer un service fiable, une zone est servie par un nameserver primaire et plusieurs nameservers secondaires de secours qui se synchronisent entre eux. c T.Besançon (version 10.0) Notes de la page 105 : Administration Unix ARS 2007–2008 Tôme 3 105 / 707 4 Domain Name Server (DNS) 4.3 Requête d’interrogation du DNS Principe de mémorisation des informations passées recueillies pour accélérer les réponses aux requêtes. L’information a une date de péremption (TTL = Time To Live). Le serveur qui mémorise un record DNS n’a pas autorité dessus. Chaque enregistrement de la base de données a : une classe ; la plus courante : IN (Internet) un type : A, PTR, NS, SOA, MX, CNAME, . . . et est donc de la forme : (classe, type, clé, valeur, TTL) Une requête ressemble alors à : (classe, (classe, type, *, c T.Besançon (version 10.0) Notes de la page 106 : clé, clé, ?, ?, ?) ?) Administration Unix ARS 2007–2008 Tôme 3 106 / 707 4 Domain Name Server (DNS) 4.4 Implémentation : BIND, named Chapitre 4 • Domain Name Server (DNS) §4.4 • Implémentation : BIND, named URL : http://www.isc.org/products/BIND/ Démon « named » Fichier de configuration « /etc/named.conf » (en général). Directory « /etc/namedb » stockant les fichiers de zone (en général). c T.Besançon (version 10.0) Notes de la page 107 : Administration Unix ARS 2007–2008 Tôme 3 107 / 707 4 Domain Name Server (DNS) 4.4 Implémentation : BIND, named Exemple 1 : Pour connaitre la version de « named » : % dig ns.example.com version.bind chaos txt ; <<>> DiG 8.2 <<>> ns.example.com version.bind chaos txt ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUERY SECTION: ;; version.bind, type = TXT, class = CHAOS ;; ANSWER SECTION: version.bind. ;; ;; ;; ;; 0S CHAOS TXT "bind 9" Total query time: 3 msec FROM: client.example.com to SERVER: default -- 192.168.1.1 WHEN: Mon Sep 30 00:20:19 2002 MSG SIZE sent: 30 rcvd: 49 c T.Besançon (version 10.0) Notes de la page 108 : Administration Unix ARS 2007–2008 Tôme 3 108 / 707 4 Domain Name Server (DNS) 4.4 Implémentation : BIND, named Exemple 2 : Pour connaitre la version de « named » : % dig dmi.ens.fr version.bind chaos txt ; <<>> DiG 9.2.1 <<>> dmi.ens.fr version.bind chaos txt ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63986 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 4 ;; QUESTION SECTION: ;dmi.ens.fr. IN A ;; ANSWER SECTION: dmi.ens.fr. 172800 IN A 129.199.96.11 ;; AUTHORITY SECTION: ens.fr. ens.fr. ens.fr. ens.fr. ens.fr. 172800 172800 172800 172800 172800 IN IN IN IN IN NS NS NS NS NS oseille.ens.fr. dmi.ens.fr. ext.lri.fr. ns2.nic.fr. clipper.ens.fr. c T.Besançon (version 10.0) Notes de la page 109 : Administration Unix ARS 2007–2008 Tôme 3 109 / 707 4 Domain Name Server (DNS) ;; ADDITIONAL SECTION: ext.lri.fr. ns2.nic.fr. clipper.ens.fr. oseille.ens.fr. ;; ;; ;; ;; 290218 285943 172800 172800 IN IN IN IN 4.4 Implémentation : BIND, named A A A A 129.175.15.4 192.93.0.4 129.199.129.1 129.199.98.16 Query time: 831 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Mon Sep 30 00:19:28 2002 MSG SIZE rcvd: 210 ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48476 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;version.bind. ;; ANSWER SECTION: version.bind. ;; ;; ;; ;; 0 CH TXT CH TXT "9.2.1" Query time: 42 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Mon Sep 30 00:19:28 2002 MSG SIZE rcvd: 48 c T.Besançon (version 10.0) Notes de la page 110 : Administration Unix ARS 2007–2008 Tôme 3 110 / 707 4 Domain Name Server (DNS) 4.5 F.root-servers.net (vieille version) Chapitre 4 • Domain Name Server (DNS) §4.5 • F.root-servers.net (vieille version) OBSOLÈTE mais laissé pour se faire une idée c T.Besançon (version 10.0) Notes de la page 111 : Administration Unix ARS 2007–2008 Tôme 3 111 / 707 4 Domain Name Server (DNS) 4.5 F.root-servers.net (vieille version) (cf http://www.isc.org/servicespublic/F-root-server.html) The Internet Software Consortium is proud to operate one of 13 root DNS servers as a public service to the Internet. The ISC has operated « F.root-servers.net » for the IANA (http://www.iana.org/) since 1993. F (http://f.root-servers.org) answers more than 272 million DNS queries per day, making it one of the busiest DNS servers in the world. In fact, it is often the busiest root nameserver on the Internet. F is a virtual server made up of multiple (currently two) HP AlphaServers, donated to us by HP’s Western Research Laboratory (http://www.research.digital.com/wrl/). Each server is a HP ES40 AlphaServer with 4 500mhz CPUs and 8Gig of RAM, and runs ISC BIND 8.3.2 as its DNS server. c T.Besançon (version 10.0) Notes de la page 112 : Administration Unix ARS 2007–2008 Tôme 3 112 / 707 4 Domain Name Server (DNS) 4.5 F.root-servers.net (vieille version) The servers are hosted at PAIX.net, Inc. (http://www.paix.net/) in Palo Alto, California and are connected to the Internet via fdx Fast Ethernet connections which are provided by UUNET (http://www.uu.net/), Teleglobe (http://www.teleglobe.com/), and MFN (http://www.mfn.com/). For more information on the root DNS system, see : BCP 40 (RFC2870) Operational guidelines for Root Name Servers (http://www.isi.edu/in-notes/rfc2870.txt). c T.Besançon (version 10.0) Notes de la page 113 : Administration Unix ARS 2007–2008 Tôme 3 113 / 707 4 Domain Name Server (DNS) 4.6 F.root-servers.net (à jour) Chapitre 4 • Domain Name Server (DNS) §4.6 • F.root-servers.net (à jour) (cf http://www.isc.org/ops/f-root) 2 nœuds globaux, plus de trente nœuds locaux répartis dans divers pays. c T.Besançon (version 10.0) Notes de la page 114 : Administration Unix ARS 2007–2008 Tôme 3 114 / 707 4 Domain Name Server (DNS) 4.7 Utilitaire rndc Chapitre 4 • Domain Name Server (DNS) §4.7 • Utilitaire rndc Syntaxe : rndc [options] cmd Il contrôle le fonctionnement de « named » à distance via TCP (« rndc.conf » contient des clefs d’accès). « status » « dumpdb » « reload » « stats » « trace/notrace » « start » « stop » « halt » « restart » c T.Besançon (version 10.0) Notes de la page 115 : status de NAMED dumpe la base et le cache dans « /var/tmp/named_dump.db » recharge les zones primaires et secondaires dumpe les statistiques dans « /var/tmp/named.stats » gestion du niveau de trace dans « /var/tmp/named.run » démarre NAMED arrête NAMED en sauvant les mises à jour en cours arrête NAMED froidement arrête et redémarre NAMED Administration Unix ARS 2007–2008 Tôme 3 115 / 707 4 Domain Name Server (DNS) 4.8 Fichier /etc/resolv.conf Chapitre 4 • Domain Name Server (DNS) §4.8 • Fichier /etc/resolv.conf Consultation des nameservers indiqués via le fichier « /etc/resolv.conf » Exemple de fichier « /etc/resolv.conf » : domain formation.jussieu.fr search formation.jussieu.fr jussieu.fr nameserver 134.157.253.1 nameserver 134.157.0.129 Attention : Au plus 3 lignes « nameserver ». Tous les UNIX ne comprennent pas la directive « search ». c T.Besançon (version 10.0) Notes de la page 116 : Administration Unix ARS 2007–2008 Tôme 3 116 / 707 4 Domain Name Server (DNS) 4.9 Interrogation manuelle DNS : nslookup Chapitre 4 • Domain Name Server (DNS) §4.9 • Interrogation manuelle DNS : nslookup Syntaxe : nslookup [options] à-résoudre % nslookup www.playboy.com Server: sunars1.formation.jussieu.fr Address: 134.157.253.1 Non-authoritative answer: Name: www.playboy.com Address: 206.251.29.10 La machine est dans le cache du DNS parce qu’elle a déjà été résolue dans un passé récent. Cet utilitaire tombe en désuétude. c T.Besançon (version 10.0) Notes de la page 117 : Administration Unix ARS 2007–2008 Tôme 3 117 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Chapitre 4 • Domain Name Server (DNS) §4.10 • Interrogation manuelle DNS : dig C’est le remplaçant de « nslookup ». Il est très low level. Syntaxe : dig [options] à-résoudre Quelques flags utilisés : flag « QR » : Query flag « AA » : Authoritative Answer flag « TC » : TCP flag « RD » : Recursion Desired flag « RA » : Recursion Available flag « AD » : Authentic Data (DNSSEC) c T.Besançon (version 10.0) Notes de la page 118 : flag « CD » : Checking Disabled (DNSSEC) 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ID | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QDCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ANCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | NSCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ARCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Administration Unix ARS 2007–2008 Tôme 3 118 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Exemple 1 : récursivité jusqu’à la racine % dig +trace www.formation.jussieu.fr ; <<>> DiG 9.2.1 <<>> +trace www.formation.jussieu.fr ;; global options: printcmd . 3600000 IN NS K.ROOT-SERVERS.NET. . 3600000 IN NS L.ROOT-SERVERS.NET. . 3600000 IN NS M.ROOT-SERVERS.NET. . 3600000 IN NS A.ROOT-SERVERS.NET. . 3600000 IN NS B.ROOT-SERVERS.NET. . 3600000 IN NS C.ROOT-SERVERS.NET. . 3600000 IN NS D.ROOT-SERVERS.NET. . 3600000 IN NS E.ROOT-SERVERS.NET. . 3600000 IN NS F.ROOT-SERVERS.NET. . 3600000 IN NS G.ROOT-SERVERS.NET. . 3600000 IN NS H.ROOT-SERVERS.NET. . 3600000 IN NS I.ROOT-SERVERS.NET. . 3600000 IN NS J.ROOT-SERVERS.NET. ;; Received 244 bytes from 127.0.0.1#53(127.0.0.1) in 5 ms fr. fr. fr. fr. 172800 172800 172800 172800 IN IN IN IN NS NS NS NS DNS.CS.WISC.EDU. NS1.NIC.fr. NS3.NIC.fr. DNS.INRIA.fr. c T.Besançon (version 10.0) Notes de la page 119 : Administration Unix ARS 2007–2008 Tôme 3 119 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig fr. 172800 IN NS NS2.NIC.fr. fr. 172800 IN NS DNS.PRINCETON.EDU. fr. 172800 IN NS NS-EXT.VIX.COM. fr. 172800 IN NS NS3.DOMAIN-REGISTRY.NL. ;; Received 373 bytes from 193.0.14.129#53(K.ROOT-SERVERS.NET) in 273 ms jussieu.fr. jussieu.fr. jussieu.fr. ;; Received 345600 IN 345600 IN 345600 IN 166 bytes NS shiva.jussieu.fr. NS cendrillon.lptl.jussieu.fr. NS soleil.uvsq.fr. from 128.105.2.10#53(DNS.CS.WISC.EDU) in 337 ms www.formation.jussieu.fr. 172800 IN CNAME serveur.formation.jussieu.fr. serveur.formation.jussieu.fr. 172800 IN A 134.157.46.129 formation.jussieu.fr. 172800 IN NS cendrillon.lptl.jussieu.fr. formation.jussieu.fr. 172800 IN NS shiva.jussieu.fr. formation.jussieu.fr. 172800 IN NS soleil.uvsq.fr. ;; Received 204 bytes from 134.157.0.129#53(shiva.jussieu.fr) in 217 ms On voit bien le mécanisme de consultations des différents nameservers. c T.Besançon (version 10.0) Notes de la page 120 : Administration Unix ARS 2007–2008 Tôme 3 120 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Exemple 2 : consultation à la nslookup % dig www.formation.jussieu.fr ; <<>> DiG 9.2.1 <<>> www.formation.jussieu.fr ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62679 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;www.formation.jussieu.fr. IN A ;; ANSWER SECTION: www.formation.jussieu.fr. 172790 IN CNAME serveur.formation.jussieu.fr. serveur.formation.jussieu.fr. 172789 IN A 134.157.46.129 ;; AUTHORITY SECTION: formation.jussieu.fr. 172789 IN NS cendrillon.lptl.jussieu.fr. formation.jussieu.fr. 172789 IN NS shiva.jussieu.fr. formation.jussieu.fr. 172789 IN NS soleil.uvsq.fr. c T.Besançon (version 10.0) Notes de la page 121 : Administration Unix ARS 2007–2008 Tôme 3 121 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig ;; ADDITIONAL SECTION: shiva.jussieu.fr. 74075 IN A 134.157.0.129 soleil.uvsq.fr. 222426 IN A 193.51.24.1 cendrillon.lptl.jussieu.fr. 172790 IN A 134.157.8.24 ;; ;; ;; ;; Query time: 5 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Thu Aug 29 00:22:06 2002 MSG SIZE rcvd: 204 c T.Besançon (version 10.0) Notes de la page 122 : Administration Unix ARS 2007–2008 Tôme 3 122 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Exemple 3 : réponse en cas d’erreur % dig cerise ; <<>> DiG 9.2.1 <<>> cerise ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45146 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;cerise. IN A ;; AUTHORITY SECTION: . 10800 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2002082801 1800 900 604800 ;; ;; ;; ;; Query time: 206 msec SERVER: 127.0.0.1#53(127.0.0.1) WHEN: Thu Aug 29 00:22:13 2002 MSG SIZE rcvd: 98 c T.Besançon (version 10.0) Notes de la page 123 : Administration Unix ARS 2007–2008 Tôme 3 123 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Exemple 4 : précision du type du record Première fois : % dig www.crlv.org SOA ; <<>> DiG 8.2 <<>> www.crlv.org SOA ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUERY SECTION: ;; www.crlv.org, type = SOA, class = IN ;; AUTHORITY SECTION: crlv.org. ;; ;; ;; ;; 2H IN SOA ns.easynet.fr. hostmaster.easynet.fr. ( 2001020101 ; serial 1H ; refresh 30M ; retry 4W ; expiry 2H ) ; minimum Total query time: 14 msec FROM: apollinaire.paris4.sorbonne.fr to SERVER: default -- 195.220.107.3 WHEN: Thu Aug 29 15:06:22 2002 MSG SIZE sent: 30 rcvd: 90 c T.Besançon (version 10.0) Notes de la page 124 : Administration Unix ARS 2007–2008 Tôme 3 124 / 707 4 Domain Name Server (DNS) 4.10 Interrogation manuelle DNS : dig Deuxième fois : % dig www.crlv.org SOA ; <<>> DiG 8.2 <<>> www.crlv.org SOA ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUERY SECTION: ;; www.crlv.org, type = SOA, class = IN ;; AUTHORITY SECTION: crlv.org. ;; ;; ;; ;; 1h55m43s IN SOA ns.easynet.fr. 2001020101 1H 30M 4W 2H ) hostmaster.easynet.fr. ( ; serial ; refresh ; retry ; expiry ; minimum Total query time: 13 msec FROM: apollinaire.paris4.sorbonne.fr to SERVER: default -- 195.220.107.3 WHEN: Thu Aug 29 15:10:39 2002 MSG SIZE sent: 30 rcvd: 98 c T.Besançon (version 10.0) Notes de la page 125 : Administration Unix ARS 2007–2008 Tôme 3 125 / 707 4 Domain Name Server (DNS) 4.11 Record de type PTR Chapitre 4 • Domain Name Server (DNS) §4.11 • Record de type PTR On peut aussi interroger un nameserver pour résoudre des adresses : % /usr/sbin/nslookup 193.252.79.61 Server: sunars1.formation.jussieu.fr Address: 134.157.253.1 Name: www.liberation.fr Address: 193.252.79.61 A rapprocher de : % /usr/sbin/nslookup -query=ptr 61.79.252.193.in-addr.arpa Server: sunars1.formation.jussieu.fr Address: 134.157.253.1 Non-authoritative answer: 61.79.252.193.in-addr.arpa name = www.liberation.fr Authoritative answers can be found 79.252.193.in-addr.arpa nameserver 79.252.193.in-addr.arpa nameserver ns1.fth.net internet address = ns2.fth.net internet address = c T.Besançon (version 10.0) Notes de la page 126 : from: = ns1.fth.net = ns2.fth.net 193.252.251.253 193.252.69.217 Administration Unix ARS 2007–2008 Tôme 3 126 / 707 4 Domain Name Server (DNS) 4.11 Record de type PTR . arpa fr jussieu in−addr formation 134 sunars1 157 134.157.253.1 253 Assurer la coherence 1 sunars1.formation.jussieu.fr Une faute courante : oublier de mettre à jour l’entrée relative à l’adresse IP de la machine. c T.Besançon (version 10.0) Notes de la page 127 : Administration Unix ARS 2007–2008 Tôme 3 127 / 707 4 Domain Name Server (DNS) 4.12 Fichier /etc/nsswitch.conf Chapitre 4 • Domain Name Server (DNS) §4.12 • Fichier /etc/nsswitch.conf Certains systèmes UNIX permettent de spécifier quelles méthodes de résolution utiliser (DNS, « /etc/hosts », NIS) ainsi que l’ordre d’enchaînement des méthodes. Sur Linux et Solaris, cf « /etc/nsswitch.conf » : ... hosts: ... files nisplus nis dns ou ... hosts: ... xfn nisplus dns [NOTFOUND=return] files c T.Besançon (version 10.0) Notes de la page 128 : Administration Unix ARS 2007–2008 Tôme 3 128 / 707 4 Domain Name Server (DNS) 4.13 Délégation d’une partie de classe C Chapitre 4 • Domain Name Server (DNS) §4.13 • Délégation d’une partie de classe C RFC 2317 http://www.lip6.fr/pub/rfc/rfc/rfc2317.txt.gz Avis : Mécanisme astucieux mais un peu compliqué à mettre en œuvre en pratique. c T.Besançon (version 10.0) Notes de la page 129 : Administration Unix ARS 2007–2008 Tôme 3 129 / 707 4 Domain Name Server (DNS) 4.13 Délégation d’une partie de classe C WebDNS Logiciel WebDNS : http://www-crc.u-strasbg.fr/webdns/ Principe : générer les données via une vraie base de données avec toutes les possibilités fines associées (par exemple une personne peut avoir le droit SQL de modifier un et un seul record DNS dans la base SQL) Logiciel non réservé aux sous classes C. En utilisation sur le campus de Jussieu par exemple. Avis : Approche très tendance pour résoudre un problème de fond dans le principe du DNS lors de vrais déployements. Avis 2 : Nouvel exemple de couplage à une base de données. c T.Besançon (version 10.0) Notes de la page 130 : Administration Unix ARS 2007–2008 Tôme 3 130 / 707 4 Domain Name Server (DNS) 4.13 Délégation d’une partie de classe C Serveur Web (client PostgreSQL) HTTP/HTTPS Internet PostgreSQL DNS named.boot PostgreSQL Base de données fichiers de zones Serveur de données (PostgreSQL) c T.Besançon (version 10.0) Notes de la page 131 : Administration Unix Serveur DNS (client PostgreSQL) ARS 2007–2008 Tôme 3 131 / 707 4 Domain Name Server (DNS) 4.14 Nom de machine : hostname Chapitre 4 • Domain Name Server (DNS) §4.14 • Nom de machine : hostname Caractères autorisés : cf RFC 952 et RFC 1123 En résumé : lettres majuscules lettres minuscules chiffres caractère « - » http://www.lip6.fr/pub/rfc/rfc/rfc952.txt.gz http://www.lip6.fr/pub/rfc/rfc/rfc1123.txt.gz c T.Besançon (version 10.0) Notes de la page 132 : Administration Unix ARS 2007–2008 Tôme 3 132 / 707 4 Domain Name Server (DNS) 4.15 WHOIS Chapitre 4 • Domain Name Server (DNS) §4.15 • WHOIS WHOIS ≡ base de données des informations relatives à l’attribution des plages d’adresses IP et des noms de domaines. Exemple d’un protocole Internet loupé car les implémentations ne sont pas compatibles entre elles. RFC 954, port TCP 43 Protocole exploitable par la commande « whois ». Syntaxe : « whois [ -h server-whois ] adresse-ou-domaine » c T.Besançon (version 10.0) Notes de la page 133 : Administration Unix ARS 2007–2008 Tôme 3 133 / 707 4 Domain Name Server (DNS) 4.15 WHOIS Quelques serveurs WHOIS : rs.internic.net whois.nic.fr ou via un interface WWW : http://www.afnic.asso.fr/cgi-bin/whois whois.ripe.net c T.Besançon (version 10.0) Notes de la page 134 : Administration Unix ARS 2007–2008 Tôme 3 134 / 707 4.16 (Windows : : ipconfig /displaydns, ipconfig 4 Domain Name Server (DNS) /flushdns) Chapitre 4 • Domain Name Server (DNS) §4.16 • (Windows : : ipconfig /displaydns, ipconfig /flushdns) Une machine WINDOWS utilise un cache interne pour les requêtes DNS. On peut afficher le cache interne par la commande « ipconfig /displaydns ». On peut purger le cache interne par la commande « ipconfig /flushdns ». c T.Besançon (version 10.0) Notes de la page 135 : Administration Unix ARS 2007–2008 Tôme 3 135 / 707 4 Domain Name Server (DNS) 4.17 Espace de confiance Chapitre 4 • Domain Name Server (DNS) §4.17 • Espace de confiance c T.Besançon (version 10.0) Notes de la page 136 : Administration Unix ARS 2007–2008 Tôme 3 136 / 707 4 Domain Name Server (DNS) 4.18 Un peu de documentation Chapitre 4 • Domain Name Server (DNS) §4.18 • Un peu de documentation cours réseau ARS Cf http://www.isc.org/ et ftp://ftp.isc.org/isc/bind/ Cf http://www.cri.fr/ZoneCheck/ Cf http://www.univ-rennes1.fr/DNSRENATER/ Cf ftp://ftp.univ-rennes1.fr/pub/reseau/dns/exemple/ RFC 2317 «Classless IN-ADDR.ARPA delegation» http://www.uninett.no/navn/domreg.html ftp://ftp.jussieu.fr/jussieu/doc/local/dnsmail.ps.Z http://www.cri.ensmp.fr/people/keryell/cours DNS and BIND, 4th Edition, By Paul Albitz & Cricket Liu, 4th Edition April 2001, O’Reilly & Associates, Inc. 622 pages, $44.95 c T.Besançon (version 10.0) Notes de la page 137 : Administration Unix ARS 2007–2008 Tôme 3 137 / 707 5 SSH Chapitre 5 SSH c T.Besançon (version 10.0) Notes de la page 138 : Administration Unix ARS 2007–2008 Tôme 3 138 / 707 5 SSH 5.1 Introduction Chapitre 5 • SSH §5.1 • Introduction Voir cours de Frédérique BONGAT. c T.Besançon (version 10.0) Notes de la page 139 : Administration Unix ARS 2007–2008 Tôme 3 139 / 707 6 Courrier électronique Chapitre 6 Courrier électronique c T.Besançon (version 10.0) Notes de la page 140 : Administration Unix ARS 2007–2008 Tôme 3 140 / 707 6 Courrier électronique 6.1 Composantes du système du courrier électronique Chapitre 6 • Courrier électronique §6.1 • Composantes du système du courrier électronique C’est un système complexe dont la complexité croît sans cesse. Il a de fortes interactions avec Internet, avec les Intranets. De nombreuses implémentations sont disponibles (X400, SMTP, Microsoft Exchange, etc.). Le système est modulaire, son bon fonctionnement reposant sur des descriptions publiquement disponibles des détails des différents protocoles. c T.Besançon (version 10.0) Notes de la page 141 : Administration Unix ARS 2007–2008 Tôme 3 141 / 707 6 Courrier électronique 6.1 Composantes du système du courrier électronique Réseau Destinataire du courrier non local Transmission au facteur local Courriers à destination d’un utilisateur local MTA MDA Distribution personnalisée Emission d’un courrier Boîte aux lettres Consultation des courriers MUA c T.Besançon (version 10.0) Notes de la page 142 : Administration Unix ARS 2007–2008 Tôme 3 142 / 707 6 Courrier électronique 6.1 Composantes du système du courrier électronique Terminologie : MTA (Mail Transfer Agent — agent de routage) En fonction de l’adresse de destination, il passe le message à un certain agent de transport. Plusieurs MTA existent : Sendmail, Postfix MDA (Mail Delivery Agent — agent de transport) Il reçoit un message, une destination et se charge de l’acheminement. Il est spécialisé dans un type d’acheminement. (synonyme mailer ) MUA (Mail User Agent — agent utilisateur) Il sert à la composition des messages qu’il envoie à l’agent de routage. c T.Besançon (version 10.0) Notes de la page 143 : Administration Unix ARS 2007–2008 Tôme 3 143 / 707 6 Courrier électronique 6.1 Composantes du système du courrier électronique • Normes utilisées : RFC 822, description du format des messages RFC 821, description du protocole SMTP (Simple Mail Transfer Protocol) RFC 974, description de l’interaction d’un MTA avec le DNS RFC 1035 RFC 1123 Attention : documents techniques hermétiques à la lecture compliquée Cf « ftp://ftp.lip6.fr/pub/rfc/rfc/ » • Les problèmes de mail sont à adresser à « postmaster ». Les MTA font l’hypothèse que cette adresse existe. Cette adresse doit être lue par un humain. c T.Besançon (version 10.0) Notes de la page 144 : Administration Unix ARS 2007–2008 Tôme 3 144 / 707 6 Courrier électronique 6.2 Sendmail Chapitre 6 • Courrier électronique §6.2 • Sendmail SENDMAIL : Conçu en 1982, par Eric Allman (<[email protected]>) Site officiel « http://www.sendmail.org/ » Principal logiciel pour router les courriers des systèmes UNIX répandus Souple, puissant Sait s’adapter aux nouveaux standards (aspects multimedia) Syntaxe difficile Outils annexes simplifiant la configuration : par exemple kit jussieu « ftp://ftp.jussieu.fr/jussieu/sendmail/kit/kit-5.3.4.tar.Z « ftp://ftp.jussieu.fr/jussieu/sendmail/kit/doc-kit-5.3.4.p c T.Besançon (version 10.0) Notes de la page 145 : Administration Unix ARS 2007–2008 Tôme 3 145 / 707 6 Courrier électronique 6.3 Sendmail plugins : MILTER Chapitre 6 • Courrier électronique §6.3 • Sendmail plugins : MILTER SENDMAIL s’occupe de router les mails. Donc : hors de question de compliquer le code par un antivirus hors de question de compliquer le code par un antispam hors de question de compliquer le code par. . . Bref, hors de question de compliquer le code par n’importe quoi qui n’a pas de rapport avec le routage de mails. Par contre, possibilité d’interfacer SENDMAIL à des fonctionnalités externalisées grâce à l’API « MILTER » fourni par les développeurs de SENDMAIL. Cf http://www.milter.org/ pour de la documentation ou des plugins. c T.Besançon (version 10.0) Notes de la page 146 : Administration Unix ARS 2007–2008 Tôme 3 146 / 707 6 Courrier électronique 6.3 Sendmail plugins : MILTER MILTER = communication entre SENDMAIL et des programmes externes via des sockets UNIX. c T.Besançon (version 10.0) Notes de la page 147 : Administration Unix ARS 2007–2008 Tôme 3 147 / 707 ocal 6 Courrier électronique 6.4 Postfix Chapitre 6 • Courrier électronique §6.4 • Postfix « http://www.postfix.org » Futur successeur de SENDMAIL certainement dans quelques années. Une réflexion sur SENDMAIL a conduit à écrire postfix sous une forme non monolithique. Plusieurs démons vont s’occuper chacun d’une tâche bien précise et n’utilisent pour cela que le minimum de privilèges système limitant le risque de piratage : rewrite "sendmail" maildrop pickup Internet smtpd RBL access cleanup canonical c T.Besançon (version 10.0) Notes de la page 148 : incoming active virtual deferred Administration Unix transport aliases .forward resolve local mailbox qmgr smtp Internet relocated pipe UUCP, etc ARS 2007–2008 Tôme 3 148 / 707 6 Courrier électronique 6.4 Postfix Le fichier de configuration est une succession d’affectation de valeurs à des variables. Approche radicalement différente de celle de SENDMAIL plus proche d’une programmation de la configuration. Approche de postfix identique à celle du kit jussieu pour SENDMAIL (ou vice versa). Possibilité de modifier on the fly le comportement de postfix. Par exemple à l’établissement d’une connexion PPP ou lors de sa cloture, on peut depuis le script PPP dire à postfix d’échanger les mails maintenant avec l’extérieur. Avec SENDMAIL, il faudrait arrêter SENDMAIL, mettre en place une nouvelle configuration « sendmail.cf », relancer SENDMAIL, ensemble de manœuvres lourdes. c T.Besançon (version 10.0) Notes de la page 149 : Administration Unix ARS 2007–2008 Tôme 3 149 / 707 6 Courrier électronique 6.5 Postfix plugins Chapitre 6 • Courrier électronique §6.5 • Postfix plugins Il existe un mécanisme à MILTER de SENDMAIL dans POSTFIX. Utilisation de sockets UNIX aussi. c T.Besançon (version 10.0) Notes de la page 150 : Administration Unix ARS 2007–2008 Tôme 3 150 / 707 6 Courrier électronique 6.6 Boites aux lettres : folders Chapitre 6 • Courrier électronique §6.6 • Boites aux lettres : folders Deux formats classiques de folders sous UNIX : folder MBOX c T.Besançon (version 10.0) Notes de la page 151 : folder MAILDIR Administration Unix ARS 2007–2008 Tôme 3 151 / 707 6 Courrier électronique 6.7 Boites aux lettres : folder MBOX Chapitre 6 • Courrier électronique §6.7 • Boites aux lettres : folder MBOX Un fichier stocke tous les mails reçus du MDA et manipulés par les MUA : Classiquement « /var/mail/$USERNAME ». ⇒ Problèmes de verrouillage du fichier lors des lectures/écritures, de manipulation de grosses boites aux lettres, etc. c T.Besançon (version 10.0) Notes de la page 152 : Administration Unix ARS 2007–2008 Tôme 3 152 / 707 6 Courrier électronique 6.7 Boites aux lettres : folder MBOX Structure d’un mail : From [email protected] Mon Nov 19 21:27:41 2001 Return-Path: <[email protected]> Received: from localhost (localhost [127.0.0.1]) by apollinaire.paris4.sorbonne.fr (8.11.6/8.11.6) with ESMTP id fAJKRfY03543 for <Thierry.Besancon@localhost>; Mon, 19 Nov 2001 21:27:41 +0100 (MET) Received: from sorbon.sorbonne.fr [195.220.107.3] by localhost with POP3 (fetchmail-5.9.4) for Thierry.Besancon@localhost (single-drop); Mon, 19 Nov 2001 21:27:41+0100 Received: from neodata.com ([206.27.153.2]) by sorbon.sorbonne.fr (8.11.0/jtpda-5.3.3) with ESMTP id fAJKQnO06486 for <[email protected]>; Mon, 19 Nov 2001 21:26:50+0100 ( Received: from bennett (bennett.neo.comm.eds.com [192.85.230.134]) by neodata.com (8.10.2+Sun/8.9.1) with ESMTP id fAJKRBK17328; Mon, 19 Nov 2001 13:27:11 -0700 (MST) Received: by bennett (8.8.8+Sun/SMI-SVR4) id NAA14733; Mon, 19 Nov 2001 13:26:57 -0700 (MST) Date: Mon, 19 Nov 2001 13:26:57 -0700 (MST) From: [email protected] X-Gnus-Mail-Source: directory:~/Mail/incoming/ Message-Id: <200111192026.NAA14733@bennett> To: [email protected] Subject: NEW ORDER Suite sur transparent suivant c T.Besançon (version 10.0) Notes de la page 153 : Administration Unix ARS 2007–2008 Tôme 3 153 / 707 6 Courrier électronique 6.7 Boites aux lettres : folder MBOX Structure d’un mail (suite) : X-AntiVirus: scanned for viruses by AMaViS 0.2.1 (http://amavis.org/) X-UIDL: Tjg!!<n*"!6i+"!J@O!! Status: RO X-Content-Length: 299 SYS ADMIN appreciates your inquiry and welcomes the opportunity to serve your needs. En résumé : une ligne commencant par « From » (attention à l’espace suivant le From) autres entêtes une ligne blanche marquant la fin des entêtes et le début du corps du mail corps du mail une ligne blanche après le corps du mail c T.Besançon (version 10.0) Notes de la page 154 : Administration Unix ARS 2007–2008 Tôme 3 154 / 707 6 Courrier électronique 6.7 Boites aux lettres : folder MBOX Structure d’un mail (suite) : Attention : si le corps du message contient une ligne commencant par « From », la ligne est transformée en « >From ». Pourquoi ? c T.Besançon (version 10.0) Notes de la page 155 : Administration Unix ARS 2007–2008 Tôme 3 155 / 707 6 Courrier électronique 6.7 Boites aux lettres : folder MBOX Le format folder MBOX est manipulable par plusieurs MUA. Le MUA le plus simple pour cela est la commande « Mail » (ou « mail » ou « mailx »). % Mail "/var/mail/besancon": 4 messages 4 new >N 1 [email protected] Thu Aug 24 01:45 32/1175 N 2 [email protected] Fri Aug 25 01:45 32/1175 N 3 [email protected] Sat Aug 26 01:45 32/1175 N 4 [email protected] Mon Aug 28 00:27 44/1624 ---> 4 From [email protected] Mon Aug 28 00:27:00 2006 Date: Mon, 28 Aug 2006 00:24:59 +0200 (MEST) To: [email protected] Subject: Account details for besancon at drupal MIME-Version: 1.0 Content-transfer-encoding: 8Bit From: [email protected] Output from "cron" comm Output from "cron" comm Output from "cron" comm Account details for bes besancon, Thank you for registering at drupal. You may now log in to http://drupal.imj c T.Besançon (version 10.0) username: besancon password: urM87U9eFi Notes de la page 156 : Administration Unix ARS 2007–2008 Tôme 3 156 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR Chapitre 6 • Courrier électronique §6.8 • Boites aux lettres : folder MAILDIR Un fichier stocke un seul mail. ⇒ Plus de problème de verrouillage du fichier lors des lectures/écritures. http://www.courier-mta.org/mbox-vs-maildir/ c T.Besançon (version 10.0) Notes de la page 157 : Administration Unix ARS 2007–2008 Tôme 3 157 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR En résumé : une ligne commencant par « From » (attention à l’espace suivant le From) autres entêtes une ligne blanche marquant la fin des entêtes et le début du corps du mail corps du mail Attention : si le corps du message contient une ligne commencant par « From », la ligne n’est pas transformée. Pourquoi ? pas de ligne blanche après le corps du mail. Pourquoi ? c T.Besançon (version 10.0) Notes de la page 158 : Administration Unix ARS 2007–2008 Tôme 3 158 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR Comment stocker les mails au format MAILDIR ? ⇒ La structure d’un folder MAILDIR appelé « FOLDER » implique plusieurs répertoires : « FOLDER/new » « FOLDER/cur » (cur pour current) « FOLDER/tmp » Le MDA place un nouveau mail d’abord par le répertoire « FOLDER/tmp » temporairement le temps de calculer un nom de fichier unique. Le nouveau mail est ensuite placé dans le répertoire « FOLDER/new » par le MDA. La lecture d’un mail entraine son déplacement de « FOLDER/new » vers « FOLDER/cur » avec ajout d’un suffixe indiquant les opérations faites par le MUA sur le mail. c T.Besançon (version 10.0) Notes de la page 159 : Administration Unix ARS 2007–2008 Tôme 3 159 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR Le nom du fichier stockant un mail doit être unique et en général a le format « time.pid.host ». Voir : http://www.qmail.org/man/man5/maildir.html http://cr.yp.to/proto/maildir.html Par exemple : 1185708514.M707068P58898V0700FF01I06974E18_1.mail. .example.com,S=989 :2,S avec : 1185708514 = temps depuis l’origine en secondes ; ctime(1185708514) = Sun Jul 29 13:28:34 2007 M707068 = compteur en microsecondes de « gettimeofday() » P58898 = process ID du MDA V0700FF01 = UNIX device number I06974E18 = UNIX inode number mail.example.com = nom de la machine UNIX du MDA S=989 = taille du mail en octets 1185188613.000035.mbox:2,RS ; ici c’est le résultat d’une conversion par le programme MB2MD c T.Besançon (version 10.0) Notes de la page 160 : Administration Unix ARS 2007–2008 Tôme 3 160 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR Après manipulation par le MUA, on ajoute un suffixe « :2,flags » avec flag : flag « P » (Passed) = mail resent/forwarded/bounced flag « R » (Replied) = mail répondu flag « S » (Seen) = mail lu flag « T » (Trashed) = mail mis à la poubelle flag « D » (Draft) = mail brouillon flag « F » (Flagged) = mail taggé pour usage ultérieur Par exemple : 1185708514.M707068P58898V0700FF01I06974E18_1.mail. example.com,S=989 :2,S 1185188613.000035.mbox :2,RS c T.Besançon (version 10.0) Notes de la page 161 : Administration Unix ARS 2007–2008 Tôme 3 161 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR Possibilité de folders MAILDIR imbriqués. Par exemple : ce qui donnera sous UNIX les répertoires « .system.sa-blacklist/ », « .system.sa-false-negative/ », « .system.sa-false-positive/ », « .system.sa-whitelist/ » (avec les classiques sous-répertoires « cur », « new » et « tmp ») c T.Besançon (version 10.0) Notes de la page 162 : Administration Unix ARS 2007–2008 Tôme 3 162 / 707 6 Courrier électronique 6.8 Boites aux lettres : folder MAILDIR On peut convertir un folder MBOX vers un folder MAILDIR : http://batleth.sapeinti-sat.org/projects/mb2md.html c T.Besançon (version 10.0) Notes de la page 163 : Administration Unix ARS 2007–2008 Tôme 3 163 / 707 6 Courrier électronique 6.9 Protocole de consultation : POP Chapitre 6 • Courrier électronique §6.9 • Protocole de consultation : POP SMTP Serveur de mails POP download des mails Client POP Mail folders c T.Besançon (version 10.0) Notes de la page 164 : Administration Unix ARS 2007–2008 Tôme 3 164 / 707 6 Courrier électronique 6.9 Protocole de consultation : POP POP ≡ Post Office Protocol ; RFC ? ? ? Port POP : 110 Port POP + SSL : 995 c T.Besançon (version 10.0) Notes de la page 165 : Administration Unix ARS 2007–2008 Tôme 3 165 / 707 6 Courrier électronique 6.10 Protocole de consultation : IMAP Chapitre 6 • Courrier électronique §6.10 • Protocole de consultation : IMAP SMTP Serveur de mails IMAP Mail folders download des entetes des mails download des corps des mails sur demande Client IMAP c T.Besançon (version 10.0) Notes de la page 166 : Administration Unix ARS 2007–2008 Tôme 3 166 / 707 6 Courrier électronique 6.10 Protocole de consultation : IMAP RFC 2060 (protocole IMAP4rev1), RFC 2086 (ACL, extension de IMAP4), RFC 2087 (quota, extension de IMAP4) Port IMAP : 143 Port IMAP + SSL : 993 c T.Besançon (version 10.0) Notes de la page 167 : Administration Unix ARS 2007–2008 Tôme 3 167 / 707 6 Courrier électronique 6.11 Comparaison de session POP et IMAP xxx Chapitre 6 • Courrier électronique §6.11 • Comparaison de session POP et IMAP xxx Comparatif de session POP et IMAP : (extrait de http://cri.univ-lyon2.fr/doc/ImapMaisCEstTresSimple.html) % telnet pop.example.com 110 +OK POP3 server ready USER pdupont +OK Name is a valid mailbox PASS XXXXXXXX +OK Maildrop locked and ready LIST +OK scan listing follows 1 169 2 811 3 813 c T.Besançon (version 10.0) Notes de la page 168 : % * . . telnet imap.example.com 143 OK IMAP4 server ready LOGIN pdupont XXXXXXXX OK User logged in . * * * * * * . . * * * . SELECT INBOX FLAGS (Answered Flagged Draft Deleted Seen) OK [PERMANENTFLAGS (Answered Flagged Draft 3 EXISTS 3 RECENT OK [UNSEEN 1] OK [UIDVALIDITY 901006906] OK [READ-WRITE] Completed UID FETCH 1:* RFC822.SIZE 1 FETCH (UID 1425 RFC822.SIZE 169) 2 FETCH (UID 1426 RFC822.SIZE 811) 3 FETCH (UID 1427 RFC822.SIZE 813) OK Completed Administration Unix ARS 2007–2008 Tôme 3 168 / 707 6 Courrier électronique 6.11 Comparaison de session POP et IMAP xxx RETR 1 +OK Message follows Return-Path: <[email protected]> From: [email protected] To: [email protected] Subject: essai chien chapeau . UID FETCH 1425 BODY[] * 1 FETCH (FLAGS (Recent Seen) UID 1425 BODY[ Return-Path: <[email protected]> From: [email protected] To: [email protected] Subject: essai chien chapeau essai chien chapeau . essai chien chapeau . OK Completed DELE 1 +OK message deleted QUIT +OK Connection closed by foreign host. c T.Besançon (version 10.0) Notes de la page 169 : . UID STORE 1425 +FLAGS (Deleted) * 1 FETCH (FLAGS (Recent Deleted Seen) UID 14 . OK Completed . EXPUNGE * 1 EXPUNGE * 2 EXISTS * 2 RECENT . OK Completed . LOGOUT * BYE LOGOUT received . OK Completed Connection closed by foreign host. Administration Unix ARS 2007–2008 Tôme 3 169 / 707 6 Courrier électronique 6.12 Antivirus Chapitre 6 • Courrier électronique §6.12 • Antivirus Plusieurs antivirus sont disponibles sous UNIX : CLAMAV (gratuit) ; http://www.clamav.org SOPHOS (commercial) ; http://www.sophos.com nombreux autres logiciels commerciaux c T.Besançon (version 10.0) Notes de la page 170 : Administration Unix ARS 2007–2008 Tôme 3 170 / 707 6 Courrier électronique 6.13 Antispam Chapitre 6 • Courrier électronique §6.13 • Antispam Plusieurs antispam sont disponibles sous UNIX : BOGOFILTER (gratuit) ; http://bogofilter.sourceforge.net DSPAM (gratuit) ; http://dspam.nuclearelephant.com SPAMASSASSIN (gratuit) ; http://www.spamassassin.org AMAVIS (gratuit) ; http://www.amavis.org nombreux autres logiciels commerciaux c T.Besançon (version 10.0) Notes de la page 171 : Administration Unix ARS 2007–2008 Tôme 3 171 / 707 6 Courrier électronique 6.13 Antispam Humour : c T.Besançon (version 10.0) Notes de la page 172 : Administration Unix ARS 2007–2008 Tôme 3 172 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd Chapitre 7 Gestionnaires de services réseau : inetd, tcpd, xinetd c T.Besançon (version 10.0) Notes de la page 173 : Administration Unix ARS 2007–2008 Tôme 3 173 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.1 Rappel sur les connexions IP Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.1 • Rappel sur les connexions IP Rappel : Une connexion IP est constituée de plusieurs éléments : une adresse IP source un numéro de port source sur la machine de départ une adresse IP de destination un numéro de port sur la machine de destination protocole TCP ou UDP Attention : Sur UNIX, la fonction C obtenant un port source < 1024 ne fonctionne que pour l’UID 0. Sur Windows, la fonction C obtenant un port source < 1024 fonctionne quel que soit l’UID c T.Besançon (version 10.0) Notes de la page 174 : Administration Unix ARS 2007–2008 Tôme 3 174 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.2 Fichier /etc/services Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.2 • Fichier /etc/services Le fichier « /etc/services » mentionne des triplets (numéro de port, protocole, nom du service). Le fichier « /etc/services » sert à convertir un port numérique en un nom symbolique plus parlant. Voir les fonctions C « getservbyname() », « getservbyport() », « getservent() ». ATTENTION : Le fichier « /etc/services » n’indique pas les services réseau activés sur la machine. c T.Besançon (version 10.0) Notes de la page 175 : Administration Unix ARS 2007–2008 Tôme 3 175 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.2 Fichier /etc/services On peut obtenir un triplet officiellement pour un programme à soi auprès de l’IANA « http://www.iana.org/assignments/port-numbers » En pratique il y a 3 catégories de triplets : Les Well Known Ports sont ceux de 0 à 1023 Les Registered Ports sont ceux de 1024 à 49151 Les Dynamic and/or Private Ports sont ceux de 49152 à 65535 c T.Besançon (version 10.0) Notes de la page 176 : Administration Unix ARS 2007–2008 Tôme 3 176 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.2 Fichier /etc/services Extrait d’un fichier « /etc/services » : ... chargen chargen ftp-data ftp-data ftp ftp ssh ssh telnet telnet smtp smtp ... 19/tcp 19/udp 20/tcp 20/udp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 23/udp 25/tcp 25/udp c T.Besançon (version 10.0) Notes de la page 177 : ttytst source #Character Generator ttytst source #Character Generator #File Transfer [Default Data] #File Transfer [Default Data] #File Transfer [Control] #File Transfer [Control] #Secure Shell Login #Secure Shell Login mail mail #Simple Mail Transfer #Simple Mail Transfer Administration Unix ARS 2007–2008 Tôme 3 177 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.3 Commandes netstat -a, netstat -an Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.3 • Commandes netstat -a, netstat -an La commande « netstat -a » affiche la liste des ports ouverts sur une machine. Les noms affichés proviennent de « /etc/services » : % netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address tcp4 0 0 *.ssh *.* tcp46 0 0 *.ssh *.* udp4 0 0 *.syslog *.* udp6 0 0 *.syslog *.* udp4 0 0 *.bootpc *.* Active UNIX domain sockets ... c T.Besançon (version 10.0) Notes de la page 178 : Administration Unix ARS 2007–2008 Tôme 3 (state) LISTEN LISTEN 178 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.3 Commandes netstat -a, netstat -an La commande « netstat -an » affiche la liste des ports ouverts sur une machine sans les traduire en noms via « /etc/services ». Ils sont affichés sous forme numérique : % netstat -an Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address tcp4 0 0 *.22 *.* tcp46 0 0 *.22 *.* udp4 0 0 *.514 *.* udp6 0 0 *.514 *.* udp4 0 0 *.68 *.* Active UNIX domain sockets ... c T.Besançon (version 10.0) Notes de la page 179 : Administration Unix ARS 2007–2008 Tôme 3 (state) LISTEN LISTEN 179 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.4 Gestionnaires de services réseau Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.4 • Gestionnaires de services réseau Une machine UNIX offre de nombreux services accessibles par le réseau. Souvent les services réseau contactés durent peu de temps : inutile de les faire tourner en permanence (consommation de ressources) on va les activer uniquement suite à une requête On utilise alors un « gestionnaire de services » pour écouter les requêtes pour certains services réseau et lancer ces services. Plus particulièrement, le gestionnaire de services assure : l’attente de connexions réseau sur certains ports le lancement des services contactés le comportement adapté au lancement de ces services c T.Besançon (version 10.0) Notes de la page 180 : Administration Unix ARS 2007–2008 Tôme 3 180 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.4 Gestionnaires de services réseau Il existe plusieurs gestionnaires de services : programme INETD programme XINETD Autre programme TCPD : ce n’est pas un gestionnaire de services c’est un contrôleur de services c T.Besançon (version 10.0) Notes de la page 181 : Administration Unix ARS 2007–2008 Tôme 3 181 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.5 Gestionnaire de services réseau : INETD Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.5 • Gestionnaire de services réseau : INETD Etape 1 host1.example.com host2.example.com client inetd réseau c T.Besançon (version 10.0) Notes de la page 182 : Administration Unix ARS 2007–2008 Tôme 3 182 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.5 Gestionnaire de services réseau : INETD Etape 2 host1.example.com host2.example.com fork() exec() client inetd serveur réseau c T.Besançon (version 10.0) Notes de la page 183 : Administration Unix ARS 2007–2008 Tôme 3 183 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.5 Gestionnaire de services réseau : INETD Etape 3 host1.example.com host2.example.com client inetd serveur réseau c T.Besançon (version 10.0) Notes de la page 184 : Administration Unix ARS 2007–2008 Tôme 3 184 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.6 INETD : fichier de configuration /etc/inetd.conf Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.6 • INETD : fichier de configuration /etc/inetd.conf Spécifique au gestionnaire de services « inetd ». Son format est le suivant : # Syntax for socket-based Internet services: # service_name socket_type proto flags user server_pathname args Par exemple : ... ftp telnet ... stream stream tcp tcp c T.Besançon (version 10.0) Notes de la page 185 : nowait nowait root root /usr/sbin/in.ftpd /usr/sbin/in.telnetd Administration Unix in.ftpd in.telnetd ARS 2007–2008 Tôme 3 185 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.6 INETD : fichier de configuration /etc/inetd.conf La signification des champs est la suivante : champ 1 : « service_name » C’est le nom symbolique d’un service (cf « /etc/services »). champ 2 : « socket_type » C’est le type du socket réseau. C’est essentiellement « stream », « dgram ». champ 3 : « proto » C’est le protocole réseau utilisé : « tcp », « udp » champ 4 : « flags » Cela indique si l’on peut répondre à une requête du même type alors que la première n’est pas terminée. On peut avoir : « wait », « nowait » champ 5 : « user » Nom de l’utilisateur sous lequel le programme tournera. champ 6 : « server_pathname » C’est le chemin absolu du programme à exécuter. champ 7 : « args » Ce sont les paramètres à donner lors du « execv() ». c T.Besançon (version 10.0) Notes de la page 186 : Administration Unix ARS 2007–2008 Tôme 3 186 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.6 INETD : fichier de configuration /etc/inetd.conf Par exemple : ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l donnera execv("/usr/sbin/in.ftpd", "in.ftpd", "-l", 0); c T.Besançon (version 10.0) Notes de la page 187 : Administration Unix ARS 2007–2008 Tôme 3 187 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.7 INETD : reconfiguration via SIGHUP Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.7 • INETD : reconfiguration via SIGHUP Inetd est lancé par les scripts de démarrage. Si l’on modifie le fichier « /etc/inetd.conf », la modification est prise en compte en envoyant le signal « SIGHUP » au processus inetd : # ps -ax | grep inetd 173 ? IW 2 0:00 inetd 19544 p2 S 2 0:00 grep inetd # kill -HUP 173 c T.Besançon (version 10.0) Notes de la page 188 : Administration Unix ARS 2007–2008 Tôme 3 188 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.8 INETD : problèmes Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.8 • INETD : problèmes INETD fonctionne très bien en pratique. Il a un seul gros défaut : il ne gère aucun aspect de sécurité. On aimerait au moins : pouvoir filtrer l’accès à certains services avoir des traces d’activation de certains services Un remède : emploi du logiciel TCP WRAPPERS http://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz http://ftp.porcupine.org/pub/security/tcp_wrappers_7.6-ipv6.1.tar.gz c T.Besançon (version 10.0) Notes de la page 189 : Administration Unix ARS 2007–2008 Tôme 3 189 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.9 Gestionnaire de services réseau : TCP WRAPPERS Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.9 • Gestionnaire de services réseau : TCP WRAPPERS L’idée de TCP WRAPPERS : on va s’intercaler dans la chaîne de INETD. host1.example.com host2.example.com client inetd réseau c T.Besançon (version 10.0) Notes de la page 190 : Administration Unix ARS 2007–2008 Tôme 3 190 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd host1.example.com 7.9 Gestionnaire de services réseau : TCP WRAPPERS host2.example.com fork() exec() client inetd tcpd réseau c T.Besançon (version 10.0) Notes de la page 191 : Administration Unix ARS 2007–2008 Tôme 3 191 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd host1.example.com 7.9 Gestionnaire de services réseau : TCP WRAPPERS host2.example.com client inetd tcpd réseau c T.Besançon (version 10.0) Notes de la page 192 : Administration Unix ARS 2007–2008 Tôme 3 192 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd host1.example.com 7.9 Gestionnaire de services réseau : TCP WRAPPERS host2.example.com fork() exec() client inetd tcpd serveur réseau c T.Besançon (version 10.0) Notes de la page 193 : Administration Unix ARS 2007–2008 Tôme 3 193 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd host1.example.com 7.9 Gestionnaire de services réseau : TCP WRAPPERS host2.example.com client inetd tcpd serveur réseau c T.Besançon (version 10.0) Notes de la page 194 : Administration Unix ARS 2007–2008 Tôme 3 194 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd host1.example.com 7.9 Gestionnaire de services réseau : TCP WRAPPERS host2.example.com client inetd serveur réseau c T.Besançon (version 10.0) Notes de la page 195 : Administration Unix ARS 2007–2008 Tôme 3 195 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.9 Gestionnaire de services réseau : TCP WRAPPERS La librairie des TCP WRAPPERS est maintenant intégrée à beaucoup de produits (même sous WINDOWS...). c T.Besançon (version 10.0) Notes de la page 196 : Administration Unix ARS 2007–2008 Tôme 3 196 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.10 TCP WRAPPERS : modifications de /etc/inetd.conf Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.10 • TCP WRAPPERS : modifications de /etc/inetd.conf S’intercaler dans la chaîne de INETD nécessite de modifier le fichier « /etc/inetd.conf » Par exemple on passe de : ftp telnet shell login stream stream stream stream tcp tcp tcp tcp nowait nowait nowait nowait root root root root /usr/etc/in.ftpd /usr/etc/in.telnetd /usr/etc/in.rshd /usr/etc/in.rlogind in.ftpd -l in.telnetd in.rshd in.rlogind stream stream stream stream tcp tcp tcp tcp nowait nowait nowait nowait root root root root /chemin/vers/tcpd /chemin/vers/tcpd /chemin/vers/tcpd /chemin/vers/tcpd in.ftpd -l in.telnetd in.rshd in.rlogind à ftp telnet shell login c T.Besançon (version 10.0) Notes de la page 197 : Administration Unix ARS 2007–2008 Tôme 3 197 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.10 TCP WRAPPERS : modifications de /etc/inetd.conf Rappel sur l’interprétation d’une ligne de « inetd.conf » : Par exemple : ftp stream tcp nowait root /chemin/vers/tcpd in.ftpd -l donnera execv("/chemin/vers/tcpd", "in.ftpd", "-l", 0); c T.Besançon (version 10.0) Notes de la page 198 : Administration Unix ARS 2007–2008 Tôme 3 198 / 707 7.11 TCP WRAPPERS : contrôle d’accès, /etc/hosts.allow, 7 Gestionnaires de services réseau : inetd, tcpd, xinetd /etc/hosts.deny Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.11 • TCP WRAPPERS : contrôle d’accès, /etc/hosts.allow, /etc/hosts.deny Le principe du contrôle d’accès des TCP WRAPPERS : 1 On vérifie d’abord si la requête TCP est autorisée par le contenu de « /etc/hosts.allow ». Si oui, OK. Si non, on passe à l’étape 2. 2 On vérifie si la requête TCP est interdite par le contenu de « /etc/hosts.deny ». Si oui, la requête est rejetée. Si non, on passe à l’étape 3. 3 On accepte la requête TCP. c T.Besançon (version 10.0) Notes de la page 199 : Administration Unix ARS 2007–2008 Tôme 3 199 / 707 7.11 TCP WRAPPERS : contrôle d’accès, /etc/hosts.allow, 7 Gestionnaires de services réseau : inetd, tcpd, xinetd /etc/hosts.deny Au niveau des fichiers « hosts.allow » et « hosts.deny », on peut appliquer des règles de filtrage par service servi. Voici un exemple de politique de connexion : au niveau du fichier « /etc/hosts.allow » : in.telnetd: in.rlogind: in.rshd: .fr, 193.95.32. .fr, 193.95.32. .fr au niveau du fichier « /etc/hosts.deny » : in.telnetd: in.rlogind: in.rshd: ALL ALL ALL En français intelligible, ces fichiers indiquent que les connexions telnet, rlogin, rsh ne sont autorisées que depuis des machines du domaine français « .fr » et depuis un domaine de Tunisie (réseau d’adresse 193.95.32.). c T.Besançon (version 10.0) Notes de la page 200 : Administration Unix ARS 2007–2008 Tôme 3 200 / 707 7.11 TCP WRAPPERS : contrôle d’accès, /etc/hosts.allow, 7 Gestionnaires de services réseau : inetd, tcpd, xinetd /etc/hosts.deny ATTENTION : quand on interdit une machine, il faut l’interdire via son nom FQDN et via son adresse IP (pour le cas où un nameserver serait injoignable on peut ainsi bloquer quand même la machine). c T.Besançon (version 10.0) Notes de la page 201 : Administration Unix ARS 2007–2008 Tôme 3 201 / 707 7.11 TCP WRAPPERS : contrôle d’accès, /etc/hosts.allow, 7 Gestionnaires de services réseau : inetd, tcpd, xinetd /etc/hosts.deny ATTENTION : Ce n’est par parce que l’on active tcpd que l’on a résolu tous les problèmes de sécurité et que l’on est tranquille ! Il ne faut pas oublier que plein d’autres services ne passent pas par l’intermédiaire de inetd.conf Il faut surveiller les traces de fonctionnement renvoyées par tcpd. Il faut renseigner les fichiers hosts.allow et /etc/hosts.deny. Il faut des démons sans trou de sécurité. c T.Besançon (version 10.0) Notes de la page 202 : Administration Unix ARS 2007–2008 Tôme 3 202 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.12 TCP WRAPPERS : programmation via libwrap.a Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.12 • TCP WRAPPERS : programmation via libwrap.a Les TCP WRAPPERS offrent aussi leur librairie de programmation : « libwrap.a » et « tcpd.h » Généralement installée en « /usr/local/lib/libwrap.a » et « /usr/local/include/tcpd.h » La librairie apporte la fonction C « host_access() » On linkera avec cette librairie quand c’est nécessaire. c T.Besançon (version 10.0) Notes de la page 203 : Administration Unix ARS 2007–2008 Tôme 3 203 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.13 Gestionnaire de services réseau : XINETD Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.13 • Gestionnaire de services réseau : XINETD (en anglais extended inetd) Cf http://www.xinetd.org/ Numérotation des versions un peu compliquée. . . XINETD est une réécriture complète de INETD en incorporant plusieurs aspects manquants dans INETD : contrôle d’accès à la TCP WRAPPERS accès horaires aux démons traces syslog des connexions (échouées, abouties) limitation du nombre d’instances de chaque démon binding sur certaines adresses réseau c T.Besançon (version 10.0) Notes de la page 204 : Administration Unix ARS 2007–2008 Tôme 3 204 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.14 XINETD : fichier de configuration /etc/xinetd.conf Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.14 • XINETD : fichier de configuration /etc/xinetd.conf XINETD utilise le fichier « /etc/xinetd.conf », incompatible avec « /etc/inetd.conf ». Format du fichier : defaults { attribut operateur valeur(s) ... } service toto { attribut operateur valeur(s) ... } Les opérateurs sont « = », « += » et « -= ». Cf la documentation pour la liste complète des attributs. c T.Besançon (version 10.0) Notes de la page 205 : Administration Unix ARS 2007–2008 Tôme 3 205 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.14 XINETD : fichier de configuration /etc/xinetd.conf A noter avec certaines versions de « xinetd » la possibilité d’avoir un répertoire « /etc/xinetd.d » dans lequel on trouve un fichier par service, portant le nom du service et contenant le réglage du service. Par exemple « /etc/xinetd.d/ftpd » c T.Besançon (version 10.0) Notes de la page 206 : Administration Unix ARS 2007–2008 Tôme 3 206 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.15 XINETD : réglages par défaut Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.15 • XINETD : réglages par défaut Par exemple : defaults { instances = 15 log_type = FILE /var/log/servicelog log_on_success = HOST PID USERID DURATION EXIT log_on_failure = HOST USERID RECORD only_from = disabled = shell login exec comsat telnet ftp tftp finger disabled += time daytime chargen servers services xadmin } Ici la ligne « only_from = » interdit par défaut toutes les machines à se connecter aux services. On autorisera ce qui est nécessaire au niveau du bloc de configuration de chaque service. c T.Besançon (version 10.0) Notes de la page 207 : Administration Unix ARS 2007–2008 Tôme 3 207 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.16 XINETD : configuration d’un service Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.16 • XINETD : configuration d’un service Exemple pour le service « ftp » (cf « /etc/services ») : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = 192.168.1.0/24 } c T.Besançon (version 10.0) Notes de la page 208 : Administration Unix ARS 2007–2008 Tôme 3 208 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.17 XINETD : /etc/xinetd.conf : directive nice Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.17 • XINETD : /etc/xinetd.conf : directive nice Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = 192.168.1.0/24 } c T.Besançon (version 10.0) Notes de la page 209 : Administration Unix ARS 2007–2008 Tôme 3 209 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.18 XINETD : /etc/xinetd.conf : directive access_times Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.18 • XINETD : /etc/xinetd.conf : directive access_times Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = 192.168.1.0/24 } c T.Besançon (version 10.0) Notes de la page 210 : Administration Unix ARS 2007–2008 Tôme 3 210 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.19 XINETD : /etc/xinetd.conf : directives bind, id Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.19 • XINETD : /etc/xinetd.conf : directives bind, id Soit une machine avec 2 interfaces réseau d’adresses « 192.168.1.1 » et « 192.168.2.1 » : service ftp { id = ftp-public bind = 192.168.1.1 socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-21:00 nice = 10 only_from = 192.168.1.0/24 } service ftp { id = ftp-private bind = 192.168.2.1 socket-type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l instances = 4 access_times = 7:00-21:00 nice = 10 only_from = 192.168.2.0/24 } La directive « id » servira au niveau de SYSLOG à différencier les traces de l’un ou l’autre de FTPD. c T.Besançon (version 10.0) Notes de la page 211 : Administration Unix ARS 2007–2008 Tôme 3 211 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.20 XINETD : /etc/xinetd.conf : directive redirect Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.20 • XINETD : /etc/xinetd.conf : directive redirect Par exemple : service telnet { flags = REUSE socket-type = stream wait = no user = root server = /usr/sbin/in.telnetd only_from = 192.168.1.0/24 redirect = 192.168.1.23 } Et un « telnet » vers « 192.168.1.1 » renverra vers le démon « telnetd » de « 192.168.1.23 ». c T.Besançon (version 10.0) Notes de la page 212 : Administration Unix ARS 2007–2008 Tôme 3 212 / 707 7.21 XINETD : /etc/xinetd.conf : tcpd et directive 7 Gestionnaires de services réseau : inetd, tcpd, xinetd NAMEINARGS Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.21 • XINETD : /etc/xinetd.conf : tcpd et directive NAMEINARGS Par exemple : service ftp { flags = NAMEINARGS REUSE socket-type = stream wait = no user = root server = /usr/sbin/tcpd server_args = /usr/sbin/in.ftpd -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = 192.168.1.0/24 } TCP WRAPPERS et XINETD ne sont pas antinomiques. c T.Besançon (version 10.0) Notes de la page 213 : Administration Unix ARS 2007–2008 Tôme 3 213 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.22 XINETD : /etc/xinetd.conf : directive chroot Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.22 • XINETD : /etc/xinetd.conf : directive chroot Par exemple : service ftp { socket-type = stream wait = no user = root server = /usr/sbin/chroot server_args = /quelquepart/blockhaus/ftp /usr/sbin/in.ftpd -l instances = 4 access_times = 7:00-12:30 13:30-21:00 nice = 10 only_from = 192.168.1.0/24 } On est ainsi compartimenté à l’arborescence de « /quelquepart/blockhaus/ftp » dont on ne peut pas sortir. Intérêt pour la sécurité de la machine. c T.Besançon (version 10.0) Notes de la page 214 : Administration Unix ARS 2007–2008 Tôme 3 214 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.23 XINETD : reconfiguration, signaux Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.23 • XINETD : reconfiguration, signaux Sont supportés les signaux : signal « SIGHUP » : sur sa réception, « xinetd » se reconfigure signal « SIGTERM » : sur sa réception, « xinetd » se saborde signal « SIGUSR1 » : sur sa réception, « xinetd » écrit le fichier « /var/run/xinetd.dump » c T.Besançon (version 10.0) Notes de la page 215 : Administration Unix ARS 2007–2008 Tôme 3 215 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.24 Services internes inutiles Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.24 • Services internes inutiles Rappel : INETD et XINETD lancent des services réseau sur demande Exemple avec INETD : extrait de « /etc/inetd.conf » : ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l donnera execv("/usr/sbin/in.ftpd", "in.ftpd", "-l", 0); Le service est fourni par un exécutable « externe ». Mais le service peut être interne et être fourni directement par INETD ou XINETD. c T.Besançon (version 10.0) Notes de la page 216 : Administration Unix ARS 2007–2008 Tôme 3 216 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.24 Services internes inutiles Règle fondamentale : tous les services internes sont inutiles et doivent être désactivés. Par exemple, pour INETD : désactiver tous les services de type internal dans « /etc/inetd.conf » : #daytime stream #daytime dgram #time stream #time dgram #echo stream #echo dgram #discard stream #discard dgram #chargen stream #chargen dgram tcp udp tcp udp tcp udp tcp udp tcp udp c T.Besançon (version 10.0) Notes de la page 217 : nowait wait nowait wait nowait wait nowait wait nowait wait root root root root root root root root root root internal internal internal internal internal internal internal internal internal internal Administration Unix ARS 2007–2008 Tôme 3 217 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.25 R-Services Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.25 • R-Services Plusieurs services lancés par INETD et XINETD sont connus sous le nom de R-services (remote services) : service RLOGIND : connexion interactive à un système distant service RSHD : lancement d’une commande sur un système distant service RCPD : recopie de fichiers locaux vers des fichiers distants ou vice-versa c T.Besançon (version 10.0) Notes de la page 218 : Administration Unix ARS 2007–2008 Tôme 3 218 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.26 • R-service rlogind, R-commande rlogin (en anglais remote login daemon, remote login) En général, le R-service a pour chemin : « /usr/sbin/in.rlogind » ou « /usr/sbin/rlogind ». Syntaxe de la R-commande : rlogin [-l user] nom-de-machine % rlogin -l besancon serveur.example.com Password: XXXXXXXX Last login: Mon Sep 15 09:42:58 from 195.220.212.130 Sun Microsystems Inc. SunOS 5.5 Generic November 1995 server% A chaque fois que ce sera possible, préférer une connexion en SSH (ici avec « ssh »). c T.Besançon (version 10.0) Notes de la page 219 : Administration Unix ARS 2007–2008 Tôme 3 219 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Contrôles d’accès (1) Deux fichiers contrôlent les accès : fichier système « /etc/hosts.equiv » fichier personnel « $HOME/.rhosts » Syntaxe commune aux deux fichiers : format 1 : « hostname » format 2 : « hostname username » Deux cas de figure lors d’une connexion : une ligne à l’un des deux formats autorise la connexion et la connexion se fait alors sans demande de mot de passe aucune ligne n’autorise la connexion et il y a alors demande du mot de passe de l’utilisateur local c T.Besançon (version 10.0) Notes de la page 220 : Administration Unix ARS 2007–2008 Tôme 3 220 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Possibilité de mettre « + » à la place de n’importe quel champ : signification « n’importe quelle machine » signification « n’importe quel utilisateur » Voir fonction C « ruserok() ». c T.Besançon (version 10.0) Notes de la page 221 : Administration Unix ARS 2007–2008 Tôme 3 221 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Contrôles d’accès (2) : Format « hostname » Signification : les utilisateurs de la machine « hostname » sont autorisés à se connecter au système sous le même nom sans demande de mot de passe. Ce format est utilisable dans « /etc/hosts.equiv » et dans les fichiers personnels « $HOME/.rhosts ». c T.Besançon (version 10.0) Notes de la page 222 : Administration Unix ARS 2007–2008 Tôme 3 222 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin • Par exemple, si le fichier « /etc/hosts.equiv » contient : cerise.example.com cela permet à un utilisateur « martin » de se connecter en RLOGIN depuis la machine « cerise.example.com » sous l’identité locale « martin » sans demande de mot de passe. • Par exemple, si l’utilisateur « jean » a le fichier « $HOME/.rhosts » suivant : cerise.example.com cela permet à l’utilisateur « jean » de se connecter en RLOGIN depuis la machine « cerise.example.com » sous l’identité locale « jean » sans demande de mot de passe. c T.Besançon (version 10.0) Notes de la page 223 : Administration Unix ARS 2007–2008 Tôme 3 223 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Contrôles d’accès (3) : Format « hostname username » Signification : l’utilisateur « username » de la machine « hostname » est autorisé à se connecter au système sans demande de mot de passe. Si ce format est utilisé dans « $HOME/.rhosts », alors cela autorise un utilisateur distant à se connecter sous le nom d’un utilisateur local. Si ce format est utilisé dans « /etc/hosts.equiv » alors cela autorise un utilisateur distant à se connecter sous le nom de n’importe quel utilisateur local. c T.Besançon (version 10.0) Notes de la page 224 : Administration Unix ARS 2007–2008 Tôme 3 224 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin • Par exemple, si l’utilisateur « jean » a le fichier « $HOME/.rhosts » suivant : cerise.example.com martin cela permet à l’utilisateur « martin » de se connecter en RLOGIN depuis la machine « cerise.example.com » sous l’identité locale « jean » sans demande de mot de passe. • Par exemple, si le fichier « /etc/hosts.equiv » contient : cerise.example.com jean cela permet à l’utilisateur « jean » de se connecter en RLOGIN depuis la machine « cerise.example.com » sous n’importe quelle identité locale sans demande de mot de passe. DANGEREUX. c T.Besançon (version 10.0) Notes de la page 225 : Administration Unix ARS 2007–2008 Tôme 3 225 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.26 R-service rlogind, R-commande rlogin Problèmes : Attention au contenu de « /etc/hosts.equiv ». SunOS 4.x.y fournissait un fichier contenant « + + ». Attention aux connexions root via le réseau. Il faut interdire les connexions root via le réseau parce qu’elles sont anonymes. ⇒ Vérifier « /etc/ttys » (ou équivalent « /etc/securettys » . . .) et minimaliser le nombre de terminaux sécurisés. Vérifier « ~root/.rhosts ». C’est une cible privilégiée des pirates qui essayent d’y écrire « + + ». Il n’y a pas de traces des connexions locales. Au mieux, tcpd informe d’où vient la connexion mais pas de l’identité prise sur la machine locale. Remède : utiliser le package logiciel logdaemon URL « ftp://ftp.porcupine.org/pub/security/logdaemon-5.8.tar.gz » c T.Besançon (version 10.0) Notes de la page 226 : Administration Unix ARS 2007–2008 Tôme 3 226 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.27 R-service rshd, R-commande rsh Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.27 • R-service rshd, R-commande rsh (en anglais remote shell daemon, remote shell) En général, le R-service a pour chemin : « /usr/sbin/in.rshd » ou « /usr/sbin/rshd ». Syntaxe de la R-commande : rsh -l username hostname command % rsh -l besancon server.example.com date Sun Oct 12 15:20:28 MET DST 2003 c T.Besançon (version 10.0) Notes de la page 227 : Administration Unix ARS 2007–2008 Tôme 3 227 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.27 R-service rshd, R-commande rsh Si l’on ne précise pas de commande, on lance un shell en interactif. % rsh server.example.com Sun Microsystems Inc. SunOS 5.10 You have new mail. server% Generic January 2005 A chaque fois que ce sera possible, préférer une connexion en SSH (ici avec « ssh »). c T.Besançon (version 10.0) Notes de la page 228 : Administration Unix ARS 2007–2008 Tôme 3 228 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.27 R-service rshd, R-commande rsh Contrôles d’accès Les contrôles d’accès se font comme page 220 (chapitre sur RLOGIND) sauf pour un point : soit la connexion en RSH est explicitement autorisée par les fichiers « /etc/hosts.equiv » ou « $HOME/.rhosts » et la connexion se fait alors sans demande de mot de passe soit la connexion n’est pas explicitement autorisée et elle est alors refusée et on ne demande pas de mot de passe. % rsh -l besancon server.example.com date permission denied c T.Besançon (version 10.0) Notes de la page 229 : Administration Unix ARS 2007–2008 Tôme 3 229 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.28 R-service rcpd, R-commande rcp Chapitre 7 • Gestionnaires de services réseau : inetd, tcpd, xinetd §7.28 • R-service rcpd, R-commande rcp (en anglais remote copy daemon, remote copy ) En général, le R-service a pour chemin : « /usr/sbin/in.rcpd » ou « /usr/sbin/rcpd ». Plusieurs syntaxes de la R-commande : distant vers local : rcp [-r] user@machine:filename path local vers distant : rcp [-r] path user@machine:filename c T.Besançon (version 10.0) Notes de la page 230 : Administration Unix ARS 2007–2008 Tôme 3 230 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.28 R-service rcpd, R-commande rcp % rcp [email protected]:ananas.txt . % ls -l ananas -rw-r--r-1 besancon ars 15 Oct 12 15:18 ananas.txt % rcp ananas.txt [email protected]:/tmp/cerise.txt % rsh -l besancon server.example.com ls -l /tmp/cerise.txt -rw-r--r-1 besancon ars 15 Oct 12 15:22 /tmp/cerise.txt A chaque fois que ce sera possible, préférer une connexion en SSH (ici avec « scp »). c T.Besançon (version 10.0) Notes de la page 231 : Administration Unix ARS 2007–2008 Tôme 3 231 / 707 7 Gestionnaires de services réseau : inetd, tcpd, xinetd 7.28 R-service rcpd, R-commande rcp Contrôles d’accès Les contrôles d’accès se font comme page 220 (chapitre sur RLOGIND) sauf pour un point : soit la connexion en RCP est explicitement autorisée par les fichiers « /etc/hosts.equiv » ou « $HOME/.rhosts » et la connexion se fait alors sans demande de mot de passe soit la connexion n’est pas explicitement autorisée et elle est alors refusée et on ne demande pas de mot de passe. % rcp ananas.txt [email protected]:/tmp/banane.txt permission denied c T.Besançon (version 10.0) Notes de la page 232 : Administration Unix ARS 2007–2008 Tôme 3 232 / 707 8 Protocoles de transferts de fichiers FTP, TFTP Chapitre 8 Protocoles de transferts de fichiers FTP, TFTP c T.Besançon (version 10.0) Notes de la page 233 : Administration Unix ARS 2007–2008 Tôme 3 233 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Chapitre 8 • Protocoles de transferts de fichiers FTP, TFTP §8.1 • Protocole FTP, ftp, ftpd (en anglais File Transfer Protocol) Une connexion via FTP nécessite que le service FTP soit activé au niveau de inetd.conf : ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l Au niveau de « /etc/services », on voit 2 ports assignés au protocole FTP : ftp-data ftp 20/tcp 21/tcp Deux protocoles FTP en fait : FTP actif (mode par défaut sous Windows) FTP passif (mode par défaut sous Linux) c T.Besançon (version 10.0) Notes de la page 234 : Administration Unix ARS 2007–2008 Tôme 3 234 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd FTP actif CLIENT FTP SERVEUR FTP FTP control connection High port 1 port 21 FTP data connection High port 2 c T.Besançon (version 10.0) Notes de la page 235 : port 20 Administration Unix ARS 2007–2008 Tôme 3 235 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Le protocole FTP est «complexe» car c’est un dialogue bidirectionnel : Un client FTP se connecte sur le port 21 (« ftp » de « /etc/services ») du serveur FTP et ce port 21 sert à envoyer des commandes au serveur FTP. dès que toutes les données sont transférées. client Si les commandes nécessitent que des données soient reçues (commandes « dir », « get » par exemple) ou transmises (« put » par exemple) au serveur, le client envoie une commande « PORT » au serveur indiquant un port sur lequel le serveur va créer une connexion depuis le port 20 (« ftp-data » de « /etc/services »). serveur connexion port 21 PORT 33085 port 21 DIR port 21 data port 20 port 33085 La connexion FTP-DATA est close c T.Besançon (version 10.0) Notes de la page 236 : Administration Unix ARS 2007–2008 Tôme 3 236 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Exemple : % ftp -v -d localhost Connected to localhost. 220 cerise FTP server (SunOS 5.8) ready. Name (localhost:besancon): besancon ---> USER besancon 331 Password required for besancon. Password: ---> PASS XXXXXXXXX 230 User besancon logged in. ftp> lcd /tmp Local directory now /tmp ftp> cd /etc ---> CWD /etc 250 CWD command successful. ftp> get motd ---> PORT 127,0,0,1,129,61 200 PORT command successful. ---> RETR motd 150 ASCII data connection for motd (127.0.0.1,33085) (54 bytes). 226 ASCII Transfer complete. local: motd remote: motd 55 bytes received in 0.00086 seconds (62.53 Kbytes/s) ftp> quit ---> QUIT 221 Goodbye. c T.Besançon (version 10.0) Notes de la page 237 : Administration Unix ARS 2007–2008 Tôme 3 237 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd FTP passif CLIENT FTP SERVEUR FTP FTP control connection High port 1 port 21 FTP data connection High port 2 c T.Besançon (version 10.0) Notes de la page 238 : High port 3 Administration Unix ARS 2007–2008 Tôme 3 238 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Règles pour un client FTP protégé par un firewall Method Source Source Destination Destination Connection address port address port Allow outgoing control connections to server Control FTP client High FTP server 21 New channel or network FTP server 21 FTP client or High Established network Allow the client to establish data channels to remote server Active FTP server 20 FTP client or High New FTP network FTP client High FTP server 20 Established or network Passive FTP client High FTP server High New FTP or network FTP server High FTP client or High Established network c T.Besançon (version 10.0) Notes de la page 239 : Administration Unix ARS 2007–2008 Tôme 3 239 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Règles pour un serveur FTP protégé par un firewall Method Source Source Destination Destination Connection address port address port Allow incoming control connections to server Control FTP client High FTP server 21 New channel or network FTP server 21 FTP client or High Established network Allow the server to establish data channels to remote client Active FTP server 20 FTP client or High New FTP network FTP client High FTP server 20 Established or network Passive FTP client High FTP server High New FTP or network FTP server High FTP client or High Established network c T.Besançon (version 10.0) Notes de la page 240 : Administration Unix ARS 2007–2008 Tôme 3 240 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Contrôle d’accès Au niveau contrôle d’accès, les implémentations de base proposent : le fichier « /etc/ftpusers » contient les noms des utilisateurs non autorisés à utiliser ftp. « root » doit être exclus comme d’habitude. le fichier « /etc/shells » contient les shells des utilisateurs autorisés à utiliser ftp. Moralité : pour interdire un utilisateur à utiliser FTP : indiquer le login de la personne au niveau de « /etc/ftpusers » faire en sorte que le shell de la personne ne soit pas dans « /etc/shells » Pour configurer un FTP anonyme, se reporter aux deux FAQ : « ftp://ftp.lip6.fr/pub/doc/faqs/ftp-list/faq.gz » « ftp://ftp.lip6.fr/pub/doc/faqs/computer-security/anonymous-ftp-faq.gz » c T.Besançon (version 10.0) Notes de la page 241 : Administration Unix ARS 2007–2008 Tôme 3 241 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.1 Protocole FTP, ftp, ftpd Implémentations de serveurs FTP Outre les versions fournies par les constructeurs, il y a plusieurs démons du domaine public plus performants : « http://www.wu-ftpd.org/ » « http://www.proftpd.org/ » « http://vsftpd.beasts.org/ » c T.Besançon (version 10.0) Notes de la page 242 : Administration Unix ARS 2007–2008 Tôme 3 242 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.2 Protocole TFTP, tftp, tftpd Chapitre 8 • Protocoles de transferts de fichiers FTP, TFTP §8.2 • Protocole TFTP, tftp, tftpd TFTP : Trivial File Transfer Protocol Une connexion via tftp nécessite que le service tftp soit activé au niveau de inetd.conf : tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot TFTP, c’est en gros FTP sans pouvoir lister les directories distants et ne nécessitant pas de mot de passe pour récupérer ou déposer des fichiers ! En fait, celui qui utilise TFTP sait ce qu’il veut récupérer et n’a pas besoin de lister le directory. Par exemple, récupération d’un fichier de configuration pour : terminal X imprimante HP réseau c T.Besançon (version 10.0) Notes de la page 243 : Administration Unix ARS 2007–2008 Tôme 3 243 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.2 Protocole TFTP, tftp, tftpd On récupére les fichiers dans la sous arborescence /tftpboot. Le danger : un démon tftpd mal configuré permet de récupérer tout fichier hors de « /tftpboot ». Le fichier « /etc/passwd » par exemple. ⇒ vérifier les options de lancement. Traditionnellement utiliser l’option « -s » au niveau de « /etc/inetd.conf » : tftp dgram udp wait c T.Besançon (version 10.0) Notes de la page 244 : root /usr/etc/in.tftpd Administration Unix in.tftpd -s /tftpboot ARS 2007–2008 Tôme 3 244 / 707 8 Protocoles de transferts de fichiers FTP, TFTP 8.2 Protocole TFTP, tftp, tftpd A noter : il est parfois utile de faire le lien symbolique suivant : # cd /tftpboot # ln -s . tftpboot car des requêtes portent parfois sur des noms du type « /tftpboot/fichier ». % cd /tftpboot % ls -l drwxr-xr-x 2 root drwxr-sr-x 7 root drwxr-sr-x 2 root drwxr-sr-x 4 root drwxr-sr-x 2 root drwxr-xr-x 2 root lrwxrwxrwx 1 root drwxr-sr-x 3 root wheel wheel wheel wheel wheel wheel wheel wheel c T.Besançon (version 10.0) Notes de la page 245 : 1536 512 512 512 512 512 1 512 Jan 4 15:02 cisco/ Nov 10 1997 hds/ Sep 5 1996 hp/ Dec 5 1995 ncd/ Mar 19 1997 plaintree/ Aug 1 1997 sun/ May 8 1998 tftpboot -> . Feb 9 1994 usr/ Administration Unix ARS 2007–2008 Tôme 3 245 / 707 9 Remote Procedure Call (RPC) Chapitre 9 Remote Procedure Call (RPC) c T.Besançon (version 10.0) Notes de la page 246 : Administration Unix ARS 2007–2008 Tôme 3 246 / 707 9 Remote Procedure Call (RPC) 9.1 Introduction Chapitre 9 • Remote Procedure Call (RPC) §9.1 • Introduction Les Remote Procedure Calls (RPC) sont nés dans les années 1985 - 1990 : diminution des coûts des matériels augmentation des puissances de calcul augmentation des capacités de stockage Bref, passage à une informatique de systèmes répartis et de systèmes distribués (utiliser le matériel le plus performant pour une tâche donnée, accroître la disponibilité des systèmes). c T.Besançon (version 10.0) Notes de la page 247 : Administration Unix ARS 2007–2008 Tôme 3 247 / 707 9 Remote Procedure Call (RPC) 9.1 Introduction Principe d’un programme classique : % prog.exe int main(int argc, char *argv[]) { int n; n = coucou(); int coucou() { return(33); } exit(0); } c T.Besançon (version 10.0) Notes de la page 248 : Administration Unix ARS 2007–2008 Tôme 3 248 / 707 9 Remote Procedure Call (RPC) 9.1 Introduction Principe d’un programme réparti utilisant une Remote Procedure Call (RPC) : % prog.exe int main(int argc, char *argv[]) { int n; n = coucou(); int coucou() { return(33); } exit(0); } RESEAU c T.Besançon (version 10.0) Notes de la page 249 : Administration Unix ARS 2007–2008 Tôme 3 249 / 707 9 Remote Procedure Call (RPC) 9.2 Protocole External Data Representation (XDR) Chapitre 9 • Remote Procedure Call (RPC) §9.2 • Protocole External Data Representation (XDR) Rappel sur les processeurs : processeurs big endian processeurs little endian 0x01020304 = 0x01 0x01020304 = 0x02 0x03 0x04 0x04 0x03 0x02 @ 0xNNNN + 3 @ 0xNNNN + 3 @ 0xNNNN +2 @ 0xNNNN +2 @ 0xNNNN + 1 @ 0xNNNN + 1 @ 0xNNNN c T.Besançon (version 10.0) Notes de la page 250 : 0x01 @ 0xNNNN Administration Unix ARS 2007–2008 Tôme 3 250 / 707 9 Remote Procedure Call (RPC) 9.2 Protocole External Data Representation (XDR) Nécessité de choisir un encodage lors des échanges RPC ! ⇒ Encodage big-endian retenu Cf fonctions C « ntohs() » (network to host short), « ntohl() » (network to host long), « htons() » (host to network short), « htonl() » (host to network long). ⇒ Encodage des données plus générales (structures, tableaux, etc.) = XDR Les RPC utilisent massivement XDR. c T.Besançon (version 10.0) Notes de la page 251 : Administration Unix ARS 2007–2008 Tôme 3 251 / 707 9 Remote Procedure Call (RPC) 9.3 Modèle Client / Serveur RPC Chapitre 9 • Remote Procedure Call (RPC) §9.3 • Modèle Client / Serveur RPC Les Remote Procedure Calls (RPC) utilisent un modèle client / serveur : Le client est le processus qui appelle une procédure distante. Le serveur est le processus qui réalise la Remote Procedure. La communication se fait via TCP. processus local processus distant CLIENT PROCEDURE STUB client STUB serveur RPC runtime RPC runtime API RPC c T.Besançon (version 10.0) Notes de la page 252 : Administration Unix ARS 2007–2008 Tôme 3 252 / 707 9 Remote Procedure Call (RPC) 9.4 Localisation des procédures RPC : portmapper, rpcbind Chapitre 9 • Remote Procedure Call (RPC) §9.4 • Localisation des procédures RPC : portmapper, rpcbind L’appel à la procédure distante nécessite de localiser la procédure distante (numéro de port TCP) sur la machine distante. Le processus « portmapper » (autre nom possible : « rpcbind ») joue le rôle de serveurs de noms RPC. Il écoute sur le port TCP 111. Principe : une procédure distante s’enregistre auprès du portmapper on demande au portmapper où se trouve la procédure on appelle ensuite la procédure Le processus « portmapper » (autre nom possible : « rpcbind ») doit être démarré avant de lancer des processus enregistrant des RPC (voir scripts de démarrage). c T.Besançon (version 10.0) Notes de la page 253 : Administration Unix ARS 2007–2008 Tôme 3 253 / 707 9 Remote Procedure Call (RPC) 9.4 Localisation des procédures RPC : portmapper, rpcbind processus portmapper 1 Ou se trouve ananas() v2 ? port 111 4 2 ananas() v2 == port 3248 ananas(), v2 = port 3248 banane(), v2 = port 2147 banane(), v3 = port 2148 etc. 3 processus 927 5 c T.Besançon (version 10.0) Notes de la page 254 : port 3248 processus 958 port 2147 port 2148 procedure ananas() procedure banane() version 2 version 2, version 3 Administration Unix ARS 2007–2008 Tôme 3 254 / 707 9 Remote Procedure Call (RPC) 9.5 Liste des procédures RPC : rpcinfo Chapitre 9 • Remote Procedure Call (RPC) §9.5 • Liste des procédures RPC : rpcinfo (en anglais RPC information) Syntaxe : « rpcinfo [-p] [-s] hostname » Par exemple : % rpcinfo -s rpcinfo -s program version(s) 100000 2,3,4 100021 4,3,2,1 100024 1 100001 4,3,2 100002 3,2 100011 1 100005 3,2,1 100003 4,3,2 100227 3,2 ... c T.Besançon (version 10.0) Notes de la page 255 : netid(s) udp,tcp,ticlts,ticotsord,ticots tcp,udp ticots,ticotsord,ticlts,tcp,udp udp,ticlts udp,ticlts,tcp,ticotsord,ticots udp,ticlts ticots,ticotsord,tcp,ticlts,udp tcp,udp tcp,udp Administration Unix service rpcbind nlockmgr status rstatd rusersd rquotad mountd nfs nfs_acl ARS 2007–2008 Tôme 3 255 / 707 o s 1 s s s s s 1 1 9 Remote Procedure Call (RPC) % rpcinfo -p program vers proto 100000 4 tcp 100000 3 tcp 100000 2 tcp 100000 4 udp 100000 3 udp 100000 2 udp 100021 1 udp 100021 2 udp 100021 3 udp 100021 4 udp 100021 1 tcp 100021 2 tcp 100021 3 tcp 100021 4 tcp ... c T.Besançon (version 10.0) Notes de la page 256 : port 111 111 111 111 111 111 4045 4045 4045 4045 4045 4045 4045 4045 9.5 Liste des procédures RPC : rpcinfo service rpcbind rpcbind rpcbind rpcbind rpcbind rpcbind nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr Administration Unix ARS 2007–2008 Tôme 3 256 / 707 9 Remote Procedure Call (RPC) 9.6 Contrôle d’accès Chapitre 9 • Remote Procedure Call (RPC) §9.6 • Contrôle d’accès Avec LINUX est apparu un contrôle d’accès au niveau de PORTMAP via sa compilation avec la librairie des TCPWRAPPERS. Les contrôles d’accès se font donc comme page 199 via « /etc/hosts.allow ». c T.Besançon (version 10.0) Notes de la page 257 : Administration Unix ARS 2007–2008 Tôme 3 257 / 707 10 Partage de fichiers NFS Chapitre 10 Partage de fichiers NFS c T.Besançon (version 10.0) Notes de la page 258 : Administration Unix ARS 2007–2008 Tôme 3 258 / 707 10 Partage de fichiers NFS 10.1 Introduction Chapitre 10 • Partage de fichiers NFS §10.1 • Introduction NFS ≡ Network File System ≡ c’est l’accès de façon transparente pour l’utilisateur à des fichiers résidants sur des machines distantes. Actuellement, NFS version 2 la plus répandue. NFS version 3 existe et est disponible mais il existe des incompatibilités d’implémentations entre constructeurs. NFS version 4 est en étude. Cf http://www.nfsv4.org ou http://www.citi.umich.edu/projects/nfsv4/ c T.Besançon (version 10.0) Notes de la page 259 : Administration Unix ARS 2007–2008 Tôme 3 259 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Chapitre 10 • Partage de fichiers NFS §10.2 • Principes de NFS Client Client routines Serveur System calls System calls VNODE / VFS VNODE / VFS NFS File system RPC / XDR RPC / XDR Server routines RPC / XDR NFS File system RPC / XDR Reseau c T.Besançon (version 10.0) Notes de la page 260 : Administration Unix ARS 2007–2008 Tôme 3 260 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS On a deux aspects dans NFS : client NFS et serveur NFS. Le client NFS fait tourner les démons « biod » (ou « nfsiod »), « rpc.lockd » et « rpc.statd ». Le serveur NFS fait tourner les démons « portmap » (ou « rpcbind »), « mountd » (ou « rpc.mountd »), « nfsd », « rpc.statd » et « rpc.lockd ». CLIENT NFS # mount SERVEUR NFS % prog rpc.statd rpc.lockd portmap (rpcbind) portmap (rpcbind) rpc.mountd nfsd rpc.statd rpc.lockd RESEAU c T.Besançon (version 10.0) Notes de la page 261 : Administration Unix ARS 2007–2008 Tôme 3 261 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Montage NFS : filehandle SERVEUR NFS /home rpc.mountd autorisations d’exportation : /etc/exports 0 3 calcul du filehandle RESEAU 2 # mount server:/home /mnt 1 CLIENT NFS c T.Besançon (version 10.0) Notes de la page 262 : 4 /mnt + filehandle (= fh0) / kernel Administration Unix ARS 2007–2008 Tôme 3 262 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Ouverture d’un fichier NFS : utilisations des filehandles SERVEUR NFS Serveur NFS / port 2049 lookup(jardin, fh0) fh1 lookup(cerise.txt, fh1) fh2 kernel RESEAU % prog.exe 1 2 3 4 5 open(/mnt/jardin/cerise.txt) kernel CLIENT NFS c T.Besançon (version 10.0) Notes de la page 263 : Administration Unix ARS 2007–2008 Tôme 3 263 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Lecture/Ecriture d’un fichier NFS : utilisations des filehandles SERVEUR NFS Serveur NFS / port 2049 read(fh2, 0, 1024) read(fh2, ... , 1024) kernel RESEAU 2 % prog.exe read() / write() 1 ... kernel CLIENT NFS c T.Besançon (version 10.0) Notes de la page 264 : Administration Unix ARS 2007–2008 Tôme 3 264 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Verrouillage NFS (1) : fonctionnement normal SERVEUR NFS /etc/sm 3 3 rpc.lockd 3 rpc.statd 2 RESEAU rpc.lockd CLIENT NFS rpc.statd 1 fcntl() lockf() % prog.exe c T.Besançon (version 10.0) Notes de la page 265 : Administration Unix ARS 2007–2008 Tôme 3 265 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Verrouillage NFS (2) : reboot du client NFS SERVEUR NFS /etc/sm 3 2 rpc.lockd 2 rpc.statd 1 RESEAU rpc.lockd CLIENT NFS c T.Besançon (version 10.0) Notes de la page 266 : rpc.statd reboot du client NFS termine Administration Unix ARS 2007–2008 Tôme 3 266 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Verrouillage NFS (3) : reboot du serveur NFS SERVEUR NFS reboot du serveur NFS termine /etc/sm 1 rpc.lockd rpc.statd 4? 2 RESEAU nouvelle demande des verrous NFS ? CLIENT NFS rpc.lockd rpc.statd 3 4? perte des verrous NFS % prog.exe c T.Besançon (version 10.0) Notes de la page 267 : Administration Unix ARS 2007–2008 Tôme 3 267 / 707 10 Partage de fichiers NFS 10.2 Principes de NFS Suppression de fichier NFS ouvert exemple.txt .nfsXXXXXXXXXX rm read write c T.Besançon (version 10.0) Notes de la page 268 : Administration Unix ARS 2007–2008 Tôme 3 268 / 707 10 Partage de fichiers NFS 10.3 Lancement de NFS Chapitre 10 • Partage de fichiers NFS §10.3 • Lancement de NFS DIGITAL UNIX On règle l’aspect NFS par la commande « nfssetup » qui modifie alors le fichier « /etc/rc.config » : ... NFS_CONFIGURED="1" export NFS_CONFIGURED NFSSERVING="1" export NFSSERVING NONROOTMOUNTS="1" export NONROOTMOUNTS NUM_TCPD="8" export NUM_TCPD NUM_UDPD="8" export NUM_UDPD NUM_NFSIOD="7" export NUM_NFSIOD NFSLOCKING="1" export NFSLOCKING ... c T.Besançon (version 10.0) Notes de la page 269 : Administration Unix ARS 2007–2008 Tôme 3 269 / 707 10 Partage de fichiers NFS 10.3 Lancement de NFS Linux Au niveau de « /etc/sysconfig/network », on indique via la variable « NETWORKING » si l’on veut les services réseau (dont NFS). Le script de démarrage « /etc/rc.d/rc3.d/S15nfsfs » suivant la valeur de NETWORKING lance ou pas un client NFS. Le script de démarrage « /etc/rc.d/rc3.d/S60nfs » suivant la valeur de NETWORKING et suivant l’existence de « /etc/exports » lance ou pas un serveur NFS. Solaris La lecture de « /etc/init.d/nfs.client » renseigne sur la façon de démarrer un client NFS. La lecture de « /etc/init.d/nfs.server » apprend que la machine démarre un serveur NFS s’il existe le fichier d’exportation « /etc/dfs/dfstab ». c T.Besançon (version 10.0) Notes de la page 270 : Administration Unix ARS 2007–2008 Tôme 3 270 / 707 10 Partage de fichiers NFS 10.4 Exportation NFS, /etc/exports, /etc/dfs/dfstab Chapitre 10 • Partage de fichiers NFS §10.4 • Exportation NFS, /etc/exports, /etc/dfs/dfstab Le partage de disques repose sur l’exportation par une machine d’arborescences. L’exportation peut être en read-only ou en read-write. L’exportation se fait au niveau du fichier /etc/exports en général. Suivant l’UNIX, la syntaxe n’est pas la même : DIGITAL UNIX : fichier « /etc/exports » : /var/spool/mail -access=client-nfs.example.com Linux : fichier « /etc/exports » : /home /zip client-nfs.example.com(rw) client-nfs.example.com(rw) Solaris : fichier « /etc/dfs/dfstab » : # pathname /export/home c T.Besançon (version 10.0) Notes de la page 271 : resource fstype specific_options description nfs rw=.example.com Administration Unix ARS 2007–2008 Tôme 3 271 / 707 10 Partage de fichiers NFS 10.4 Exportation NFS, /etc/exports, /etc/dfs/dfstab Comment faire prendre connaissance de modifications dans le fichier « /etc/exports » (ou équivalent) ? Méthode 1 : on ne fait rien ; le fichier « /etc/exports » est consulté lors de toute demande de montage de disque. Par exemple DIGITAL UNIX. Méthode 2 : on envoie un signal au programme « mountd » gérant les montages : # kill -HUP ‘cat /var/run/mountd.pid‘ Par exemple Linux, FreeBSD. Méthode 3 : une commande spécialisée existe : share, shareall (unshare, unshareall) sur Solaris # unshareall # showmount -e no exported file systems for serveur-nfs.example.com # shareall # showmount -e export list for serveur-nfs.example.com: /infosystems client-nfs.example.com c T.Besançon (version 10.0) Notes de la page 272 : Administration Unix ARS 2007–2008 Tôme 3 272 / 707 10 Partage de fichiers NFS 10.5 Exportation root NFS Chapitre 10 • Partage de fichiers NFS §10.5 • Exportation root NFS Le problème principal est celui de l’équivalence root par NFS : quels droits possède le root d’une machine cliente NFS sur les fichiers exportés par un serveur NFS ? Un fichier de droits « rw------- » sur le serveur NFS (où le root peut le lire) peut-il être lu par root sur un client NFS ? La réponse est fonction du contexte mais cela se paramètre au niveau de « /etc/exports ». Une requête émanant de root sera sauf précision contraire convertie au nom de l’utilisateur « nobody » : % grep nobody /etc/passwd nobody:*:65534:65534:Unprivileged user:/nonexistent:/sbin/nologin (attention : parfois c’est l’utilisateur « nfsnobody » mais le principe reste le même) c T.Besançon (version 10.0) Notes de la page 273 : Administration Unix ARS 2007–2008 Tôme 3 273 / 707 10 Partage de fichiers NFS 10.5 Exportation root NFS Exemple de la conversion de l’UID lors de la requête (la partition montée est exportée sans droit root NFS) : # mount -t nfs serveur-nfs.example.com:/adm/backup/arch /mnt # id uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem) # cd /mnt # df . Filesystem 1024-blocks Used Available Capacity Mounted on serveur-nfs.example.com:/adm/backup/arch 1572045 1377401 37440 97% /mnt # touch test.txt # ls -l total 0 -rw------1 root daemon 75 Feb 3 15:01 motd -rw-r--r-1 nobody nogroup 0 Feb 3 14:59 test.txt # cat motd cat: motd: Permission denied c T.Besançon (version 10.0) Notes de la page 274 : Administration Unix ARS 2007–2008 Tôme 3 274 / 707 10 Partage de fichiers NFS 10.5 Exportation root NFS Exportation avec root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -root=client.example.com,access=client.example.com exemple sur Linux : /var/spool/mail client.example.com(rw,no_root_squash) exemple sur Solaris : /export/home - c T.Besançon (version 10.0) Notes de la page 275 : nfs rw=.example.com,root=client.example.com Administration Unix ARS 2007–2008 Tôme 3 275 / 707 10 Partage de fichiers NFS 10.5 Exportation root NFS Exportation sans root NFS Mêmes fichiers que précédemment : exemple sur DIGITAL UNIX : /var/spool/mail -access=client.example.com exemple sur Linux : /var/spool/mail client.example.com(rw,root_squash) exemple sur Solaris : ... /opt /usr/local /var/mail - c T.Besançon (version 10.0) Notes de la page 276 : nfs nfs nfs rw=client.example.com rw=.example.com rw=.example.com Administration Unix ARS 2007–2008 Tôme 3 276 / 707 10 Partage de fichiers NFS 10.6 Règle de non transitivité NFS Chapitre 10 • Partage de fichiers NFS §10.6 • Règle de non transitivité NFS Il n’y a pas de transitivité NFS. Si A exporte « /partition » à B Si B monte « /partition » en « /partition2 » et exporte « /partition2 » à C alors C n’a pas accès au contenu du « /partition » initial ! Sinon il n’y aurait aucune sécurité, aucun contrôle possible d’exportation. c T.Besançon (version 10.0) Notes de la page 277 : Administration Unix ARS 2007–2008 Tôme 3 277 / 707 10 Partage de fichiers NFS 10.7 Montage NFS manuel Chapitre 10 • Partage de fichiers NFS §10.7 • Montage NFS manuel Syntaxe usuelle : mount -t nfs serveur:/arborescence /point/montage # mount -t nfs serveur-nfs.example.com:/export/home /mnt # df /mnt Filesystem 1k-blocks Used Available Use% Mounted on serveur-nfs.example.com:/export/home 1015695 566015 388739 59% /mnt # umount /mnt c T.Besançon (version 10.0) Notes de la page 278 : Administration Unix ARS 2007–2008 Tôme 3 278 / 707 10 Partage de fichiers NFS 10.8 Montage NFS automatique Chapitre 10 • Partage de fichiers NFS §10.8 • Montage NFS automatique Les montages automatiques se règlent au niveau de /etc/fstab (ou équivalent) : ... serveur-nfs.example.com:/export/home /mnt nfs hard,intr ... 0 0 La syntaxe est celle montrée ci dessus sur tous les systèmes UNIX utilisant un fichier « /etc/fstab ». Une fois le fichier « /etc/fstab » configuré, on peut faire les choses suivantes : 1 Monter une partition distante bien précise : # mount /users 2 Monter toutes les partitions distantes : # mount -t nfs -v -a c T.Besançon (version 10.0) Notes de la page 279 : Administration Unix ARS 2007–2008 Tôme 3 279 / 707 10 Partage de fichiers NFS 10.9 Option de montage NFS soft Chapitre 10 • Partage de fichiers NFS §10.9 • Option de montage NFS soft Option de montage « soft » : si pour une raison ou pour une autre, les opérations RPC implantant la requête NFS viennent à échouer, cette requête NFS échoue elle aussi. On peut apparenter cette situation à celle d’un disque local tombant en panne. Une manifestation de ce problème est qu’il peut apparaître des blocs remplis de caractères NULL dans des fichiers nouvellement écrits à travers NFS sur une partition qui aura montré des problèmes. c T.Besançon (version 10.0) Notes de la page 280 : Administration Unix ARS 2007–2008 Tôme 3 280 / 707 10 Partage de fichiers NFS 10.10 Option de montage NFS hard Chapitre 10 • Partage de fichiers NFS §10.10 • Option de montage NFS hard Option de montage « hard » : si pour une raison ou pour une autre, les opérations RPC implantant la requête NFS viennent à échouer, cette requête NFS est soumise à nouveau et cela jusqu’à ce qu’elle aboutisse. On peut apparenter cette situation à celle d’un disque local très lent. Pour éviter que dans le cas hard, la requête NFS ne soit transmise ad vitam eternam, on peut faire le montage en mode hard,intr ce qui autorise son interruption au clavier ou via des envois de signaux. En pratique, on utilisera toujours les montages hard,intr pour les montages des partitions auxquelles on accède en lecture/écriture. c T.Besançon (version 10.0) Notes de la page 281 : Administration Unix ARS 2007–2008 Tôme 3 281 / 707 10 Partage de fichiers NFS 10.11 Vérification des exportations : showmount Chapitre 10 • Partage de fichiers NFS §10.11 • Vérification des exportations : showmount En cas de problème dans le montage NFS d’une partition on peut vérifier d’abord si l’exportation indispensable est déjà assurée. La commande à utiliser est « showmount -e » : % showmount -e serveur-nfs.example.com Export list for serveur-nfs.example.com: /export/home .example.com /opt client-nfs.example.com /usr/local .example.com /var/mail .example.com c T.Besançon (version 10.0) Notes de la page 282 : Administration Unix ARS 2007–2008 Tôme 3 282 / 707 10 Partage de fichiers NFS 10.12 Vérification des exportations : rpcinfo Chapitre 10 • Partage de fichiers NFS §10.12 • Vérification des exportations : rpcinfo On peut aussi vérifier à distance si le serveur NFS fait tourner le démon mountd via la commande « rpcinfo ». % rpcinfo -p serveur-nfs.example.com | grep mount 100005 1 udp 32843 mountd 100005 2 udp 32843 mountd 100005 3 udp 32843 mountd 100005 1 tcp 32798 mountd 100005 2 tcp 32798 mountd 100005 3 tcp 32798 mountd c T.Besançon (version 10.0) Notes de la page 283 : Administration Unix ARS 2007–2008 Tôme 3 283 / 707 10 Partage de fichiers NFS 10.13 Messages d’erreur NFS Chapitre 10 • Partage de fichiers NFS §10.13 • Messages d’erreur NFS Un message d’erreur classique prend la forme : NFS write error: on host serveur-nfs.example.com remote file system full Parfois c’est hermétique comme message : NFS write error 60 on host nfs-client.example.com fh 716 1 a0000 cdbe 66b10eac a0000 1d00 5fdbece5 Pour le décoder, se reporter à « <sys/errno.h> ». Ici on déduit : #define ETIMEDOUT c T.Besançon (version 10.0) Notes de la page 284 : 60 /* Connection timed out */ Administration Unix ARS 2007–2008 Tôme 3 284 / 707 10 Partage de fichiers NFS 10.14 Automounter Chapitre 10 • Partage de fichiers NFS §10.14 • Automounter Les montages rencontrés jusqu’à présent sont permanents. Un automounter rend les montages temporaires : un montage ne dure guère que le temps nécessaire ; quand il est nécessaire, on monte la partition distante que l’on démonte quand on n’en a plus besoin. Il existe 3 automounters : « automount » fourni par les constructeurs (et d’origine SUN) « amd » ; version logiciel libre dont le développement stagne ftp://ftp.cs.columbia.edu/pub/amd « am-utils », bâti sur la base de « amd » http://www.cs.columbia.edu/~ezk/am-utils/ c T.Besançon (version 10.0) Notes de la page 285 : Administration Unix ARS 2007–2008 Tôme 3 285 / 707 10 Partage de fichiers NFS 10.15 Machines diskless Chapitre 10 • Partage de fichiers NFS §10.15 • Machines diskless Une machine diskless est une machine UNIX sans disque dur local. Principe : 1 La machine UNIX est mise sous tension. 2 La machine UNIX envoie sur le réseau son adresse ethernet (MAC address). Par exemple via PXE sur des cartes réseau récentes. 3 La machine récupére son adresse IP et on lui indique où télécharger un noyau et comment. Par exemple renseignements renvoyés par DHCP. 4 La machine télécharge le noyau. Par exemple par TFTP. 5 Le noyau monte par NFS la partition de « / ». 6 Le programme « init » prend la main et réalise les opérations de montage des partitions indiquées dans « /etc/fstab ». Ici les partitions seront donc montées par NFS. c T.Besançon (version 10.0) Notes de la page 286 : Administration Unix ARS 2007–2008 Tôme 3 286 / 707 11 Synchronisation de fichiers Chapitre 11 Synchronisation de fichiers c T.Besançon (version 10.0) Notes de la page 287 : Administration Unix ARS 2007–2008 Tôme 3 287 / 707 11 Synchronisation de fichiers 11.1 Introduction Chapitre 11 • Synchronisation de fichiers §11.1 • Introduction Contexte : deux ou plusieurs machines qui ne peuvent pas partager de fichiers par NFS. Exemples : un ordinateur portable et une machine de bureau deux ordinateurs reliés par une liaison intermittente comme une liaison téléphonique PPP etc. La synchronisation manuelle est pénible à faire. Plusieurs logiciels automatisent la synchronisation. Reste à les lancer au bon moment (cf CRON) et à paramétrer ce que l’on doit synchroniser. c T.Besançon (version 10.0) Notes de la page 288 : Administration Unix ARS 2007–2008 Tôme 3 288 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Chapitre 11 • Synchronisation de fichiers §11.2 • Synchronisation de fichiers UNIX via rdist RDIST est un programme de distribution de fichiers sur des machines distantes, sur la base des dates de modification des fichiers source ou des fichiers distants. De plus en plus livrée en standard avec les différents UNIX mais lui préférer quand même la version disponible à l’URL http://www.magnicomp.com/rdist/ (anciennement : ftp://ftp.usc.edu/pub/rdist/) c T.Besançon (version 10.0) Notes de la page 289 : Administration Unix ARS 2007–2008 Tôme 3 289 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist La commande « rdist » utilise un fichier de configuration appelé par défaut « distfile » ou « Distfile » Si le fichier ne s’appelle pas « distfile » ou « Distfile », il faut utiliser l’option « -f » : % rdist -f mon-distfile-a-moi remote.example.com: updating host remote.example.com ... De nombreuses options sont disponibles. Cf la documentation. c T.Besançon (version 10.0) Notes de la page 290 : Administration Unix ARS 2007–2008 Tôme 3 290 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Exemple 1 Objectif : mettre à jour du fichier « /tmp/fichier.txt » d’une machine distante nommée « remote.example.com » à partir du fichier local « /tmp/fichier.txt » : Solution : fichier « Distfile » contenant : /tmp/fichier.txt -> remote.example.com install ; Utilisation et résultats : % rdist remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: updating of remote.example.com finished c T.Besançon (version 10.0) Notes de la page 291 : Administration Unix ARS 2007–2008 Tôme 3 291 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist La mise à jour ci dessus est inconditionnelle. Elle ne fait pas de comparaison de date. Pour activer la vérification des dates de modification, il faut utiliser l’option « -y ». % rdist -y remote.example.com: updating host remote.example.com remote.example.com: updating of remote.example.com finished Notez les différence avec les résultats précédents. c T.Besançon (version 10.0) Notes de la page 292 : Administration Unix ARS 2007–2008 Tôme 3 292 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Exemple 2 : macros Objectif : mettre à jour les fichiers « /var/tmp/fichier.txt » et « /var/tmp/fichier2.txt » des machines distantes nommées « remote.example.com », « remote2.example.com » et « remote3.example.com » à partir des fichiers locaux originaux « /tmp/fichier.txt » et « /tmp/fichier2.txt ». Soit le fichier « Distfile » contenant les lignes suivantes : FILES = ( /tmp/fichier.txt /tmp/fichier2.txt ) HOSTS = ( remote.example.com remote2.example.com remote3.example.com ) ${FILES} -> ${HOSTS} install /var/tmp ; notify besancon ; c T.Besançon (version 10.0) Notes de la page 293 : Administration Unix ARS 2007–2008 Tôme 3 293 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist On constate : on utilise des macros : « FILES », « HOSTS » on met à jour des fichiers distants de paths différents des originaux on envoie un mail une fois la mise à jour faite c T.Besançon (version 10.0) Notes de la page 294 : Administration Unix ARS 2007–2008 Tôme 3 294 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Possibilité de ne mettre à jour qu’une machine du lot via l’option « -m » : % rdist -m remote.example.com remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: installing remote.example.com: /tmp/fichier2.txt: installing remote.example.com: notify @remote.example.com ( besancon ) remote.example.com: updating of remote.example.com finished c T.Besançon (version 10.0) Notes de la page 295 : Administration Unix ARS 2007–2008 Tôme 3 295 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Une seconde mise à jour donne : % touch /tmp/fichier.txt % rdist -y remote.example.com: updating host remote.example.com remote.example.com: /tmp/fichier.txt: updating remote.example.com: notify @remote.example.com ( besancon ) remote.example.com: updating of remote.example.com finished Notez le mot « updating » au lieu de « installing ». c T.Besançon (version 10.0) Notes de la page 296 : Administration Unix ARS 2007–2008 Tôme 3 296 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Exemple 3 : directive special Soit le fichier « Distfile » contenant les lignes suivantes : /tmp/fichier.txt -> remote.example.com install ; special "uname -a" ; Son exécution donne : % rdist remote.example.com: remote.example.com: remote.example.com: remote.example.com: remote.example.com: updating host remote.example.com /tmp/fichier.txt: installing special "uname -a" FreeBSD remote.example.com 4.6.1-RC2 updating of remote.example.com finished On constate qu’une fois la mise à jour des fichiers réalisée, la commande spécifiée par « special » est exécutée sur la machine distante. c T.Besançon (version 10.0) Notes de la page 297 : Administration Unix ARS 2007–2008 Tôme 3 297 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist exemple 4 : essai à blanc L’option « -n » essaye à blanc le scenario de mise à jour mais ne réalise pas la mise à jour en pratique. Avec le fichier « Distfile » de l’exemple 1, on voit ainsi : % rdist -n updating host remote.example.com install -onochkgroup,nochkowner,younger /tmp/fichier.txt /tmp/fichier.txt c T.Besançon (version 10.0) Notes de la page 298 : Administration Unix ARS 2007–2008 Tôme 3 298 / 707 11 Synchronisation de fichiers 11.2 Synchronisation de fichiers UNIX via rdist Exemple 5 : transport via SSH On peut utiliser SSH comme protocole de transport avec la machine distante au lieu de RSH. Avec le fichier « Distfile » de l’exemple 1, on voit ainsi : % rdist -P /usr/local/bin/ssh remote.example.com: updating host remote.example.com Enter passphrase for key ’/users/sri/besancon/.ssh/id_dsa’: XXXXXXXX remote.example.com: /tmp/fichier.txt: installing remote.example.com: updating of remote.example.com finished c T.Besançon (version 10.0) Notes de la page 299 : Administration Unix ARS 2007–2008 Tôme 3 299 / 707 11 Synchronisation de fichiers 11.3 Synchronisation de fichiers UNIX via rsync Chapitre 11 • Synchronisation de fichiers §11.3 • Synchronisation de fichiers UNIX via rsync (en anglais Remote Synchronisation) RSYNC est un protocole plus efficace que RDIST. Par exemple, on ne transfère que les différences entre fichiers et non pas la totalité du fichier. Pas encore installé en standard. Se reporter à http://rsync.samba.org/ c T.Besançon (version 10.0) Notes de la page 300 : Administration Unix ARS 2007–2008 Tôme 3 300 / 707 11 Synchronisation de fichiers 11.3 Synchronisation de fichiers UNIX via rsync On utilise la commande de ces diverses façons : rsync rsync rsync rsync rsync rsync [OPTION]... [OPTION]... [OPTION]... [OPTION]... [OPTION]... [OPTION]... SRC [SRC]... [USER@]HOST:DEST [USER@]HOST:SRC DEST SRC [SRC]... DEST [USER@]HOST::SRC [DEST] SRC [SRC]... [USER@]HOST::DEST rsync://[USER@]HOST[:PORT]/SRC [DEST] Il y a un mode de fonctionnement où un démon « rsyncd » est installé et répond à des requêtes authentifiées ou non. c T.Besançon (version 10.0) Notes de la page 301 : Administration Unix ARS 2007–2008 Tôme 3 301 / 707 11 Synchronisation de fichiers 11.3 Synchronisation de fichiers UNIX via rsync Exemple Soit l’arborescence « /tmp/exemple » à synchroniser : % ls -lR /tmp/exemple /tmp/exemple/: total 64 -rwxr-xr-x 1 besancon -rwxr-xr-x 1 besancon -rwxr-xr-x 1 besancon drwxr-xr-x 2 besancon adm adm adm adm /tmp/exemple/repertoire1: total 16 -rwxr-xr-x 1 besancon adm c T.Besançon (version 10.0) Notes de la page 302 : 211 211 211 182 Aug Aug Aug Aug 26 26 26 26 17:53 17:53 17:53 17:54 fichier1* fichier2* fichier3* repertoire1/ 211 Aug 26 17:53 fichier4* Administration Unix ARS 2007–2008 Tôme 3 302 / 707 11 Synchronisation de fichiers 11.3 Synchronisation de fichiers UNIX via rsync La synchronisation avec une autre machine appelée « remote.example.com » par la commande suivante : % rsync \ --stats \ --rsh=/usr/local/bin/ssh \ --rsync-path=/usr/local/bin/rsync \ --archive \ --compress \ --verbose \ --cvs-exclude \ \ /tmp/exemple \ [email protected]:/tmp c T.Besançon (version 10.0) Notes de la page 303 : Administration Unix ARS 2007–2008 Tôme 3 303 / 707 11 Synchronisation de fichiers 11.3 Synchronisation de fichiers UNIX via rsync La commande précédente affiche : building file list ... done exemple/ exemple/fichier1 exemple/fichier2 exemple/fichier3 exemple/repertoire1/ exemple/repertoire1/fichier4 Number of files: 6 Number of files transferred: 4 Total file size: 844 bytes Total transferred file size: 844 bytes Literal data: 844 bytes Matched data: 0 bytes File list size: 161 Total bytes written: 825 Total bytes read: 84 wrote 825 bytes read 84 bytes 606.00 bytes/sec total size is 844 speedup is 0.93 c T.Besançon (version 10.0) Notes de la page 304 : Administration Unix ARS 2007–2008 Tôme 3 304 / 707 11 Synchronisation de fichiers 11.4 Synchronisation de fichiers WINDOWS via FullSync.exe Chapitre 11 • Synchronisation de fichiers §11.4 • Synchronisation de fichiers WINDOWS via FullSync.exe Programme FULLSYNC pour Windows. http://fullsync.sourceforge.net/ Synchronisation de fichiers entre disques locaux Synchronisation de fichiers entre disques locaux et réseau via FTP, SFTP, SMB Synchronisation unidirectionnelle sans effacement sur la destination Synchronisation unidirectionnelle exacte Synchronisation bidirectionnelle Programmation à la CRON c T.Besançon (version 10.0) Notes de la page 305 : Administration Unix ARS 2007–2008 Tôme 3 305 / 707 11 Synchronisation de fichiers c T.Besançon (version 10.0) Notes de la page 306 : 11.4 Synchronisation de fichiers WINDOWS via FullSync.exe Administration Unix ARS 2007–2008 Tôme 3 306 / 707