У меня есть прокси-сервер, и я делаю приложение для Интернета. Я понятия не имею, обмен именем пользователя и паролем между прокси-сервером и клиентом может быть зашифрован или нет? Если да, то какое шифрование использует squid? Мне любопытно отправить свое имя пользователя и пароль с использованием шифрования. Я сделал со строкой авторизации base64.
Шифрование пароля приложения и прокси-сервера
Ответы (1)
Что ж, для корпоративной среды здорово использовать тип авторизации Kerberos или NTLM для реализации защищенного процесса авторизации. Это первый вариант (подробнее здесь: https://serverfault.com/questions/106846/squid-authentication-encryption а>).
Второй вариант — использовать директиву HTTPS_PORT в Squid, чтобы ваши клиенты могли устанавливать полностью зашифрованное SSL-соединение с прокси-сервером (http://wiki.squid-cache.org/Features/HTTPS#Encrypted_browser-Squid_connection — не только авторизация , так что с этого момента вы можете использовать даже простую аутентификацию). Для реализации этого Squid должен быть скомпилирован с флагом --enable_ssl, сервер должен иметь полное доменное имя и привязан к этому сертификату доменного имени. Пример: https_port 3143 cert=/etc/squid3/ssl/cert.pem key=/etc/squid3/ssl/private.key Обратите внимание, что сертификат должен быть точно в формате PEM, а закрытый ключ не должен быть заблокирован паролем. Например, вы можете получить бесплатную и легальную версию от StartSSL. Или вы можете использовать самоподписанный, но это не очень хорошая идея.
Есть несколько ограничений:
1) HTTPS-прокси (не путайте его с прокси, который просто поддерживает метод CONNECT) на данный момент хорошо поддерживается только Firefox и Chrome.
2) Работает только совместно с файлом автоматической настройки прокси (PAC), подробнее здесь: http://www.chromium.org/developers/design-documents/secure-web-proxy