<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V5.0//EN" "/usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" [
<!ENTITY phl SYSTEM "author.xml">
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY iptables.active SYSTEM "files/active">
<!-- urls --><!ENTITY % rfc_urls SYSTEM "rfc.urls.xml">
<!ENTITY url.rfc791 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc791.html">
  RFC791 <citetitle>Internet Protocol</citetitle></link>'>
<!ENTITY url.rfc792 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc792.html">
  RFC792 <citetitle>Internet Control Message Protocol</citetitle></link>'>
<!ENTITY url.rfc793 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc793.html">
  RFC793 <citetitle>Transmission Control Protocol</citetitle></link>'>
<!ENTITY url.rfc826 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc826.html">
  RFC826 <citetitle>Ethernet Address Resolution Protocol</citetitle></link>'>
<!ENTITY url.rfc894 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc894.html">
  RFC894 <citetitle>Standard for the transmission of IP datagrams over Ethernet networks</citetitle></link>'>
<!ENTITY url.rfc950 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc950.html">
  RFC950 <citetitle>Internet Standard Subnetting Procedure</citetitle></link>'>
<!ENTITY url.rfc1042 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1042.html">
  RFC1042 <citetitle>Standard for the transmission of IP datagrams over IEEE 802 networks</citetitle></link>'>
<!ENTITY url.rfc1119 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1119.html">
  RFC1119 <citetitle>Network Time Protocol (version 2) specification and implementation</citetitle></link>'>
<!ENTITY url.rfc1157 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1157.html">
  RFC1157 <citetitle>Simple Network Management Protocol (SNMP)</citetitle></link>'>
<!ENTITY url.rfc1191 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1191.html">
  RFC1191 <citetitle>Path MTU discovery</citetitle></link>'>
<!ENTITY url.rfc1350 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1350.html">
  RFC1350 <citetitle>The TFTP Protocol (Revision 2)</citetitle></link>'>
<!ENTITY url.rfc1517 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1517.html">
  RFC1517 <citetitle>Applicability Statement for the Implementation of Classless Inter-Domain Routing (CIDR)</citetitle></link>'>
<!ENTITY url.rfc1518 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1518.html">
  RFC1518 <citetitle>An Architecture for IP Address Allocation with CIDR</citetitle></link>'>
<!ENTITY url.rfc1519 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1519.html">
  RFC1519 <citetitle>Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy</citetitle></link>'>
<!ENTITY url.rfc1520 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1520.html">
  RFC1520 <citetitle>Exchanging Routing Information Across Provider Boundaries in the CIDR Environment</citetitle></link>'>
<!ENTITY url.rfc1631 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1631.html">
  RFC1631 <citetitle>The IP Network Address Translator (NAT)</citetitle></link>'>
<!ENTITY url.rfc1633 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1633.html">
  RFC1633 <citetitle>Integrated Services in the Internet Architecture: an Overview</citetitle></link>'>
<!ENTITY url.rfc1661 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1661.html">
  RFC1661 <citetitle>The Point-to-Point Protocol (PPP)</citetitle></link>'>
<!ENTITY url.rfc1717 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1717.html">
  RFC1717 <citetitle>The PPP Multilink Protocol (MP)</citetitle></link>'>
<!ENTITY url.rfc1878 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1878.html">
  RFC1878 <citetitle>Variable Length Subnet Table For IPv4</citetitle></link>'>
<!ENTITY url.rfc1918 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1918.html">
  RFC1918 <citetitle>Address Allocation for Private Internets</citetitle></link>'>
<!ENTITY url.rfc1977 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1977.html">
  RFC1977 <citetitle>PPP BSD Compression Protocol</citetitle></link>'>
<!ENTITY url.rfc1990 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc1990.html">
  RFC1990 <citetitle>The PPP Multilink Protocol (MP)</citetitle></link>'>
<!ENTITY url.rfc2205 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc2205.html">
  RFC2205 <citetitle>Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification</citetitle></link>'>
<!ENTITY url.rfc2328 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc2328.html">
  RFC2328 <citetitle>OSPF Version 2</citetitle></link>'>
<!ENTITY url.rfc2474 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc2474.html">
  RFC2474 <citetitle>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</citetitle></link>'>
<!ENTITY url.rfc2475 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc2475.html">
  RFC2475 <citetitle>An Architecture for Differentiated Service</citetitle></link>'>
<!ENTITY url.rfc3164 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc3164.html">
  RFC3164 <citetitle>The BSD Syslog Protocol</citetitle></link>'>
<!ENTITY url.rfc3198 '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.faqs.org/rfcs/rfc3198.html">
  RFC3198 <citetitle>Terminology for Policy-Based Management</citetitle></link>'>
<!ENTITY url.initiation.routage '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.inetdoc.net/guides/index.html#routing-qos-sect">
	<citetitle>Routage et Qualité de service</citetitle></link>'>
<!ENTITY url.quagga '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.quagga.net/">
	<citetitle>Quagga</citetitle></link>'>
<!ENTITY url.openssh '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://openssh.org/">
	<citetitle>OpenSSH</citetitle></link>'>
<!ENTITY url.stunnel '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.stunnel.org/">
	<citetitle>Stunnel</citetitle></link>'>
<!ENTITY url.openvpn '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://openvpn.net/">
	<citetitle>OpenVPN</citetitle></link>'>
<!ENTITY url.minicom '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://alioth.debian.org/projects/minicom/">
	<citetitle>Information sur le projet minicom</citetitle></link>'>
<!ENTITY url.cert.incidents '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.cert.org/nav/index_red.html">
	<citetitle>CERT: Vulnerabilities, Incidents &amp; Fixes</citetitle></link>'>
<!ENTITY url.ietf.syslog '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.employees.org/~lonvick/">
        <citetitle>IETF Syslog Working Group Home Page</citetitle></link>'>
<!ENTITY url.hsc.syslog '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.hsc.fr/ressources/presentations/dnac03/">
        <citetitle>Normes utiles en sécurité réseau</citetitle></link>'>
<!ENTITY url.logwatch '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.logwatch.org/">
        <citetitle>Logwatch</citetitle></link>'>
<!ENTITY url.logcheck '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://logcheck.org/">
        <citetitle>Logcheck</citetitle></link>'>
<!ENTITY url.nsa.switch.guide '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.nsa.gov/ia/_files/switches/switch-guide-version1_01.pdf">
        <citetitle>Swicth guide version 1.01</citetitle></link>'>
<!ENTITY url.nsa.router.guide '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.nsa.gov/ia/_files/routers/C4-040R-02.pdf">
        <citetitle>Router guide version 1.1c</citetitle></link>'>
<!ENTITY url.nsa.summary '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.nsa.gov/ia/_files/routers/cisco_exec_sum.pdf">
        <citetitle>Executive Summary</citetitle></link>'>
]>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt" xml:lang="fr">

<info>
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Gestion des équipements réseau avec GNU/Linux</title>
  <authorgroup xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<author xmlns:xlink="http://www.w3.org/1999/xlink">
  <personname xmlns:xlink="http://www.w3.org/1999/xlink">
    <firstname xmlns:xlink="http://www.w3.org/1999/xlink">Philippe</firstname><surname xmlns:xlink="http://www.w3.org/1999/xlink">Latu</surname>
  </personname>
  <affiliation xmlns:xlink="http://www.w3.org/1999/xlink">
    <shortaffil xmlns:xlink="http://www.w3.org/1999/xlink">inetdoc.net</shortaffil>
    <jobtitle xmlns:xlink="http://www.w3.org/1999/xlink">Enseignant - Chargé de mission Systèmes &amp; Réseaux</jobtitle>
    <orgname xmlns:xlink="http://www.w3.org/1999/xlink">IUT - Université Toulouse III - Paul Sabatier</orgname>
    <address xmlns:xlink="http://www.w3.org/1999/xlink"><email xmlns:xlink="http://www.w3.org/1999/xlink">philippe.latu(at)inetdoc.net</email></address>
  </affiliation>
</author>
</authorgroup>

  <abstract xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Cet article présente les principaux modes de gestion d'équipements
    réseau (routeurs, commutateurs, points d'accès, etc.) à partir d'un système
    GNU/Linux.</para>
  </abstract>
  <keywordset xmlns:xlink="http://www.w3.org/1999/xlink">
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">inetdoc</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">Linux</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">minicom</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">lrzsz</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">xmodem</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">tftp</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">tftpd-hpa</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">syslog</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">syslog-ng</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">ntp</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">snmp</keyword>
  </keywordset>
</info>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.legal.meta">
  <title xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">Copyright et Licence</title>

<literallayout xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" class="monospaced">Copyright (c) 2000,2012 Philippe Latu.
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
in the section entitled "GNU Free Documentation License".</literallayout>

<literallayout xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" class="monospaced">Copyright (c) 2000,2012 Philippe Latu.
Permission est accordée de copier, distribuer et/ou modifier ce document selon
les termes de la Licence de Documentation Libre GNU (GNU Free Documentation
License), version 1.3 ou toute version ultérieure publiée par la Free Software
Foundation ; sans Sections Invariables ; sans Texte de Première de Couverture,
et sans Texte de Quatrième de Couverture. Une copie de la présente Licence est
incluse dans la section intitulée « Licence de Documentation Libre GNU ».</literallayout>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.meta">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Méta-information</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Cet article est écrit avec <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.docbook.org"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">DocBook</citetitle></link> XML
  sur un système <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.debian.org"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian
  GNU/Linux</citetitle></link>. Il est disponible en version imprimable au
  format PDF : <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/pdf/devmgmt.pdf"><literal xmlns:xlink="http://www.w3.org/1999/xlink">devmgmt.pdf</literal></link>.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.meta.hardware">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Équipements testés</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Tous les tests présentés dans cet article sont effectués sur des
    équipements <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark>. Cela ne signifie pas que ces
    équipements sont les seuls à être gérés de cette façon. Bien au contraire !
    Les outils de gestion décrits sont utilisables avec n'importe quel
    équipement offrant la fonctionnalité étudiée.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="meta.software">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Logiciels utilisés</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Toutes les commandes utilisées dans ce document ne sont pas
    spécifiques à une version particulière des systèmes UNIX ou GNU/Linux.
    Comme la distribution <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> est
    utilisée pour l'ensemble des supports du site
    <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">inetdoc.net</citetitle>, voici une liste des paquets contenant
    les commandes nécessaires :</para>

    <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom"><application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application></link> -
	friendly menu driven serial communication program.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom.examples.xmodem"><application xmlns:xlink="http://www.w3.org/1999/xlink">lrzsz</application></link> -
	Tools for zmodem/xmodem/ymodem file transfer.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp-hpa"><application xmlns:xlink="http://www.w3.org/1999/xlink">tftpd-hpa</application></link> -
	HPA's tftp server.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log"><application xmlns:xlink="http://www.w3.org/1999/xlink">sysklogd</application></link> -
	System Logging Daemon.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.syslog-ng"><application xmlns:xlink="http://www.w3.org/1999/xlink">syslog-ng</application></link> -
	Next generation logging daemon.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.process"><application xmlns:xlink="http://www.w3.org/1999/xlink">logcheck</application></link> -
	Mails anomalies in the system logfiles to the administrator.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.ntp"><application xmlns:xlink="http://www.w3.org/1999/xlink">ntp</application></link> -
	Network Time Protocol: daemon for simple systems.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.mrtg"><application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application></link> -
	multi router traffic grapher.</para>
      </listitem>
    </itemizedlist>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.archi">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Sécurité et architecture</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Par définition, la sécurité d'un système d'information est une chaîne
  de fonctions dont la résistance est égale à celle du maillon le plus
  faible. La thématique de cet article peut être considérée comme une fonction
  de sécurité. En effet, il est essentiel d'avoir un accès sûr et continu aux
  équipements d'interconnexion et|ou d'être capable de redémarrer avec des jeux
  de configurations fiables en cas de défaut.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'objet de cet article n'est pas de développer en détails les aspects
  sécurité de la gestion des équipements réseau. Pour autant, on peut essayer
  d'énoncer «la règle d'or» de la sécurisation des équipements à partir
  l'expression consacrée en anglais : <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">toutes les opérations de
  gestion des équipements doivent s'effectuer hors de la bande passante
  utilisateur</emphasis>. En anglais, on retrouve très fréquemment l'acronyme
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">OOB</acronym> pour <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Out Of Band
  management</wordasword>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans la conception d'une architecture d'interconnexion réseau moderne,
  on doit systématiquement prévoir un périmètre dédié à la gestion de
  l'infrastructure. Les contours d'un tel périmètre varient en fonction du
  contexte. À minima, ce périmètre peut être constitué d'un VLAN pour un
  commutateur unique. Dès que le nombre des équipements s'étoffe un peu on
  doit disposer d'un réseau <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> spécifique et de services
  complets : <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SSH</acronym>, <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp"><acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym></link>, <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log"><acronym xmlns:xlink="http://www.w3.org/1999/xlink">SysLog</acronym></link>, <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.ntp"><acronym xmlns:xlink="http://www.w3.org/1999/xlink">NTP</acronym></link>, <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.mrtg"><acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMP</acronym></link>,
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">DNS</acronym>, <acronym xmlns:xlink="http://www.w3.org/1999/xlink">WWW</acronym>, etc.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un exemple d'architecture type dans laquelle les signes
  '<literal xmlns:xlink="http://www.w3.org/1999/xlink">,-&lt;</literal>' matérialisent les accès de gestion sur les
  équipements :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">           __
       ___/  \_         ,-&lt;    pare-feu
     _/        \__     _V_____   .--.        ,-&lt;
    /             \   (_______)  | X|,-&lt;   __V________ / /______
   | Internet . . .|__|routeur|__| X|__   |_=_=_=_=_=_/ /_=_=_=_|
   \_ . . . .   __/   (_______)  | X|  `----'   |    / /      |
    |\__     __/            ,-&lt; ------          |     ,-&lt;     |périmètre
    |   \___/             __V________           |   __V______ |accès
 .--'                    |_=_=_=_=_=_|          |  |_=_=_=_=_||
 |.....                          | | périmètre  |    |     '--'
.------,~                    .--.| | services   |    |.....
| mgmt |'                    | .|, `------------'   .------,~
|      ||                 .--| =|                   |client|'
\------ /                 | .|  |       _________   |      ||--,~
 ======/\              .--| ------     |_=_=_=_=_|  \------ /nt|'
console  \             | .|  |        périmètre|     ======/   ||--,~
          \            | ------         gestion|        \------ /nt|'
        ___\           |  |                .--.|         ======/   ||
        \             ------          ,-&lt;  | .|,            \------ /
         \                           _V_____ =|services      ======/
          \  ligne spécialisée      (_______) |gestion des
           \________________________|routeur|--- équipements
                                    (_______)
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On retrouve ici les deux grandes catégories d'accès pour la gestion des
  équipements hors de la bande passante utilisateur.</para>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="ls">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Ligne spécialisée</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilisation d'une ligne spécialisée est généralement préconisée
    pour obtenir un accès physique indépendant à l'infrastructure à moindre
    coût. Une ligne spécialisée présente une sécurité intrinsèque puisque le
    canal de communication est dédié et la limitation du débit ne pose pas de
    problème puisque les opérations de gestion des équipements ne consomment
    que très peu de bande passante. Cette solution est généralement proposée
    dans les offres d'hébergements externalisés.</para>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="vpn">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Réseau privé virtuel</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le cas où l'on ne dispose pas d'une deuxième voie d'accès
    physique à l'infrastructure, l'utilisation d'un réseau privé virtuel
    réservé à la gestion permet d'accéder aux équipements. Le principal défaut
    de cette solution est évident : le routeur «de tête» devient un point
    d'entrée encore plus sensible. Si on perd l'accès à ce routeur, on est
    coupé du reste de l'infrastructure.</para>
    </listitem>
    </varlistentry>
  </variablelist>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Outils GNU/Linux</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Relativement à l'architecture type présentée ci-dessus, les systèmes
  GNU/Linux conviennent parfaitement à la mise en œuvre d'un ensemble de
  services spécifiques dédiés à la gestion des équipements réseau.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Tout d'abord, le serveur qui héberge les services du périmètre doit
  fonctionner avec GNU/Linux. C'est à cette condition que l'on pourra déployer
  les fonctions décrites dans la suite du document :</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Routage directement intégré au serveur avec <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.quagga.net/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Quagga</citetitle></link>. Voir
    <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/guides/index.html#routing-qos-sect">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Routage et Qualité de service</citetitle></link>. Dans le cas d'un système d'information utilisant
    le protocole de routage <acronym xmlns:xlink="http://www.w3.org/1999/xlink">OSPF</acronym>, <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.quagga.net/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Quagga</citetitle></link> peut très
    bien servir de «démon de référence» dans les calculs de topologie du réseau
    effectués par les autres équipements.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Centralisation des accès de configuration. Voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom"/>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Centralisation des copies de sauvegarde des configurations. Voir
    <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp"/>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">[FIXME: compléter avec les autres fonctions de gestion].</para>
    </listitem>
  </itemizedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ensuite, pour accéder à distance aux services du périmètre de gestion
  des équipements, les outils GNU/Linux fournissent tout un panel de solutions
  de transmissions chiffrées. :</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On peut utiliser <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://openssh.org/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">OpenSSH</citetitle></link> pour ouvrir une console à distance et
    effectuer les opérations de configuration. Voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom"/>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On peut utiliser <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stunnel.org/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Stunnel</citetitle></link> pour chiffrer et|ou translater les
    communications sur un service (ou numéro de port) unique. Il est tout à
    fait possible d'échanger des fichiers d'image système ou de configuration
    via <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> à travers un réseau public. <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stunnel.org/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Stunnel</citetitle></link> sert
    alors à chiffrer les communications sur le numéro de port 69 après avoir
    authentifié les deux extrémités à l'aide de leurs certificats respectifs.
    Voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp"/>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Enfin, on peut utiliser <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://openvpn.net/">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">OpenVPN</citetitle></link> pour un chiffrement global des
    communications entre la console et le serveur à travers un réseau public.
    Le coût de mise en œuvre de cet outil est tellement dérisoire relativement
    aux solutions propriétaires, qu'il ne faut pas rater une occasion de
    l'utiliser !</para>
    </listitem>
  </itemizedlist>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Accès à la console</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Même s'il est souvent possible de configurer un équipement à partir
  d'une interface Web, la console a toujours été l'interface de configuration
  la plus «sérieuse». Voici quelques arguments pour étayer cette
  idée :</para>
  
  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Les «conditions de sécurité» des accès Web de configuration
    d'équipement ont toujours été médiocres jusqu'à présent. Soit le serveur
    Web inclus dans l'équipement contient de nombreux trous de sécurité (il
    suffit d'interroger les bases de rapport d'incidents du
    <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cert.org/nav/index_red.html">
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">CERT: Vulnerabilities, Incidents &amp; Fixes</citetitle></link> pour s'en convaincre) ; soit le coût financier et
    humain de modification de l'infrastructure d'accès aux équipements est trop
    important relativement aux bénéfices attendus.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Les interfaces Web ne permettent pas d'appréhender globalement les
    paramètres de configuration. En effet, dès que le nombre des paramètres et
    des options devient important, les formulaires Web deviennent très lourds à
    gérer. Naviguer d'un paramètre à l'autre suppose plusieurs manipulations de
    formulaires alors que la même opération est immédiate à la console.</para>
    </listitem>
  </itemizedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Sur les systèmes GNU/Linux, <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> est le
  «couteau suisse» idéal pour toutes les manipulations sur les liaisons séries.
  Avant d'aborder sa configuration et sont utilisation, on vérifie que le
  système offre bien les fonctions nécessaires : <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom.ports"/> et <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom.ports.admin"/>.</para>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.ports">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Ports série</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Avant de s'attaquer à la configuration du logiciel, il faut s'assurer
  que le port série que l'on veut utiliser est disponible. Comme il s'agit d'un
  périphérique matériel, c'est dans le noyau Linux que l'on trouve les
  informations utiles. Normalement, tous les noyaux livrés avec les
  distributions intègrent directement les pilotes des ports série.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est facile de vérifier que les ports sont disponibles à l'aide de la
  commande <command xmlns:xlink="http://www.w3.org/1999/xlink">dmesg</command> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ dmesg | less
&lt;snip/&gt;
Serial: 8250/16550 driver .Revision: 1.4 . 48 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les informations ci-dessus indiquent que l'on dispose de deux
  ports : <literal xmlns:xlink="http://www.w3.org/1999/xlink">ttyS0</literal> et <literal xmlns:xlink="http://www.w3.org/1999/xlink">ttyS1</literal> pilotés par
  le composant <literal xmlns:xlink="http://www.w3.org/1999/xlink">16550A</literal>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le cas où l'on utilise un noyau «compilé maison», il faut retenir
  les options indiquées ci-dessous à partir des menus de configuration du
  noyau :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">Linux Kernel Configuration
     Device Drivers
          Character devices
	       Serial drivers

       &lt;*&gt; 8250/16550 and compatible serial support
       [*]   Console on 8250/16550 and compatible serial port
       &lt; &gt;   8250/16550 PCMCIA device support
       [ ]   8250/16550 device discovery via ACPI namespace
       (4)   Maximum number of non-legacy 8250/16550 serial ports
       [*]   Extended 8250/16550 serial driver options 
       [*]     Support more than 4 legacy serial ports
       [*]     Support for sharing serial interrupts
       [ ]     Autodetect IRQ on standard ports (unsafe)
       [*]     Support special multiport boards
       [*]     Support RSA serial ports
       --- Non-8250 serial port support  
</screen>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.ports.admin">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Administration des accès</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois que le noyau Linux assure le pilotage des ports série, il faut
  administrer les droits d'accès à ces ports. Par défaut, les périphériques du
  système de fichiers correspondant aux ports série appartiennent au groupe
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">dialout</systemitem> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ ls -l /dev/ttyS?
crw-rw----  1 root dialout 4, 64 2003-02-13 16:41 /dev/ttyS0
crw-rw----  1 root dialout 4, 65 2002-03-14 22:51 /dev/ttyS1
crw-rw----  1 root dialout 4, 66 2002-03-14 22:51 /dev/ttyS2
crw-rw----  1 root dialout 4, 67 2002-03-14 22:51 /dev/ttyS3
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour qu'un utilisateur normal ait accès aux ports série, il doit
  appartenir au groupe <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">dialout</systemitem> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># adduser etu dialout
Ajout de l'utilisateur etu au groupe dialout...
Fait.
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">etu</systemitem> doit se
  reconnecter pour bénéficier des ces nouveaux droits d'accès.</para>
  </sect2>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.minirc.dfl">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Installation et configuration par défaut de minicom</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme indiqué dans la section <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="meta.software"/>, seuls
  les paquets de la distribution <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle>
  sont présentés ici. L'installation de <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> se
  résume donc à l'instruction suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install minicom lrzsz
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Après cette étape, il faut créer le fichier de configuration par
  défaut. Ce fichier sert de dénominateur commun à l'échelle du système. Les
  paramètres de ce fichier : <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/minicom/minirc.dfl</filename>
  sont activé à chaque lancement du programme
  <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application>. L'utilisateur est ensuite libre de tout
  modifier et de se créer ses propres paramètres de configuration par
  défaut.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un exemple de première exécution du programme :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># minicom -s
&lt;snip/&gt;

       -------------[configuration]-------------
       | Noms de fichers et chemins            |
       | Protocoles de transfert               |
       | Configuration du port série <co xml:id="main.port.config"/>
       | Modem et appel                        |
       | Ecran et clavier                      |
       | Enregistrer config. sous dfl <co xml:id="main.save"/>
       | Enregistrer la configuration sous...  |
       | Sortir                                |
       | Sortir de Minicom                     |
       -----------------------------------------
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour aller au plus simple, on se contente de fixer les paramètres du
  port série et de sauvegarder.</para>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="main.port.config">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Première étape, le port série : voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom.minirc.dfl.serial.port"/></para>
    </callout>
    <callout arearefs="main.save">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Enregistrement du fichier
      <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/minicom/minirc.dfl</filename>.</para>
    </callout>
  </calloutlist>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.minirc.dfl.serial.port">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Paramètres du port série</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les valeurs présentés ci-dessous correspondent à la grande majorité des
  paramètres par défaut des équipements d'interconnexion.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"> -----------------------------------------------------------------------
 | A -                             Port série : /dev/ttyS0 <co xml:id="port.name"/>
 | B - Emplacement du fichier de verrouillage : /var/lock              |
 | C -            Programme d'appel intérieur :                        |
 | D -            Programme d'appel extérieur :                        |
 | E -                      Débit/Parité/Bits : 9600 8N1 <co xml:id="port.speed"/>
 | F -              Contrôle de flux matériel : Oui <co xml:id="port.flow.control"/>
 | G -              Contrôle de flux logiciel : Non                    |
 |                                                                     |
 |    Changer quel réglage ?                                           |
 -----------------------------------------------------------------------
</screen>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="port.name">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">En fonction de la liste des ports série disponibles (voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.minicom.ports"/>), on saisit le nom du premier port
      série.</para>
    </callout>
    <callout arearefs="port.speed">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">En fonction des paramètres de l'équipement à gérer, on fixe les
      paramètres de la liaison à l'aide du menu suivant :</para>

<?custom-pagebreak?>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"> ------[Paramètres de communication]-------
 |                                        |
 | Actuellement :  9600 8N1               |
 |                                        |
 |   Vitesse        Parité       Données  |
 |                                        |
 | A: 300           L: Aucune       S: 5  |
 | B: 1200          M: Paire        T: 6  |
 | C: 2400          N: Impaire      U: 7  |
 | D: 4800          O: Marque       V: 8  |
 | E: 9600          P: Espace             |
 | F: 19200                  Bits d'arrêt |
 | G: 38400                         W: 1  |
 | H: 57600                         X: 2  |
 | I: 115200        Q: 8-A-1              |
 | J: 230400        R: 7-P-1              |
 |                                        |
 |                                        |
 | Choix, ou &lt;Entrée&gt; pour sortir ?       |
 ------------------------------------------
</screen>
    </callout>
    <callout arearefs="port.flow.control">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Toujours en fonction de l'équipement à gérer, on choisit le
      contrôle de flux matériel. C'est le mode le plus fiable.</para>
    </callout>
  </calloutlist>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.minirc.dfl.file">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Fichier de configuration par défaut</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici une exemple de fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/minicom/minirc.dfl</filename> obtenu à partir des réglages
  ci-dessus.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># Fichier généré automatiquement - utilisez « minicom -s »
# pour changer les paramètres
pu port             /dev/ttyS0
pu baudrate         9600
pu bits             8
pu parity           N
pu stopbits         1
pu scriptprog       /usr/bin/runscript
pu minit            ~^M~ATZ^M~
pu mreset           ~^M~ATZ^M~
pu escape-key       Escape (Meta)
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est aussi possible d'effacer toutes les commandes
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Hayes</citetitle> de dialogue avec les modems. Comme
  <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> possède une option de démarrage éliminant
  tous les dialogues modems, il n'est pas nécessaire de traiter ce problème au
  niveau système. Il se peut qu'un utilisateur ait effectivement besoin d'un
  modem.</para>
  </sect3>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.user.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Configuration utilisateur</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le jeu des fonctionnalités de <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> est
  très riche. Il suffit de consulter les pages de manuels pour s'en
  convaincre : <userinput xmlns:xlink="http://www.w3.org/1999/xlink">man minicom</userinput>. L'objet de ce document
  n'étant de dresser un catalogue exhaustif de ces fonctions, voici un exemple
  type de configuration utilisateur :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ MINICOM="-o<co xml:id="option.o"/> -8<co xml:id="option.8"/> -l<co xml:id="option.l"/> -m<co xml:id="option.m"/> -con<co xml:id="option.c"/> -t linux<co xml:id="option.t"/>" ; export MINICOM<co xml:id="option.env"/>
</screen>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="option.o">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-o</option> :
      <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> n'exécute pas les codes
      d'initialisation. C'est cette option qui permet d'éviter les commandes
      <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Hayes</citetitle> au démarrage. Dans le contexte de connexion
      à un équipement réseau, les dialogues modems sont totalement
      inutiles.</para>
    </callout>
    <callout arearefs="option.8">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-8</option> : les caractères codés sur
      8 bits sont transmis sans aucune modification. Cette option permet
      d'afficher les caractères accentués en français.</para>
    </callout>
    <callout arearefs="option.l">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-l</option> : traduction littérale des
      caractères avec le bit de poids fort à 1. Avec cette option
      <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> n'essaie pas de traduire les
      caractères IBM en ASCII.</para>
    </callout>
    <callout arearefs="option.m">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-m</option> : redéfinit la touche de commande
      avec la touche <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Meta</keycap> ou <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Alt</keycap>. Avec un
      système GNU/Linux, on rencontre deux cas de figure
      classiques :</para>
      <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
        <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Sans interface graphique</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="25">$ env | grep -i term
TERM=linux
</screen>
	  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il vaut mieux éviter l'option <option xmlns:xlink="http://www.w3.org/1999/xlink">-m</option> et utiliser
	  la séquence de touches <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Ctrl+a</keycap> pour accéder aux
	  fonctions. Par exemple, on accède au menu principal avec la séquence
	  <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Ctrl+a</keycap> puis <keycap xmlns:xlink="http://www.w3.org/1999/xlink">z</keycap>.</para>
	</listitem>
        </varlistentry>
	<varlistentry xmlns:xlink="http://www.w3.org/1999/xlink">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Avec interface graphique</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="25">$ env | grep -i term
TERM=xterm
</screen>
	  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'option <option xmlns:xlink="http://www.w3.org/1999/xlink">-m</option> est utile pour simplifier l'appel
	  aux fonctions. Il suffit d'utiliser la touche <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Alt</keycap>.
	  Par exemple, on accède au menu principal avec la séquence
	  <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Alt+z</keycap>.</para>
	</listitem>
	</varlistentry>
      </variablelist>
    </callout>
    <callout arearefs="option.c">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-c</option> : utilisation de la couleur. On
      ajoute <option xmlns:xlink="http://www.w3.org/1999/xlink">on</option> ou <option xmlns:xlink="http://www.w3.org/1999/xlink">off</option> pour activer ou
      désactiver l'affichage des couleurs.</para>
    </callout>
    <callout arearefs="option.t">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Option <option xmlns:xlink="http://www.w3.org/1999/xlink">-t</option> : définition du type de
      terminal : <option xmlns:xlink="http://www.w3.org/1999/xlink">linux</option> dans ce cas. Cette option est très
      pratique pour conserver les dimensions de la console avec les
      environnements graphiques utilisateur. Il est fréquent que la même
      fenêtre de consoles serve à gérer plusieurs équipements et de la
      documentation. Sans cette option, <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application>
      redimensionne la console avec une largeur de 80 caractères.</para>
    </callout>
    <callout arearefs="option.env">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Positionnement de la variable d'environnement
      <envar xmlns:xlink="http://www.w3.org/1999/xlink">MINICOM</envar>. Cette variable est consultée à chaque exécution
      de <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application>.</para>
    </callout>
  </calloutlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois que l'on est satisfait de son jeu d'options
  <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application>, il est possible de le conserver dans la
  configuration du <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">shell</citetitle> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ echo export MINICOM=\"-o -8 -l -m -con -t linux\" &gt;&gt;~/.bash_profile
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">De cette façon, toute ouverture d'un nouveau
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">shell</citetitle> comprendra la variable d'environnement
  <envar xmlns:xlink="http://www.w3.org/1999/xlink">MINICOM</envar> et ses options.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.examples">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Exemples d'utilisation de minicom</title>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.examples.break">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Séquences Break</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les exemples d'utilisation des séquences <literal xmlns:xlink="http://www.w3.org/1999/xlink">Break</literal> sont
  nombreux. Le plus souvent, il s'agit d'interrompre brutalement le chargement
  du système d'exploitation sur un équipement. À la suite de cette opération,
  on peut charger une nouvelle image système ou reprendre la main sur un
  équipement dont on a perdu les mots de passe.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Suivant la configuration de <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application>, les
  séquences de touches diffèrent.</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Avec un codage clavier sur 7 bits, la séquence est :
    <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Ctrl+a</keycap> puis <keycap xmlns:xlink="http://www.w3.org/1999/xlink">f</keycap>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Avec un codage clavier sur 8 bits, la séquence est :
    <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Alt+f</keycap>.</para>
    </listitem>
  </itemizedlist>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="break.swicth">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Initialisation d'un commutateur <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark> 2950</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour interrompre le chargement du système d'un commutateur de ce
    modèle il faut que la variable d'environnement <envar xmlns:xlink="http://www.w3.org/1999/xlink">ENABLE_BREAK</envar>
    soit préalablement positionnée sur <literal xmlns:xlink="http://www.w3.org/1999/xlink">on</literal>.</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#sh boot
BOOT path-list:
Config file:          flash:/config.text
Private Config file:  flash:/private-config.text
Enable Break:         ON
Manual Boot:          no
HELPER path-list:
NVRAM/Config file
      buffer size:    32768
</screen>
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Lors du redémarrage de l'équipement il est possible d'utiliser la
    séquence <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Ctrl+a</keycap> puis <keycap xmlns:xlink="http://www.w3.org/1999/xlink">f</keycap> pour envoyer un
    <literal xmlns:xlink="http://www.w3.org/1999/xlink">Break</literal> et interrompre le chargement du système.</para>

    <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <callout arearefs="break.2950">
        <para xmlns:xlink="http://www.w3.org/1999/xlink">Résultat de la séquence <literal xmlns:xlink="http://www.w3.org/1999/xlink">Break</literal>.</para>
      </callout>
    </calloutlist>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">flashfs[0]: Bytes available: 3169792
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6q4l2-mz.121-22.EA2.bin"...###########################bad
Error loading "flash:/c2950-i6q4l2-mz.121-22.EA2.bin"

Interrupt within 5 seconds to abort boot process.
Boot process failed...

The system is unable to boot automatically.  The BOOT
environment variable needs to be set to a bootable
image.

<co xml:id="break.2950"/>switch:
</screen>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="break.router">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Initialisation d'un routeur <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark> 2500</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour interrompre le chargement du système <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IOS</acronym> d'un
    routeur de cette marque, il faut envoyer un <literal xmlns:xlink="http://www.w3.org/1999/xlink">Break</literal>
    pendant les 60 premières secondes après la mise sous tension de
    l'équipement. Comme cet exemple est traité via un portable avec une
    interface graphique, la séquence de touches est :
    <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Alt+f</keycap>.</para>
    <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <callout arearefs="break.2500">
        <para xmlns:xlink="http://www.w3.org/1999/xlink">Résultat de la séquence <literal xmlns:xlink="http://www.w3.org/1999/xlink">Break</literal>.</para>
      </callout>
    </calloutlist>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">System Bootstrap, Version 11.0(10c)XB2, PLATFORM SPECIFIC RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1998 by cisco Systems
2500 processor with 14336 Kbytes of main memory

<co xml:id="break.2500"/>Abort at 0x11198B6 (PC)
&gt;
&gt;o/r 0x2142
&gt;
&gt;b
</screen>
    </listitem>
    </varlistentry>
  </variablelist>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.minicom.examples.xmodem">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Transfert d'une image système via xmodem</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">En reprenant le cas du commutateur <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark> 2950,
  on peut transférer une image du système d'exploitation via la connexion série
  avec le protocole xmodem. Ce n'est certainement pas la méthode la plus rapide
  mais lorsque toutes les informations de la mémoire
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">flash</wordasword> ont été détruite, il ne reste pas beaucoup
  d'autre solution.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un exemple de «catastrophe provoquée» :</para>
  <orderedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On commence par détruire le contenu de la mémoire
    <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">flash</wordasword>.</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">switch: format flash:
Are you sure you want to format "flash:" (all data will be lost) (y/n)?y
flashfs[0]: 0 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 1024
flashfs[0]: Bytes available: 7740416
flashfs[0]: flashfs fsck took 5 seconds.
Filesystem "flash:" formatted
switch: dir flash:
Directory of flash:/

2    -rwx  285       &lt;date&gt;               env_vars

7739904 bytes available (1536 bytes used)
switch:
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On prépare le transfert d'image système via xmodem sur le
    commutateur.</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">switch: flash_init
Initializing Flash...
...The flash is already initialized.
switch: load_helper
copy xmodem: flash:c2950-i6q4l2-mz.121-22.EA2.bin
Begin the Xmodem or Xmodem-1K transfer now...
C
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On lance le transfert à partir de la séquence de touches
    <keycap xmlns:xlink="http://www.w3.org/1999/xlink">Crtl+A</keycap> puis <keycap xmlns:xlink="http://www.w3.org/1999/xlink">s</keycap>.</para>
    <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <callout arearefs="xmodem.select">
        <para xmlns:xlink="http://www.w3.org/1999/xlink">Sélection du protocole de transfert.</para>
      </callout>
      <callout arearefs="xmodem.file">
        <para xmlns:xlink="http://www.w3.org/1999/xlink">Sélection du fichier image système à transférer.</para>
      </callout>
      <callout arearefs="xmodem.transfer">
        <para xmlns:xlink="http://www.w3.org/1999/xlink">Transfert du fichier image système.</para>
      </callout>
    </calloutlist>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">         +-[Envoyer]--+
         | zmodem     |
         | ymodem     |
         | xmodem<co xml:id="xmodem.select"/>
         | kermit     |
         | ascii      |
         +------------+
&lt;snip/&gt;

 +-----------[Sélectionner un fichier pour envoyer]------------+
 |Répertoire : /home/etu                                       |
 | [..]                                                        |
 | [ios]                                                       |
 | .bash_history                                               |
 | .bash_profile                                               |
 | .bashrc                                                     |
 | .viminfo                                                    |
 | c2950-i6q4l2-mz.121-22.EA2.bin<co xml:id="xmodem.file"/>
 | c2950-i6q4l2-tar.121-22.EA2.tar                             |
 | minicom.log                                                 |
 |                                                             |
 |                                                             |
 |       (Échap pour sortir, Espace pour marquer)              |
 +-------------------------------------------------------------+

           [Aller] [Préc.] [Voir]  [Marq.] [Dém .]   [OK]
&lt;snip/&gt;

+-----[xmodem envoyer - Appuyez sur CTRL-C pour quitter]------+
|Sending c2950-i6q4l2-mz.121-22.EA2.bin, 24111 blocks: Give yo|
|ur local XMODEM receive command now.                         |
|Xmodem sectors/kbytes sent: 138/17k<co xml:id="xmodem.transfer"/>
|                                                             |
|                                                             |
|                                                             |
|                                                             |
+-------------------------------------------------------------+
</screen>
    </listitem>
  </orderedlist>
  </sect3>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Echanges avec le protocole TFTP</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le protocole <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> est défini dans le document
  <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.faqs.org/rfcs/rfc1350.html">
  RFC1350 <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">The TFTP Protocol (Revision 2)</citetitle></link>. C'est une méthode simple utilisée pour transférer des
  fichiers. Il s'appuie sur le protocole <acronym xmlns:xlink="http://www.w3.org/1999/xlink">UDP</acronym> au niveau
  transport. Il se limite à l'écriture et à la lecture de fichiers entre deux
  hôtes réseau. Il ne possède pas de fonction d'authentification et il est
  impossible de lister les fichiers à distance.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'absence de complexité de ce protocole fait qu'il peut être implanté
  dans un espace mémoire réduit. C'est la raison pour laquelle on le retrouve
  dans la majorité des équipements réseau comme moyen d'échange d'images
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">firmware</wordasword> des systèmes d'exploitation (et|ou) de
  fichiers de configuration.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le contexte de ce document, le poste avec le système GNU/Linux
  doit échanger les fichiers avec l'équipement réseau. Il s'agit donc de
  configurer un service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> avec un
  minimum de précautions au niveau sécurité.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.install.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Installation et configuration du service tftpd</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme indiqué dans la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="meta.software"/>, seuls les
  paquets de la distribution <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> sont
  présentés ici. À l'heure actuelle, la distribution comprend trois paquets
  pour ce service : <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem>,
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">atftpd</systemitem> et <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd-hpa</systemitem>. Les principales différences entre ces
  trois paquets se situent au niveau des tailles maximales des fichiers
  transférés et de la gestion des droits sur l'arborescence du service
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>. Le paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">tftpd-hpa</application> offre
  le plus de possibilités dans ces domaines. Son installation et sa
  configuration sont présentées ici.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'installation de <application xmlns:xlink="http://www.w3.org/1999/xlink">tftpd-hpa</application> et le contrôle
  de la version installée se résument aux instructions suivantes :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install tftpd-hpa
&lt;snipped/&gt;
# dpkg -l *tftpd* | grep ^ii
ii  tftpd-hpa           5.0-7                   HPA's tftp server
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le paquet propose plusieurs menus de configuration qui couvrent les
  opérations de mise en œuvre d'une arborescence de service, le contrôle
  d'accès et les options spécifiques à ce service telles que la création de
  fichiers depuis l'équipement réseau distant.</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Définition de l'utilisateur système propre au service
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>.</para>
    <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
      <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
        <imagedata fileref="images/tftpd-hpa-1.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
      </imageobject>
      <caption xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/tftpd-hpa-1.png">Menu
      de configuration 1 du paquet tftpd-hpa - vue complète</link></para>
      </caption>
    </mediaobject>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Définition de l'arborescence racine du service
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>.</para>
    <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
      <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
        <imagedata fileref="images/tftpd-hpa-2.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
      </imageobject>
      <caption xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/tftpd-hpa-2.png">Menu
      de configuration 2 du paquet tftpd-hpa - vue complète</link></para>
      </caption>
    </mediaobject>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Définition de l'adresse <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> sur laquelle le service
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> est en écoute.</para>
    <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
      <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
        <imagedata fileref="images/tftpd-hpa-3.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
      </imageobject>
      <caption xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/tftpd-hpa-3.png">Menu
      de configuration 3 du paquet tftpd-hpa - vue complète</link></para>
      </caption>
    </mediaobject>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Définition des options spécifiques au service
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>.</para>
    <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
      <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
        <imagedata fileref="images/tftpd-hpa-4.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
      </imageobject>
      <caption xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/tftpd-hpa-4.png">Menu
      de configuration 4 du paquet tftpd-hpa - vue complète</link></para>
      </caption>
    </mediaobject>
    </listitem>
  </itemizedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le cas où l'on souhaite configurer manuellement ce service, voici
  les étapes équivalentes à celles présentées dans les copies d'écran
  ci-dessus.</para>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.install.config.system-user">
      <term xmlns:xlink="http://www.w3.org/1999/xlink">Compte utilisateur système et arborescence</term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Cette partie comprend plusieurs étapes dont le but est de mettre en
      place une arborescence dont l'accès est réservé à un utilisateur et un
      groupe système dédié. L'accès à cette arborescence est ensuite
      conditionné à l'appartenance au groupe système en question. On commence
      justement par la création du groupe système baptisé <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">tftp</systemitem>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># addgroup --system tftp
Ajout du groupe « tftp » (identifiant 130)...
Terminé.</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">On passe ensuite à la création du compte utilisateur système
      proprement dit ; baptisé lui aussi <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">tftp</systemitem>. Ce compte fait partie du groupe créé
      ci-dessus. Il dispose d'une arborescence dont la racine est placée au
      niveau du répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/tftp/</filename> et, comme ce compte est de
      type système, il ne doit être utilisable que par le service
      <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># adduser --system --ingroup tftp \
    --home /var/lib/tftp --disabled-password --disabled-login tftp
Ajout de l'utilisateur système « tftp » (identifiant : 122)...
Ajout du nouvel utilisateur « tftp » (identifiant : 122) avec le
groupe « tftp »...
Création du répertoire personnel « /var/lib/tftp »...</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">On complète le masque des permissions sur la racine de
      l'arborescence en donnant les droits d'écriture aux membres du groupe
      <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">tftp</systemitem>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># chmod 2775 /var/lib/tftp</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">On peut contrôler le résultat des opérations précédentes en
      visualisant les droits sur l'arborescence.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># ls -lAh /var/lib/ |grep tftp
drwxrwsr-x  2 tftp      tftp     4,0K sep 27 11:31 tftp</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Enfin, on contrôle le contenu du fichier
      <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/default/tftpd-hpa</filename> pour vérifier qu'il est en
      conformité avec les opérations réalisées, soit manuellement, soit à
      l'aide des menus de configuration du paquet <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd-hpa</systemitem>.</para>
      
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># /etc/default/tftpd-hpa

## The configuration of this file is managed by debconf as long
## as a line beginning with the '#DEBCONF#' token is included.
##
## Do not edit this file manually, use:
## dpkg-reconfigure tftpd-hpa

#DEBCONF#

TFTP_USERNAME="tftp<co xml:id="in.tftpd.user"/>"
TFTP_DIRECTORY="/var/lib/tftp<co xml:id="in.tftpd.root"/>"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure<co xml:id="in.tftpd.secure"/> --create<co xml:id="in.tftpd.create"/>"</screen>
      </listitem>
    </varlistentry>
  
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.install.config.local-acl">
      <term xmlns:xlink="http://www.w3.org/1999/xlink">Contrôle d'accès local au service</term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">À la suite des opérations décrites ci-dessus, seuls les membres
      du groupe <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">tftp</systemitem>, ont le droit
      d'écrire dans l'arborescence du service <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym>. Tous les
      utilisateurs du système ont le droit de lire le contenu de cette même
      arborescence. Pour autoriser un utilisateur à écrire dans le répertoire
      <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/tftp/</filename>, il suffit de
      l'ajouter au groupe système dédié. Voici un exemple :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># adduser etu tftp
Ajout de l'utilisateur « etu » au groupe « tftp »...
Ajout de l'utilisateur etu au groupe tftp
Terminé.</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Les droits sur le système de fichiers du serveur
      <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> attribués de cette façon permettent à un
      utilisateur normal (pas nécessairement le super-utilisateur) de déposer
      des images de systèmes d'exploitation (et|ou) des de fichiers de
      configuration. Attention, ce type de modification des droits d'un compte
      utilisateur n'est active qu'après une déconnexion/reconnexion.</para>
      </listitem>
    </varlistentry>

    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.install.config.options">
      <term xmlns:xlink="http://www.w3.org/1999/xlink">Contrôle d'accès réseau au service</term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Les options disponibles pour la configuration du démon sont
      extraites des pages de manuels du service :
      <userinput xmlns:xlink="http://www.w3.org/1999/xlink"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> man in.tftpd</userinput>.</para>

      <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
	<callout arearefs="in.tftpd.user">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">L'option <option xmlns:xlink="http://www.w3.org/1999/xlink">--user</option> permet de désigner les
	identifiants (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">IDs</acronym>) de l'utilisateur et du groupe
	propriétaires du processus du service. Comme nous avons créé un
	utilisateur système <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">tftp</systemitem>
	dédié au service, c'est cet utilisateur qui doit être affecté
	ici.</para>
	</callout>
	<callout arearefs="in.tftpd.root in.tftpd.secure">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">L'option <option xmlns:xlink="http://www.w3.org/1999/xlink">--secure</option> désigne la racine du service dans
	l'arborescence du système de fichiers du serveur. Cette racine est la
	seule accessible depuis les hôtes distants.</para>
	</callout>
        <callout arearefs="in.tftpd.create">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">L'option <option xmlns:xlink="http://www.w3.org/1999/xlink">--create</option> autorise la création de
	fichier à partir de l'équipement réseau. Sans cette option, le
	comportement par défaut du service n'autorise pas
	l'<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">upload</wordasword>. Cette option est très utile pour la
	sauvegarde directe des fichiers de configuration des
	équipements.</para>
	</callout>
      </calloutlist>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ensuite, on redémarre le service pour valider les paramètres de
      configuration mis en place et on visualise le résultat.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># /etc/init.d/tftpd-hpa restart
Restarting HPA's tftpd: in.tftpd.

# lsof -i | grep tftp
in.tftpd  16621     root    4u  IPv4 1211314      0t0  UDP *:tftp
</screen>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Le résultat de la commande <command xmlns:xlink="http://www.w3.org/1999/xlink">lsof</command> montre bien que
      le démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">in.tftpd</systemitem> est en écoute sur
      le port 69/udp sans restriction sur les adresses
      <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> avec le caractère <keycap xmlns:xlink="http://www.w3.org/1999/xlink">'*'</keycap>.</para>
      </listitem>
    </varlistentry>
  </variablelist>
  </sect2>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.examples">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Exemples d'utilisation du service tftpd</title>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp-hpa">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Mise à jour système d'un routeur Cisco 2851</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans ce cas de figure, le transfert se fait du poste GNU/Linux vers
  l'équipement. Il n'y a donc aucun problème lié aux accès sur le système de
  fichiers côté GNU/Linux. Il suffit de placer une copie du fichier à
  transférer dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/tftp/</filename>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Cet exemple est particulier puisque la taille du fichier image du
  système d'exploitation est importante. Le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> est assuré à partir du paquet
  <application xmlns:xlink="http://www.w3.org/1999/xlink">tftp-hpa</application> qui autorise le transfert de blocs de
  données importants.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ cd /var/lib/tftp
$ ll c2800nm-advipservicesk9-mz.124-11.T1.bin
-rw-r--r-- 1 etu tftp 38M 2007-03-20 21:10 c2800nm-advipservicesk9-mz.124-11.T1.bin</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Côté routeur, il faut s'assurer que la mémoire flash dispose d'un
  espace libre suffisant pour accueillir la nouvelle image du système
  d'exploitation <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IOS</acronym>. Au besoin, il faut effacer le fichier
  image en cours d'exécution.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">router#sh flash:
-#- --length-- -----date/time------ path
1         1826 Jul 5 2006 23:53:52 +02:00 sdmconfig-28xx.cfg
2      4734464 Jul 5 2006 23:54:12 +02:00 sdm.tar
3       833024 Jul 5 2006 23:54:26 +02:00 es.tar
4      1052160 Jul 5 2006 23:54:40 +02:00 common.tar
5         1038 Jul 5 2006 23:54:54 +02:00 home.shtml
6       102400 Jul 5 2006 23:55:06 +02:00 home.tar
7       491213 Jul 5 2006 23:55:18 +02:00 128MB.sdf
8      1684577 Jul 5 2006 23:55:38 +02:00 securedesktop-ios-3.1.1.27-k9.pkg
9       398305 Jul 5 2006 23:55:56 +02:00 sslclient-win-1.1.0.154.pkg

54702080 bytes available (9314304 bytes used)</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On lance le transfert en indiquant le fichier image sur le serveur
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> comme source et la mémoire flash comme
  destination.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">router#copy tftp://192.168.2.1/c2800nm-advipservicesk9-mz.124-11.T1.bin flash:
Destination filename [c2800nm-advipservicesk9-mz.124-11.T1.bin]?
Accessing tftp://192.168.2.1/c2800nm-advipservicesk9-mz.124-11.T1.bin...
Loading c2800nm-advipservicesk9-mz.124-11.T1.bin from 192.168.2.1 \
		(via GigabitEthernet0/1): !!!!!!!!!!!!!!!!!!
&lt;snip/&gt;

[OK - 39798360 bytes]

39798360 bytes copied in 580.728 secs (68532 bytes/sec)

router#sh flash:
-#- --length-- -----date/time------ path
1         1826 Jul 5 2006 23:53:52 +02:00 sdmconfig-28xx.cfg
2      4734464 Jul 5 2006 23:54:12 +02:00 sdm.tar
3       833024 Jul 5 2006 23:54:26 +02:00 es.tar
4      1052160 Jul 5 2006 23:54:40 +02:00 common.tar
5         1038 Jul 5 2006 23:54:54 +02:00 home.shtml
6       102400 Jul 5 2006 23:55:06 +02:00 home.tar
7       491213 Jul 5 2006 23:55:18 +02:00 128MB.sdf
8      1684577 Jul 5 2006 23:55:38 +02:00 securedesktop-ios-3.1.1.27-k9.pkg
9       398305 Jul 5 2006 23:55:56 +02:00 sslclient-win-1.1.0.154.pkg
10    39798360 Mar 24 2007 17:04:52 +01:00 c2800nm-advipservicesk9-mz.124-11.T1.bin

14901248 bytes available (49115136 bytes used)</screen>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.examples.2950">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Mise à jour système d'un commutateur Cisco 2950</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme dans l'exemple précédent, le transfert se fait du poste GNU/Linux
  vers l'équipement et le fichier à transférer est dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/tftp/</filename>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Côté équipement, il faut un minimum de configuration réseau
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> pour communiquer avec le poste GNU/Linux.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#sh run
Building configuration...
&lt;snip/&gt;
!
interface Vlan1
 no ip address
 no ip route-cache
 shutdown
!
interface Vlan2
 ip address 192.168.2.2 255.255.255.0
 no ip route-cache
!
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On peut ensuite lancer le transfert à partir de l'interface de commande
  de l'équipement. Voici un exemple de mise à jour via <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#archive tar /x tftp://192.168.2.1/c2950-i6q4l2-tar.121-22.EA2.tar flash:
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'accès à l'interface de commande de l'équipement réseau peut être
  obtenu à l'aide de <application xmlns:xlink="http://www.w3.org/1999/xlink">minicom</application> ou de
  <application xmlns:xlink="http://www.w3.org/1999/xlink">telnet</application>.</para>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.examples.backupconfg">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Sauvegarde de la configuration d'un équipement</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ici, le transfert se fait depuis l'équipement réseau vers le poste
  GNU/Linux sur lequel le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem>
  est exécuté.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Avec la configuration mise en place dans la partie <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp.install.config.options"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Contrôle d'accès
  réseau au service</citetitle></link>, on a autorisé la création de fichiers
  dans l'arborescence sur service <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> avec l'option
  <option xmlns:xlink="http://www.w3.org/1999/xlink">-c</option> du démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">in.tftpd</systemitem>
  fourni avec le paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">tftpd-hpa</application>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">En reprenant l'exemple du commutateur 2950, voici l'opération se résume
  au transfert de la configuration active.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#copy run tftp://192.168.2.1
Address or name of remote host [192.168.2.1]?
Destination filename [sw1-confg]?
!!
2748 bytes copied in 1.116 secs (2462 bytes/sec)
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans les faits, il est beaucoup plus fréquent que l'on édite la
  configuration sur le poste GNU/Linux avant de la transférer vers
  l'équipement. Cette méthode permet d'assurer un suivi des évolutions de
  configuration via un système de contrôle de version tel que
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">CVS</acronym> ou <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SVN</acronym>. On dispose ainsi d'un dépôt
  centralisé des configurations.</para>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.examples.new-confg">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Mise à jour de la configuration d'un équipement</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On retrouve dans ce cas un transfert depuis le poste GNU/Linux vers
  l'équipement réseau. C'est le cas le plus simple du point de vue de la
  gestion des droits.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois la nouvelle configuration éditée, on place le fichier
  correspondant dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/tftp/</filename> et on lance le transfert à partir
  de l'interface en ligne de commande de l'équipement.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#copy tftp://192.168.2.1/new-confg run
Destination filename [running-config]?
Accessing tftp://192.168.2.1/new-confg...
Loading new-confg from 192.168.2.1 (via Vlan2): !
[OK - 2756 bytes]

2756 bytes copied in 19.984 secs (138 bytes/sec)
sw1#
2d00h: %SYS-5-CONFIG_I: Configured from tftp://192.168.2.1/new-confg by console
sw1#
&lt;snip/&gt;

sw1#copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est préférable de copier la configuration en <acronym xmlns:xlink="http://www.w3.org/1999/xlink">RAM</acronym>
  dans un premier temps. Si la nouvelle configuration provoque un
  dysfonctionnement réseau, on a toujours la possibilité de réinitialiser
  complètement l'équipement. Il reprendra la configuration stockée en
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">NVRAM</acronym> (la version correcte précédente). Autrement, après
  avoir effectué les tests d'usage, on sauvegarde la nouvelle configuration en
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">RAM</acronym> dans la <acronym xmlns:xlink="http://www.w3.org/1999/xlink">NVRAM</acronym>.</para>
  </sect3>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.tftp.secu">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Un soupçon de sécurité</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> n'est
  pas un modèle en matière de sécurité, il est souhaitable de bien
  <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">encadrer</emphasis> son utilisation. Généralement, on complète le
  contrôle d'accès (voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.tftp.install.config.options"/>)
  par une règle de filtrage réseau pour chaque équipement.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Côté équipement on fixe l'adresse IP ou l'interface utilisée pour les
  transactions <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> avec des instructions du
  type :</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un commutateur :</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">interface Vlan2
  ip address 192.168.2.2 255.255.255.0
  no ip proxy-arp
  no ip route-cache
!
ip tftp source-interface Vlan2
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un routeur :</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">interface Loopback0
  ip address 192.168.2.2 255.255.255.255
  no ip redirects
  no ip unreachables
  no ip directed-broadcast
  no ip proxy-arp
!
ip tftp source-interface Loopback0
</screen>
    </listitem>
  </itemizedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Côté service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem>, on
  n'autorise les accès <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TFTP</acronym> (port 69/udp) qu'à partir des
  adresses IP fixées sur les équipements. Voici un extrait du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/lib/iptables/active</filename> utilisé par le script
  d'initialisation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">iptables</application>.</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">*filter
:INPUT DROP [0:0]
&lt;snip/&gt;
-A INPUT -s 192.168.2.2 -p udp --dport 69 -m state --state NEW -j ACCEPT
&lt;snip/&gt;
</screen>
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un exemple complet, voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.iptables"/>.</para>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Collecte des journaux</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les journaux, ou <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">logs</wordasword> dans le jargon, servent
  à enregistrer tous les évènements qui surviennent sur un système.
  Historiquement, le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem> a
  été développé pour la branche Unix des systèmes <acronym xmlns:xlink="http://www.w3.org/1999/xlink">BSD</acronym>.
  Depuis, ce service a été très largement adopté. On le retrouve sur tous les
  systèmes Unix, GNU/Linux et surtout sur les équipements réseau de nombreux
  constructeurs. Le protocole <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem>
  est décrit dans le document <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.faqs.org/rfcs/rfc3164.html">
  RFC3164 <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">The BSD Syslog Protocol</citetitle></link>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le contexte de ce document, les messages <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem> émis par les équipements réseau doivent
  être collectés par une machine avec un système GNU/Linux. Ce type de machine
  constitue un dépôt de référence avec horodatage des évènements survenus sur
  le système d'information. Du point de vue sécurité c'est un maillon essentiel
  du contrôle d'intégrité. Dans le cas où des équipements ont été compromis, il
  subsistera toujours des messages permettant de remonter à l'instant d'origine
  de l'attaque.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois les messages collectés, il faut les traiter. La problématique
  du traitement des journaux est un sujet d'étude à part entière qui sort du
  cadre de ce document. La <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.process"/> donne juste
  quelques pistes.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log.install.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Installation et configuration du service syslog</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme indiqué dans la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="meta.software"/>, seuls les
  paquets de la distribution <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> sont
  présentés ici. L'installation de <application xmlns:xlink="http://www.w3.org/1999/xlink">sysklogd</application> se
  résume donc à l'instruction suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install sysklogd
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Par défaut, la configuration du service ne prévoit pas de recevoir des
  messages via le réseau. Il faut donc éditer le fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/init.d/sysklogd</filename> pour que le démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslogd</systemitem> accepte les messages sur le port 514/udp.
  Voici une copie des 15 premières lignes du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/init.d/sysklogd</filename> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">#! /bin/sh
# /etc/init.d/sysklogd: start the system log daemon.

PATH=/bin:/usr/bin:/sbin:/usr/sbin

pidfile=/var/run/syslogd.pid
binpath=/sbin/syslogd

test -x $binpath || exit 0

# Options for start/restart the daemons
#   For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-r"
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On se retrouve ici dans une situation voisine de celle du service
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> à une différence importante
  près. Il n'est pas possible d'utiliser le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">tcpwrapper</wordasword>
  du super-démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">inetd</systemitem> pour mettre en
  place un contrôle d'accès. Il ne reste que le filtrage pour limiter les accès
  réseau au démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslogd</systemitem>. Voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.secu"/>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour finir de configurer le service, il faut paramétrer la destination
  des messages reçus via le réseau. Cette opération se fait en ajoutant une ou
  plusieurs lignes au fichier <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/syslog.conf</filename>. En
  reprenant l'exemple du commutateur 2950, voici un exemple :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">local6.*                        /var/log/sw1.log
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ici, tous les messages du niveau de gravité 6
  (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Informational</wordasword>) seront placés dans le fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/log/sw1.log</filename>. Le codage des niveaux de gravité
  dépend de l'équipement qui émet les messages de journalisation.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log.example">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Exemple d'utilisation du service syslog</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois encore, c'est la syntaxe de l'IOS <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark>
  qui sert d'exemple de configuration. On ne traite qu'un seul exemple sachant
  que les commandes de configuration sont identiques entre routeurs et
  commutateurs. Voici un résumé des commandes permettant d'émettre des messages
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem> sur le réseau.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">logging on
logging buffered 16384
service sequence-numbers
service timestamp log datetime msec localtime show-timezone
!
logging 192.168.2.1
!
logging facility local6
logging trap Informational
!
logging source-interface Vlan2
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois cette configuration implantée, le fichier de journalisation
  reçoit les messages émis par l'équipement. Voici un extrait consécutif à un
  chargement de fichier de configuration via le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">TFTP</systemitem> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">Jan 25 13:18:45 192.168.2.2 146: 000143: 2w0d: %LINEPROTO-5-UPDOWN: \
   Line protocol on Interface FastEthernet0/24, changed state to up
Jan 25 14:06:31 192.168.2.2 156: 000153: Jan 25 14:06:30.534 CET: %SYS-5-CONFIG_I: \
   Configured from tftp://192.168.2.1/sw1-confg by console
</screen>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log.syslog-ng">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Utilisation de syslog-ng</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem>, tel qu'il a
  été introduit, présente au moins deux défauts : la sécurité et la non
  discrimination des sources.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le volet sécurité sort du cadre de ce document. On se contente de donc
  de contrôler simplement les sources de messages : voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.secu"/>. Ensuite, on donne quelques pistes sur le
  contrôle d'intégrité des messages au point <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="biblio.syslog"/> de
  la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.go"/>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La non discrimination des sources d'émission de messages de
  journalisation est beaucoup plus gênante du point de vue exploitation. En
  effet, la configuration présentée ci-dessus (voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.log.install.config"/>) a ouvert le port 514/udp en écoute et
  tous les messages reçus par ce canal sont rangés dans le fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/log/sw1.log</filename>. Ce cas de figure convient très bien
  pour un équipement unique. Dans le cas où le nombre d'équipement augmente, ce
  point de stockage unique devient très vite difficile à gérer.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilisation de <application xmlns:xlink="http://www.w3.org/1999/xlink">syslog-ng</application> permet de traiter
  cette difficulté simplement. Le démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslog-ng</systemitem> se substitue complètement au démon
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslog</systemitem> précédent. L'installation du
  paquet <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> n'est pas différente des
  précédentes et le remplacement de <application xmlns:xlink="http://www.w3.org/1999/xlink">syslog</application> est
  automatique :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install syslog-ng
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La grande différence se situe au niveau du fichier de configuration du
  service : <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/syslog-ng/syslog-ng.conf</filename>. Pour
  chaque catégorie de journalisation, on doit composer avec une définition de
  <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">source</emphasis>, de <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">filtre</emphasis> et de
  <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">destination</emphasis>. Voici un exemple reprenant le cas du
  commutateur :</para>
  
  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog-ng.source">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Définition d'une source</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">source net {
# journalisation via eth2 -&gt; commutateur sw1
    udp(ip(192.168.2.1));
    };
</screen>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog-ng.filter">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Définition d'un filtre</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">filter f_sw1 { 
    host(192.168.2.2) and level(info,notice,warn,crit,err);
    };
</screen>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog-ng.destination">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Définition d'une destination</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">destination d_net_devices {
    file("/var/log/$HOST.log" owner("root") group("adm") perm(0640));
    };
</screen>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog-ng.usage">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Utilisation des trois définitions</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">log { 
    source(net);
    filter(f_sw1);
    destination(d_net_devices);
    };
</screen>
    </listitem>
    </varlistentry>
  </variablelist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'application de cette configuration entraîne la création d'un fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/log/192.168.2.2.log</filename> qui reçoit tous les messages du
  commutateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="systemname">sw1</systemitem> qui a l'adresse
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="ipaddress">192.168.2.2</systemitem>. Le fichier de destination est
  créé avec un nom correspondant à l'adresse <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> de
  l'équipement parce qu'aucun service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">DNS</systemitem> n'a été configuré. En exploitation réelle,
  on installe généralement un service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">DNS</systemitem> dédié au périmètre de gestion de
  l'infrastructure. Dans ce cas, les fichiers de journalisation portent le nom
  d'hôte de l'équipement.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'ajout de tout nouvel équipement avec un autre nom et une autre
  adresse <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> entraînera le création d'un nouveau fichier de
  journalisation. On pourra alors traiter les alertes séparément pour chaque
  équipement.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log.process">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Traitement des journaux</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La problématique du traitement des journaux bute sur «la motivation
  très limitée» des responsables d'exploitation. On entend trop souvent que la
  lecture des journaux est fastidieuse et inutile. Pourtant, on ne compte plus
  les exemples d'intrusions qui auraient pu être évitées facilement si les
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">logs</wordasword> avaient été consultés régulièrement.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'offre des outils de traitement de <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">logs</wordasword> est
  très diverse. Voici deux propositions d'outils choisis avec un parti pris
  évident : imposer la lecture des journaux via le courrier
  électronique.</para>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="logwatch">
      <term xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.logwatch.org/">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Logwatch</citetitle></link></term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">logwatch</application> émet un rapport toutes les 24h
      synthétisant les évènements par service. Dans le contexte de ce document,
      on active un service correspondant à tous les journaux émis par les
      équipements réseau. La grande force de
      <application xmlns:xlink="http://www.w3.org/1999/xlink">logwatch</application>, c'est la sommation des entrées
      répétitives qui optimise la taille du rapport.</para>
      </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="logcheck">
      <term xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://logcheck.org/">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Logcheck</citetitle></link></term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">logcheck</application> est un outil conçu à partir des
      paquets <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle>. Il émet un rapport
      toutes les heures en fonction de trois niveaux d'utilisation : poste
      de travail, serveur et «paranoïaque». Plus on avance vers la «paranoïa»,
      plus le nombre de messages retenus est important. Pour chaque niveau
      d'utilisation, la synthèse des évènements comprend trois niveaux de
      priorité de traitement : alerte, sécurité et système. Dans le
      contexte de ce document, on ajoute les fichiers de journalisation des
      équipements réseau à la liste des fichiers traités par
      <application xmlns:xlink="http://www.w3.org/1999/xlink">logcheck</application>. Après la lecture de quelques
      rapports, on est capable d'éditer ses propres règles de sélection en
      s'inspirant des règles existantes pour les autres services du système. La
      grande majorité des opérations de sélection effectuées par
      <application xmlns:xlink="http://www.w3.org/1999/xlink">logcheck</application> sont prédéfinies par des
      utilisateurs très expérimentés : les responsables des paquets.
      C'est un avantage considérable pour les débutants. On gagne ainsi un
      temps très important dans l'apprentissage du travail d'analyse.</para>
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un extrait de rapport relatif à l'utilisation d'une règle de
      filtrage sur un routeur :</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">Security Events
=-=-=-=-=-=-=-=
Jan 24 23:12:06 Router 20656: Jan 25 00:12:05.856 GMT: %SEC-6-IPACCESSLOGP: \
   list inbound denied udp aaa.aaa.aaa.aaa(53) -&gt; ddd.ddd.ddd.ddd(33434), 3 packets
Jan 24 23:15:06 Router 20660: Jan 25 00:15:05.884 GMT: %SEC-6-IPACCESSLOGP: \
   list inbound denied udp bbb.bbb.bbb.bbb(53) -&gt; ddd.ddd.ddd.ddd(33434), 2 packets
Jan 24 23:20:06 Router 20666: Jan 25 00:20:05.932 GMT: %SEC-6-IPACCESSLOGP: \
   list inbound denied udp bbb.bbb.bbb.bbb(53) -&gt; ddd.ddd.ddd.ddd(33434), 1 packet
</screen>
      </listitem>
    </varlistentry>
  </variablelist>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.log.secu">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Un soupçon de sécurité</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem>, le service
  <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslogd</systemitem> n'est pas un modèle en
  matière de sécurité. Il est donc souhaitable de bien
  <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">encadrer</emphasis> son utilisation. On configure le contrôle
  d'accès avec une règle de filtrage réseau par équipement.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un extrait du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/lib/iptables/active</filename> utilisé par le script
  d'initialisation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">iptables</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">*filter
:INPUT DROP [0:0]
&lt;snip/&gt;
-A INPUT -s 192.168.2.2 -p udp --dport 514 -m state --state NEW -j ACCEPT
&lt;snip/&gt;
</screen>
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un exemple complet, voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.iptables"/>.</para>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.ntp">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Synchronisation des horloges avec le protocole NTP</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La mise en œuvre du protocole <acronym xmlns:xlink="http://www.w3.org/1999/xlink">NTP</acronym> suppose que l'on
  ait besoin d'un horodatage précis des évènements qui surviennent sur les
  équipements réseau. Classiquement, le serveur du périmètre de gestion exécute
  un démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">ntpd</systemitem> qui sert de référence à
  tous les équipements. Le protocole <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">ntp</systemitem> est décrit dans le document
  <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.faqs.org/rfcs/rfc1119.html">
  RFC1119 <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Network Time Protocol (version 2) specification and implementation</citetitle></link>.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.ntp.install.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Installation et configuration du service ntp</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme indiqué dans la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="meta.software"/>, seuls les
  paquets de la distribution <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> sont
  présentés ici. L'installation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">ntp</application> se
  résume donc à l'instruction suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install ntp
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'avantage de ce paquet, c'est qu'il ne nécessite aucune
  configuration. On peut donc passer côté équipement. Voici un exemple de
  configuration type commun aux routeurs et aux commutateurs :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">!
ntp server 192.168.2.1 source Vlan2
clock timezone CET +1
clock summer-time EDT recurring
!
</screen>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.ntp.check">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Validation de la configuration ntp</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La syntaxe <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IOS</acronym> de contrôle de l'état du service sur
  l'équipement est la suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">sw1#sh ntp status
Clock is synchronized, stratum 4, reference is 192.168.2.1
nominal freq is 250.0000 Hz, actual freq is 249.9962 Hz, precision is 2**18
reference time is C5A12468.AFE91280 (21:02:48.687 CET Tue Jan 25 2005)
clock offset is 0.0817 msec, root delay is 78.25 msec
root dispersion is 122.21 msec, peer dispersion is 0.03 msec

sw1#sh ntp associations

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.2.1      213.161.8.44      3    33    64  377     2.0    0.08     0.0
* master (synced), # master (unsynced), + selected, - candidate, ~ configured
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilitaire <command xmlns:xlink="http://www.w3.org/1999/xlink">ntpq</command> fournit les mêmes information pour
  le système GNU/Linux :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># ntpq
ntpq&gt; associations

ind assID status  conf reach auth condition  last_event cnt
===========================================================
  1 26588  9614   yes   yes  none  sys.peer   reachable  1
  2 26589  9014   yes   yes  none    reject   reachable  1
ntpq&gt; peer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*cpe1-8-44.cable 164.8.100.2      2 u  865 1024  377   79.463  -11.913  33.217
 LOCAL(0)        LOCAL(0)        13 l   39   64  377    0.000    0.000   0.004
</screen>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.ntp.secu">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Encore un soupçon de sécurité</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">tftpd</systemitem> et <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">syslogd</systemitem>, le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">ntpd</systemitem> n'est pas un modèle en matière de sécurité.
  Il est donc souhaitable de bien <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">encadrer</emphasis> son
  utilisation. On configure le contrôle d'accès avec une règle de filtrage
  réseau par équipement.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici encore un extrait du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/lib/iptables/active</filename> utilisé par le script
  d'initialisation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">iptables</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">*filter
:INPUT DROP [0:0]
&lt;snip/&gt;
-A INPUT -s 192.168.2.2 -p udp --dport 123 -m state --state NEW -j ACCEPT
&lt;snip/&gt;
</screen>
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un exemple complet, voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.iptables"/>.</para>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.mrtg">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Introduction à la métrologie avec mrtg</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est impossible de prétendre faire de la gestion d'équipement réseau
  sans parler de métrologie. Qui dit métrologie, dit système de gestion intégré
  ou <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Network Management System</wordasword>
  (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">NMS</acronym>). Ces systèmes intégrés sont trop souvent des «usines
  à gaz» au coût d'installation et d'administration prohibitif (on n'ose même
  plus parler du coût de licence !). L'optique de ce document étant de
  présenter des services simples à mettre en œuvre,
  <application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application> est l'outil GNU/Linux le plus répandu qui
  convient bien à cette présentation.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application> s'appuie sur le protocole
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMP</acronym> (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Simple Network Management
  Protocol</wordasword>) dont la première version est décrite dans le document
  <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.faqs.org/rfcs/rfc1157.html">
  RFC1157 <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Simple Network Management Protocol (SNMP)</citetitle></link>. Ce protocole permet à <application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application>
  d'interroger la base d'informations (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MIB</acronym> ou
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Management Information Base</wordasword>) d'un équipement capable
  de traiter les messages <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMP</acronym>. À part pour les équipements
  de très bas de gamme, tous les constructeurs d'équipements réseau fournissent
  des bases d'informations <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MIB</acronym> pour leurs lignes de
  produits.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le principe de fonctionnement est relativement simple : le
  programme <application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application> est exécuté périodiquement pour
  interroger les bases d'informations <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MIB</acronym> des équipements en
  fonction d'un fichier de configuration. Le résultat de ces interrogation sert
  à construire des images qui sont rangées dans un répertoire de page
  Web.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.mrtg.install.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Installation et configuration du service mrtg</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Au niveau de chaque équipement, le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">snmp</systemitem> doit être activé et la chaîne de caractères
  de définition de communauté paramétrée. Voici un exemple de configuration
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IOS</acronym> ; toujours pour un commutateur 2950 :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">snmp-server trap-source Vlan2<co xml:id="mrtg.ip.source"/>
snmp-server enable traps syslog
no snmp-server community public ro
!
no access-list 51
access-list 51 permit 192.168.2.1<co xml:id="mrtg.ip.ask"/>
snmp-server community m3tr0l0g13 ro 51<co xml:id="mrtg.community"/>
</screen>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="mrtg.ip.source">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Les messages <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMP</acronym> émis par l'équipement ont une
      adresse <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> source unique : celle de l'interface
      Vlan2.</para>
    </callout>
    <callout arearefs="mrtg.ip.ask">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">La liste de contrôle d'accès numéro 51 n'autorise que l'adresse
      <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IP</acronym> <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="ipaddress">192.168.2.1</systemitem> à interroger la base
      d'informations <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MIB</acronym>.</para>
    </callout>
    <callout arearefs="mrtg.community">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">La définition de communauté <literal xmlns:xlink="http://www.w3.org/1999/xlink">m3tr0l0g13</literal> n'a qu'un
      accès en lecture seule.</para>
    </callout>
  </calloutlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Côté système GNU/Linux, on a déjà indiqué dans la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="meta.software"/>, que seuls les paquets de la distribution
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle> sont présentés ici. L'installation de
  <application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application> et du serveur web de visualisation
  <application xmlns:xlink="http://www.w3.org/1999/xlink">apache</application> se résume donc à l'instruction
  suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># apt-get install mrtg apache
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'installation des paquets <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle>
  couvre toutes les opérations de configuration de base :</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Création du répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/www/mrtg/</filename> et copie des icônes de base des
    pages <acronym xmlns:xlink="http://www.w3.org/1999/xlink">HTML</acronym> produites par
    <application xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</application>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Planification de l'exécution périodique de la commande
    <command xmlns:xlink="http://www.w3.org/1999/xlink">mrtg</command> via le service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">cron</systemitem> avec le fichier
    <filename xmlns:xlink="http://www.w3.org/1999/xlink">/etc/cron.d/mrtg</filename>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">L'URL de consultation des résultats est :
    <literal xmlns:xlink="http://www.w3.org/1999/xlink">http://192.168.2.1/mrtg/</literal>.</para>
    </listitem>
  </itemizedlist>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.mrtg.example">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Exemple d'utilisation sur un commutateur 2950</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour chaque équipement supervisé, il faut créer ou compléter un fichier
  de configuration puis construire l'index de page web correspondant.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La configuration est obtenue à l'aide de la commande
  <command xmlns:xlink="http://www.w3.org/1999/xlink">cfgmaker</command>. Voici l'exemple de la création d'un nouveau
  fichier de configuration pour l'équipement paramétré ci-avant (Voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.mrtg.install.config"/>) :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># cfgmaker m3tr0l0g13@192.168.2.2 &gt;mrtg.cfg
# mv /etc/mrtg.cfg /etc/mrtg.cfg.dpkg-dist
# cp mrtg.cfg /etc
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois le fichier de configuration créé, il est possible de l'éditer
  pour l'adapter à ses propres besoins. La modification la plus classique
  consiste à renommer et|ou renuméroter les interfaces.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La construction de l'index se fait à l'aide de la commande
  <command xmlns:xlink="http://www.w3.org/1999/xlink">indexmaker</command>. Voici la suite du traitement de l'exemple du
  commutateur 2950 :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est aussi possible d'éditer ce fichier d'index pour l'adapter à ses
  besoins. Il est cependant préférable de faire appel aux options de la
  commande <command xmlns:xlink="http://www.w3.org/1999/xlink">indexmaker</command>. Ces options sont fournies dans les
  pages de manuels : <userinput xmlns:xlink="http://www.w3.org/1999/xlink">man indexmaker</userinput>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le résultat obtenu est de la forme suivante pour la page d'index
  principale :</para>

<informalfigure xmlns:xlink="http://www.w3.org/1999/xlink">
  <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <imagedata fileref="images/index.mrtg.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
    </imageobject>
    <caption xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/index.mrtg.png">Index
    mrtg - vue complète</link></para>
    </caption>
  </mediaobject>
</informalfigure>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour une interface, le résultat se présente sous la forme
  suivante :</para>

<informalfigure xmlns:xlink="http://www.w3.org/1999/xlink">
  <mediaobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <imagedata fileref="images/interface.mrtg.png" format="PNG" contentwidth="9cm" width="9.5cm"/>
    </imageobject>
    <caption xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/articles/devmgmt/images/interface.mrtg.png">Interface
    mrtg - vue complète</link></para>
    </caption>
  </mediaobject>
</informalfigure>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.mrtg.secu">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Encore un soupçon de sécurité</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme tous les autres services présentés ci-avant, le protocole
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMP</acronym> ne fait pas exception. Ce n'est pas un modèle en
  matière de sécurité. Il existe plusieurs versions de ce protocole :
  <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMPv1</acronym> de 1990, <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMPv2c</acronym> de 1996 a 2002
  et <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMPv3</acronym> à partir de 2000. Plus ces versions ont évolué,
  plus les fonctions de sécurité se sont étoffées. Les équipements réseau
  actuels intègrent le plus souvent la version <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SNMPv2c</acronym> qui
  est très limitée.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On se retrouve donc dans une situation identique à celle des autres
  services présentés. Il est souhaitable de bien <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">encadrer</emphasis>
  l'utilisation du protocole. On configure le contrôle d'accès avec une règle
  de filtrage réseau par équipement.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un extrait du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/lib/iptables/active</filename> utilisé par le script
  d'initialisation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">iptables</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">*filter
:INPUT DROP [0:0]
&lt;snip/&gt;
-A INPUT -s 192.168.2.2 -p udp --dport 162 -m state --state NEW -j ACCEPT
&lt;snip/&gt;
</screen>
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour un exemple complet, voir <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="devmgmt.iptables"/>.</para>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.go">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Pour aller plus loin !</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les outils GNU/Linux permettent de structurer la centralisation de la
  gestion des équipements réseau. La force du logiciel libre c'est la capacité
  à adapter son infrastructure au plus près de ses besoins. Cette «capacité
  d'adaptation» a un coût non négligeable.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">En phase de conception ou d'évolution d'un système d'information, il
  faut étudier attentivement le rapport contraintes d'exploitation sur coût
  d'acquisition.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est fréquent de constater qu'au delà du coût d'acquisition d'une
  solution propriétaire, les fonctionnalités offertes sont très|trop nombreuses
  et ne répondent pas nécessairement aux besoins. À l'inverse, la mise en
  œuvre des fonctionnalités décrites dans ce document permet d'atteindre
  rapidement et simplement des résultats faciles à exploiter.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour étudier plus en détails les modalités d'exploitation des
  équipements réseau voici quelques références documentaires :</para>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Guides de la NSA</title>
    <para xmlns:xlink="http://www.w3.org/1999/xlink">De plus en plus souvent, les conseils sur les «bonnes pratiques» de
    gestion des équipements sont inclues dans les document relatifs à la
    sécurité. Les guides de la <acronym xmlns:xlink="http://www.w3.org/1999/xlink">NSA</acronym> sont les exemples
    emblématiques de cette tendance. Même si ces guides ne traitent que des
    équipements <trademark xmlns:xlink="http://www.w3.org/1999/xlink">Cisco</trademark>, il ne devrait pas être trop
    difficile de les adapter aux interfaces|langages de configuration des
    autres marques.</para>

    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="nsa.switch">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Cisco IOS Switch Security Configuration
    Guide</citetitle></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le guide <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.nsa.gov/ia/_files/switches/switch-guide-version1_01.pdf">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Swicth guide version 1.01</citetitle></link> est dédié aux commutateurs. Il
    présente bien sûr beaucoup plus de fonctions que ce document.</para>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="nsa.router">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Router Security Configuration Guide</citetitle></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le guide <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.nsa.gov/ia/_files/routers/C4-040R-02.pdf">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Router guide version 1.1c</citetitle></link> est une excellente référence sur la
    sécurisation d'une architecture d'interconnexion réseau. Il va bien au delà
    de la configuration des équipements.</para>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="nsa.summary">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Executive Summary</citetitle></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">La feuille <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.nsa.gov/ia/_files/routers/cisco_exec_sum.pdf">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Executive Summary</citetitle></link> est une
    <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">checklist</wordasword> définitivement indispensable pour
    configurer les équipements.</para>
    </listitem>
    </varlistentry>
  </variablelist>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="biblio.syslog">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Journalisation système</title>
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On reproche beaucoup au service <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem> son manque de sécurité intrinsèque.
    C'est oublier un peu vite que pour que ce type de service soit largement
    adopté, il doit être «léger» et facile à implanter dans un espace mémoire
    réduit. La sécurisation des échanges de messages <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="service">syslog</systemitem> est relativement facile à obtenir en
    «canalisant» ces messages hors de la bande passante utilisateur dans des
    VLANs ou des réseaux privés virtuels spécifiques.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici quelques références permettant d'argumenter sur cette
    question :</para>
    
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog.ietf">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Groupe de travail Syslog de l'IETF</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Page Web du groupe de travail : <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.employees.org/~lonvick/">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">IETF Syslog Working Group Home Page</citetitle></link>.</para>
    </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syslog.hsc">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Présentation HSC</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Si cette présentation sur <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.hsc.fr/ressources/presentations/dnac03/">
        <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Normes utiles en sécurité réseau</citetitle></link> ne traite pas directement
    de la journalisation, elle met en évidence son importance en tant qu'outil
    d'audit et de veille.</para>
    </listitem>
    </varlistentry>
  </variablelist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voilà ! On dispose maintenant d'une batterie de fonctions et d'outils
  de gestion des équipements réseau. Il ne reste plus qu'à composer son système
  de gestion personnel. Si vous avez déjà eu à administrer un système lourd et
  coûteux vous réaliserez plus facilement et plus vite combien cette facilité
  d'adaptation est avantageuse.</para>
</sect1>

<?custom-pagebreak?>
<appendix xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="devmgmt.iptables">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Configuration type du filtrage réseau</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Après avoir donné plusieurs exemples de règles de filtrage pour les
  services de gestion d'équipements réseau présentés, voici un fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/lib/iptables/active/</filename> complet. Même si le filtrage
  réseau sort du cadre de ce document, cette configuration essaie de respecter
  au mieux la règle d'or : <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">décrire le plus précisement possible
  le premier paquet d'une nouvelle communication et faire confiance au suivi
  d'état ensuite</emphasis>.</para>

  <warning xmlns:xlink="http://www.w3.org/1999/xlink">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Attention !</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le fichier ci-dessous est fourni à titre d'exemple sans aucune
    garantie de quelque nature que ce soit.</para>
  </warning>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour activer l'ensemble des règles il faut saisir une commande du
  type :
  <userinput xmlns:xlink="http://www.w3.org/1999/xlink">iptables-restore &lt;/var/lib/iptables/active</userinput>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># Configuration type du filtrage réseau 
# pour un serveur de gestion d'équipement réseau
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Définition des interfaces
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# . eth0 : interface «réseau public»
# . eth2 : interface «périmètre gestion»
# 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Tables de traduction d'adresses
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE 
COMMIT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Tables de filtrage
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
#
# -&gt; Chaîne INPUT
# . toutes les communications internes sont autorisées
-A INPUT -i lo -j ACCEPT 
# . suivi de communication
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m state --state ESTABLISHED -m tcp ! --syn -j ACCEPT
-A INPUT -p tcp -m state --state RELATED -m tcp --syn -j ACCEPT
-A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p icmp --icmp-type destination-unreachable \
                 -m state --state RELATED -j ACCEPT
-A INPUT -p icmp --icmp-type time-exceeded -m state --state RELATED -j ACCEPT
# . administration du serveur avec SSH
-A INPUT -i eth0 -p tcp --syn --dport 22 -m state --state NEW -j ACCEPT 
# . services de gestion d'équipements réseau
#   . exemple d'un commutateur 2950 avec l'@ IP 192.168.2.2
-A INPUT -i eth2 -s 192.168.2.2 -p udp --dport 69 -m state --state NEW -j ACCEPT 
-A INPUT -i eth2 -s 192.168.2.2 -p udp --dport 514 -m state --state NEW -j ACCEPT
-A INPUT -i eth2 -s 192.168.2.2 -p udp --dport 123 -m state --state NEW -j ACCEPT
-A INPUT -i eth2 -s 192.168.2.2 -p udp --dport 162 -m state --state NEW -j ACCEPT
# . poubelle propre
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
#
# -&gt; Chaîne FORWARD
# . suivi de communication
-A FORWARD -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -p tcp -m state --state ESTABLISHED -m tcp ! --syn -j ACCEPT
-A FORWARD -p tcp -m state --state RELATED -m tcp --syn -j ACCEPT
-A FORWARD -p icmp -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -p icmp --icmp-type destination-unreachable \
                   -m state --state RELATED -j ACCEPT
-A FORWARD -p icmp --icmp-type time-exceeded -m state --state RELATED -j ACCEPT
# . poubelle propre
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp -j REJECT --reject-with tcp-reset
-A FORWARD -p udp -j REJECT --reject-with icmp-port-unreachable
COMMIT

</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est possible de simplifier la syntaxe de filtrage des communications
  par équipement en groupant les services ouverts. En prenant l'exemple
  ci-dessous on perd en lisibilité puisque le compteur d'utilisation de la règle
  ne permet pas de distinguer le service utilisé dans la liste.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">-A INPUT -i eth2 -s 192.168.2.2 -p udp -m multiport --dports 69,123,162,514 \
        -m state --state NEW -j ACCEPT
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le but de mieux respecter la règle d'or du filtrage, il est
  possible de tester les adresses <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MAC</acronym> source des équipements
  gérés. De cette façon, on limite les possibilités de
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spoofing</wordasword>.</para>
</appendix>
</article>

