Protección de la red en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Cómo configurar un servidor web Apache 2.2 para utilizar el Proxy SSL en el nivel del núcleo

El Proxy SSL en el nivel del núcleo puede mejorar la velocidad del procesamiento de paquetes SSL en un servidor web Apache 2.2. Este procedimiento implementa el escenario simple que se muestra en la Figure 3–1.

Antes de empezar

Ya configuró un servidor web Apache 2.2. Este servidor web se incluye en Oracle Solaris.

Debe asumir el rol root.

  1. Detenga el servidor web.
    # svcadm disable svc:/network/http:apache22
  2. Coloque la clave privada del servidor y el certificado del servidor en un archivo.

    Si únicamente se especifica el parámetro SSLCertificateFile en el archivo ssl.conf, el archivo especificado se puede utilizar directamente para el Proxy SSL en el nivel del núcleo.

    Si el parámetro SSLCertificateKeyFile también está especificado, debe combinar el archivo de certificado y el archivo de clave privada. Ejecute un comando similar al siguiente para combinar los archivos:

    # cat cert.pem key.pem > cert-and-key.pem
  3. Determine qué parámetros desea utilizar con el comando ksslcfg.

      Consulte la página del comando man ksslcfg(1M) para ver una lista completa de opciones. Los parámetros que debe proporcionar son:

    • key-format: se usa con la opción –f para definir el certificado y el formato de claves. Para el Proxy SSL en el nivel del núcleo, los formatos admitidos son pkcs11, pem y pkcs12.

    • key-and-certificate-file: se utiliza con la opción –i para definir la ubicación del archivo que almacena la clave del servidor y el certificado para las opciones de key-format pem y pkcs12.

    • password-file: se utiliza con la opción –p para obtener la contraseña usada para cifrar la clave privada para las opciones de key-format pem o pkcs12. Para pkcs11, la contraseña se utiliza para realizar una autenticación al token PKCS #11. Debe proteger el archivo de contraseña con los permisos 0400. El archivo se requiere para reinicios desatendidos.

    • token-label: se usa con la opción –T para especificar el token PKCS #11.

    • certificate-label: se usa con la opción –C para seleccionar la etiqueta del objeto del certificado del token PKCS #11.

    • proxy-port: se utiliza con la opción –x para definir el puerto proxy SSL. Debe especificar un puerto diferente del puerto estándar 80. El servidor web escucha en el puerto proxy SSL el tráfico de texto sin formato sin cifrar. Por lo general, el valor es 8443.

    • ssl-port: especifica el puerto de escucha para el Proxy SSL en el nivel del núcleo. Por lo general, el valor es 443.

  4. Cree la instancia de servicio para el Proxy SSL en el nivel del núcleo.

    Especifique el puerto proxy SSL y los parámetros asociados mediante uno de los siguientes formatos:

    • Especifique PEM o PKCS #12 como formato de clave.
      # ksslcfg create -f key-format -i key-and-certificate-file \
      -p password-file -x proxy-port ssl-port
    • Especifique PKCS #11 como formato de clave.
      # ksslcfg create -f pkcs11 -T PKCS11-token -C certificate-label \ 
      -p password-file -x proxy-port ssl-port
  5. Verifique que la instancia del servicio esté en línea.
    # svcs svc:/network/ssl/proxy
    STATE          STIME    FMRI
    online         02:22:22 svc:/network/ssl/proxy:default

    La siguiente salida indica que no se creó la instancia de servicio:

    svcs: Pattern 'svc:/network/ssl/proxy' doesn't match any instances
    STATE          STIME    FMRI
  6. Configure el servidor web para recibir el puerto proxy SSL.

    Edite el archivo /etc/apache2/2.2/http.conf y agregue una línea para definir el puerto proxy SSL. Si utiliza la dirección IP del servidor, el servidor web escucha en esa interfaz solamente. La línea es similar a la siguiente:

    Listen proxy-port
  7. Defina una dependencia SMF para el servidor web.

    El servicio de servidor web puede comenzar solamente después de que se haya iniciado la instancia del Proxy SSL en el nivel del núcleo. Los siguientes comandos establecen esa dependencia:

    # 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. Active el servicio de servidor web.
    # svcadm enable svc:/network/http:apache22