FreeRADIUS EAP TLS Autenticazione basata sul certificato client CN

2

Vorrei eseguire FreeRADIUS per l'autenticazione EAP TLS ma invece di eseguire la mia Autorità di certificazione vorrei utilizzare StartSSL .

Ho configurato EAP TLS con StartCom come unica CA attendibile e funziona in modo corretto, ma indica che chiunque abbia un certificato StartSSL potrebbe connettersi alla mia rete.

Vorrei consentire l'accesso in base al nome comune del certificato client come check_cert_cn = *@example.com ma non riesco a utilizzare un carattere jolly nel valore check_cert_cn .

C'è un modo per raggiungere questo obiettivo? Potrei avvicinarmi a questo problema nel modo sbagliato, dovrei guardare i reami o qualcosa del genere? o semplicemente accettarlo ed eseguire la mia CA.

    
posta Hybrid 04.04.2015 - 10:31
fonte

1 risposta

2

Quindi dopo un po 'di ricerche mi sono imbattuto in un impegno su GitHub che può farlo.

I non commentato virtual_server = check-eap-tls in eap.conf

Quindi crea check-eap-tls in sites-available e associalo 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."
      }
    }
  }
}

L'utilizzo di =~ anziché == ti consente di utilizzare espressioni regolari e in tutti i certificati sarà alfa con un punto, quindi ^[A-z.]*@example\.com$ funziona per me.

    
risposta data 09.04.2015 - 16:45
fonte

Leggi altre domande sui tag