01-23-2023 05:24 AM - editado 02-13-2023 06:29 AM
Este artigo tem como objetivo mostrar a importância, os tipos, e a instalação de certificados que existem no Cisco ISE.
Parte deste artigo, é uma tradução e adaptação do artigo How To Implement Digital Certificates in ISE, criado por @Thomas. Thanks Thomas!
Da mesma forma, as pessoas possuem um documento de identificação pessoal, carteira de habilitação para dirigir, passaporte, para provar quem são quando viajam, os elementos de uma rede não são diferentes, devem também ter o certificado para se identificarem e provarem quem são.
Um certificado é um documento eletrônico que identifica um indivíduo, um servidor, um computador, um elemento de rede, uma empresa ou qualquer outra entidade.
Um dos conceitos atrelados aos certificados são as chaves públicas e privadas. As chaves públicas, são aquelas que qualquer pessoa, dispositivo de rede, podem ter acesso. Já a chave privada, deve ser mantida pelo seu proprietário, e não ser compartilhada com ninguém, e é a chave utilizada para descriptografar ou criptografar uma mensagem/tráfego.
Um exemplo prático de chave pública versus chave privada, é quando um usuário tenta estabelecer uma comunicação HTTPS para qualquer site na Internet. Vamos utilizar como exemplo www.cisco.com. Abaixo os passos
Após o servidor descriptografar a mensagem com a chave privada, a conexão SSL será estabelecida, uma comunicação segura.
Vaja na imagem a seguir, o site www.cisco.com possui um certificado seguro, confiável, assinado por uma organização confiável.
Diferente do Cisco ISE, ao tentar acessar o dashboard pela primeira vez utilizando o endereço IP 192.168.20.100, aparecerá a mensagem de que o site não é confiável, pois ainda não possui um certificado assinado por uma CA, uma organização confiável. O presente certificado é o que foi gerado pelo próprio servidor durante a instalação.
Para verificar este certificado, faça login no dashboard do Cisco ISE e vá no menu esquerdo do Cisco ISE > Administration > System > Certificates > Certificate Management > System Certificates.
Os certificados são utilizados para identificar os nodes do Cisco ISE para os dispositivos na rede, como também para que haja uma comunicação segura entre eles. O certificado ele é utilizado para todas as comunicações HTTPS como também para a comunicação EAP (Extensible Authentication Protocol).
Para a comunicação HTTPS é para criar uma sessão HTTP encriptada com SSL, o que inclui:
O parâmetro para a comunicação HTTPS, resumidamente é o mesmo processo que explicado anteriormente.
Para a comunicação EAP, o certificado pode ser utilizado para a autenticação de usuários e dispositivos junto ao Cisco ISE, utilizando os métodos, EAP-TLS, PEAP, TEAP, EAP-FAST, EAP-TTLS.
Com os modos de tunelamento PEAP, TEAP, EAP-TTLS, o Transport Layer Security (TLS) é usado para proteger as credenciais trocadas no momento da autenticação, entre o ISE e os usuários.
Ao primeiro momento que o dispositivo tentar se conectar na rede, haverá a troca de certificados, no mesmo modo que acontece na comunicação HTTPS, como explicado anteriormente. Se o certificado é confiável, o túnel TLS é estabelecido. Depois de o túnel TLS ser estabelecido, então as credenciais do usuário são enviadas para o servidor, estabelecendo uma comunicação segura. Neste caso, o dispositivo/usuário final é o suplicante, e o servidor a PSN (Policy Service Node) ISE, traduzindo para o português, O Servidor de Políticas de Serviço.
Os certificados no Cisco ISE, podem ser utilizados para uma ou mais funções. Cada função desempenha um propósito diferente, explicado abaixo cada uma delas:
A implementação dos certificados é uma das fases que deve ser bem planejada, visto que afetará na gestão futura, como também influenciará no custo, dependendo da quantidade de certificados, e o modelo aplicado.
Neste modelo é utilizado um certificado para cada node do ISE, PSN, PAN, e MnT, e este certificado será utilizado para todos os serviços, Admin, Portal, EAP, PxGrid.
Pro’s:
Con’s
O mesmo certificado que é usado para admin, autenticação EAP, será exposto para os portais de BYOD, Guest. Isso acaba se tornando um risco.
Este método utiliza um certificado para cada função e node. Para atingir este objetivo cada certificado deve ser configurado como a seguir:
Num cálculo simples, podemos ver no exemplo da figura abaixo que foram um total de 7 certificados. Este que é apenas uma demonstração. Quanto maior a quantidade nodes, maior a quantidade de certificados.
Pro’s
Con’s
Este método utiliza a mesma chave pública e privada para todos os nodes do ISE. É geralmente utilizado para ambientes onde possui uma grande quantidade de devices BYOD. A principal razão de seguir este modelo é assegurar que o mesmo certificado é utilizado em todas as PSNs, então os devices BYOD já terá uma relação de confiança com qualquer servidor EAP em que deva se autenticar.
Para isso, é necessário gerar um Certificate Signing Request (CSR) – Solicitação de Assinatura de Certificado, em apenas um dos nodes do ISE. Depois disso, vincular/fazer o binding do certificado assinado para a chave privada, exportar o resultado da par de chaves e importar este resultado para todos os outros nodes. O certificado único pode ser configurado para:
Pro’s
Con’s
Não necessariamente o administrador precisa escolher um único modelo. Para cada um existem vantagens e desvantagens, e eles podem ser adaptados conforme a necessidade e realidade de cada ambiente, e pode também fazer uma mistura, como por exemplo, utilizar o modelo 2 para determinadas situações e o 3 para outras.
Um certificado Wildcard, é aquele que utiliza uma notação Wildcard, um asterisco e um ponto antes do nome do domínio, e permite que o certificado seja compartilhado entre vários hosts em uma organização. Como exemplo do valor CN do certificado que será utilizado no lab, é que no Subject Name do certificado Wildcard ficará da seguinte forma: *.labise.com, e sendo assim certificado poderá assegurar qualquer dispositivo que obtenha no nome de DNS labise.com.
O uso do certificado Wildcard traz alguns benefícios como:
O uso do Wildcard traz também algumas desvantagens, como:
Apesar das desvantagens, o fator custo operacional é bem relevante no momento de criar uma política para adoção do modelo de certificado a ser utilizado.
Há também algumas desvantagens com o certificado Wildcard que é para a autenticação de dispositivos com o sistema operacional Windows, vide que não aceitam este modelo de certificado. Sendo assim, há uma possibilidade de resolver este problema com o uso do método WildSAN.
O WildSAN que provém, Wild de Wildcard, e o SAN de Subject Alternative Name, é uma alternativa para permitir o uso de Wildcard para suplicantes nativos Microsoft.
Como definido na RFC 6125 e 2128, ao invés de criar um certificado com o subject Commom Name, o valor de Wildcard deve ser inserido no campo Subject Alternative Name (SAN). Veremos exemplo disso na fase do lab. No momento da autenticação o nome a ser verificado será o DNSName.
Agora que foi possível entender a teoria por trás dos certificados, vamos praticar como é feita a instalação dos certificados no Cisco ISE.
Para este lab, a CA (Certificate Authority) utilizado foi o Windows Server.
Será realizado duas demonstrações.
Anteriormente foi mencionado que o certificado Admin é utilizado para a comunicação segura das portas 443 (interface GUI), como também para replicação entre os nodes ou uso de API na porta 443.
Recapitulando que inicialmente na tentativa de acessar o ISE em 192.168.20.100 via browser, era emitida a mensagem de site não confiável.
Além de acessar o dashboard do ISE via endereço IP, foi criada uma entrada DNS ISE01.labise.com no servidor DNS.
Com essa configuração, é possível acessar o ISE através do nome ao invés do endereço IP, porém ocorre o mesmo erro, de certificado não confiável.
Uma das razões para a instalação do certificado Admin, será para resolver este problema.
Como primeiro passo para a instalação do certificado, deve ser gerado o Certificate Signing Request (CSR). Para isso vá no dashboard do ISE em Administration > System > Certificates > Certificate Management > Certificate Signing Requests e clique em Generate Certificate Signing Requests (CSR), e preencha as informações conforme abaixo.
Após essas informações preenchidas, clique no botão Generate e em seguida em Export.
Com isso, será gerada a chave privada do Node ISE01. Salve o arquivo de extensão .pem em um local seguro. Este arquivo deve ficar de posse do administrador do ambiente, e o aconselhável é não compartilhar com outras pessoas.
Com o arquivo exportado, este é o momento de assinar/gerar o certificado na CA. Neste exemplo, é utilizado a CA do Windows Server.
Para acessar a CA do Windows Server, digite no navegador https://ip_do_server/certsrv.
Após realizar o download do certificado assinado pela CA, antes de fazer o bind (vincular) o certificado no ISE, é necessário importar o Certificado Root.
O certificado Root, é o certificado da CA, entidade que assinou o certificado do ISE, e este precisa ser instalado no ISE em Trusted Certificates, ou seja, em Certificados Confiáveis. O objetivo de instalar este certificado é devido o certificado do ISE ter sido assinado por uma outra entidade. Então, sempre que for instalar um certificado que tenha sido assinado por uma certificadora externa, o Root deve ser instalado em Trusted Certificates.
Para realizar este passo, volte ao https://ip_do_server/certsrv, lembrando que neste lab a CA é o Windows Server.
Vá em Download a CA certificate, certificate chain, or CRL.
Selecione Base 64 e clique em Download CA Certificate.
Após o download do certificado, no dashboard do ISE vá em Administrator > System > Certificates > Certificate Management > Trusted Certificates, clique em Import, e selecione o certificado Root que você fez o download da CA, dê um nome ao certificado, selecione as opções conforme abaixo, e clique em Submit.
Após isso, qualquer certificado que seja assinado pela CA do certificado Root, pode ser importado no Cisco ISE, e o ISE passa a entender a entender a CA e os certificados assinados como confiáveis..
Nota: Todas as opções de Trust foram selecionadas, pois o certificado Root dessa CA, será utilizado também para autenticação de endpoint, como também para a integração de outros Serviços Cisco dentro do lab.
Após o download do certificado, deve ser feito o Bind (vincular) com a chave privada gerada inicialmente.
Na mesma tela após gerar o CSR, selecione o ISE01#Admin e clique em Bind Certificate.
Selecione o arquivo previamente exportado da CA, e dê um nome para este certificado. Veja que o único uso é para a função de Admin, e em seguida clique em Submit.
Nota: se um novo node for inserido no ambiente, o mesmo processo de certificado do serviço Admin deve ser realizado.
Assim que clicar no botão Submit, acontecerá o reload do Cisco ISE, para que o certificado seja instalado.
Lembre-se que este certificado foi utilizado somente para Admin. Para as outras funcionalidades, será demonstrada a seguir.
Após o reinício do node, navegue até a aba de certificados e observe que o existe agora um certificado dedicado para Admin.
Note também que agora quando tentar acessar a GUI do Cisco ISE, o certificado é mostrado como conexão segura, como também no momento de outros elementos da rede tentar estabelecer conexão 443 com este node, não haverá problemas de certificados.
Neste lab a implementação do certificado WildSAN será utilizada para as funções EAP Authentication e para Portal.
O mesmo processo para gerar o CSR deverá ser seguido como no exemplo acima, porém agora com diferença no tipo de serviço.
Vá em Administration > System > Certificates > Certificate Management > Certificate Signing Requests e clique em Generate Certificate Signing Requests (CSR), preencha as informações e depois clique em Generate, e em Export.
Observe que agora como está sendo gerado um certificado WildCard/WildSAN, a opção Multi-Use deve ser selecionada, como também ser marcado a opção Allow Wildcard Certificates. Isso permitirá que o certificado seja utilizado para diferentes funções como também para diferentes nodes.
É necessário também que o nome DNS que for utilizado em CN seja adicionado como DNS Name, e depois mais um DNS Name, neste caso com o nome do domínio, seja inserido precedido de (*.). Isso é o que cria o Certificado WildCard.
Após exportar o certificado, realize o passo Assinar o Certificado na CA, e faça o download do novo certificado WildSAN.
O processo de vincular/binding deste certificado é similar o anterior, porém observe que existirá mais funcionalidades disponíveis para o que este certificado será utilizado.
Será selecionado EAP Authentication e Portal. A função Admin já foi realizada no Certificado anterior.
Após preencher essas informações, clique em Submit.
A mensagem acima é mostrada no momento que clicar em Submit, visto que o certificado autogerado no momento da instalação do ISE, está sendo utilizado para EAP e portal. Clique em Yes e prossiga para a importação.
Se navegar até System Certificates, observe que agora existe um novo certificado para EAP e Portal.
No caso do Certificado WildSAN, ele é criado para ser utilizado em outros nodes, sem a necessidade de criar um certificado novo para cada node. Neste caso, o WildSAN só poderá ser utilizado para EAP Authentication e Portal, que foram os serviços selecionados no momento de realizar o Binding.
Com este arquivo .zip gerado, extraia-o do formato .zip, e o deixe salvo.
Clique em Submit, este certificado será instalado no novo node.
Foi demonstrado neste lab, dois modelos de instalar certificados.
Como mencionado anteriormente, para ambos os modelos existem pros e cons. O que é importante avaliar no momento da instalação é o que fica mais viável para a realidade do ambiente e do cliente.
Espero que tenham aproveitado a leitura.
Jonas Resende.
Top, Como sempre conteúdo bacana de ler. Parabéns @jonas.resende
Obrigado @tomy.tim
Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.
Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: