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

ProcedureCómo proteger una VPN con un túnel IPsec en modo túnel mediante IPv4

En modo túnel, el paquete IP interior determina la directiva IPsec que protege su contenido.

Este procedimiento amplía el procedimiento de Cómo proteger el tráfico entre dos sistemas con IPsec. El procedimiento de configuración se describe en Descripción de la topología de red para la protección de una VPN por parte de las tareas de IPsec.


Nota –

Lleve a cabo los pasos de este procedimiento en ambos sistemas.


Además de conectar dos sistemas, está conectando dos intranets que se conectan a estos dos sistemas. Los sistemas de este procedimiento actúan como portales.

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.

  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. Controle el flujo de paquetes antes de configurar IPsec.

    1. Asegúrese de que el reenvío de IP y el enrutamiento dinámico de IP estén desactivados.


      # routeadm
      Configuration       Current         Current
             Option       Configuration  System State
      --------------------------------------------------
      IPv4 forwarding     disabled           disabled
         IPv4 routing     default (enabled)   enabled
      …

      Si el reenvío de IP y el enrutamiento dinámico de IP están habilitados, puede inhabilitarlos escribiendo:


      # routeadm -d ipv4-routing -d ipv4-forwarding
      # routeadm -u
      

      La desactivación del reenvío de IP impide que los paquetes se envíen de una red a otra a través de este sistema. Para ver una descripción del comando routeadm, consulte la página del comando man routeadm(1M).

    2. Active los hosts múltiples de destino estricto de IP.


      # ndd -set /dev/ip ip_strict_dst_multihoming 1
      

      La activación de los hosts múltiples de destino estricto de IP garantiza que los paquetes de una de las direcciones de destino del sistema llegan a la dirección de destino correcta.

      Cuando está activa la función de hosts múltiples de destino estricto, los paquetes que alcanzan una determinada interfaz deben dirigirse a una de las direcciones IP locales de dicha interfaz. Todos los demás paquetes, incluidos los que se dirigen a otras direcciones locales del sistema, se eliminan.


      Precaución – Precaución –

      El valor de host múltiple vuelve al predeterminado cuando se inicia el sistema. Para hacer que el valor cambiado sea persistente, consulte Cómo evitar la falsificación de la IP .


    3. Desactive la mayoría de los servicios de red, y posiblemente todos.


      Nota –

      Si su sistema se instaló con el perfil SMF "limitado", puede omitir este paso. Los servicios de red se desactivan, a excepción de Solaris Secure Shell.


      La desactivación de los servicios de red evita que los paquetes IP dañen el sistema. Por ejemplo, podrían aprovecharse un daemon SNMP, una conexión telnet o una conexión rlogin.

      Elija una de las siguientes opciones:

      • Si ejecuta Solaris 10 11/06 o una versión posterior, ejecute el perfil SMF "limitado".


        # netservices limited
        
      • De lo contrario, desactive los servicios de red de forma individual.


        # svcadm disable network/ftp:default
        # svcadm disable network/finger:default
        # svcadm disable network/login:rlogin
        # svcadm disable network/nfs/server:default
        # svcadm disable network/rpc/rstat:default
        # svcadm disable network/smtp:sendmail
        # svcadm disable network/telnet:default
        
    4. Compruebe que la mayoría de los servicios de red estén inhabilitados.

      Compruebe que los montajes de realimentación y el servicio ssh se estén ejecutando.


      # svcs | grep network
      online         Aug_02   svc:/network/loopback:default
      …
      online         Aug_09   svc:/network/ssh:default
  3. Agregue un par de SA entre los dos sistemas.

    Elija una de las siguientes opciones:

  4. Agregue la directiva IPsec.

    Edite el archivo /etc/inet/ipsecinit.conf para agregar la directiva IPsec para la VPN. Para reforzar la directiva, consulte el Ejemplo 20–12. Para ver ejemplos adicionales, consulte Ejemplos de protección de una VPN con IPsec mediante el uso de túneles en modo túnel.

    En esta directiva, la protección IPsec no se necesita entre sistemas de la LAN local y la dirección IP del servidor de seguridad, de modo que se agrega una instrucción bypass.

    1. En el sistema enigma, escriba la entrada siguiente en el archivo ipsecinit.conf:


      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.16.16.6 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip.tun0 negotiate tunnel} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. En el sistema partym, escriba la entrada siguiente en el archivo ipsecinit.conf:


      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.1.3.3 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-1.
      {tunnel ip.tun0 negotiate tunnel} 
       ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
  5. (Opcional) Compruebe la sintaxis del archivo de directiva IPsec.


    # ipsecconf -c -f /etc/inet/ipsecinit.conf
    
  6. Para configurar el túnel y protegerlo con IPsec, siga los pasos descritos en función de la versión de Solaris:

    • A partir de la versión Solaris 10 4/09, siga los pasos del Paso 7 al Paso 13 y, a continuación, ejecute el protocolo de enrutamiento en Paso 22.

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

  7. Configure el túnel, ip.tun0, en el archivo /etc/hostname.ip.tun0.

    La sintaxis del archivo es la siguiente:


    system1-point system2-point tsrc system1-taddr tdst system2-taddr router up
    1. En el sistema enigma, agregue la entrada siguiente al archivo hostname.ip.tun0:


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up
    2. En el sistema partym, agregue la entrada siguiente al archivo hostname.ip.tun0:


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up
  8. Proteja el túnel con la directiva IPsec que ha creado.


    # svcadm refresh svc:/network/ipsec/policy:default
    
  9. Para leer el contenido del archivo de configuración de túnel en el núcleo, reinicie los servicios de red.


    # svcadm restart svc:/network/initial:default
    
  10. Active el reenvío de IP para la interfaz hme1.

    1. En el sistema enigma, agregue la entrada del enrutador al archivo /etc/hostname.hme1.


      192.168.116.16 router
    2. En el sistema partym, agregue la entrada del enrutador al archivo /etc/hostname.hme1.


      192.168.13.213 router

    El reenvío de IP significa que los paquetes que llegan desde cualquier parte se pueden reenviar. El reenvío de IP también significa que los paquetes que abandonan esta interfaz podrían haberse originado en cualquier otra parte. Para reenviar un paquete correctamente, tanto la interfaz receptora como la de transmisión deben tener activa la opción de reenvío de IP.

    Dado que la interfaz hme1 está dentro de la intranet, el reenvío de IP debe estar activo para hme1. Dado que ip.tun0 conecta los dos sistemas a través de Internet, el reenvío de IP debe estar activo para ip.tun0.

    La interfaz hme0 tiene su propio reenvío de IP desactivado para evitar que un adversario externo inserte paquetes en la intranet protegida. El término externo hace referencia a Internet.

  11. Asegúrese de que los protocolos de enrutamiento no publiquen la ruta predeterminada en la intranet.

    1. En el sistema enigma, agregue el indicador private al archivo /etc/hostname.hme0.


      10.16.16.6 private
    2. En el sistema partym, agregue el indicador private al archivo /etc/hostname.hme0.


      10.1.3.3 private

    Aunque hme0 tenga el reenvío de IP desactivado, la implementación de un protocolo de enrutamiento podría seguir publicando la interfaz. Por ejemplo, el protocolo in.routed podría seguir anunciando que hme0 está disponible para reenviar paquetes a sus equivalentes dentro de la intranet. Al configurar el indicador private de la interfaz, se evita la publicación de estos datos.

  12. Agregue manualmente una ruta predeterminada a través de la interfaz hme0.

    La ruta predeterminada debe ser un enrutador con acceso directo a Internet.

    1. En el sistema enigma, agregue la ruta siguiente:


      # route add default 192.168.116.4
      
    2. En el sistema partym, agregue la ruta siguiente:


      # route add default 192.168.13.5
      

      Aunque la interfaz hme0 no forme parte de la intranet, hme0 necesita alcanzar su sistema equivalente a través de Internet. Para encontrar su equivalente, hme0 necesita información sobre el enrutamiento de Internet. El sistema VPN aparece como host, en lugar de aparecer como enrutador, para el resto de Internet. Por tanto, puede utilizar un enrutador predeterminado o ejecutar el protocolo de descubrimiento de enrutador para encontrar un sistema equivalente. Para más información, consulte las páginas del comando man route(1M) e in.routed(1M).

  13. Para completar el procedimiento, vaya al Paso 22 para ejecutar un protocolo de enrutamiento.

  14. Configure el túnel, ip.tun0.


    Nota –

    Los siguientes pasos configuran un túnel en un sistema que ejecuta una versión anterior a Solaris 10 4/09.


    Utilice los comandos ifconfig para crear la interfaz de punto a punto:


    # ifconfig ip.tun0 plumb
    
    # ifconfig ip.tun0 system1-point system2-point \
    tsrc system1-taddr tdst system2-taddr
    
    1. En el sistema enigma, escriba los comandos siguientes:


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.16.16.6 10.1.3.3 \
      tsrc 192.168.116.16 tdst 192.168.13.213
      
    2. En el sistema partym, escriba los comandos siguientes:


      # ifconfig ip.tun0 plumb
      
      # ifconfig ip.tun0 10.1.3.3 10.16.16.6  \
      tsrc 192.168.13.213 tdst 192.168.116.16
      
  15. Proteja el túnel con la directiva IPsec que ha creado.


    # ipsecconf
    
  16. Muestre el enrutador para el túnel.


    # ifconfig ip.tun0 router up
    
  17. Active el reenvío de IP para la interfaz hme1.


    # ifconfig hme1 router
    

    El reenvío de IP significa que los paquetes que llegan desde cualquier parte se pueden reenviar. El reenvío de IP también significa que los paquetes que abandonan esta interfaz podrían haberse originado en cualquier otra parte. Para reenviar un paquete correctamente, tanto la interfaz receptora como la de transmisión deben tener activa la opción de reenvío de IP.

    Puesto que la interfaz hme1 está dentro de la intranet, el reenvío de IP debe estar activo para hme1. Dado que ip.tun0 conecta los dos sistemas a través de Internet, el reenvío de IP debe estar activo para ip.tun0.

    La interfaz hme0 tiene su propio reenvío de IP desactivado para evitar que un adversario externo inserte paquetes en la intranet protegida. El término externo hace referencia a Internet.

  18. Asegúrese de que los protocolos de enrutamiento no publiquen la ruta predeterminada en la intranet.


    # ifconfig hme0 private
    

    Aunque hme0 tenga el reenvío de IP desactivado, la implementación de un protocolo de enrutamiento podría seguir publicando la interfaz. Por ejemplo, el protocolo in.routed podría seguir publicando que hme0 está disponible para reenviar paquetes a sus equivalentes dentro de la intranet. Al configurar el indicador private de la interfaz, se evita la publicación de estos datos.

  19. Agregue manualmente una ruta predeterminada a través de hme0.

    La ruta predeterminada debe ser un enrutador con acceso directo a Internet.

    1. En el sistema enigma, agregue la ruta siguiente:


      # route add default 192.168.116.4
      
    2. En el sistema partym, agregue la ruta siguiente:


      # route add default 192.168.13.5
      

      Aunque la interfaz hme0 no forme parte de la intranet, hme0 necesita alcanzar su sistema equivalente a través de Internet. Para encontrar su equivalente, hme0 necesita información sobre el enrutamiento de Internet. El sistema VPN aparece como host, en lugar de aparecer como enrutador, para el resto de Internet. Por tanto, puede utilizar un enrutador predeterminado o ejecutar el protocolo de descubrimiento de enrutador para encontrar un sistema equivalente. Para más información, consulte las páginas del comando man route(1M) e in.routed(1M).

  20. Asegúrese de que la VPN se inicie tras un reinicio mediante la adición de una entrada al archivo /etc/hostname.ip.tun0 .


    system1-point system2-point tsrc system1-taddr tdst system2-taddr router up
    1. En el sistema enigma, agregue la entrada siguiente al archivo hostname.ip.tun0:


      10.16.16.6 10.1.3.3 tsrc 192.168.116.16 tdst 192.168.13.213 router up
    2. En el sistema partym, agregue la entrada siguiente al archivo hostname.ip.tun0:


      10.1.3.3 10.16.16.6 tsrc 192.168.13.213 tdst 192.168.116.16 router up
  21. Configure los archivos de interfaz para transferir los parámetros correctos al daemon de enrutamiento.

    1. En el sistema enigma, modifique los archivos /etc/hostname. interfaz.


      # cat /etc/hostname.hme0
      ## enigma
      10.16.16.6 private

      # cat /etc/hostname.hme1
      ## enigma
      192.168.116.16 router
    2. En el sistema partym, modifique los archivos /etc/hostname. interfaz.


      # cat /etc/hostname.hme0
      ## partym
      10.1.3.3 private

      # cat /etc/hostname.hme1
      ## partym
      192.168.13.213 router
  22. Ejecute un protocolo de enrutamiento.


    # routeadm -e ipv4-routing
    # routeadm -u
    

    Podría ser que antes de ejecutar el protocolo de enrutamiento fuese necesario configurarlo. Para obtener más información, consulte Protocolos de enrutamiento en Oracle Solaris. Para conocer el procedimiento, consulte Configuración de un enrutador IPv4.


Ejemplo 20–10 Creación de túneles temporales durante la prueba

En este ejemplo, el administrador prueba la creación del túnel en un sistema Solaris 10 4/09. Más tarde, el administrador utilizará el procedimiento Cómo proteger una VPN con un túnel IPsec en modo túnel mediante IPv4 para que los túneles sean permanentes. Durante la prueba, el administrador realiza las siguientes series de pasos en los sistemas system1 y system2:



Ejemplo 20–11 Creación de un túnel en una versión anterior de un sistema Solaris mediante la línea de comandos

En la versión Solaris 10 7/07, la sintaxis del comando ifconfig se ha simplificado. En este ejemplo, el administrador prueba la creación del túnel en un sistema que está ejecutando una versión de Solaris anterior a Solaris 10 7/07. Mediante la sintaxis original del comando ifconfig, el administrador puede utilizar comandos idénticos en los dos sistemas comunicantes. Más tarde, el administrador utilizará Cómo proteger una VPN con un túnel IPsec en modo túnel mediante IPv4 para hacer que los túneles sean permanentes.

Durante la prueba, el administrador realiza los pasos siguientes en los sistemas system1 y system2:



Ejemplo 20–12 Requisito de directiva IPsec en todos los sistemas de una LAN

En este ejemplo, el administrador comenta la directiva bypass que se ha configurado en el Paso 4, con lo cual se refuerza la seguridad. Con esta configuración de directiva, cada sistema de la LAN debe activar IPsec para comunicarse con el enrutador.


# LAN traffic must implement IPsec.
# {laddr 10.1.3.3 dir both} bypass {}

# WAN traffic uses ESP with AES and SHA-1.
{tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1}


Ejemplo 20–13 Uso de IPsec para proteger el tráfico Telnet de un modo distinto del tráfico SMTP

En este ejemplo, la primera regla protege al tráfico telnet del puerto 23 con Blowfish y SHA–1. La segunda regla protege al tráfico SMTP del puerto 25 con AES y MD5.


{laddr 10.1.3.3 ulp tcp dport 23 dir both} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa unique}
{laddr 10.1.3.3 ulp tcp dport 25 dir both} 
 ipsec {encr_algs aes encr_auth_algs md5 sa unique}


Ejemplo 20–14 Uso de un túnel IPsec en modo túnel para proteger una subred de un modo distinto del resto del tráfico de red

La siguiente configuración de túnel protege todo el tráfico de la subred 10.1.3.0/24 a través del túnel:


{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24} 
  ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

Las siguientes configuraciones de túnel protegen el tráfico de la subred 10.1.3.0/24 a distintas subredes a través del túnel. Las subredes que empiezan por 10.2.x.x atraviesan el túnel.


{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.1.0/24} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared}

{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.2.0/24} 
  ipsec {encr_algs blowfish encr_auth_algs sha1 sa shared}

{tunnel ip.tun0 negotiate tunnel laddr 10.1.3.0/24 raddr 10.2.3.0/24} 
  ipsec {encr_algs aes encr_auth_algs sha1 sa shared}