Guide d'administration système : services IP

Contrôle et modification des services de couche transport

Les protocoles de couche de transport TCP, SCTP et UDP font partie du package Oracle Solaris standard. Généralement, ces protocoles fonctionnent correctement sans que l'utilisateur ait à intervenir. Toutefois, dans certaines conditions, vous serez peut-être amené à consigner ou modifier des services exécutés via les protocoles de couche transport. Vous devez ensuite modifier les profils de ces services à l'aide de l'utilitaire SMF (Service Management Facility). Pour plus d'informations sur cet utilitaire, reportez-vous au Chapitre 18, Managing Services (Overview) du System Administration Guide: Basic Administration.

Le démon inetd est chargé de lancer les services Internet standard lors de l'initialisation d'un système. Ces services incluent les applications utilisant les protocoles de couche transport TCP, SCTP ou UDP. Vous pouvez modifier les services Internet existants ou ajouter de nouveaux services à l'aide des commandes SMF. Pour plus d'informations sur inetd, reportez-vous à la section Démon de services Internet inetd.

Opérations impliquant les protocoles de couche transport :

Pour plus d'informations sur le démon inetd, reportez-vous à la page de manuel inetd(1M).

ProcedureJournalisation des adresses IP de toutes les connexions TCP entrantes

  1. Sur le système local, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Activez le suivi TCP pour tous les services gérés par inetd.


    # inetadm -M tcp_trace=TRUE
    

ProcedureAjout de services utilisant le protocole SCTP

Le protocole de transport SCTP fournit des services aux protocoles de couche d'application de façon similaire à TCP. Toutefois, SCTP permet la communication entre deux systèmes multiréseaux ou deux systèmes dont l'un est multiréseau. La connexion SCTP s'appelle une association. Dans une association, une application divise les données à transmettre en plusieurs flux de messages. Une connexion SCTP peut atteindre les extrémités à l'aide de plusieurs adresses IP, ce qui s'avère particulièrement important dans le cadre d'applications de téléphonie. Les capacités multiréseau de SCTP améliorent la sécurité des sites ayant recours à IP Filter ou IPsec. La page de manuel sctp(7P) répertorie les points à prendre en considération au niveau de la sécurité.

Par défaut, le protocole SCTP fait partie de Oracle Solaris et ne nécessite aucune configuration supplémentaire. Toutefois, vous devrez peut-être configurer explicitement certains services de couche d'application pour utiliser SCTP. echo et discard sont des exemples d'applications. La procédure suivante illustre l'ajout d'un service d'écho qui utilise un socket de type SCTP bi-univoque.


Remarque –

La procédure suivante permet également d'ajouter des services pour les protocoles de couche transport TCP et UDP.


La tâche suivante illustre l'ajout dans le référentiel SMF d'un service inet SCTP géré par le démon inetd. La tâche décrit ensuite la procédure d'ajout du service à l'aide des commandes SMF (Service Management Facility).

Avant de commencer

Avant d'effectuer la procédure suivante, créez un fichier manifeste pour le service. En exemple, la procédure fait référence à un fichier manifeste du service echo intitulé echo.sctp.xml .

  1. Connectez-vous au système local avec un compte utilisateur disposant de privilèges d'écriture sur les fichiers système.

  2. Modifiez le fichier /etc/services et ajoutez la définition du nouveau service.

    Définissez le service à l'aide de la syntaxe suivante.


    service-name |port/protocol | aliases
    
  3. Ajoutez le nouveau service.

    Accédez au répertoire de stockage du manifeste de service et tapez ce qui suit :


    # cd dir-name
    # svccfg import service-manifest-name
    

    La page de manuel svccfg(1M) contient la syntaxe complète de svccfg.

    Admettons que vous voulez ajouter un service echo SCTP à l'aide du manifeste echo.sctp.xml résidant dans le répertoire service.dir. Vous devez taper ce qui suit :


    # cd service.dir
    # svccfg import echo.sctp.xml
    
  4. Assurez-vous que le manifeste de service a été ajouté :


    # svcs FMRI
    

    Pour l'argument FMRI, utilisez le FMRI (Fault Managed Resource Identifier, identificateur de ressources gérées erronées) du manifeste de service. Par exemple, pour le service SCTP echo, vous devez utiliser la commande suivante :


    # svcs svc:/network/echo:sctp_stream
    

    La sortie doit ressembler à ceci :


    	STATE          STIME    FMRI
    disabled       16:17:00 svc:/network/echo:sctp_stream

    Pour plus d'informations sur la commande svcs, reportez-vous à la page de manuel svcs(1).

    D'après la sortie, le nouveau manifeste de service est désactivé.

  5. Dressez la liste des propriétés du service afin d'identifier les modifications à apporter.


    # inetadm -l FMRI
    

    Pour plus d'informations sur la commande inetadm, reportez-vous à la page de manuel inetadm(1M).

    Par exemple, pour le service SCTP echo, vous devez saisir les informations suivantes :


    # inetadm -l svc:/network/echo:sctp_stream
    SCOPE    NAME=VALUE
    	         name="echo"
    	         endpoint_type="stream"
    	         proto="sctp"
    	         isrpc=FALSE
    	         wait=FALSE
    	         exec="/usr/lib/inet/in.echod -s"
             .
             .
             default  tcp_trace=FALSE
           	default  tcp_wrappers=FALSE
  6. Activez le nouveau service :


    # inetadm -e FMRI
    
  7. Assurez-vous que le service est activé.

    Par exemple, pour le nouveau service echo, vous devez taper :


    # inetadm | grep sctp_stream
    .
    .
    	enabled   online         svc:/network/echo:sctp_stream

Exemple 5–9 Ajout d'un service utilisant le protocole de transport SCTP

L'exemple suivant indique les commandes à utiliser et les entrées de fichier requises pour que le service d'écho utilise le protocole de couche transport SCTP.


$ cat /etc/services
.
.
echo            7/tcp
echo            7/udp
echo            7/sctp

# cd service.dir

	# svccfg import echo.sctp.xml

# svcs network/echo*
	STATE          STIME    FMRI
	disabled       15:46:44 svc:/network/echo:dgram
	disabled       15:46:44 svc:/network/echo:stream
	disabled       16:17:00 svc:/network/echo:sctp_stream

# inetadm -l svc:/network/echo:sctp_stream
	SCOPE    NAME=VALUE
	         name="echo"
	         endpoint_type="stream"
	         proto="sctp"
	         isrpc=FALSE
	         wait=FALSE
	         exec="/usr/lib/inet/in.echod -s"
	         user="root"
	default  bind_addr=""
	default  bind_fail_max=-1
	default  bind_fail_interval=-1
	default  max_con_rate=-1
	default  max_copies=-1
	default  con_rate_offline=-1
	default  failrate_cnt=40
	default  failrate_interval=60
	default  inherit_env=TRUE
	default  tcp_trace=FALSE
	default  tcp_wrappers=FALSE

# inetadm -e svc:/network/echo:sctp_stream

# inetadm | grep echo
	disabled  disabled       svc:/network/echo:stream
	disabled  disabled       svc:/network/echo:dgram
	enabled   online         svc:/network/echo:sctp_stream

ProcedureContrôle d'accès aux services TCP à l'aide des wrappers TCP

Le programme tcpd met en œuvre les wrappers TCP. Les wrappers TCP représentent une mesure de sécurité supplémentaire pour les démons de services, notamment pour ftpd . En effet, ils s'interposent entre le démon et les requêtes de service entrantes. Les wrappers TCP consignent les réussites et les échecs des tentatives de connexion. En outre, ils offrent un contrôle d'accès en autorisant ou en refusant la connexion en fonction de l'origine de la requête. Enfin, ils permettent de protéger les démons, notamment SSH, Telnet et FTP. L'application sendmail peut également avoir recours aux wrappers TCP (voir la section Support for TCP Wrappers From Version 8.12 of sendmail du System Administration Guide: Network Services .)

  1. Sur le système local, connectez-vous en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Activez les wrappers TCP.


    # inetadm -M tcp_wrappers=TRUE
    
  3. Configurez la stratégie de contrôle d'accès des wrappers TCP, telle que décrite à la page de manuel hosts_access(3).

    Cette page de manuel se trouve sous le répertoire /usr/sfw/man du CD-ROM SFW livré avec le CD-ROM Oracle Solaris.