Autenticación TLS de FreeRADIUS EAP basada en el certificado de cliente CN

2

Me gustaría ejecutar FreeRADIUS para la autenticación EAP TLS, pero en lugar de ejecutar mi propia Autoridad de Certificación, me gustaría usar StartSSL .

He configurado EAP TLS con StartCom como la única CA raíz confiable y eso funciona bien, pero significa que cualquier persona con un certificado StartSSL podría conectarse a mi red.

Me gustaría permitir el acceso basado en el nombre común del certificado del cliente, como check_cert_cn = *@example.com , pero parece que no puedo usar un comodín en el valor check_cert_cn .

¿Hay una manera de lograr esto? Podría estar abordando este problema de manera incorrecta, ¿debería estar mirando reinos o algo así? o simplemente acéptalo y ejecuta mi propia CA.

    
pregunta Hybrid 04.04.2015 - 10:31
fuente

1 respuesta

2

Así que después de un poco de excavación encontré un GingHub que puede hacer esto.

No comentaré virtual_server = check-eap-tls en eap.conf

Luego cree check-eap-tls en sites-available y lo vinculó a sites-enabled :

server check-eap-tls {
  authorize {
    if ("%{TLS-Client-Cert-Common-Name}" =~ /^[A-z.]*@example\.com$/) {
      update config {
        Auth-Type = Accept
      }
    }
    else {
      update config {
        Auth-Type = Reject
      }
      update reply {
        Reply-Message = "Your certificate is not valid."
      }
    }
  }
}

Usar =~ en lugar de == te permite usar expresiones regulares y en mi todos los certificados serán alfa con un punto, así que ^[A-z.]*@example\.com$ funciona para mí.

    
respondido por el Hybrid 09.04.2015 - 16:45
fuente

Lea otras preguntas en las etiquetas