L’autenticazione proxy NTLM comporta un handshake, non solo l’aggiunta di un nome utente una volta. Prima di cambiare la password di un account, verifica che il proxy offra davvero NTLM e che il binario curl lo supporti.

curl --version

Controlla l’elenco delle funzionalità del binario che esegue la richiesta. Un’altra installazione di curl, un’immagine container o una build del sistema operativo può supportare autenticazioni diverse.

Seleziona un metodo specifico per il proxy

curl --proxy http://proxy.example:3128 --proxy-ntlm --proxy-user 'EXAMPLE\alice' --noproxy '' --connect-timeout 5 --max-time 20 https://example.com/

Endpoint, dominio e nome utente sono esempi. Usa il formato fornito dall’amministratore. Senza password nell’argomento, curl può richiederla invece di lasciare il segreto nel comando visualizzato.

Una richiesta iniziale di autenticazione può fare parte della negoziazione. Distinguila dal rifiuto di un handshake già completato. Non usare un’opzione NTLM del server di origine per rispondere a una richiesta di autenticazione del proxy.

Includi il comportamento delle connessioni nella diagnosi

NTLM mantiene uno stato legato alla connessione. L’handshake deve seguire il percorso di connessione previsto; sostituire ripetutamente le connessioni tra le sue fasi può impedirne il completamento.

In un’applicazione che usa libcurl, lascia che la libreria gestisca autenticazione e riutilizzo delle connessioni. Non creare un pool generico che consideri intercambiabili connessioni autenticate per identità diverse. Per un servizio con più passaggi o intermediari, verifica che preservi l’organizzazione delle connessioni richiesta.

Se supporto e selezione del metodo sono corretti, esamina formato dell’account, criteri di dominio e log di autenticazione del server privati dei dati sensibili. Un timeout prima di qualsiasi richiesta di autenticazione resta un problema di raggiungibilità, non la prova di una password NTLM errata.

Le tracce dettagliate possono contenere token di autenticazione e nomi interni. Usale localmente e rimuovi i dati sensibili prima di condividerle; un rapporto pubblico di errore non richiede lo scambio grezzo di token.

Articoli correlati