Guía de administración del sistema: servicios IP

ProcedureCómo configurar IKE con certificados firmados por una autoridad de certificación

Los certificados públicos de una autoridad de certificación requieren negociar con una organización externa. Los certificados se pueden escalar con gran facilidad para proteger un mayor número de sistemas que se comunican.

  1. En la consola del sistema, asuma el rol de administrador principal o conviértase en superusuario.

    La función de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Working With the Solaris Management Console (Tasks) de System Administration Guide: Basic Administration.


    Nota –

    El inicio de sesión remoto expone el tráfico cuya seguridad es crítica a intrusos. Aunque proteja de algún modo el inicio de sesión remoto, la seguridad del sistema se reducirá a la seguridad de la sesión remota. Utilice el comando ssh para un inicio de sesión remota seguro.


  2. Utilice el comando ikecert certlocal -kc para crear una solicitud de certificado.

    Para ver una descripción de los argumentos del comando, consulte el Paso 2 en Cómo configurar IKE con certificados de clave pública autofirmados.


    # ikecert certlocal -kc -m keysize -t keytype \
    -D dname -A altname
    
    1. Por ejemplo, el comando siguiente crea una solicitud de certificado en el sistema partym:


      # ikecert certlocal -kc -m 1024 -t rsa-md5 \
      > -D "C=US, O=PartyCompany\, Inc., OU=US-Partym, CN=Partym" \
      > -A "DN=C=US, O=PartyCompany\, Inc., OU=US-Partym"
      Creating software private keys.
        Writing private key to file /etc/inet/secret/ike.privatekeys/2.
      Enabling external key providers - done.
      Certificate Request: 
        Proceeding with the signing operation.
        Certificate request generated successfully (…/publickeys/0)
      Finished successfully.
      -----BEGIN CERTIFICATE REQUEST-----
      MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w
      …
      lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X
      -----END CERTIFICATE REQUEST-----
    2. El comando siguiente crea una solicitud de certificado en el sistema enigma:


      # ikecert certlocal -kc -m 1024 -t rsa-md5 \
      > -D "C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax, CN=Enigmax" \
      > -A "DN=C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax"
      Creating software private keys.
      …
      Finished successfully.
      -----BEGIN CERTIFICATE REQUEST-----
      MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
      …
      8qlqdjaStLGfhDOO
      -----END CERTIFICATE REQUEST-----
  3. Envíe la solicitud de certificado a una organización de PKI.

    La organización de PKI puede indicar cómo enviar la solicitud de certificado. La mayoría de las organizaciones cuenta con un sitio web con un formulario de envío. El formulario requiere una prueba de que el envío es legítimo. Normalmente, la solicitud de certificado se pega en el formulario. Cuando la organización ha comprobado la solicitud, emite los dos objetos de certificado siguientes y una lista de los certificados revocados:

    • El certificado de clave pública: este certificado se basa en la solicitud que ha enviado a la organización. La solicitud que envía forma parte del certificado de clave pública. El certificado le identifica de forma exclusiva.

    • Una autoridad de certificación: la firma de la organización. La autoridad de certificación verifica que el certificado de clave pública sea legítimo.

    • Una lista de revocación de certificados (CRL): La lista de certificados más reciente que ha revocado la organización. La CRL no se envía por separado como objeto de certificado si el acceso a la CRL está integrado en el certificado de clave pública.

      Cuando un URI para la CRL está integrado en el certificado de clave pública, IKE puede recuperar automáticamente la CRL. De modo similar, cuando una entrada DN (nombre de directorio en servidor LDAP) se integra en el certificado de clave pública, IKE puede recuperar la CRL y almacenarla en caché desde un servidor LDAP que se especifique.

      Consulte Cómo administrar una lista de revocación de certificados para ver un ejemplo de URI integrado y una entrada DN integrada en un certificado de clave pública.

  4. Agregue cada certificado al sistema.

    La opción -a de ikecert certdb -a agrega el objeto pegado a la base de datos de certificados pertinente del sistema. Para más información, consulte IKE con certificados de claves públicas.

    1. En la consola del sistema, asuma el rol de administrador principal o conviértase en superusuario.

    2. Agregue el certificado de clave pública que ha recibido de la organización de PKI.


      # ikecert certdb -a
      Press the Return key
      Paste the certificate:
      -----BEGIN X509 CERTIFICATE-----
      …
      -----END X509 CERTIFICATE----
      Press the Return key
      <Control>-D
      
    3. Agregue la autoridad de certificación de la organización de PKI.


      # ikecert certdb -a
      Press the Return key
      Paste the CA:
      -----BEGIN X509 CERTIFICATE-----
      …
      -----END X509 CERTIFICATE----
      Press the Return key
      <Control>-D
      
    4. Si la organización de PKI ha enviado una lista de certificados revocados, agregue la CRL a la base de datos certrldb:


      # ikecert certrldb -a
      Press the Return key
      Paste the CRL:
      -----BEGIN CRL-----
      …
      -----END CRL----
      Press the Return key
      <Control>-D
      
  5. Utilice la palabra clave cert_root para identificar la organización de PKI en el archivo /etc/inet/ike/config.

    Utilice el nombre que proporciona la organización de PKI.

    1. Por ejemplo, el archivo ike/config del sistema partym podría ser similar a:


      # Trusted root cert
      # This certificate is from Example PKI
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      
      ## Parameters that may also show up in rules.
      
      p1_xform 
       { auth_method rsa_sig oakley_group 1 auth_alg sha1 encr_alg des }
      p2_pfs 2
      
      {
       label "US-partym to JA-enigmax - Example PKI"
       local_id_type dn
       local_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
       remote_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
      
       local_addr  192.168.13.213
       remote_addr 192.168.116.16
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha1 encr_alg aes}
      }

      Nota –

      Todos los argumentos del parámetro auth_method deben encontrarse en la misma línea.


    2. En el sistema enigma, cree un archivo similar.

      En concreto, el archivo enigma ike/config llevará a cabo las siguientes acciones:

      • Incluirá el mismo valor de cert_root.

      • Utilizará los valores de enigma para los parámetros locales.

      • Utilice los valores de partym para los parámetros remotos.

      • Cree un valor único para la palabra clave label. Este valor debe ser diferente del valor label del sistema remoto.


      …
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      …
      {
       label "JA-enigmax to US-partym - Example PKI"
       local_id_type dn
       local_id   "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
       
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      …
  6. Indique a IKE cómo administrar las CRL.

    Elija la opción adecuada:

    • Ninguna CRL disponible

      Si la organización de PKI no proporciona ninguna CRL, agregue la palabra clave ignore_crls al archivo ike/config.


      # Trusted root cert
      …
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example,…
      ignore_crls

      La palabra clave ignore_crls indica a IKE que no debe buscar ninguna CRL.

    • CRL disponible

      Si la organización de PKI proporciona un punto de distribución central para las CRL, puede modificar el archivo ike/config para que haga referencia a esa ubicación.

      Consulte Cómo administrar una lista de revocación de certificados para ver algunos ejemplos.


Ejemplo 23–6 Uso de rsa_encrypt durante la configuración de IKE

    Cuando utiliza auth_method rsa_encrypt en el archivo ike/config, debe agregar el certificado equivalente a la base de datos publickeys.

  1. Envíe el certificado al administrador del sistema remoto.

    El certificado se puede pegar en un mensaje de correo electrónico.

    Por ejemplo, el administrador de partym enviaría el siguiente mensaje de correo electrónico:


    To: admin@ja.enigmaexample.com
    From: admin@us.partyexample.com
    Message: -----BEGIN X509 CERTIFICATE-----
    MII…
    ----END X509 CERTIFICATE-----

    El administrador de enigma enviaría el siguiente mensaje de correo electrónico:


    To: admin@us.partyexample.com
    From: admin@ja.enigmaexample.com
    Message: -----BEGIN X509 CERTIFICATE-----
    MII
    …
    -----END X509 CERTIFICATE-----
  2. En cada sistema, agregue el certificado enviado por correo electrónico a la base de datos publickeys local.


    # ikecert certdb -a
    Press the Return key
    -----BEGIN X509 CERTIFICATE-----
    MII…
    -----END X509 CERTIFICATE-----
    Press the Return key
    <Control>-D
    

El método de autenticación para el cifrado de RSA oculta las identidades de IKE de los intrusos. Dado que el método rsa_encrypt oculta la identidad del equivalente, IKE no puede recuperar su certificado. Como consecuencia de ello, el método rsa_encrypt requiere que los equivalentes de IKE conozcan las claves públicas el uno del otro.

Por tanto, si utiliza un auth_method de rsa_encrypt en el archivo /etc/inet/ike/config, debe agregar el certificado del equivalente a la base de datos publickeys. La base de datos publickeys incluye tres certificados para cada par de sistemas que se comunican:

Resolución de problemas: La carga útil de IKE, que incluye los tres certificados, puede ser demasiado grande para que la cifre rsa_encrypt. Errores como un fallo de autenticación o una carga útil mal formada pueden indicar que el método rsa_encrypt no puede cifrar la carga útil total. Reduzca el tamaño de la carga útil utilizando un método que requiera únicamente dos certificados, por ejemplo rsa_sig.