У 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 не шифрує обмін паролем. Використовуйте належно захищений транспорт або мережу, коли ці облікові дані потребують конфіденційності.

Схожі статті