2012-01-30 4 views
0

У меня есть сервер socks4, который я использую для прокси-запросов от различных приложений (http, ftp и т. Д.) До их назначения.метод аутентификации при использовании socks4

Я знаю, что socks4 не определяет путь для приложений для проверки подлинности в любом случае (это указывает только на дополнительный имя пользователя, когда клиент подключается к серверу, но, кажется, нет никакого способа, вы можете сказать клиенту, что является должен отправить эту информацию, чтобы сервер мог передать запрос)

Есть ли способ реализовать некоторую аутентификацию через socks4, которая понятна обычным протоколам приложений: http, ftp и т. д.?

ответ

2

Прочитайте, как работает SOCKS protocol.

Второй байт ответа SOCKS v4/4a - это значение статуса, которое указывает, был ли запрос клиента принят или отклонен (и почему). В этом случае вам, скорее всего, понадобятся значения состояния 0x5C (запрос не выполнен, потому что клиент не работает identd или он недоступен с сервера) и 0x5D (запрос не выполнен, так как клиента не смог подтвердить строку идентификатора пользователя в запросе) , Это приведет к тому, что поле имени пользователя запроса должно содержать действительное и узнаваемое значение. Конечно, это не настоящая аутентификация, так как клиент может запустить сервер ident, который сообщает все, что захочет.

В противном случае переключитесь на SOCKS v5 вместо этого, который поддерживает истинную аутентификацию на стороне сервера.

+0

Спасибо за возмещение. Я также заметил, что сервер может указать эти коды ошибок, чтобы клиент мог повторить попытку с «надлежащей аутентификацией». Проблема в том, что клиенты, похоже, игнорируют эти коды ошибок: пробовали с IE, а также с чат-клиентом -> они не беспокоили попросить пользователя изменить имя пользователя. – Ghita

+0

Вы не можете заставить клиента что-то делать, вы можете сообщать только то, что нужно серверу. В SOCKS v4/4a нет реального имени пользователя, это скорее идентификатор клиентской машины, поэтому он не является обязательным. Сервер SOCKS v4/4a может отклонять машины, которым не разрешено подключаться к нему, но это не то же самое, что и аутентификация. Hense SOCKS v5. –

+0

Да, это проблема. Сервер может отклонять запросы, но пользователь приложения заканчивается не функциональным сервисом, не зная, что происходит вообще. В случае Internet Explorer вы не можете заставить браузер отправлять другие учетные данные. – Ghita

Смежные вопросы