Diagnosticarea autentificării la un proxy NTLM în curl
Când un proxy NTLM respinge autentificarea, verifică suportul din compilarea curl, provocarea proxy-ului și continuitatea conexiunii.
Autentificarea la un proxy NTLM implică un handshake, nu doar atașarea o singură dată a unui nume de utilizator. Înainte de a schimba parola contului, confirmă că proxy-ul oferă într-adevăr NTLM și că binarul curl îl acceptă.
curl --version
Examinează lista de funcții a binarului care execută cererea. O altă instalare curl, imagine de container sau compilare a sistemului de operare poate avea alt suport de autentificare.
Selectează o metodă specifică proxy-ului
curl --proxy http://proxy.example:3128 --proxy-ntlm --proxy-user 'EXAMPLE\alice' --noproxy '' --connect-timeout 5 --max-time 20 https://example.com/
Punctul final, domeniul și numele de utilizator sunt exemple. Folosește formatul oferit de administrator. Fără parolă în argument, curl o poate solicita în loc să lase secretul în comanda afișată.
O provocare inițială de autentificare poate face parte din negociere. Deosebește-o de respingerea unui handshake deja încheiat. Nu folosi o opțiune NTLM pentru serverul de origine ca răspuns la provocarea unui proxy.
Include comportamentul conexiunilor în diagnostic
NTLM are stare legată de conexiune. Handshake-ul trebuie să urmeze calea de conexiune așteptată; înlocuirea repetată a conexiunilor între etapele sale poate împiedica finalizarea.
Într-o aplicație care folosește libcurl, lasă biblioteca să gestioneze autentificarea și reutilizarea conexiunilor. Nu construi un grup generic care tratează drept interschimbabile conexiunile autentificate pentru identități diferite. Pentru un serviciu cu mai multe salturi sau intermediari, verifică dacă păstrează organizarea necesară a conexiunilor.
Dacă suportul și alegerea metodei sunt corecte, investighează formatul contului, politica domeniului și jurnalele de autentificare ale serverului din care au fost eliminate datele sensibile. Expirarea timpului înainte de orice provocare rămâne o problemă de accesibilitate, nu dovada unei parole NTLM greșite.
Urmele detaliate pot conține tokenuri de autentificare și nume interne. Folosește-le local și elimină datele sensibile înainte de partajare; un raport public de eroare nu are nevoie de schimbul brut de tokenuri.