none
Problema di autenticazione RADIUS su Windows 2008 Server RRS feed

  • Domanda

  • Ciao a tutti.

    Sto smanettando un po' sul mio virtual lab e sto incontrando un problema che non riesco a risolvere in nessun modo.

    Scenario: ho un windows 2008 server SE che mi fa da DC (e quindi da server DNS), da server DHCP, e da server RADIUS (ruolo NPS).

    Poi ho un concentratore VPN Linux (Debian 5) e ho un client XP SP3 per fare prove.

    Voglio cominciare ad impostare una banale VPN PPTP. Se utilizzo l'autenticazione locale su debian (in pratica creo un utente locale pippo pippo per il daemon pptpd), la VPN funziona e mi viene assegnato l'indirizzo voluto.

    Se invece imposto il server debian come client RADIUS, ho uno strano comportamento: l'autenticazione effettivamente avviene e funziona anche, nel senso che su ADDS di Windows 2008 ho impostato un security group "VPN Access" e ho basato la network policy NPS su questo gruppo e quindi se entro con l'utente user2 che non appartiene al gruppo ho un messaggio di autenticazione fallita su XP; se però mi autentico con l'utente user1 che appartiene al gruppo giusto, subito dopo l'autenticazione (che quindi evidentemente riesce) e la "Proiezione del computer sulla rete in corso" ho un "Errore 734: Protocollo di controllo di collegamento PPP terminato."

    Onestamente non riesco a capire dove sia il problema:

    - se il problema stesse nella conf della VPN sul server VPN, non capisco perché poi con l'autenticazione locale funzioni

    - se il problema stesse nel RADIUS, non capisco perché poi effettivamente riconosce gli utenti di un gruppo e quelli di un altro

    Mi sono fatto l'idea che il problema sia nei dictionary: premetto che non ci ho capito moltissimo, ma ho dovuto fare una conf su radius client di debian aggiungendo un dictionary.microsoft. Ho immaginato che il "protocollo" RADIUS magari non è così standard, e per parlare con un server RADIUS MS si deve aggiungere questo dictionary per mappare opportunamente dei codici. Però sparo un po' di cose a caso, perché non mi sono ancora ben documentato.

    Idee? Link? Esperienze passate?

    Thanks a lot!

    giaconet

    giovedì 28 ottobre 2010 10:27

Risposte

Tutte le risposte

  • questo

    http://support.microsoft.com/kb/318718/it

    l'hai già verificato ?


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    giovedì 28 ottobre 2010 11:47
    Moderatore
  • Grazie Edoardo,

    Ho visto un po' di link sull'errore, ma non ho risolto. Il problema (come sempre) è di mia profonda ignoranza su alcune questioni: Il sistema RADIUS è semplicemente un sistema di inoltro di credenziali? O è un sistema diverso di autenticazione? Mi spiego meglio. Io devo accordare il sistema di autenticazione tra client VPN e server VPN; per semplificarmi le cose ho scelto MS-CHAPv2 e l'ho "imposto" sul server (molto semplice su debian, con un refuse sugli altri protocolli e un require sul MS-CHAPv2). A questo punto se sul client devo solo fare in modo che MS-CHAPv2 sia tra i procolli possibili e tutto funziona. Se voglio fare l'"elegante" posso selezionare anche nel client VPN MS-CHAPv2 come unico sistema di autenticazione e tutto funziona lo stesso. E questo a me funziona se il daemon pptpd autentica con utenti locali.

    Quando invece dico al daemon pptpd di ignorare gli utenti locali, ma di utilizzare l'auth-server dc-1.domain.local, mi chiedo se:

    - l'"accordatura" tra protocolli di autenticazione debba essere fatta tra client VPN e server RADIUS (e non più tra client VPN e server VPN-client RADIUS); cioè se il client RADIUS si preoccupi solo di inoltrare la richiesta di autenticazione al server RADIUS, ignorando con quale sistema si stia autenticando

    - oppure il client RADIUS e il server RADIUS parlano una lingua loro, per cui devo magari accordare il client RADIUS e il server RADIUS sulla loro lingua e non preoccuparmi di come il client VPN e il server VPN gestiscono l'autenticazione.

    Da questo dubbio nasce il problema di dove andare a modificare la configurazione. In ogni caso se lo scenario fosse il primo, la network policy fatta su NPS per dare l'"Access granted" proveniente dal client RADIUS, ha per default abilitato anche il MS-CHAPv2.

    Mi era venuto in mente di fare dei test con il RADIUS server: volevo trovare un software (magari freeware) che simulasse di essere un client RADIUS per provare ad inviare autenticazioni al mio server RADIUS NPS. In questo modo almeno metto almeno una bandierina verde su qualcosa :-)

    Grazie cmq.

    giaconet

    giovedì 28 ottobre 2010 12:07
  • - oppure il client RADIUS e il server RADIUS parlano una lingua loro, per cui devo magari accordare il client RADIUS e il server RADIUS sulla loro lingua e non preoccuparmi di come il client VPN e il server VPN gestiscono l'autenticazione.

    io a casa in ambiente di test uso IAS per autenticare sia le connessioni wifi mediante certificati sia le connessioni vpn entranti su ISA mediante credenziali e in base a questa esperienza ti posso assicurare che la parte più complessa è far "parlare" il client radius col server radius pertanto la prima cosa da esaminare con cura è proprio questo aspetto.


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    giovedì 28 ottobre 2010 12:29
    Moderatore
  • Dai log di NPS ho la certezza che l'autenticazione RADIUS funziona. Infatti dopo averli abilitati (per default NPS non logga nulla), trovo 2 righe ad ogni connessione, la prima:

     

    "DC-1"."IAS",10/28/2010,15:56:42,1,"DOMAIN\user1","domain.local/domain OU/IT Personnel OU/user1",,"10.80.2.1",,,,"10.80.1.2",0,0,"10.80.1.2","VPN-1",,,,,1,2,4,"RADIUS Authentication",0,"311 1 ::1 10/28/2010 18:02:21 12",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,

     

    indica la richiesta. Infatti il numero 1, subito dopo il primo TIMESTAMP è il campo Packet Type, dove 1=Access-Request

    La seconda linea invece

     

    "DC-1"."IAS",10/28/2010,15:56:42,2,"domain.local/domain OU/IT Personnel OU/user1",,,,,,,,"10.80.1.2","VPN-1",,,,,1,2,4,"RADIUS Authentication",0,"311 1 ::1 10/28/2010 18:02:21 12",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"GDOMAIN",,,"Use Windows authentication for all users",1,,,,
    

    riporta il numero 2 nello stesso campo Packet Type, 2=Access-Accept.

    Se mi loggo con un utente di dominio che non appartiene al Security Group "VPN Access", quel campo diventa 3, cioè "Access-Reject.

    A conferma viene anche citata la policy NPS "RADIUS Authentication" che ho creato nelle Network Policies di NPS.

    Quindi il client e il server "parlano" bene. Proprio non capisco :-(

    Le info su come decifrare il log di NPS le ho prese da Technet (http://technet.microsoft.com/en-us/library/cc771748(WS.10).aspx)

    Per completezza vi dico che 10.80.1.1 è DC-1, 10.80.1.2 è VPN-1 (il server VPN, client RADIUS) e 10.80.2.1 è il client XP (indirizzo assegnato in DHCP).

     

    giaconet

    giovedì 28 ottobre 2010 14:45
  • giovedì 28 ottobre 2010 15:39
    Moderatore
  • Scusate il ritardo (casini al lavoro che mi hanno distratto dal mio virtual lab).

    Niente da fare, anche perché l'articolo parlando di IAS e non di NPS non è applicabile al 100%. In ogni caso le "voci" relative sono proprio come quelle indicate nell'articolo.

    Cmq credo che il "problema" sia qualche incompatibilità RADIUS e sto spostando l'attenzione su debian (e quindi sul RADIUS Client), piuttosto che su Win2008 Server (RADIUS Server).

     

    Grazie lo stesso

    giaconet

    venerdì 5 novembre 2010 13:26