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

ProcedureCómo crear manualmente asociaciones de seguridad IPsec

El procedimiento siguiente proporciona el material de claves para el procedimiento, Cómo proteger el tráfico entre dos sistemas con IPsec. Está generando teclas para dos sistemas, partym y enigma. Se generan las claves en un sistema, y después se utilizan las teclas del primer sistema en ambos sistemas.

Antes de empezar

Debe estar en la zona global para administrar material de claves para una zona IP compartida.

  1. Genere el material de claves para la SA.

    Necesita tres números aleatorios hexadecimales para el tráfico saliente y tres para el tráfico entrante.

    Por tanto, un sistema necesita generar los siguientes números:

    • Dos números aleatorios hexadecimales como valor para la palabra clave spi. Un número es para el tráfico saliente. Otro es para el tráfico entrante. Cada número puede tener hasta ocho caracteres de longitud.

    • Dos números aleatorios hexadecimales para el algoritmo SHA-1 para la autenticación. Para una clave de 160 bits, cada numero debe tener 40 caracteres de longitud. Un número es para dst enigma. Un número es para dst partym.

    • Dos números aleatorios hexadecimales para el algoritmo DES para el cifrado de ESP. Para una clave de 256 bits, cada numero debe tener 64 caracteres de longitud. Un número es para dst enigma. Un número es para dst partym.

    Si dispone de un generador de números aleatorios en su sitio, utilícelo. También puede utilizar el comando od. Consulte Cómo generar números aleatorios en un sistema Solaris para ver el procedimiento.

  2. En la consola del sistema de uno de los sistemas, 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 iniciar una sesión remota de forma segura.


  3. Cree las SA.

    • A partir de la versión Solaris 10 4/09, siga del Paso 8 al Paso 10.

    • Si está ejecutando una versión anterior a Solaris 10 4/09, siga del Paso 4 al Paso 9.

  4. Active el modo de comando ipseckey.


    # ipseckey
    
    >

    El símbolo del sistema > indica que se encuentra en modo de comando ipseckey.

  5. Si está sustituyendo las SA existentes, vacíelas.


    > flush
    > 

    Para evitar que un intruso interrumpa las SA, debe sustituir el material de claves.


    Nota –

    Es necesario coordinar la sustitución de claves en los sistemas que se comunican. Al sustituir las SA en un sistema, también deben sustituirse las del sistema remoto.


  6. Para crear SA, escriba el comando siguiente.


    > add protocol spi random-hex-string \
    src addr dst addr2 \
    protocol-prefix_alg protocol-algorithm  \
    protocol-prefixkey random-hex-string-of-algorithm-specified-length
    

    Esta sintaxis también se utiliza para sustituir las SA que acaba de vaciar.

    protocolo

    Especifica esp o ah.

    cadena_hex_aleatoria

    Especifica un número aleatorio de hasta ocho caracteres en formato hexadecimal. Preceda los caracteres con 0x. Si especifica más números de los que acepta el índice de parámetros de seguridad (SPI), el sistema omitirá los números adicionales. Si especifica menos números de los que acepta el SPI, el sistema rellena la entrada.

    dir

    Especifica la dirección IP de un sistema.

    dir2

    Especifica la dirección IP del sistema equivalente a dir.

    prefijo_protocolo

    Especifica un prefijo encr o auth. El prefijo encr se utiliza con el protocolo esp. El prefijo auth se utiliza con el protocolo ah, y para autenticar el protocolo esp.

    algoritmo_protocolo

    Especifica un algoritmo para ESP o AH. Cada algoritmo requiere una clave de una longitud específica.

    Los algoritmos de autenticación incluyen MD5 y SHA-1. A partir de la versión Solaris 10 4/09, SHA256 y SHA512 son compatibles. Los algoritmos de cifrado incluyen DES, 3DES, AES y Blowfish.

    cadena_hex_aleatoria_de_longitud_algoritmo_especificada

    Especifica un número hexadecimal aleatorio de la longitud que requiere el algoritmo. Por ejemplo, el algoritmo MD5 requiere una cadena de 32 caracteres para su clave de 128 bits. El algoritmo 3DES requiere una cadena de 48 caracteres para su clave de 192 bits.

    1. Por ejemplo, en el sistema enigma, proteja los paquetes salientes.

      Utilice los números aleatorios que haya generado en el paso Paso 1.

      Para Solaris 10 1/06:


      > add esp spi 0x8bcd1407 \
      src 192.168.116.16 dst 192.168.13.213 \
      encr_alg aes \
      auth_alg sha1 \
      encrkey c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
      authkey 6fab07fec4f2895445500ed992ab48835b9286ff
      >

      Nota –

      El sistema equivalente debe utilizar el mismo material de claves y el mismo SPI.


    2. Continúe en modo de comando ipseckey en el sistema enigma y proteja los paquetes entrantes.

      Escriba los siguientes comandos para proteger los paquetes:


      > add esp spi 0x122a43e4 \
      src 192.168.13.213 dst 192.168.116.16 \
      encr_alg aes \
      auth_alg sha1 \
      encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
      authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
      >

      Nota –

      Las claves y el SPI pueden ser diferentes para cada SA. Debe asignar claves y SPI distintos para cada SA.


  7. Para salir del modo de comando ipseckey, pulse Control-D o escriba quit.

  8. Agregue, el material de claves al archivo /etc/inet/secret/.

    En las versiones anteriores a Solaris 10 4/09 este paso garantiza que el material de claves está disponible para IPsec al reiniciar.

    Las líneas del archivo /etc/inet/secret/ipseckeys son idénticas al lenguaje de la línea de comandos ipseckey.

    1. Por ejemplo, el archivo /etc/inet/secret/ipseckeys del sistema enigma tendría un aspecto similar al siguiente:


      # ipseckeys - This file takes the file format documented in 
      #   ipseckey(1m).
      #   Note that naming services might not be available when this file
      #   loads, just like ipsecinit.conf.
      #
      # for outbound packets on enigma
      add esp spi 0x8bcd1407 \
         src 192.168.116.16 dst 192.168.13.213  \
         encr_alg aes \
         auth_alg sha1  \
         encrkey  c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
         authkey  6fab07fec4f2895445500ed992ab48835b9286ff
      #
      # for inbound packets
      add esp spi 0x122a43e4 \
         src 192.168.13.213 dst 192.168.116.16 \
         encr_alg aes \
         auth_alg sha1  \
         encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
         authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
    2. Proteja el archivo con permisos de sólo lectura.


      # chmod 400 /etc/inet/secret/ipseckeys
      
  9. Repita el procedimiento en el sistema partym.

    Utilice el mismo material de claves que utilizó en enigma.

    El material de claves de los dos sistemas debe ser idéntico. Tal como se muestra en el ejemplo siguiente, sólo los comentarios de ipseckeys son distintos. Los comentarios difieren porque dst enigma entra en el sistema enigma y sale del sistema partym.


    # partym ipseckeys file
    #
    # for inbound packets
    add esp spi 0x8bcd1407 \
       src 192.168.116.16 dst 192.168.13.213  \
       encr_alg aes \
       auth_alg sha1  \
       encrkey  c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
       authkey  6fab07fec4f2895445500ed992ab48835b9286ff
    #
    # for outbound packets
    add esp spi 0x122a43e4 \
       src 192.168.13.213 dst 192.168.116.16 \
       encr_alg aes \
       auth_alg sha1  \
       encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
       authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
  10. Habilite el servicio manual-key.


    # svcadm enable svc:/network/ipsec/manual-key
    

    Para sustituir las claves de la versión actual, consulte el Ejemplo 20–4.


Ejemplo 20–4 Sustitución de SA de IPsec

En este ejemplo, el administrador está configurando un sistema que ejecuta la versión Solaris 10 actual. El administrador genera nuevas claves, cambia la información sobre claves en el archivo ipseckeys y reinicia el servicio.