EJBCA y Cisco IOS

Cisco IOS utiliza SCEP para registrar y recuperar certificados para EJBCA. A continuación, se proporciona información básica y consejos que los usuarios nos han enviado a lo largo de los años.

Configurar Cisco IOS y EJBCA

Notas de compatibilidad

Cisco IOS presenta algunas pequeñas peculiaridades al interactuar con EJBCA. Tenga en cuenta lo siguiente al configurar Cisco IOS:

  • La clave y el punto de confianza deben coincidir con el nombre de CA y Cisco no permite espacios.

  • La clave debe crearse manualmente. Por alguna razón, el registro con claves generadas automáticamente falla.

Configuración de Cisco

A continuación se muestra la configuración de Cisco.

conf t
crypto key generate rsa exportable general-keys modulus 2048 label <Sub_CA_Name>
crypto pki trustpoint <Sub_CA_Name>
enrollment url http: //<EJBCA_FQDN>:80/ejbca/publicweb/apply/scep
serial-number none
ip-address none
subject-name CN=<Device_FQDNH>
subject-alt-name <Device_FQDN>
revocation-check none
interface source Vlan#
rsakeypair <Sub_CA_Name> 2048 2048
exit
cry pki auth <Sub_CA_Name>
yes
cry pki enr <Sub_CA_Name>
<password>
<password>
yes
end
show crypto pki certificate verbose <Sub_CA_Name>
<treat this like a pause to ensure certificate is registered>
show crypto pki certificate verbose <Sub_CA_Name>
wr mem
conf t
ip http secure-trustpoint <Sub_CA_Name>
end
wr mem

Estos comandos se probaron en WLC2504, WLC3504, WLC9800, 2960x, 3650, 3850, 9200, 9300, 9300X.

Configuración de EJBCA

Las siguientes secciones cubren la configuración de EJBCA.

Configuración del perfil de entidad final

Para configurar perfiles de entidad final en EJBCA, vaya a Funciones de RA > Perfiles de entidad final . Para obtener más información, consulte Operaciones con perfiles de entidad final .

Los campos DN del sujeto deben coincidir con lo que el dispositivo Cisco está configurado para enviar. Cisco IOS requiere que los atributos del DN del sujeto coincidan exactamente con lo esperado, por lo que solo se permiten los siguientes campos:

  • Nombre común o número de serie

  • nombre no estructurado, nombre de dominio (FQDN)

Además, se pueden utilizar los campos Nombre DNS y Nombre alternativo del sujeto de la dirección IP .

Configuración del perfil del certificado

Para configurar perfiles de certificado en EJBCA, vaya a Funciones de CA > Perfiles de certificado . Para obtener más información, consulte Operaciones con perfiles de certificado .

Al registrar el dispositivo iOS con un certificado de servidor (por ejemplo, un servidor VPN), se debe usar un perfil de certificado de servidor. Normalmente, tanto la autenticación de cliente como la de servidor se configuran como Uso de clave extendido.

Configuración de CA

Para configurar las CA en EJBCA, vaya a Funciones de CA > Autoridades de certificación . Para obtener más información, consulte Operaciones de la autoridad de certificación .

  • Es posible que sea necesario borrar el pedido DN LDAP .

Configuración de alias de SCEP

Para configurar SCEP en EJBCA, vaya a Configuración del sistema > Configuración de SCEP . Para obtener más información, consulte la Guía de operaciones de SCEP .

Cisco IOS no espera que el certificado CA sea parte de la respuesta y, por lo tanto, la opción Incluir certificado CA en la respuesta debe estar deshabilitada en la configuración del alias SCEP.

imágenes/descargar/archivos adjuntos/143736216/cisco_ios_scep_alias.png

Simulador de Cisco IOS

Tenga en cuenta que las instrucciones de esta sección no se han probado durante algún tiempo y es posible que ya no sean aplicables.

Hay un emulador de Cisco 7200 llamado dynamips disponible y el front-end gráfico GNS3, consulte GNS3 para obtener más información.

A continuación se describe cómo configurar e inscribirse directamente con EJBCA usando GNS3 en Ubuntu 8.10.

Instalar los paquetes:

sudo apt-get install gns3 uml-utilities bridge-utils

Configure el host y gns3 para que puedan comunicarse entre sí, lo que permite que el enrutador se conecte a EJBCA en la computadora host.

  1. Crear una interfaz de toque:

    sudo tunctl -t tap0
  2. Eliminar la dirección IP y configurar eth0 y tap0 en modo promiscuo:

    sudo ifconfig tap0 0.0.0.0 promisc up
    sudo ifconfig eth0 0.0.0.0 promisc up
  3. Crear una nueva interfaz de puente:

    sudo brctl addbr br0
  4. Agregue tap0 y eth0 al grupo puente:

    sudo brctl addif br0 tap0
    sudo brctl addif br0 eth0
  5. Habilite la interfaz del puente y asígnele una dirección IP:

    sudo ifconfig br0 up
    sudo ifconfig br0 10.10.10.99 /24
  6. Configurar la ruta predeterminada:

    sudo route add default gw 10.10 . 10.254

Iniciar gns3:

sudo gns3

Configure con una imagen de IOS, por ejemplo, c7200-jk9s-mz.124-13b.bin (una imagen con comandos criptográficos). Configure también una topología simple:

  • Arrastre la nube a la ventana de topología

  • Arrastre c7200 a la ventana de topología

  • Configurar la nube y agregar la interfaz tap0

  • Agregar enlace manual desde la nube al C7200

  • iniciar c7200

  • abrir consola en c7200

  • Ingrese a la configuración y configure FastEthernet0/0 con IP 10.10.10.98/255.255.255.0

A continuación, haga ping al equipo host donde se ejecuta EJBCA.

Para realizar la inscripción real como se describe arriba, utilice los siguientes comandos:

Router>enable
Router#configure terminal
Router(config)#
Router(config)#crypto ca trustpoint ScepCA
Router(ca-trustpoint)#enrollment url http: //10.10.10.99:8080/ejbca/publicweb/apply/scep
Router(ca-trustpoint)#serial-number
Router(ca-trustpoint)#ip-address none
Router(ca-trustpoint)#subject-name OU=Network Management, O=PrimeKey Solutions AB, C=SE
Router(ca-trustpoint)#revocation-check none
Router(ca-trustpoint)#exit
Router(config)#crypto ca authenticate ScepCA
Router(config)#crypto ca enroll ScepCA

Verifique el registro del nombre de usuario del usuario que debe crear, cree un perfil de entidad final y un usuario con DN que contenga SN=FFFFFF y unstructuredName=Router, como se ve en el archivo de registro (FFFFFF y Router son los valores predeterminados en el simulador).

Router(config)#crypto ca enroll ScepCA
Router(config)#exit
Router#show crypto ca certificate

Para ver los puntos de confianza definidos, utilice el siguiente comando:

Router#show crypto ca trustpoints

Si se inscribe en una RA, ejecute los siguientes comandos. Para obtener más información sobre cómo configurar una RA externa para SCEP, consulte SCEP .

Router>enable
Router#configure terminal
Router(config)#
Router(config)#crypto ca trustpoint ScepRA
Router(ca-trustpoint)#enrollment url http: //10.10.10.99:8080/scepraserver/scep
Router(ca-trustpoint)#enrollment mode ra
Router(ca-trustpoint)#serial-number
Router(ca-trustpoint)#ip-address none
Router(ca-trustpoint)#subject-name OU=Network Management, O=PrimeKey Solutions AB, C=SE
Router(ca-trustpoint)#revocation-check none
Router(ca-trustpoint)#exit
Router(config)#crypto ca authenticate ScepRA
Router(config)#crypto ca enroll ScepRA

Tenga en cuenta que esto solo se aplica a EJBCA 3.8.1 y versiones posteriores y puede generar el siguiente error en Cisco:

Router#debug crypto pki API
Router#debug crypto pki messages
Router#debug crypto pki server
Router#debug crypto pki transactions
Router#debug crypto pki validation
...
*Jan 16 de enero 21 : 47 : 32.546 : CRYPTO_PKI: make trustedCerts list for ScepRA
*Jan 16 de enero 21 : 47 : 32.550 : CRYPTO_PKI: subject= "c=SE,o=Foo,cn=Scep RA" serial number= 3A 46 2F B4 5B AC 06 47
*Jan 16 de enero 21 : 47 : 32.554 : CRYPTO_PKI: subject= "c=SE,o=EJBCA Sample,cn=ScepCA" serial number= 19 A6 7D 78 AF 9D 3B 27
*Jan 16 de enero 21 : 47 : 32.566 : E ../cert-c/source/p7digdat.c( 377 ) : Error #703h
*Jan 16 de enero 21 : 47 : 32.566 : E ../cert-c/source/p7spprt.c( 589 ) : Error #703h
*Jan 16 de enero 21 : 47 : 32.582 : pkcs7 verify data returned status 0x703
*Jan 16 de enero 21 : 47 : 32.582 : CRYPTO_PKI: status = 1795 : failed to verify
*Jan 16 de enero 21 : 47 : 32.582 : %PKI- 6 -CERTFAIL: Certificate enrollment failed.
*Jan 16 de enero 21 : 47 : 32.582 : CRYPTO_PKI: All enrollment requests completed for trustpoint ScepRA.