Guide d'administration système : services IP

ProcedureProtection contre l'usurpation d'adresse IP

Afin d'empêcher le système de transmettre des paquets vers une autre interface sans tenter de les déchiffrer, le système doit contrôler les éventuelles usurpations d'adresse IP. Une méthode de prévention consiste à définir un paramètre multiréseau strict de destination IP, par le biais de la commande ndd. Lorsque ce paramètre est défini dans un manifeste SMF, le paramètre est défini lors du redémarrage du système.


Remarque –

Effectuez cette procédure sur les deux systèmes.


  1. Sur la console du système, 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. Créez un manifeste SMF spécifique à un site afin de vérifier la présence d'éventuelles usurpations d'adresse IP.

    Utilisez l'exemple de script suivant, /var/svc/manifest/site/spoof_check.xml.

    <?xml version="1.0"?>
    <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
    
    <service_bundle type='manifest' name='Custom:ip_spoof_checking'>
    
    <!--    This is a custom smf(5) manifest for this system. Place this
            file in /var/svc/manifest/site, the directory for local
            system customizations. The exec method uses an unstable
            interface to provide a degree of protection against IP
            spoofing attacks when this system is acting as a router.
    
            IP spoof protection can also be achieved by using ipfilter(5).
            If ipfilter is configured, this service can be disabled.
    
            Note: Unstable interfaces might be removed in later
            releases.  See attributes(5).
    -->
    
    <service
            name='site/ip_spoofcheck'
            type='service'
            version='1'>
    
            <create_default_instance enabled='false' />
            <single_instance />
    
            <!--    Don't enable spoof protection until the
                    network is up.
            -->
            <dependency
                    name='basic_network'
                    grouping='require_all'
                    restart_on='none'
                    type='service'>
            <service_fmri value='svc:/milestone/network' />
            </dependency>
    
            <exec_method
                    type='method'
                    name='start'
                    exec='/usr/sbin/ndd -set /dev/ip ip_strict_dst_multihoming 1'
    <!--    
         For an IPv6 network, use the IPv6 version of this command, as in:
                    exec='/usr/sbin/ndd -set /dev/ip ip6_strict_dst_multihoming 1
    -->
                    timeout_seconds='60'
            />
    
            <exec_method
                    type='method'
                    name='stop'
                    exec=':true'
                    timeout_seconds='3'
            />
    
            <property_group name='startd' type='framework'>
                    <propval
                            name='duration'
                            type='astring'
                            value='transient'
                    />
            </property_group>
    
            <stability value='Unstable' />
    
    </service>
    </service_bundle>
  3. Importez ce manifeste dans le référentiel SMF.


    # svccfg import /var/svc/manifest/site/spoof_check.xml
    
  4. Activez le service ip_spoofcheck.

    Utilisez le nom qui est défini dans le fichier manifeste, /site/ip_spoofcheck.


    # svcadm enable /site/ip_spoofcheck
    
  5. Assurez-vous que le service ip_spoofcheck est en ligne.


    # svcs /site/ip_spoofcheck