Alegerea metodelor de autentificare SOCKS5 în Dante
Înțelegeți cum alege Dante o metodă de autentificare SOCKS5 oferită și cum ordinea metodelor schimbă politica pe care o experimentează clienții.
La SOCKS5, autentificarea este negociată înainte ca clientul să trimită cererea sa de destinație. Astfel, o eșecare timpurie a acreditărilor este un eveniment diferit de o eșecare FTP, HTTPS sau a altei aplicații dincolo de proxy.
Salutul clientului enumeră metodele de autentificare pe care le acceptă. Serverul alege o metodă din acea listă și trimite selecția înapoi. Valoarea 0xff înseamnă că nicio metodă oferită nu este acceptabilă și conexiunea trebuie închisă. Clientul nu încearcă pur și simplu fiecare metodă de pe partea serverului după ce o parolă eșuează.
Ce controlează ordinea din Dante
Dante 1.4.x numește setarea la nivel de protocol socksmethod. Documentația spune că metodele sunt listate în ordinea preferinței. Pentru o politică ce permite ambele metode, această declarație preferă numele de utilizator/parola când clientul îl oferă:
socksmethod: username noneInversarea listei preferă accesul neautentificat când ambele metode sunt oferite:
socksmethod: none usernameAcestea sunt declarații alternative de metode, nu configurații complete de server. Interfețele de ascultare, clienții permisi, regulile de destinație și orice constrângeri de autentificare specifice unei reguli contează în continuare.
Permiterea none are o consecință concretă: un client care oferă doar fără autentificare poate fi acceptat conform regulilor aplicabile. Plasarea username pe primul loc nu transformă o listă care conține none într-o cerință ca toți să ofere o parolă.
Alegeți mai întâi cerința
Dacă fiecare client permis trebuie să se autentifice cu nume de utilizator/parolă, configurați acea cerință consecvent în regulile globale și aplicabile în loc să adăugați none ca remediu general de compatibilitate. Dacă accesul anonim este intenționat pentru un grup restrâns de clienți, faceți grupul și destinațiile sale permise explicite.
Dante are și clientmethod, care privește verificările efectuate când clientul TCP se conectează, înainte de negocierea SOCKS. Este un strat separat de metodele schimbate în salutul SOCKS5. Fragmentele de configurare care folosesc un cuvânt-cheie method mai vechi trebuie citite conform manualului versiunii Dante instalate.
Când doi clienți se comportă diferit, comparați ce oferă fiecare, ce selectează Dante și dacă sub-negocierea metodei alese reușește. Apoi inspectați răspunsul de destinație SOCKS. Această secvență identifică un callback de acreditări lipsă fără a atribui fiecare eșec FTP sau a schimba orbește politica de autentificare a serverului.
În final, autentificarea cu nume de utilizator/parolă din SOCKS5 nu criptează schimbul parolei. Folosiți un transport sau o rețea protejate adecvat când acele acreditări au nevoie de confidențialitate.