Con SOCKS5, a autenticación négociase antes de que o cliente envíe a súa solicitude de destino. Iso fai que un fallo temperán de credenciais sexa un suceso distinto dun fallo de FTP, HTTPS ou outra aplicación máis aló do proxy.

O saúdo do cliente enumera os métodos de autenticación que admite. O servidor escolle un método desa lista e devolve a selección. Un valor 0xff significa que ningún método ofrecido é aceptable e a conexión debe pecharse. O cliente non se limita a probar todos os métodos do lado do servidor despois de que falle un contrasinal.

Que controla a orde en Dante

Dante 1.4.x chama ao axuste de nivel de protocolo socksmethod. A súa documentación di que os métodos se enumeran por orde de preferencia. Para unha política que permite ambos métodos, esta declaración prefire nome de usuario/contrasinal cando o cliente o ofrece:

socksmethod: username none

Inverter a lista prefire o acceso non autenticado cando se ofrecen ambos métodos:

socksmethod: none username

Estas son declaracións de métodos alternativas, non configuracións completas do servidor. As interfaces de escoita, os clientes permitidos, as regras de destino e calquera restrición de autenticación específica dunha regra seguen importando.

Permitir none ten unha consecuencia concreta: un cliente que só ofrece ningunha autenticación pode ser aceptado segundo as regras aplicables. Poñer username primeiro non converte unha lista que contén none nun requisito de que todos proporcionen un contrasinal.

Escolle primeiro o requisito

Se cada cliente permitido debe autenticarse con nome de usuario/contrasinal, configura ese requisito de forma coherente nas regras globais e aplicables en lugar de engadir none como solución xeral de compatibilidade. Se o acceso anónimo é intencionado para un grupo restrinxido de clientes, fai explícitos o grupo e os seus destinos permitidos.

Dante tamén ten clientmethod, que se refire ás comprobacións realizadas cando o cliente TCP se conecta, antes da negociación SOCKS. É unha capa separada dos métodos intercambiados no saúdo SOCKS5. Os fragmentos de configuración que usan unha palabra clave method máis antiga deben lerse segundo o manual da versión de Dante instalada.

Cando dous clientes se comportan de forma diferente, compara que ofrece cada un, que selecciona Dante e se a subnegociación do método elixido ten éxito. Despois inspecciona a resposta de destino SOCKS. Esta secuencia identifica unha devolución de chamada de credenciais que falta sen atribuír cada fallo a FTP nin cambiar a cegas a política de autenticación do servidor.

Por último, a autenticación con nome de usuario/contrasinal de SOCKS5 non cifra o intercambio do contrasinal. Use un transporte ou unha rede protexidos axeitadamente cando esas credenciais necesiten confidencialidade.

Artigos relacionados