Избор на методи за удостоверяване на SOCKS5 в Dante
Разберете как Dante избира предложен метод за удостоверяване на SOCKS5 и как редът на методите променя политиката, която клиентите виждат.
При SOCKS5 удостоверяването се договаря, преди клиентът да изпрати заявката си за дестинация. Затова ранен провал на идентификационни данни е различно събитие от провал на FTP, HTTPS или друго приложение отвъд проксито.
Поздравът на клиента изброява методите за удостоверяване, които поддържа. Сървърът избира един метод от този списък и връща избора. Стойност 0xff означава, че никой предложен метод не е приемлив и връзката трябва да се затвори. Клиентът не просто изпробва всеки метод от страна на сървъра, след като паролата се провали.
Какво контролира редът в Dante
Dante 1.4.x нарича настройката на протоколно ниво socksmethod. Документацията му казва, че методите се изброяват по ред на предпочитание. За политика, която разрешава и двата метода, тази декларация предпочита потребителско име/парола, когато клиентът ги предложи:
socksmethod: username noneОбръщането на списъка предпочита достъп без удостоверяване, когато са предложени и двата метода:
socksmethod: none usernameТова са алтернативни декларации на методи, а не пълни конфигурации на сървъра. Интерфейсите за слушане, разрешените клиенти, правилата за дестинация и всякакви ограничения за удостоверяване, специфични за правило, все още имат значение.
Разрешаването на none има конкретна последица: клиент, който предлага само липса на удостоверяване, може да бъде приет съгласно приложимите правила. Поставянето на username първо не превръща списък, съдържащ none, в изискване всички да предоставят парола.
Първо изберете изискването
Ако всеки разрешен клиент трябва да се удостоверява с потребителско име/парола, конфигурирайте това изискване последователно в глобалните и приложимите правила, вместо да добавяте none като общо решение за съвместимост. Ако анонимният достъп е умишлен за ограничена група клиенти, направете групата и разрешените ѝ дестинации явни.
Dante има също clientmethod, което се отнася до проверки, извършвани при свързване на TCP клиента, преди SOCKS договарянето. Това е отделен слой от методите, разменяни в поздрава на SOCKS5. Конфигурационни фрагменти, използващи по-стара ключова дума method, трябва да се четат спрямо ръководството за инсталираната версия на Dante.
Когато два клиента се държат различно, сравнете какво предлага всеки, какво избира Dante и дали суб-договарянето на избрания метод успява. След това инспектирайте отговора за дестинация на SOCKS. Тази последователност идентифицира липсващо обратно извикване за идентификационни данни, без да приписва всеки провал на FTP или да променя политиката за удостоверяване на сървъра слепешката.
И накрая, удостоверяването с потребителско име/парола в SOCKS5 не криптира размяната на паролата. Използвайте подходящо защитен транспорт или мрежа, когато тези идентификационни данни се нуждаят от поверителност.