Sécurisation du réseau dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Configuration d'un serveur Web Apache 2.2 afin qu'il utilise le proxy SSL au niveau du noyau

Le proxy SSL au niveau du noyau peut améliorer la vitesse de traitement des paquets SSL sur un serveur Web Apache 2.2. Cette procédure implémente le scénario simple illustré à la Figure 3–1.

Avant de commencer

Vous avez configuré un serveur Web Apache 2.2. Ce serveur Web est inclus dans Oracle Solaris.

Vous devez prendre le rôle root.

  1. Arrêtez le serveur Web.
    # svcadm disable svc:/network/http:apache22
  2. Placez la clé privée du serveur et le certificat du serveur dans un seul fichier.

    Si seul le paramètre SSLCertificateFile est indiqué dans le fichier ssl.conf, le fichier spécifié peut être utilisé directement pour le proxy SSL au niveau du noyau.

    Si le paramètre SSLCertificateKeyFile est également indiqué, vous devez combiner le fichier de certificat et le fichier de clé privée. Exécutez une commande semblable à l'exemple suivant pour combiner les fichiers :

    # cat cert.pem key.pem > cert-and-key.pem
  3. Déterminez les paramètres à utiliser avec la commande ksslcfg.

      La page de manuel ksslcfg(1M) contient la liste complète des options. Voici les paramètres que vous devez fournir :

    • key-format : utilisé avec l'option –f pour définir le certificat et le format de clé. Pour le proxy SSL au niveau du noyau, les formats pris en charge sont les suivants : pkcs11, pem et pkcs12.

    • key-and-certificate-file : utilisé avec l'option –i pour définir l'emplacement du fichier qui stocke la clé de serveur et le certificat pour les options key-format pem ou pkcs12.

    • password-file : utilisé avec l'option –p pour obtenir le mot de passe servant à chiffrer la clé privée pour les options key-formatpem ou pkcs12. Pour pkcs11, le mot de passe est utilisé pour authentifier le marqueur PKCS #11. Vous devez protéger le fichier de mots de passe à l'aide d'autorisations 0400. Ce fichier est requis pour les réinitialisations sans l'intervention d'un opérateur.

    • token-label : utilisé avec l'option –T pour indiquer le marqueur PKCS #11.

    • certificate-label : utilisé avec l'option –C pour sélectionner l'étiquette de l'objet de certificat dans le marqueur PKCS#11.

    • proxy-port : utilisé avec l'option –x pour définir le port proxy SSL. Vous devez spécifier un port différent du port standard 80. Le serveur Web est à l'écoute du trafic de texte en clair non chiffré sur le port proxy SSL. Généralement, la valeur est 8443.

    • ssl-port : indique le port d'écoute pour le proxy SSL au niveau du noyau. Généralement, la valeur est 443.

  4. Créez l'instance de service pour le proxy SSL au niveau du noyau.

    Indiquez le port proxy SSL et les paramètres associés à l'aide de l'un des formats suivants :

    • Indiquez PEM ou PKCS #12 comme format de clé.
      # ksslcfg create -f key-format -i key-and-certificate-file \
      -p password-file -x proxy-port ssl-port
    • Indiquez PKCS #11 comme format de clé.
      # ksslcfg create -f pkcs11 -T PKCS11-token -C certificate-label \ 
      -p password-file -x proxy-port ssl-port
  5. Vérifiez que l'instance de service est en ligne.
    # svcs svc:/network/ssl/proxy
    STATE          STIME    FMRI
    online         02:22:22 svc:/network/ssl/proxy:default

    La sortie suivante indique que l'instance de service n'a pas été créée :

    svcs: Pattern 'svc:/network/ssl/proxy' doesn't match any instances
    STATE          STIME    FMRI
  6. Configurez le serveur Web pour qu'il soit à l'écoute sur le port proxy SSL.

    Modifiez le fichier /etc/apache2/2.2/http.conf et ajoutez une ligne pour définir le port proxy SSL. Si vous utilisez l'adresse IP du serveur, le serveur Web écoute uniquement sur cette interface. La ligne est similaire à ce qui suit :

    Listen proxy-port
  7. Définissez une dépendance SMF pour le serveur Web.

    Le service du serveur Web peut uniquement démarrer une fois que l'instance proxy SSL au niveau du noyau a démarré. Les commandes suivantes établissent cette dépendance&nbsp:

    # svccfg -s svc:/network/http:apache22
    svc:/network/http:apache22> addpg kssl dependency
    ...apache22> setprop kssl/entities = fmri:svc:/network/ssl/proxy:kssl-INADDR_ANY-443
    ...apache22> setprop kssl/grouping = astring: require_all
    ...apache22> setprop kssl/restart_on = astring: refresh
    ...apache22> setprop kssl/type = astring: service
    ...apache22> end
  8. Activez le service du serveur Web.
    # svcadm enable svc:/network/http:apache22