Med SOCKS5 förhandlas autentisering innan klienten skickar sin destinationsbegäran. Det gör ett tidigt autentiseringsfel till en annan händelse än ett FTP-, HTTPS- eller annat programfel bakom proxyn.

Klientens hälsning listar de autentiseringsmetoder den stöder. Servern väljer en metod från listan och skickar tillbaka valet. Värdet 0xff betyder att ingen erbjuden metod är acceptabel och anslutningen måste stängas. Klienten provar inte bara varje metod på serversidan efter att ett lösenord misslyckats.

Vad Dantes ordning styr

Dante 1.4.x kallar inställningen på protokollnivå socksmethod. Dokumentationen säger att metoder listas i preferensordning. För en policy som tillåter båda metoderna föredrar denna deklaration användarnamn/lösenord när klienten erbjuder det:

socksmethod: username none

Att vända listan föredrar oautentiserad åtkomst när båda metoderna erbjuds:

socksmethod: none username

Detta är alternativa metoddeklarationer, inte fullständiga serverkonfigurationer. Lyssningsgränssnitt, tillåtna klienter, destinationsregler och eventuella regelspecifika autentiseringsbegränsningar spelar fortfarande roll.

Att tillåta none har en konkret konsekvens: en klient som bara erbjuder ingen autentisering kan accepteras enligt de tillämpliga reglerna. Att placera username först gör inte en lista som innehåller none till ett krav att alla anger ett lösenord.

Välj kravet först

Om varje tillåten klient måste autentisera med användarnamn/lösenord, konfigurera det kravet konsekvent i de globala och tillämpliga reglerna i stället för att lägga till none som en allmän kompatibilitetsåtgärd. Om anonym åtkomst är avsiktlig för en begränsad klientgrupp, gör gruppen och dess tillåtna destinationer explicita.

Dante har också clientmethod, som gäller kontroller som utförs när TCP-klienten ansluter, före SOCKS-förhandlingen. Det är ett separat lager från metoderna som utbyts i SOCKS5-hälsningen. Konfigurationsutdrag som använder ett äldre method-nyckelord bör läsas mot handboken för den installerade Dante-versionen.

När två klienter beter sig olika, jämför vad var och en erbjuder, vad Dante väljer och om den valda metodens underförhandling lyckas. Granska sedan SOCKS-destinationssvaret. Denna sekvens identifierar en saknad autentiseringscallback utan att skylla varje fel på FTP eller blint ändra serverns autentiseringspolicy.

Slutligen krypterar inte SOCKS5-autentisering med användarnamn/lösenord utbytet av lösenordet. Använd en lämpligt skyddad transport eller ett nätverk när dessa uppgifter behöver konfidentialitet.

Relaterade artiklar