Triar mètodes d'autenticació SOCKS5 a Dante
Enteneu com Dante tria un mètode d'autenticació SOCKS5 ofert i com l'ordre dels mètodes canvia la política que els clients experimenten.
A SOCKS5, l'autenticació es negocia abans que el client enviï la seva sol·licitud de destinació. Això fa que un error primerenc de credencials sigui un esdeveniment diferent d'un error FTP, HTTPS o d'una altra aplicació més enllà del proxy.
La salutació del client enumera els mètodes d'autenticació que admet. El servidor tria un mètode d'aquesta llista i retorna la selecció. Un valor 0xff significa que cap mètode ofert és acceptable i la connexió s'ha de tancar. El client no prova simplement tots els mètodes del costat del servidor després que falli una contrasenya.
Què controla l'ordenació de Dante
Dante 1.4.x anomena el paràmetre de nivell de protocol socksmethod. La seva documentació diu que els mètodes es llisten per ordre de preferència. Per a una política que permet tots dos mètodes, aquesta declaració prefereix nom d'usuari/contrasenya quan el client l'ofereix:
socksmethod: username noneInvertir la llista prefereix l'accés no autenticat quan s'ofereixen tots dos mètodes:
socksmethod: none usernameAquestes són declaracions de mètodes alternatives, no configuracions completes del servidor. Les interfícies d'escolta, els clients permesos, les regles de destinació i qualsevol restricció d'autenticació específica d'una regla encara importen.
Permetre none té una conseqüència concreta: un client que només ofereix cap autenticació pot ser acceptat sota les regles aplicables. Posar username primer no converteix una llista que conté none en un requisit que tothom proporcioni una contrasenya.
Trieu primer el requisit
Si cada client permès ha d'autenticar-se amb nom d'usuari/contrasenya, configureu aquest requisit de manera coherent a les regles globals i aplicables en lloc d'afegir none com a solució general de compatibilitat. Si l'accés anònim és intencionat per a un grup restringit de clients, feu explícits el grup i les seves destinacions permeses.
Dante també té clientmethod, que tracta les comprovacions fetes quan el client TCP es connecta, abans de la negociació SOCKS. És una capa separada dels mètodes intercanviats a la salutació SOCKS5. Els fragments de configuració que utilitzen una paraula clau method més antiga s'han de llegir segons el manual de la versió de Dante instal·lada.
Quan dos clients es comporten de manera diferent, compareu què ofereix cadascun, què tria Dante i si la subnegociació del mètode triat té èxit. Després inspeccioneu la resposta de destinació SOCKS. Aquesta seqüència identifica una devolució de trucada de credencials que falta sense atribuir cada error a FTP ni canviar a cegues la política d'autenticació del servidor.
Finalment, l'autenticació amb nom d'usuari/contrasenya de SOCKS5 no xifra l'intercanvi de contrasenya. Utilitzeu un transport o una xarxa protegits adequadament quan aquestes credencials necessitin confidencialitat.