Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía de administración del sistema: servicios IP |
Parte I Introducción a la administración del sistema: servicios IP
1. Conjunto de protocolos TCP/IP de Oracle Solaris (descripción general)
Parte II Administración de TCP/IP
2. Planificación de la red TCP/IP (tareas)
3. Introducción a IPv6 (descripción general)
4. Planificación de una red IPv6 (tareas)
5. Configuración de servicios de red TCP/IP y direcciones IPv4 (tareas)
6. Administración de interfaces de red (tareas)
7. Configuración de una red IPv6 (tareas).
8. Administración de redes TCP/IP (tareas)
9. Resolución de problemas de red (Tareas)
10. Descripción detallada de TCP/IP e IPv4 (referencia)
11. IPv6 en profundidad (referencia)
12. Acerca de DHCP (descripción general)
13. Planificación del servicio DHCP (tareas)
14. Configuración del servicio DHCP (tareas)
15. Administración de DHCP (tareas)
16. Configuración y administración del cliente DHCP
17. Solución de problemas de DHCP (referencia)
18. Comandos y archivos DHCP (referencia)
19. Arquitectura de seguridad IP (descripción general)
20. Configuración de IPsec (tareas)
Protección del tráfico con IPsec (mapa de tareas)
Protección del tráfico con IPsec
Cómo proteger el tráfico entre dos sistemas con IPsec
Cómo utilizar IPsec para proteger un servidor web del tráfico que no procede de Internet
Cómo visualizar las directivas de IPsec
Cómo generar números aleatorios en un sistema Solaris
Cómo crear manualmente asociaciones de seguridad IPsec
Cómo verificar que los paquetes estén protegidos con IPsec
Protección de una VPN con IPsec
Ejemplos de protección de una VPN con IPsec mediante el uso de túneles en modo túnel
Protección de una VPN con IPsec (mapa de tareas)
Descripción de la topología de red para la protección de una VPN por parte de las tareas de IPsec
Cómo proteger una VPN con un túnel IPsec en modo túnel mediante IPv4
Cómo proteger una VPN con un túnel IPsec en modo túnel mediante IPv6
Cómo proteger una VPN con un túnel IPsec en modo transporte mediante IPv4
Cómo proteger una VPN con un túnel IPsec en modo transporte mediante IPv6
Cómo evitar la falsificación de la IP
21. Arquitectura de seguridad IP (referencia)
22. Intercambio de claves de Internet (descripción general)
23. Configuración de IKE (tareas)
24. Intercambio de claves de Internet (referencia)
25. Filtro IP en Oracle Solaris (descripción general)
27. IP para móviles (Descripción general)
28. Administración de IP móvil (tareas)
29. Archivos y comandos de IP para móviles (referencia)
30. Introducción a IPMP (descripción general)
31. Administración de IPMP (tareas)
Parte VII Calidad de servicio IP (IPQoS)
32. Introducción a IPQoS (Descripción general)
33. Planificación para una red con IPQoS (Tareas)
34. Creación del archivo de configuración IPQoS (Tareas)
35. Inicio y mantenimiento de IPQoS (Tareas)
36. Uso de control de flujo y recopilación de estadísticas (Tareas)
En esta sección se describen los procedimientos que permiten proteger un servidor web y el tráfico entre dos sistemas. Para proteger una VPN, consulte Protección de una VPN con IPsec (mapa de tareas). Existen procedimientos adicionales que proporcionan los materiales de claves y las asociaciones de seguridad, y además verifican que IPsec esté funcionando de acuerdo con la configuración establecida.
La información siguiente se aplica a todas las tareas de configuración de IPsec:
IPsec y zones – Para administrar la directiva IPsec y las claves para una zona no global IP compartida, cree el archivo de directiva IPsec en la zona global y ejecute los comandos de configuración de IPsec desde la zona global. Utilice la dirección de origen que corresponda a la zona no global que se esté configurando. También puede configurar la directiva IPsec y las claves en la zona global para la zona global. Para una zona de IP exclusiva, configure la directiva IPsec en la zona no global. A partir de la versión Solaris 10 7/07, puede utilizar IKE para administrar claves en una zona no global.
IPsec y RBAC – Para utilizar los roles para administrar IPsec, consulte el Capítulo 9, Uso del control de acceso basado en roles (tareas) de Guía de administración del sistema: servicios de seguridad. Si desea ver un ejemplo, consulte Cómo configurar una función para la seguridad de la red.
IPsec y SCTP – IPsec se puede utilizar para proteger las asociaciones SCTP (Streams Control Transmission Protocol), pero debe hacerse con precaución. Para obtener más información, consulte IPsec y SCTP.
Este procedimiento presupone la siguiente configuración:
Los dos sistemas se denominan enigma y partym.
Cada sistema tiene dos direcciones, una dirección IPv4 y otra IPv6.
Cada sistema requiere cifrado ESP con el algoritmo AES, que, a su vez, requiere una clave de 128 bits y autenticación ESP con el resumen de mensajes de SHA1, que, a su vez, requiere una clave de 160 bits.
Cada sistema utiliza asociaciones de seguridad compartidas.
Con las asociaciones de seguridad (SA) compartidas, sólo se necesita un par de SA para proteger los dos sistemas.
Antes de empezar
Debe estar en la zona global para configurar la directiva IPsec para el sistema o para una zona de IP compartida. Para una zona de IP exclusiva, configure la directiva IPsec en la zona no global.
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, Trabajo con Solaris Management Console (tareas) de Guía de administración del sistema: administración básica.
Nota - El registro 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. Si desea ver un ejemplo, consulte el Ejemplo 20-1.
En la versión actual, agregue las entradas de host al archivo /etc/inet/hosts.
En un sistema que se ejecute en una versión anterior a Solaris 10 7/07, agregue entradas IPv4 e IPv6 en el archivo /etc/inet/ipnodes. Las entradas de un sistema deben ser contiguas en el archivo. Para obtener información sobre los archivos de configuración del sistema, consulte Archivos de configuración TCP/IP y el Capítulo 11IPv6 en profundidad (referencia).
Si está conectando sistemas sólo con direcciones IPv4, debe modificar el archivo /etc/inet/hosts. En este ejemplo, los sistemas que se conectan ejecutan una versión anterior de Solaris y utilizan direcciones IPv6.
# Secure communication with partym 192.168.13.213 partym 2001::eeee:3333:3333 partym
# Secure communication with enigma 192.168.116.16 enigma 2001::aaaa:6666:6666 enigma
El uso de los servicios de asignación de nombres simbólicos no es seguro.
El nombre de archivo es /etc/inet/ipsecinit.conf. Para ver un ejemplo, consulte el archivo /etc/inet/ipsecinit.sample.
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Para ver la sintaxis de las entradas de la directiva IPsec, consulte la página del comando man ipsecconf(1M).
Puede configurar el intercambio de claves de Internet (IKE) para crear las SA automáticamente. También puede agregar las SA de forma manual.
Nota - Debe utilizar IKE a menos que tenga una razón de peso para generar y mantener las claves manualmente. La administración de claves IKE es más segura que la administración manual.
Configure IKE siguiendo uno de los métodos de configuración de Configuración de IKE (mapa de tareas). Para ver la sintaxis del archivo de configuración de IKE, consulte la página del comando man ike.config(4).
Para agregar las SA manualmente, consulte Cómo crear manualmente asociaciones de seguridad IPsec.
# init 6
A continuación, vaya a Cómo verificar que los paquetes estén protegidos con IPsec.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
Subsane los posibles errores, compruebe la sintaxis del archivo y continúe.
# svcadm refresh svc:/network/ipsec/policy:default
La directiva IPsec está habilitada de forma predeterminada, por lo que puede actualizarla. Si ha deshabilitado la directiva IPsec, habilítela.
# svcadm enable svc:/network/ipsec/policy:default
# svcadm enable svc:/network/ipsec/ike:default
# svcadm restart svc:/network/ipsec/ike:default
# svcadm enable svc:/network/ipsec/manual-key:default
# svcadm refresh svc:/network/ipsec/manual-key:default
Para ver el procedimiento, consulte Cómo verificar que los paquetes estén protegidos con IPsec.
Ejemplo 20-1 Adición de directivas IPsec al utilizar una conexión ssh
En este ejemplo, el administrador configura como superusuario las claves y la directiva IPsec en dos sistemas mediante el comando ssh para llegar al segundo sistema. Para obtener más información, consulte la página de comando man ssh(1).
En primer lugar, el administrador realiza del Paso 2 al Paso 5 del procedimiento anterior para configurar el primer sistema.
A continuación, en una ventana de terminal distinta, el administrador utiliza el comando ssh para iniciar la sesión en el segundo sistema.
local-system # ssh other-system other-system #
En la ventana de terminal de la sesión ssh, el administrador configura la directiva IPsec y las claves del segundo sistema; para ello, realiza del Paso 2 al Paso 6.
A continuación, el administrador termina la sesión ssh.
other-system # exit local-system #
Por último, el administrador realiza el Paso 6 para habilitar la directiva IPsec en el primer sistema.
La próxima ocasión que los dos sistemas se comunican, incluida la conexión ssh, la comunicación queda protegida por IPsec.
Ejemplo 20-2 Cómo proteger el tráfico con IPsec sin reiniciar
El siguiente ejemplo es útil cuando se está ejecutando una versión anterior a Solaris 10 4/09. Es decir, en su versión, IPsec no se gestiona como un servicio. El ejemplo describe cómo implementar IPsec en un entorno de prueba. En un entorno de producción, es más seguro reiniciar que ejecutar el comando ipsecconf. Consulte las consideraciones de seguridad al final de este ejemplo.
En lugar de reiniciar en el Paso 6, elija una de estas opciones:
Si ha utilizado IKE para crear material de claves, detenga y reinicie el daemon in.iked.
# pkill in.iked # /usr/lib/inet/in.iked
Si ha agregado claves manualmente, utilice el comando ipseckey para agregar las SA a la base de datos.
# ipseckey -c -f /etc/inet/secret/ipseckeys
A continuación, active la directiva IPsec con el comando ipsecconf.
# ipsecconf -a /etc/inet/ipsecinit.conf
Consideraciones de seguridad: lea la advertencia que aparece al ejecutar el comando ipsecconf. Un socket que ya está bloqueado, es decir, un socket que ya está en uso, constituye una puerta trasera no segura al sistema. Si desea más información al respecto, consulte Consideraciones de seguridad para ipsecinit.conf e ipsecconf.
Un servidor web seguro permite a los clientes web comunicarse con el servicio web. En un servidor web seguro, el tráfico que no sea de la red debe someterse a comprobaciones de seguridad. El siguiente procedimiento incluye las omisiones del tráfico de red. Además, este servidor web puede realizar solicitudes de clientes DNS no seguras. El resto del tráfico requiere ESP con los algoritmos AES y SHA-1.
Antes de empezar
Debe encontrarse en la zona global para poder configurar la directiva IPsec. Para una zona de IP exclusiva, configure la directiva IPsec en la zona no global. Ha completado Cómo proteger el tráfico entre dos sistemas con IPsec para que se apliquen las condiciones siguientes:
Que la comunicación entre los dos sistemas esté protegida por IPsec.
Que se esté generando material de claves, ya sea de forma manual o mediante IKE.
Que haya comprobado que los paquetes se estén protegiendo.
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, Trabajo con Solaris Management Console (tareas) de Guía de administración del sistema: administración básica.
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.
En el caso de un servidor web, estos servicios incluyen los puertos TCP 80 (HTTP) y 443 (HTTP seguro). Si el servidor web proporciona consultas de nombres DNS, el servidor también podría incluir el puerto 53 tanto para TCP como para UDP.
El Paso 12 es opcional en todas las versiones de Solaris.
Agregue las líneas siguientes al archivo /etc/inet/ipsecinit.conf:
# Web traffic that web server should bypass. {lport 80 ulp tcp dir both} bypass {} {lport 443 ulp tcp dir both} bypass {} # Outbound DNS lookups should also be bypassed. {rport 53 dir both} bypass {} # Require all other traffic to use ESP with AES and SHA-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Esta configuración sólo permite que el tráfico seguro acceda al sistema, con las excepciones de omisión que se describen en el Paso 4.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
# svcadm restart svc:/network/ipsec/ike
# svcadm refresh svc:/network/ipsec/manual-key:default
La configuración se ha completado. Si lo desea, puede llevar a cabo el Paso 12.
Nota - Los siguientes pasos configuran un servidor web que está ejecutando una versión anterior a Solaris 10 4/09.
Asigne al archivo un nombre que indique su finalidad, por ejemplo IPsecWebInitFile. Escriba las siguientes líneas en el archivo:
# Web traffic that web server should bypass. {lport 80 ulp tcp dir both} bypass {} {lport 443 ulp tcp dir both} bypass {} # Outbound DNS lookups should also be bypassed. {rport 53 dir both} bypass {} # Require all other traffic to use ESP with AES and SHA-1. # Use a unique SA for outbound traffic from the port {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Esta configuración sólo permite que el tráfico seguro acceda al sistema, con las excepciones de omisión que se describen en el Paso 4.
# chmod 400 IPsecWebInitFile
Elija una de las siguientes opciones:
Si está utilizando IKE para la administración de claves, detenga el daemon in.iked y reinícielo.
# pkill in.iked # /usr/lib/inet/in.iked
Si está administrando las claves manualmente, utilice los comandos ipseckey e ipsecconf.
Utilice IPsecWebInitFile como argumento para el comando ipsecconf. Si utiliza el archivo ipsecinit.conf como argumento, el comando ipsecconf genera errores cuando las directivas del archivo ya están implementadas en el sistema.
# ipseckey -c -f /etc/inet/secret/ipseckeys # ipsecconf -a /etc/inet/IPsecWebInitFile
Precaución - Lea la advertencia cuando ejecute el comando ipsecconf. Un socket que ya está bloqueado, es decir, un socket que ya está en uso, constituye una puerta trasera no segura al sistema. Si desea más información al respecto, consulte Consideraciones de seguridad para ipsecinit.conf e ipsecconf. La misma advertencia aparece al reiniciar el daemon in.iked. |
También puede reiniciar. Al reiniciar se asegura de que la directiva IPsec esté aplicada en todas las conexiones TCP. Al reiniciar, las conexiones TCP utilizan la directiva del archivo de directiva IPsec.
Escriba la siguiente directiva en el archivo ipsecinit.conf de un sistema remoto:
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Un sistema remoto puede comunicarse de forma segura con el servidor web para tráfico que no sea de web sólo cuando las directivas IPsec del sistema coinciden.
Puede ver las directivas configuradas en el sistema ejecutando el comando ipsecconf sin argumentos.
Antes de empezar
Debe ejecutar el comando ipsecconf en la zona global. Para una zona de IP exclusiva, ejecute el comando ipsecconf en la zona no global.
Si está ejecutando una versión anterior a Solaris 10 4/09, el perfil de Network IPsec Management no está disponible. Utilice el perfil de la seguridad de la red.
Para crear un rol que incluya un perfil de seguridad de red y asignarlo a un usuario, consulte Cómo configurar una función para la seguridad de la red.
$ ipsecconf
El comando muestra cada entrada con un índice, seguida de un número.
$ ipsecconf -l
$ ipsecconf -L
Si está especificando claves manualmente, el material de claves debe ser aleatorio. El formato del material de claves de un sistema Solaris es hexadecimal. Otros sistemas operativos pueden requerir material de claves ASCII. Para generar material de claves para un sistema Solaris que se comunica con otro sistema operativo que requiera ASCII, consulte el Ejemplo 23-1.
Si su sitio cuenta con un generador de números aleatorios, utilícelo. De lo contrario, puede utilizar el comando od con el dispositivo Solaris /dev/random como entrada. Para más información, consulte la página del comando man od(1).
En la versión Solaris 10 4/09, también puede utilizar el comando pktool. La sintaxis de este comando es más sencilla que la del comando od. Para obtener más detalles, consulte Cómo generar una clave simétrica con el comando pktool de Guía de administración del sistema: servicios de seguridad.
% od -x|-X -A n file | head -n
Muestra el vaciado octal en formato hexadecimal. El formato hexadecimal resulta útil para el material de claves. Dicho formato se imprime en bloques de 4 caracteres.
Muestra el vaciado octal en formato hexadecimal. Dicho formato se imprime en bloques de 8 caracteres.
Elimina la base de desfase de entrada de la pantalla.
Actúa como origen para los números aleatorios.
Limita el resultado de la pantalla a las primeras n líneas.
Elimine los espacios entre los números de una línea para crear una clave de 32 caracteres. Una clave de 32 caracteres tiene 128 bits. En el caso de un índice de parámetros de seguridad (SPI), debe utilizar una clave de 8 caracteres. La clave debe utilizar el prefijo 0x.
Ejemplo 20-3 Generación de material de claves para IPsec
El ejemplo siguiente muestra dos líneas de claves en grupos de ocho caracteres hexadecimales cada uno.
% od -X -A n /dev/random | head -2 d54d1536 4a3e0352 0faf93bd 24fd6cad 8ecc2670 f3447465 20db0b0c c83f5a4b
Al combinar los cuatro números de la primera línea, puede crear una clave de 32 caracteres. Un número de 8 caracteres precedido por 0x proporciona un valor de SPI adecuado, por ejemplo, 0xf3447465.
El ejemplo siguiente muestra dos líneas de claves en grupos de cuatro caracteres hexadecimales cada uno.
% od -x -A n /dev/random | head -2 34ce 56b2 8b1b 3677 9231 42e9 80b0 c673 2f74 2817 8026 df68 12f4 905a db3d ef27
Al combinar los ocho números en la primera línea, puede crear una clave de 32 caracteres.
El procedimiento siguiente proporciona el material de claves para el procedimiento Cómo proteger el tráfico entre dos sistemas con IPsec. Está generando claves para dos sistemas, partym y enigma. Se generan las claves en un sistema, y después se utilizan las claves del primer sistema en ambos sistemas.
Antes de empezar
Debe estar en la zona global para administrar manualmente material de claves para una zona IP compartida.
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 número 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 número 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.
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, Trabajo con Solaris Management Console (tareas) de Guía de administración del sistema: administración básica.
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.
# ipseckey >
El indicador de comandos > indica que está en el modo de comando ipseckey.
> 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.
> 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.
Especifica esp o ah.
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.
Especifica la dirección IP de un sistema.
Especifica la dirección IP del sistema equivalente a addr.
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.
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.
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.
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.
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.
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.
# 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
# chmod 400 /etc/inet/secret/ipseckeys
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
# 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.
En primer lugar, el administrador completa Cómo generar números aleatorios en un sistema Solaris para generar las claves.
A continuación, el administrador utiliza las claves generadas en el archivo /etc/inet/secret/ipseckeys.
El administrador ha utilizado los mismos algoritmos. Por tanto, el administrador cambia los valores de SPI, encrkey y authkey únicamente:
add esp spi 0x8xzy1492 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey 0a1f3886b06ebd7d39f6f89e4c29c93f2741c6fa598a38af969907a29ab1b42a \ authkey a7230aabf513f35785da73e33b064608be41f69a # # add esp spi 0x177xce34\ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey 4ef5be40bf93498017b2151d788bb37e372f091add9b11149fba42435fefe328 \ authkey 0e1875d9ff8e42ab652766a5cad49f38c9152821
Por último, el administrador reinicia el servicio manual-key. El comando de reinicio borra las claves anteriores antes de agregar las nuevas.
# svcadm restart manual-key
Para verificar que los paquetes estén protegidos, pruebe la conexión con el comando snoop. Los prefijos siguientes pueden aparecer en el resultado de snoop:
AH: prefijo que indica que AH está protegiendo los encabezados. El prefijo AH: aparece si se utiliza auth_alg para proteger el tráfico.
ESP: prefijo que indica que se están enviando los datos cifrados. ESP: aparece si se utiliza encr_auth_alg o encr_alg para proteger el tráfico.
Antes de empezar
Debe ser superusuario o asumir un rol equivalente para crear el resultado snoop. Para poder probar la conexión, es preciso tener acceso a ambos sistemas.
% su - Password: Type root password #
En una ventana de terminal en partym, busque los paquetes desde el sistema enigma.
# snoop -v enigma Using device /dev/hme (promiscuous mode)
En otra ventana de terminal, inicie sesión remotamente en el sistema enigma. Facilite su contraseña. A continuación, conviértase en superusuario y envíe un paquete del sistema enigma al sistema partym. El paquete debe capturarse mediante el comando snoop -v enigma.
% ssh enigma Password: Type your password % su - Password: Type root password # ping partym
En el sistema partym, debería ver el resultado que incluye la información de AH y ESP tras la información de encabezado IP inicial. Aparecerá información de AH y ESP que muestra que se están protegiendo los paquetes:
IP: Time to live = 64 seconds/hops IP: Protocol = 51 (AH) IP: Header checksum = 4e0e IP: Source address = 192.168.116.16, enigma IP: Destination address = 192.168.13.213, partym IP: No options IP: AH: ----- Authentication Header ----- AH: AH: Next header = 50 (ESP) AH: AH length = 4 (24 bytes) AH: <Reserved field = 0x0> AH: SPI = 0xb3a8d714 AH: Replay = 52 AH: ICV = c653901433ef5a7d77c76eaa AH: ESP: ----- Encapsulating Security Payload ----- ESP: ESP: SPI = 0xd4f40a61 ESP: Replay = 52 ESP: ....ENCRYPTED DATA.... ETHER: ----- Ether Header ----- ...
Si está utilizando RBAC (Role-Based Access Control) para administrar los sistemas, siga este procedimiento para proporcionar una función de administración de red o de seguridad de red.
En la versión actual, aparece una salida similar a la siguiente:
% cd /etc/security % grep Network prof_attr Network IPsec Management:::Manage IPsec and IKE... Network Link Security:::Manage network link security... Network Management:::Manage the host and network configuration... Network Security:::Manage network and host security... Network Wifi Management:::Manage wifi network configuration... Network Wifi Security:::Manage wifi network security...
Si está ejecutando una versión anterior a Solaris 10 4/09, la salida presenta un aspecto parecido al siguiente:
% cd /etc/security % grep Network prof_attr Network Management:::Manage the host and network configuration Network Security:::Manage network and host security System Administrator::: Network Management
El perfil de administración de red es un perfil complementario del perfil de administrador de sistemas. Si ha incluido el perfil de derechos de administrador de sistemas en un rol, dicho rol podrá ejecutar los comandos del perfil de administración de red.
% grep "Network Management" /etc/security/exec_attr Network Management:solaris:cmd:::/usr/sbin/ifconfig:privs=sys_net_config … Network Management:suser:cmd:::/usr/sbin/snoop:uid=0
Los comandos de directiva solaris se ejecutan con privilegio ( privs=sys_net_config). Los comandos de directiva suser se ejecutan como superusuario (uid=0).
Utilice las definiciones de los perfiles de derechos en el Paso 1 para guiar la decisión.
Una función con el perfil de derechos de gestión de red IPsec o de seguridad de la red, además del perfil de gestión de la red, puede ejecutar los comandos ifconfig, snoop, ipsecconf e ipseckey, entre otros, con privilegios adecuados.
Para crear el rol, asígnelo a un usuario y registre los cambios con el servicio de nombres, consulte Configuración de RBAC (mapa de tareas) de Guía de administración del sistema: servicios de seguridad.
Ejemplo 20-5 División de responsabilidades de seguridad de la red entre las funciones
En este ejemplo, el administrador divide las responsabilidades de seguridad de la red entre dos funciones. Una función administra wifi y seguridad de los vínculos; otra administra IPsec e IKE. Cada función está asignada a tres personas, una por turno.
El administrador crea las funciones como se indica a continuación:
El administrador asigna el nombre de LinkWifi a la primera función.
El administrador asigna los perfiles de derechos wifi de red, seguridad de vínculos de red y gestión de red a la función.
A continuación, el administrador asigna la función LinkWifi a los usuarios pertinentes.
El administrador asigna el nombre de IPsec Administrator a la segunda función.
El administrador asigna los perfiles de derechos de gestión de red IPsec y de gestión de red a la función.
A continuación, el administrador asigna la función de administrador de IPsec a los usuarios pertinentes.
Los siguientes pasos ofrecen los usos más probables de los servicios SMF para IPsec, IKE y la gestión manual de claves. Por defecto, los servicios policy e ipsecalgs están habilitados. También por defecto, los servicios ike y manual-key están deshabilitados.
# svcadm refresh svc:/network/ipsec/policy
# svccfg -s policy setprop config/config_file=/etc/inet/MyIpsecinit.conf # svcprop -p config/config_file policy /etc/inet/MyIpsecinit.conf # svcadm refresh svc:/network/ipsec/policy # svcadm restart svc:/network/ipsec/policy
# svcadm enable svc:/network/ipsec/ike
# svcadm refresh svc:/network/ipsec/ike
# svccfg -s ike setprop config/admin_privilege=modkeys # svcprop -p config/admin_privilege ike modkeys # svcadm refresh svc:/network/ipsec/ike # svcadm restart svc:/network/ipsec/ike
# svcadm disable svc:/network/ipsec/ike
# svcadm enable svc:/network/ipsec/manual-key
# svcadm refresh manual-key
# svccfg -s manual-key setprop config/config_file=/etc/inet/secret/MyIpseckeyfile # svcprop -p config/config_file manual-key /etc/inet/secret/MyIpseckeyfile # svcadm refresh svc:/network/ipsec/manual-key # svcadm restart svc:/network/ipsec/manual-key
# svcadm disable svc:/network/ipsec/manual-key
# svcadm refresh svc:/network/ipsec/ipsecalgs
Errores más frecuentes
Utilice el comando svcs service para buscar el estado de un servicio. Si el servicio está en el modo maintenance, siga las sugerencias de depuración en la salida del comando svcs -x servicio.