Linux Networking HOWTO | ||
---|---|---|
Prev | Chapter 5. Informations g�n�rales concernant la configuration r�seau | Next |
Les serveurs de r�seau et les services sont des programmes qui permettent � un utilisateur distant de devenir utilisateur de votre machine Linux. Les programmes serveurs sont � l'�coute des ports r�seau. Les ports r�seau permettent de demander un service particulier � un h�te particulier et de faire la diff�rence entre une connexion telnet entrante et une connexion ftp entrante. L'utilisateur distant �tablit une connexion r�seau avec votre machine puis le programme serveur, ou d�mon de r�seau, � l'�coute du port, accepte la connexion et s'ex�cute. Il y a deux fa�ons d'op�rer pour les d�mons de r�seau. Les deux sont couramment utilis�s en pratique. Ce sont :
le programme d�mon �coute le port r�seau d�sign� et lorsqu'il y a une connexion, il prend lui-m�me la connexion en charge pour fournir le service.
le serveur inetd est un programme d�mon sp�cial sp�cialis� dans la conduite des connexions r�seau. Il poss�de un fichier de configuration qui indique quel programme doit �tre utilis� lorsqu'une connexion entrante est re�ue. Chacun des ports service doit �tre configur� soit avec le protocole tcp, soit avec le protocole udp. Les ports sont d�crits dans un autre fichier dont nous parlerons plus tard.
Il existe deux fichiers importants qui doivent �tre configur�s : /etc/services qui assigne des noms aux num�ros de port et /etc/inetd.conf qui sert pour la configuration du d�mon de r�seau inetd .
Le fichier /etc/services est une simple base de donn�es qui associe des noms compr�hensibles par l'homme � des ports service compr�hensibles par la machine. Son format est tout � fait simple. Le fichier est un fichier texte dont chaque ligne repr�sente une entr�e de la base de donn�es. Chaque entr�e comprend trois champs s�par�s par des caract�res espace ou tabulation. Ces champs sont :
nom port/protocole alias # commentaire
un simple mot qui repr�sente le service d�crit.
ce champ est divis� en deux.
un nombre qui sp�cifie le num�ro de port o� le service d�sign� sera disponible. La plupart des services ont des num�ros assign�s. Ils sont d�crits dans la RFC-1340.
c'est soit tcp soit udp.
Il est important de noter qu'une entr�e comme 18/tcp est tr�s diff�rente de 18/udp et qu'il n'y a pas de raisons techniques que le m�me service existe sur les deux. Normalement le bon sens pr�vaut et c'est vraiment pour un service particulier disponible � la fois sur tcp et udp que vous verrez une entr�e pour les deux..
Autres noms qui peuvent �tre utilis�s pour se r�f�rer � un service.
Tout texte apparaissant apr�s le caract�re `#' est ignor� et trait� comme commentaire.
Toutes les distributions r�centes de Linux fournissent un bon fichier /etc/services. Juste au cas o� vous construiriez tout depuis le d�part, voici une copie du fichier /etc/services fourni avec l'ancienne distribution Debian .
# /etc/services: # $Id: Net-HOWTO.sgml,v 1.1.1.1 2003/01/03 02:38:54 traduc Exp $ # # Network services, Internet style # # Notez que c'est la politique actuelle de l'IANA d'assigner un seul num�ro # de port � la fois pour TCP et UDP; ainsi, la plupart des ports ont deux # entr�es m�me si le protocole ne supporte pas UDP. # Mis � jour d'apr�s la RFC 1340, ``Assigned Numbers'' (Juillet 1992). # Il n'y a pas tous les ports, seulement les plus courants. tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp QUOTE msp 18/tcp # message send protocol msp 18/udp # message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp # 24 - private smtp 25/tcp mail # 26 - non assign� time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location nameserver 42/tcp name # IEN 116 whois 43/tcp nicname re-mail-ck 50/tcp # Remote Mail Checking Protocol re-mail-ck 50/udp # Remote Mail Checking Protocol domain 53/tcp nameserver # name-domain server domain 53/udp nameserver mtp 57/tcp # deprecated bootps 67/tcp # BOOTP server bootps 67/udp bootpc 68/tcp # BOOTP client bootpc 68/udp tftp 69/udp gopher 70/tcp # Internet Gopher gopher 70/udp rje 77/tcp netrjs finger 79/tcp www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink kerberos 88/tcp kerberos5 krb5 # Kerberos v5 kerberos 88/udp kerberos5 krb5 # Kerberos v5 supdup 95/tcp # 100 - reserve hostnames 101/tcp hostname # usually from sri-nic iso-tsap 102/tcp tsap # part of ISODE. csnet-ns 105/tcp cso-ns # also used by CSO name server csnet-ns 105/udp cso-ns rtelnet 107/tcp # Remote Telnet rtelnet 107/udp pop-2 109/tcp postoffice # POP version 2 pop-2 109/udp pop-3 110/tcp # POP version 3 pop-3 110/udp sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP auth 113/tcp authentication tap ident sftp 115/tcp uucp-path 117/tcp nntp 119/tcp readnews untp # USENET News Transfer Protocol ntp 123/tcp ntp 123/udp # Network Time Protocol netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp imap2 143/tcp # Interim Mail Access Proto v2 imap2 143/udp snmp 161/udp # Simple Net Mgmt Proto snmp-trap 162/udp snmptrap # Traps for SNMP cmip-man 163/tcp # ISO mgmt over IP (CMOT) cmip-man 163/udp cmip-agent 164/tcp cmip-agent 164/udp xdmcp 177/tcp # X Display Mgr. Control Proto xdmcp 177/udp nextstep 178/tcp NeXTStep NextStep # NeXTStep window nextstep 178/udp NeXTStep NextStep # server bgp 179/tcp # Border Gateway Proto. bgp 179/udp prospero 191/tcp # Cliff Neuman's Prospero prospero 191/udp irc 194/tcp # Internet Relay Chat irc 194/udp smux 199/tcp # SNMP Unix Multiplexer smux 199/udp at-rtmp 201/tcp # AppleTalk routing at-rtmp 201/udp at-nbp 202/tcp # AppleTalk name binding at-nbp 202/udp at-echo 204/tcp # AppleTalk echo at-echo 204/udp at-zis 206/tcp # AppleTalk zone information at-zis 206/udp z3950 210/tcp wais # NISO Z39.50 database z3950 210/udp wais ipx 213/tcp # IPX ipx 213/udp imap3 220/tcp # Interactive Mail Access imap3 220/udp # Protocol v3 ulistserv 372/tcp # UNIX Listserv ulistserv 372/udp # # services sp�cifiques � UNIX # exec 512/tcp biff 512/udp comsat login 513/tcp who 513/udp whod shell 514/tcp cmd # no passwords used syslog 514/udp printer 515/tcp spooler # line printer spooler talk 517/udp ntalk 518/udp route 520/udp router routed # RIP timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc conference 531/tcp chat netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # uucp daemon remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem klogin 543/tcp # Kerberized `rlogin' (v5) kshell 544/tcp krcmd # Kerberized `rsh' (v5) kerberos-adm 749/tcp # Kerberos `kadmin' (v5) # webster 765/tcp # Network dictionary webster 765/udp # # D'apr�s ``Assigned Numbers'' : # #> Les Ports Enregistr�s ne sont pas contr�l�s par l'IANA et peuvent �tre #> utilis�s sur la plupart des syst�mes par des processus ordinaires #> ou des programmes ex�cut�s par des utilisateurs ordinaires. # #>Les ports sont utilis�s dans le TCP [45,106] pour nommer les extr�mit�s #> des connexions logiques qui transportent les conversations de longue #> dur�e. Pour offrir des services � des utilisateurs non connus, un port #> de service pour contact a �t� d�fini. Cette liste sp�cifie le port utilis� #> par le processus serveur ainsi que son port de contact. Comme l'IANA ne peut #> contr�ler l'usage de ces ports, on donne ici une liste d'utilisation #> de ces ports pour �tre agr�able � la communaut�. # ingreslock 1524/tcp ingreslock 1524/udp prospero-np 1525/tcp # Prospero non-privileged prospero-np 1525/udp rfe 5002/tcp # Radio Free Ethernet rfe 5002/udp # Actually uses UDP only bbs 7000/tcp # BBS service # # # services Kerberos (Project Athena/MIT) # Notez que ceux-ci sont pour Kerberos v4, et ne sont pas officiels. Les sites # tournant sous v4 doivent utiliser ceux-ci et annuler les entr�es v5 ci-dessus. # kerberos4 750/udp kdc # Kerberos (server) udp kerberos4 750/tcp kdc # Kerberos (server) tcp kerberos_master 751/udp # Kerberos authentication kerberos_master 751/tcp # Kerberos authentication passwd_server 752/udp # Kerberos passwd server krb_prop 754/tcp # Kerberos slave propagation krbupdate 760/tcp kreg # Kerberos registration kpasswd 761/tcp kpwd # Kerberos "passwd" kpop 1109/tcp # Pop with Kerberos knetd 2053/tcp # Kerberos de-multiplexor zephyr-srv 2102/udp # Zephyr server zephyr-clt 2103/udp # Zephyr serv-hm connection zephyr-hm 2104/udp # Zephyr hostmanager eklogin 2105/tcp # Kerberos encrypted rlogin # # Services non officiels mais n�cessaires (pour NetBSD) # supfilesrv 871/tcp # SUP server supfiledbg 1127/tcp # SUP debugging # # Services protocole de d�livrance de datagrammes # rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol # # Services Debian GNU/Linux rmtcfg 1236/tcp # Gracilis Packeten remote config server xtel 1313/tcp # french minitel cfinger 2003/tcp # GNU Finger postgres 4321/tcp # POSTGRES mandelspawn 9359/udp mandelbrot # network mandelbrot # Services locaux |
Dans la r�alit�, le fichier augmente toujours en taille au fur et � mesure que de nouveaux services apparaissent. Si vous craignez que votre copie soit incompl�te, je vous sugg�re de copier un nouveau fichier /etc/services provenant d'une distribution r�cente.
Le fichier /etc/inetd.conf est le fichier de configuration du serveur d�mon inetd . Il sert � dire � inetd ce qu'il doit faire lorsqu'il re�oit une demande de connexion pour un service particulier. Pour les services o� vous acceptez une connexion vous devez dire � inetd quel d�mon serveur de r�seau doit tourner, et comment.
Son format est aussi tr�s simple. C'est un fichier texte dont chaque ligne d�crit un service que vous voulez fournir. Tout texte suivant un `#' est ignor� et consid�r� comme commentaire. Chaque ligne contient sept champs s�par�s par un nombre quelconque d'espaces (espace ou tabulation). Le format g�n�ral est comme suit :
service type_de_socket protocole drapeaux utilisateur chemin arguments |
est le nom de service applicable � cette configuration, pris dans le fichier /etc/services.
ce champ d�crit le type de socket que cette entr�e consid�re comme pertinent. Voici les valeurs qui sont autoris�es : stream, dgram, raw, rdm, ou seqpacket. C'est un peu technique par nature, mais par exp�rience, presque tous les services bas�s sur tcp utilisent stream et presque tous les services bas�s sur udp utilisent dgram. Il n'y a que quelques types de serveurs d�mons sp�ciaux utilisant d'autres valeurs.
le protocole consid�r� comme valide pour cette entr�e. Il doit correspondre � l'entr�e appropri�e dans le fichier /etc/services et sera donc soit tcp soit udp. Les serveurs bas�s sur Sun RPC (Remote Procedure Call) utilisent rpc/tcp ou rpc/udp.
il n'y a en fait que deux valeurs pour ce champ. Celles-ci disent � inetd si le programme serveur r�seau lib�re le socket apr�s d�marrage, et donc si inetd peut prendre en compte une des prochaines demandes de connexion, ou bien si inetd doit attendre qu'un autre d�mon serveur tournant d�j� prenne en charge la nouvelle demande de connexion. C'est encore compliqu�, mais en pratique tous les serveurs tcp doivent avoir cette entr�e positionn�e sur nowait et la plupart des serveurs udp ont cette entr�e positionn�e sur wait. Attention il y a quelques exceptions notables, laissez vous guider par l'exemple suivant si vous n'�tes pas s�rs.
ce champ d�crit quel compte utilisateur extrait de /etc/passwd sera consid�r� comme propri�taire du d�mon r�seau lorsqu'il est lanc�. C'est tr�s utile lorsque vous voulez vous prot�ger contre les trous de s�curit�. Vous pouvez mettre nobody comme utilisateur pour une entr�e si bien que dans le cas o� le r�seau comporte une br�che, les dommages �ventuels seront minimis�s. Cependant habituellement ce champ est r�gl� sur root, car de nombreux serveurs ont besoin des privil�ges de root pour tourner correctement.
ce champ est le v�ritable chemin d'acc�s au programme.
ce champ correspond au reste de la ligne et est optionnel. Il sert � indiquer les arguments de commande que vous voulez passer au programme serveur au lancement.
Comme pour le fichier /etc/services, toutes les distributions modernes incluent un bon fichier /etc/inetd.conf pour pouvoir travailler. Ici, pour �tre complet , vous trouverez le fichier /etc/inetd.conf de la distribution Debian.
# /etc/inetd.conf: voir inetd(8) pour d'autres informations. # # Base de donn�es pour la configuration d'un serveur Internet # # # Modifi� pour Debian par Peter Tobias <tobias@et-inf.fho-emden.de> # # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> # # Services internes # #echo stream tcp nowait root internal #echo dgram udp wait root internal discard stream tcp nowait root internal discard dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal # # Services standards. # telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd #fsp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.fspd # # Shell, login, exec et talk sont des protocoles BSD. # shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd talk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.talkd ntalk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.ntalkd # # Services Mail, news et uucp. # smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.smtpd #nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/in.nntpd #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico #comsat dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.comsat # # Pop et autres # #pop-2 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d # # `cfinger' est le serveur finger GNU de Debian. (NOTE : L'impl�mentation # habituelle du d�mon `finger' permet de le faire tourner avec `root'.) # #cfinger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.cfingerd #finger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.fingerd #netstat stream tcp nowait nobody /usr/sbin/tcpd /bin/netstat #systat stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx # # Le service tftp est fourni principalement pour d�marrer. La plupart des sites # l'utilisent seulement sur les machines servant de `serveurs de boot'. # #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot #bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 # # Services Kerberos (ils doivent probablement �tre corrig�s) # #klogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k #eklogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k -x #kshell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd -k # # Services tournant UNIQUEMENT sur Kerberos (doivent �tre probablement corrig�s) # #krbupdate stream tcp nowait root /usr/sbin/tcpd /usr/sbin/registerd #kpasswd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/kpasswdd # # Services RPC # #mountd/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.mountd #rstatd/1-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rstatd #rusersd/2-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rusersd #walld/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rwalld # # Fin de inetd.conf. ident stream tcp nowait nobody /usr/sbin/identd identd -i |
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:32